{"ticker": {"uuid": "f75568b1-2884-4df5-b8a5-ef1a5b951658", "symbol": "DCON", "name": "Dcon Products Public Company Limited", "exchange": "SET", "country": "TH", "sector": "Basic Materials", "industry": "Building Materials"}, "articles": [{"title": "Discount grocery chain closing stores despite millions in public cash", "summary": "", "url": "https://finance.yahoo.com/m/9d950a73-ac61-344e-8cb7-e1398f4efbf5/discount-grocery-chain.html", "source_name": "TheStreet", "published_at": "2026-07-21T21:33:00+00:00", "published_display": "21 Jul 2026 21:33", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "liquidity", "event_label": "Balance sheet", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Reflecting On Commercial Building Products Stocks\u2019 Q1 Earnings: Johnson Controls (NYSE:JCI)", "summary": "", "url": "https://news.google.com/rss/articles/CBMisAFBVV95cUxQb1NpVHhubnFkM0ZMZkR5eEpfbmhLdldPcXVDTUd6OWp0eUtPcGEtdGhCYjRzbmNBTVhtX3gtLXlaaWswX2NTUnE2bm5PTk8xQk96UVZiTThLdTBidzF6ZldWc0ZSZHVhOXJsNkdhX2xETHgxaDQyMGhwX2RyU3gtMkZ5OTJIRUlQX0gtUXFQNUwzemw1ZUZIVFpzc3JJcmp6VlI4bV90OG9lMjhoVXZmbQ?oc=5", "source_name": "Market source", "published_at": "2026-05-28T07:00:00+00:00", "published_display": "28 May 2026 07:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "earnings", "event_label": "Earnings", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}], "by_tier": {"direct": [{"title": "Discount grocery chain closing stores despite millions in public cash", "summary": "", "url": "https://finance.yahoo.com/m/9d950a73-ac61-344e-8cb7-e1398f4efbf5/discount-grocery-chain.html", "source_name": "TheStreet", "published_at": "2026-07-21T21:33:00+00:00", "published_display": "21 Jul 2026 21:33", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "liquidity", "event_label": "Balance sheet", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Reflecting On Commercial Building Products Stocks\u2019 Q1 Earnings: Johnson Controls (NYSE:JCI)", "summary": "", "url": "https://news.google.com/rss/articles/CBMisAFBVV95cUxQb1NpVHhubnFkM0ZMZkR5eEpfbmhLdldPcXVDTUd6OWp0eUtPcGEtdGhCYjRzbmNBTVhtX3gtLXlaaWswX2NTUnE2bm5PTk8xQk96UVZiTThLdTBidzF6ZldWc0ZSZHVhOXJsNkdhX2xETHgxaDQyMGhwX2RyU3gtMkZ5OTJIRUlQX0gtUXFQNUwzemw1ZUZIVFpzc3JJcmp6VlI4bV90OG9lMjhoVXZmbQ?oc=5", "source_name": "Market source", "published_at": "2026-05-28T07:00:00+00:00", "published_display": "28 May 2026 07:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "earnings", "event_label": "Earnings", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}], "industry": [], "sector": []}, "total_fetched": 61, "total_relevant": 2, "sentiment_summary": {"positive": 0, "negative": 0, "neutral": 2, "score": 50, "total": 2, "label": "Balanced news tone", "tone": "neutral"}, "classifier": {"primary_event": "liquidity", "primary_label": "Balance sheet", "confidence": 58, "events": [{"event": "liquidity", "label": "Balance sheet", "weight": 0.55, "count": 1}, {"event": "earnings", "label": "Earnings", "weight": 0.55, "count": 1}], "positive_events": 0, "negative_events": 0}, "market_context": {"has_market_context": true, "latest_close": 0.18, "latest_week": "2026-07-17", "one_week_move": -5.3, "four_week_move": -5.3, "twelve_week_move": -10.0, "trend_signal": "0", "trend_label": "Trend inactive", "trend_tone": "negative", "market_dynamics": -0.812091, "market_dynamics_buy_signal": false, "relative_strength": -33.250732, "fair_value_gap": -41.7, "fair_value_label": "Below fair value", "fair_value_tone": "positive", "expectation_direction": "negative", "expectation_probability": 25.8616, "reaction_label": "Price reacting lower", "reaction_tone": "negative", "market_sentence": "-5.3% over one week, -5.3% over four weeks, trend inactive, and below fair value."}, "interpretation": {"label": "Price moving ahead of tone", "tone": "negative", "classification": "price_leads_news", "summary": "Price is moving more forcefully than the current news tone suggests.", "confidence": 50, "badges": ["Value support"], "opportunities": ["Price is below fair value while news tone is not negative."], "risks": [], "event_label": "Balance sheet", "sentiment_word": "balanced"}, "charts": {"sources": [{"label": "TheStreet", "count": 1}, {"label": "Market source", "count": 1}], "tiers": [{"label": "Direct company coverage", "count": 2}, {"label": "Industry context", "count": 0}, {"label": "Sector context", "count": 0}], "events": [{"label": "Balance sheet", "count": 1}, {"label": "Earnings", "count": 1}]}, "insights": [{"label": "Weighted tone", "value": "50/100", "tone": "neutral", "text": "Balanced news tone"}, {"label": "Market reaction", "value": "Price moving ahead of tone", "tone": "negative", "text": "Price is moving more forcefully than the current news tone suggests."}, {"label": "Primary event", "value": "Balance sheet", "tone": "neutral", "text": "58/100 classification confidence."}, {"label": "Company focus", "value": "2", "tone": "neutral", "text": "directly relevant articles"}, {"label": "Source quality", "value": "0", "tone": "neutral", "text": "high-authority source matches"}, {"label": "Trend context", "value": "Trend inactive", "tone": "negative", "text": "-5.3% over one week, -5.3% over four weeks, trend inactive, and below fair value."}, {"label": "Latest direct headline", "value": "Neutral", "tone": "neutral", "text": "Discount grocery chain closing stores despite millions in public cash"}], "updated_at": "2026-07-21T21:41:30.229223+00:00", "disclaimer": "Educational market research only. Not financial, investment, trading, tax, or legal advice."}