{"ticker": {"uuid": "fb8a5581-4fb8-4bba-b883-92f00e65973a", "symbol": "0151", "name": "Kelington Group Berhad", "exchange": "KLS", "country": "MY", "sector": "Industrials", "industry": "Engineering & Construction"}, "articles": [{"title": "Citi downgrades Want Want China Holdings (0151.HK) target price to HK$4.10, initiates 30-day negative catalyst watch.", "summary": "", "url": "", "source_name": "\u5bcc\u9014\u725b\u725b", "published_at": "2026-07-27T02:45:29+00:00", "published_display": "27 Jul 2026 02:45", "sentiment": "negative", "sentiment_pct": 42, "event_type": "analyst", "event_label": "Analyst action", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage", "is_stale": false, "evidence_weight": 0.022, "duplicate_count": 1, "topics": []}], "by_tier": {"direct": [{"title": "Citi downgrades Want Want China Holdings (0151.HK) target price to HK$4.10, initiates 30-day negative catalyst watch.", "summary": "", "url": "", "source_name": "\u5bcc\u9014\u725b\u725b", "published_at": "2026-07-27T02:45:29+00:00", "published_display": "27 Jul 2026 02:45", "provider": "", "sentiment": "negative", "sentiment_pct": 42, "event_type": "analyst", "event_label": "Analyst action", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage", "is_stale": false, "evidence_weight": 0.022, "duplicate_count": 1, "topics": []}], "industry": [], "sector": []}, "total_fetched": 1, "total_unique": 1, "total_relevant": 1, "pipeline_health": {"providers_attempted": 1, "providers_with_results": 0, "provider_counts": {"eodhd": 0}, "raw_articles": 0, "unique_stories": 0, "duplicates_removed": 0, "relevant_stories": 1, "current_evidence": 1, "direct_evidence": 1, "eodhd_articles": 0, "eodhd": {"configured": true, "status": "healthy", "calls_used": 265, "call_budget": 500, "budget_used_pct": 53.0, "requests_made": 53, "last_success_at": "2026-08-13T09:00:28.958981+00:00", "newest_seen_at": "2026-08-13T08:54:24+00:00", "rate_limit": 1200, "rate_remaining": 1199, "last_error": "", "mapped_mentions": 3292, "unmapped_mentions": 1927}, "status": "unavailable", "durable_evidence_used": true, "durable_collected_at": "2026-08-11T02:59:39.464382+00:00", "durable_newest_article_at": "2026-07-27T02:45:29+00:00", "durable_story_count": 1}, "sentiment_summary": {"positive": 0, "negative": 1, "neutral": 0, "score": 47, "raw_score": 42, "total": 1, "evidence_count": 1, "effective_articles": 1.0, "direct_story_count": 1, "industry_story_count": 0, "sector_story_count": 0, "story_count": 1, "source_count": 1, "source_concentration": 1.0, "direct_share": 100, "dispersion": 0, "confidence": 33, "evidence_status": "measured", "score_version": "evidence-v4", "newest_article_at": "2026-07-27T02:45:29+00:00", "label": "Balanced news tone", "tone": "neutral"}, "classifier": {"primary_event": "analyst", "primary_label": "Analyst action", "confidence": 72, "events": [{"event": "analyst", "label": "Analyst action", "weight": 0.6, "count": 1}], "positive_events": 0, "negative_events": 1, "pipeline": {"providers_attempted": 1, "providers_with_results": 0, "provider_counts": {"eodhd": 0}, "raw_articles": 0, "unique_stories": 0, "duplicates_removed": 0, "relevant_stories": 1, "current_evidence": 1, "direct_evidence": 1, "eodhd_articles": 0, "eodhd": {"configured": true, "status": "healthy", "calls_used": 265, "call_budget": 500, "budget_used_pct": 53.0, "requests_made": 53, "last_success_at": "2026-08-13T09:00:28.958981+00:00", "newest_seen_at": "2026-08-13T08:54:24+00:00", "rate_limit": 1200, "rate_remaining": 1199, "last_error": "", "mapped_mentions": 3292, "unmapped_mentions": 1927}, "status": "unavailable", "durable_evidence_used": true, "durable_collected_at": "2026-08-11T02:59:39.464382+00:00", "durable_newest_article_at": "2026-07-27T02:45:29+00:00", "durable_story_count": 1}}, "market_context": {"has_market_context": true, "latest_close": 8.78, "latest_week": "2026-08-07", "one_week_move": 5.7, "four_week_move": 10.3, "twelve_week_move": 26.6, "trend_signal": "1", "trend_label": "Trend active", "trend_tone": "positive", "market_dynamics": 0.956875, "market_dynamics_buy_signal": false, "relative_strength": 44.05905, "fair_value_gap": 130.4, "fair_value_label": "Materially above fair value", "fair_value_tone": "negative", "expectation_direction": "undecided", "expectation_probability": 54.9141, "reaction_label": "Price confirming higher", "reaction_tone": "positive", "market_sentence": "+5.7% over one week, +10.3% over four weeks, trend active, and materially above fair value."}, "interpretation": {"label": "Price moving ahead of tone", "tone": "positive", "classification": "price_leads_news", "summary": "Price is moving more forcefully than the current news tone suggests.", "confidence": 45, "badges": [], "opportunities": [], "risks": [], "event_label": "Analyst action", "sentiment_word": "balanced"}, "charts": {"sources": [{"label": "\u5bcc\u9014\u725b\u725b", "count": 1}], "tiers": [{"label": "Direct company coverage", "count": 1}, {"label": "Industry context", "count": 0}, {"label": "Sector context", "count": 0}], "events": [{"label": "Analyst action", "count": 1}]}, "insights": [{"label": "Weighted tone", "value": "47/100", "tone": "neutral", "text": "Balanced news tone"}, {"label": "Evidence confidence", "value": "33/100", "tone": "neutral", "text": "1.0 effective stories after overlap and weighting."}, {"label": "Market reaction", "value": "Price moving ahead of tone", "tone": "positive", "text": "Price is moving more forcefully than the current news tone suggests."}, {"label": "Primary event", "value": "Analyst action", "tone": "neutral", "text": "72/100 classification confidence."}, {"label": "Company focus", "value": "1", "tone": "neutral", "text": "100% of weighted evidence is company-specific."}, {"label": "Evidence agreement", "value": "0/100", "tone": "positive", "text": "lower dispersion means the independent stories agree more closely."}, {"label": "Trend context", "value": "Trend active", "tone": "positive", "text": "+5.7% over one week, +10.3% over four weeks, trend active, and materially above fair value."}, {"label": "Latest direct headline", "value": "Negative", "tone": "negative", "text": "Citi downgrades Want Want China Holdings (0151.HK) target price to HK$4.10, initiates 30-day negative catalyst watch."}], "updated_at": "2026-08-11T02:59:39.464382+00:00", "detail_intelligence": {"headline": "Price moving ahead of tone", "summary": "Balanced news tone is drawn from 1 fresh independent stories, including 1 company-specific items across 1 publishers.", "status": "measured", "metrics": [{"label": "Weighted tone", "value": 47, "display": "47", "tone": "neutral", "note": "Balanced news tone"}, {"label": "Evidence confidence", "value": 33, "display": "33", "tone": "negative", "note": "thin evidence"}, {"label": "Company focus", "value": 100, "display": "100%", "tone": "positive", "note": "1 direct stories"}, {"label": "Evidence agreement", "value": 0, "display": "N/A", "tone": "neutral", "note": "requires at least 2 stories"}], "confidence_drivers": [{"label": "Sample depth", "value": 12, "note": "1.0 effective stories"}, {"label": "Source breadth", "value": 20, "note": "1 independent publishers"}, {"label": "Direct relevance", "value": 100, "note": "company-specific evidence share"}, {"label": "Freshness", "value": 5, "note": "recency-weighted evidence"}, {"label": "Agreement", "value": 0, "note": "requires at least 2 stories"}, {"label": "Source independence", "value": 0, "note": "lower publisher concentration"}], "freshness": 5, "source_independence": 0, "timeline": [{"date": "2026-07-24", "label": "24 Jul", "count": 0, "score": null, "tone": "neutral", "x": 42.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-25", "label": "25 Jul", "count": 0, "score": null, "tone": "neutral", "x": 87.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-26", "label": "26 Jul", "count": 0, "score": null, "tone": "neutral", "x": 133.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-27", "label": "27 Jul", "count": 1, "score": 42, "tone": "negative", "x": 179.4, "y": 149.6, "volume_height": 52.0, "volume_y": 214.0}, {"date": "2026-07-28", "label": "28 Jul", "count": 0, "score": null, "tone": "neutral", "x": 225.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-29", "label": "29 Jul", "count": 0, "score": null, "tone": "neutral", "x": 271.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-30", "label": "30 Jul", "count": 0, "score": null, "tone": "neutral", "x": 316.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-07-31", "label": "31 Jul", "count": 0, "score": null, "tone": "neutral", "x": 362.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-01", "label": "01 Aug", "count": 0, "score": null, "tone": "neutral", "x": 408.4, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-02", "label": "02 Aug", "count": 0, "score": null, "tone": "neutral", "x": 454.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-03", "label": "03 Aug", "count": 0, "score": null, "tone": "neutral", "x": 500.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-04", "label": "04 Aug", "count": 0, "score": null, "tone": "neutral", "x": 545.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-05", "label": "05 Aug", "count": 0, "score": null, "tone": "neutral", "x": 591.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-06", "label": "06 Aug", "count": 0, "score": null, "tone": "neutral", "x": 637.4, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-07", "label": "07 Aug", "count": 0, "score": null, "tone": "neutral", "x": 683.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-08", "label": "08 Aug", "count": 0, "score": null, "tone": "neutral", "x": 729.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-09", "label": "09 Aug", "count": 0, "score": null, "tone": "neutral", "x": 774.8, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-10", "label": "10 Aug", "count": 0, "score": null, "tone": "neutral", "x": 820.6, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-11", "label": "11 Aug", "count": 0, "score": null, "tone": "neutral", "x": 866.4, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-12", "label": "12 Aug", "count": 0, "score": null, "tone": "neutral", "x": 912.2, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}, {"date": "2026-08-13", "label": "13 Aug", "count": 0, "score": null, "tone": "neutral", "x": 958.0, "y": 135.0, "volume_height": 0.0, "volume_y": 266.0}], "timeline_points": "179.4,149.6", "timeline_has_signal": true, "timeline_start": "24 Jul", "timeline_mid": "03 Aug", "timeline_end": "13 Aug", "momentum": {"label": "Cooling", "tone": "neutral", "recent_score": null, "prior_score": null, "delta": null, "recent_count": 0, "prior_count": 0, "volume_delta": 0}, "freshness_buckets": [{"label": "Last 24 hours", "count": 0, "share": 0}, {"label": "1 to 3 days", "count": 0, "share": 0}, {"label": "4 to 7 days", "count": 0, "share": 0}, {"label": "8 to 30 days", "count": 1, "share": 100}], "source_profile": [{"label": "\u5bcc\u9014\u725b\u725b", "count": 1, "share": 100, "score": 42, "tone": "negative"}], "event_profile": [{"label": "Analyst action", "count": 1, "share": 100, "score": 42, "tone": "negative"}], "topics": [], "supporting": [{"label": "Direct evidence", "text": "1 current stories are mapped specifically to 0151."}], "tempering": [{"label": "Source breadth", "text": "Only 1 publisher currently contribute to the measured read."}, {"label": "Price disagreement", "text": "Price is moving more forcefully than the current news tone suggests."}, {"label": "Confidence", "text": "Evidence confidence is 33/100, below the threshold for a firm classification."}], "supporting_heading": "What supports the read", "tempering_heading": "What tempers the read", "latest_observation": {"title": "Citi downgrades Want Want China Holdings (0151.HK) target price to HK$4.10, initiates 30-day negative catalyst watch.", "summary": "", "url": "", "source_name": "\u5bcc\u9014\u725b\u725b", "published_at": "2026-07-27T02:45:29+00:00", "published_display": "27 Jul 2026 02:45", "sentiment": "negative", "sentiment_pct": 42, "event_type": "analyst", "event_label": "Analyst action", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage", "is_stale": false, "evidence_weight": 0.022, "duplicate_count": 1, "topics": []}, "article_count": 1, "updated_at": "2026-08-11T02:59:39.464382+00:00"}, "price_sentiment_path": {"available": true, "price_points": [{"x": 42.0, "y": 204.2, "label": "13 Feb 2026", "close": 4.75, "index": 100.0}, {"x": 77.8, "y": 191.8, "label": "20 Feb 2026", "close": 5.09, "index": 107.1}, {"x": 113.6, "y": 179.3, "label": "27 Feb 2026", "close": 5.43, "index": 114.2}, {"x": 149.4, "y": 198.0, "label": "06 Mar 2026", "close": 4.92, "index": 103.5}, {"x": 185.2, "y": 194.7, "label": "13 Mar 2026", "close": 5.01, "index": 105.4}, {"x": 221.0, "y": 196.5, "label": "20 Mar 2026", "close": 4.96, "index": 104.4}, {"x": 256.8, "y": 192.9, "label": "27 Mar 2026", "close": 5.06, "index": 106.5}, {"x": 292.6, "y": 194.3, "label": "03 Apr 2026", "close": 5.02, "index": 105.6}, {"x": 328.4, "y": 195.1, "label": "10 Apr 2026", "close": 5.0, "index": 105.2}, {"x": 364.2, "y": 170.7, "label": "17 Apr 2026", "close": 5.66, "index": 119.1}, {"x": 400.0, "y": 149.0, "label": "24 Apr 2026", "close": 6.25, "index": 131.5}, {"x": 435.8, "y": 160.2, "label": "01 May 2026", "close": 5.95, "index": 125.2}, {"x": 471.6, "y": 150.2, "label": "08 May 2026", "close": 6.22, "index": 130.8}, {"x": 507.4, "y": 123.8, "label": "15 May 2026", "close": 6.93, "index": 145.9}, {"x": 543.1, "y": 113.2, "label": "22 May 2026", "close": 7.22, "index": 152.0}, {"x": 578.9, "y": 99.2, "label": "29 May 2026", "close": 7.6, "index": 160.0}, {"x": 614.7, "y": 98.5, "label": "05 Jun 2026", "close": 7.62, "index": 160.4}, {"x": 650.5, "y": 96.3, "label": "12 Jun 2026", "close": 7.68, "index": 161.6}, {"x": 686.3, "y": 89.7, "label": "19 Jun 2026", "close": 7.86, "index": 165.4}, {"x": 722.1, "y": 92.6, "label": "26 Jun 2026", "close": 7.78, "index": 163.7}, {"x": 757.9, "y": 84.5, "label": "03 Jul 2026", "close": 8.0, "index": 168.4}, {"x": 793.7, "y": 86.0, "label": "10 Jul 2026", "close": 7.96, "index": 167.5}, {"x": 829.5, "y": 103.0, "label": "17 Jul 2026", "close": 7.5, "index": 157.8}, {"x": 865.3, "y": 84.2, "label": "24 Jul 2026", "close": 8.01, "index": 168.6}, {"x": 901.1, "y": 73.1, "label": "31 Jul 2026", "close": 8.31, "index": 174.9}, {"x": 936.9, "y": 55.8, "label": "07 Aug 2026", "close": 8.78, "index": 184.8}], "sentiment_points": [{"x": 693.8, "y": 130.0, "label": "20 Jun 2026", "score": 50}, {"x": 696.6, "y": 130.0, "label": "21 Jun 2026", "score": 50}, {"x": 697.4, "y": 130.0, "label": "21 Jun 2026", "score": 50}, {"x": 702.3, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 703.6, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 704.2, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 705.5, "y": 130.0, "label": "22 Jun 2026", "score": 50}, {"x": 709.8, "y": 130.0, "label": "23 Jun 2026", "score": 50}, {"x": 711.4, "y": 130.0, "label": "23 Jun 2026", "score": 50}, {"x": 730.2, "y": 130.0, "label": "27 Jun 2026", "score": 50}, {"x": 742.5, "y": 130.0, "label": "29 Jun 2026", "score": 50}, {"x": 747.8, "y": 130.0, "label": "01 Jul 2026", "score": 50}, {"x": 759.9, "y": 130.0, "label": "03 Jul 2026", "score": 50}, {"x": 763.1, "y": 130.0, "label": "04 Jul 2026", "score": 50}, {"x": 817.0, "y": 130.0, "label": "14 Jul 2026", "score": 50}, {"x": 817.0, "y": 130.0, "label": "14 Jul 2026", "score": 50}, {"x": 821.3, "y": 130.0, "label": "15 Jul 2026", "score": 50}, {"x": 828.3, "y": 130.0, "label": "16 Jul 2026", "score": 50}, {"x": 837.6, "y": 130.0, "label": "18 Jul 2026", "score": 50}, {"x": 858.7, "y": 130.0, "label": "22 Jul 2026", "score": 50}, {"x": 862.9, "y": 130.0, "label": "23 Jul 2026", "score": 50}, {"x": 863.2, "y": 130.0, "label": "23 Jul 2026", "score": 50}, {"x": 872.8, "y": 130.0, "label": "25 Jul 2026", "score": 50}, {"x": 894.4, "y": 130.0, "label": "29 Jul 2026", "score": 50}, {"x": 895.9, "y": 130.0, "label": "29 Jul 2026", "score": 50}, {"x": 906.1, "y": 130.0, "label": "31 Jul 2026", "score": 50}, {"x": 958.0, "y": 144.7, "label": "11 Aug 2026", "score": 42}], "price_path": "42.0,204.2 77.8,191.8 113.6,179.3 149.4,198.0 185.2,194.7 221.0,196.5 256.8,192.9 292.6,194.3 328.4,195.1 364.2,170.7 400.0,149.0 435.8,160.2 471.6,150.2 507.4,123.8 543.1,113.2 578.9,99.2 614.7,98.5 650.5,96.3 686.3,89.7 722.1,92.6 757.9,84.5 793.7,86.0 829.5,103.0 865.3,84.2 901.1,73.1 936.9,55.8", "sentiment_path": "693.8,130.0 696.6,130.0 697.4,130.0 702.3,130.0 703.6,130.0 704.2,130.0 705.5,130.0 709.8,130.0 711.4,130.0 730.2,130.0 742.5,130.0 747.8,130.0 759.9,130.0 763.1,130.0 817.0,130.0 817.0,130.0 821.3,130.0 828.3,130.0 837.6,130.0 858.7,130.0 862.9,130.0 863.2,130.0 872.8,130.0 894.4,130.0 895.9,130.0 906.1,130.0 958.0,144.7", "price_change": 84.8, "sentiment_change": -8, "latest_close": 8.78, "start_label": "13 Feb", "mid_label": "15 May", "end_label": "07 Aug"}, "disclaimer": "Educational market research only. Not financial, investment, trading, tax, or legal advice."}