{"ticker": {"uuid": "c7a361c4-8d74-4add-95f2-19e1824ff70a", "symbol": "BAMNB", "name": "Koninklijke BAM Groep nv", "exchange": "AMS", "country": "NL", "sector": "Industrials", "industry": "Engineering & Construction"}, "articles": [{"title": "Why is Dutch construction firm Koninklijke BAM Groep\u2019s stock surging today?", "summary": "", "url": "https://news.google.com/rss/articles/CBMi0AFBVV95cUxQdUJiQlNPRDBSalhfYUJKQVN0QUxBdS1rUVhBZG5QQ3ZFcUprd3BvSnZhNmQtSU85RUwyaDNwM201UXotM0hiTzRhLVRBZlRLWExBajc4M0F1cFh6cDYxdjY3Vk5oRXBpaVFJZENIV0hkeE56eDRzbHdBS05fUlhWVFF6ZEhnRi1tOVlrM2hrcUhCc3loQjFDM3VMXzk3ZVRSeDMxZmJreVF5QlU0aGU0TkdaOXBoeGFIWnpCNFc2RE51Sl9kdDVRdEtYeWFRVDA3?oc=5", "source_name": "Investing.com", "published_at": "2026-05-29T07:00:00+00:00", "published_display": "29 May 2026 07:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Koninklijke BAM Groep nv announces Annual dividend, payable on June 05, 2026", "summary": "", "url": "https://news.google.com/rss/articles/CBMixgFBVV95cUxPSWZraE1YX1JqUXdmYXF6dFh3TkVpLWxoQUdQZ09vZktoa1h1RWFVSTVqd1laVFh6bEliZEs1YWp1TVJPcHNKMl9DUG5FaHJId2FvRkRjWEE5amM5U2h0VVJ6dDgzVnZwdC1JUG1nejRZdXJJc2VMWmh1aVNXdnJ5VmRPbWNJamlvcXZZT0NYdnE2UGNVcWRwMjl2OWFxaVNhOFIyT3JvSUJlM19IeHZkS1ZFZG01bGxGYVFHWVlEN0xfOTRKS3c?oc=5", "source_name": "marketscreener.com", "published_at": "2026-04-12T07:00:00+00:00", "published_display": "12 Apr 2026 07:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "capital_return", "event_label": "Capital return", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Should BAM\u2019s Profit Surge on Modest Sales Growth Require Action From Koninklijke BAM Groep (ENXTAM:BAMNB) Investors?", "summary": "", "url": "https://news.google.com/rss/articles/CBMi5AFBVV95cUxOUldQYXlUWHNMQ3lZVmJ2dDRUSnBwT19oc0s1YnRjMU10OFV4TV9oZHNpN1hHU1cyRFZMY2kxcGhNSkhGOU56UWdFaUhBVGJkTm1BSzRYMjJ6QXZQeFhqcl82NDFrSmNzLTloRW9YRU8yaUNFTjhkV01ZTm43MExxdlB1TWRLQlJ2aWd5al9KZ3Z0M3N5UDYwWF9QR2RGWGZ0aUpFRlNCVWdTOFFtRnQ2S0lPTFJyVGYzQW50UGh2U3JIa0x5bUdNYkJsWmRWY1JHSXRIejNVTWQ5cmRSSjFSTmlsUGHSAeoBQVVfeXFMUDJsMXltemFXdDVKQlNqbmtvVlR6djU5S1FLWlkwemJ5TWl5LXNEX09iXzhVUXkyNk8ydVVpQnRKbnhDRDJiN3BVZkNxd3FFV21WdGlhSm5iVjNPZnlZb0FVMkxxODRaVkRXYktITXBGM1NpNl81ei05SXRCM3E2cDlaMWZpYVRxbnE4dzlDU09IWmFsalZJUklFclplcG1qaVBNckk2b0Z5VTB3bk5qc1BKTE1jdFU3LTNyU3JWb3RFbnRhalI3X1VGWTBBLV9sVU9sUzdRZVpJWk1pVFhMemI2QUZxM09GN0d3?oc=5", "source_name": "simplywall.st", "published_at": "2026-03-03T08:00:00+00:00", "published_display": "03 Mar 2026 08:00", "sentiment": "positive", "sentiment_pct": 95, "event_type": "earnings", "event_label": "Earnings", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Earnings Tell The Story For Koninklijke BAM Groep nv (AMS:BAMNB)", "summary": "", "url": "https://news.google.com/rss/articles/CBMi5AFBVV95cUxOVlItUTNoZVY1akxtR0V4clBUYTFGM19ySW1HTDM3OVVZNzhkc0tpMklrZnJmQ2NZa1l5bjI3V01TbE16X2pzd3RNdHBCeXhNNFY3VjdkeTY5dURyZHJSdHdFM1Jra050UlFyalFGSkZFMlNmY2hfajFLZXctaHZyWlc4WnBKdVNEWnZCNnByTzZSdnJSd0lheGttcTFGZ0ZCUzV2dEw2WVF1dTNabGlzakRjMFlGRzY5VUJDY1U5NWVIY01FQ0ppT1JaanFmcVRCVUVUXzJhWUVENVUyR3BEYXltOU7SAeoBQVVfeXFMUC1rTWswRFhSXzNyNVdrVVlkUXB5VXZ6NnNTejBESV9sVXN1SjgwZUhYOFFmcjMzcDNtU1RBcVo5RTBjb0NmclY2U253aGtncVB5WUlRVXFkTXBGQTNKWWluYk1MS2JIcDFzU2Z4cFp2X2Q1RGRZTUZjMDVhendFVkpKbWl0anBHQmltTlFRNDVyRFphSFZCbWVIcVV4OTNianB4aHpZRFFHa255Z1k4alZ6U3dweTA3S2cyRmxHeXFqYXJCQmx4LXluTkQ1UGtwTE9FOGJhSjlpU2FQMjVxVlRKLXBRYWVwQ1pB?oc=5", "source_name": "simplywall.st", "published_at": "2025-12-23T08:00:00+00:00", "published_display": "23 Dec 2025 08:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "earnings", "event_label": "Earnings", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "ETFs Investing in Koninklijke BAM Groep NV Stocks", "summary": "", "url": "https://news.google.com/rss/articles/CBMiZ0FVX3lxTE9NZWNtRm10cmt6QWZ2UXNpWi1NTEh4SHY2bWZfeDdONVJpTXZOUzFSemhBZ0VpZjNPMVRaMW9KV2VGa2ptTXg0Qm13RlhaalMybENfUDhmUzFjbnNBakphVEJQMTFDaEk?oc=5", "source_name": "TradingView", "published_at": "2025-09-23T18:18:16+00:00", "published_display": "23 Sep 2025 18:18", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Institutions own 40% of Koninklijke BAM Groep nv (AMS:BAMNB) shares but individual investors control 60% of the company", "summary": "", "url": "https://news.google.com/rss/articles/CBMiiAFBVV95cUxOc0pLNGdWN0xmTV82ZVg4MlVIcF8xbzZYZ3FPQkxYX3pqcnhqTi1pRldhbDdQT1RCYWxMaUs4dURNSzBveURjdFJWUDJrWUpiVlJCckJzSmdJdXB3SGhsLTFOZE5EaVFXOGNrcnJITjNwczJrOWJHdEtwUGpVU0J4Szl4R2lNaEZ1?oc=5", "source_name": "Market source", "published_at": "2025-02-26T08:00:00+00:00", "published_display": "26 Feb 2025 08:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Koninklijke BAM Groep (KBAGF) Stock Price, News & Analysis", "summary": "", "url": "https://news.google.com/rss/articles/CBMiXEFVX3lxTE1rcHRmTGdGUDlPM2E5cy15aHFvcDJSQ0Z6NmZ5eGhRV3VGVlpNd3NJZ1FPMFBOX1R5Y2h2M0hudmhVaFdnX2NSM2d5UEdvYnZRWUNyVGUtTUxIa1VH?oc=5", "source_name": "MarketBeat", "published_at": "2021-03-15T12:13:21+00:00", "published_display": "15 Mar 2021 12:13", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "KONINKLIJKE BAM GROEP NV (BAMNB.AS) Stock Chart", "summary": "", "url": "https://news.google.com/rss/articles/CBMiakFVX3lxTFAyeE0xZmR0TXNRbDNNVlB1YVctb25FNHFXbDU1RGc2bnlIOEV4cldxWnRnQkd3ZmhZaHlCTldLOFliYnZNZk9XSUplSlJLLTE0YWRkT01KeHhqR1c5MlpSLUcyTDBqeWo0RWc?oc=5", "source_name": "ChartMill", "published_at": "2019-11-17T11:52:12+00:00", "published_display": "17 Nov 2019 11:52", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "The Koninklijke BAM Groep (AMS:BAMNB) Share Price Is Down 40% So Some Shareholders Are Getting Worried", "summary": "", "url": "https://news.google.com/rss/articles/CBMinAJBVV95cUxNSlFvalh2cnRSN1VSQ2FjRFpKS3dNNWtQLV9VZWx4OWRibnI1ek54MGIyTXM3Y0RXZ1FVVkRSZFhyUVFobktuSnU1NURCUWpGdDdwRWpLT05oQ0luMFNXYl9JdWdySTQzWGt6M0cxYVZ0bU1UZmxZX3VGNFFCc0lDdDlxX2tURkxWUUpQQkhELTROUWFFUUlkU1d6QnlNREw2dXRhaFZVRDhNalpUVjRoYnVXVW84RmRkNjlEbXNaT2F3aWpnam5WZzRaQUt3dFo4cnJ5Q0ZFeU9GZUVOQ21TSHR3aG54S0ZnRlZHb3NMVEZrRVdUSXptTjBZbngtQkFET043aUFqVTJuOS1oU1ZiRV9TWjE3bW8zYkY3d9IBnAJBVV95cUxNSlFvalh2cnRSN1VSQ2FjRFpKS3dNNWtQLV9VZWx4OWRibnI1ek54MGIyTXM3Y0RXZ1FVVkRSZFhyUVFobktuSnU1NURCUWpGdDdwRWpLT05oQ0luMFNXYl9JdWdySTQzWGt6M0cxYVZ0bU1UZmxZX3VGNFFCc0lDdDlxX2tURkxWUUpQQkhELTROUWFFUUlkU1d6QnlNREw2dXRhaFZVRDhNalpUVjRoYnVXVW84RmRkNjlEbXNaT2F3aWpnam5WZzRaQUt3dFo4cnJ5Q0ZFeU9GZUVOQ21TSHR3aG54S0ZnRlZHb3NMVEZrRVdUSXptTjBZbngtQkFET043aUFqVTJuOS1oU1ZiRV9TWjE3bW8zYkY3dw?oc=5", "source_name": "simplywall.st", "published_at": "2019-11-14T08:00:00+00:00", "published_display": "14 Nov 2019 08:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}], "by_tier": {"direct": [{"title": "Why is Dutch construction firm Koninklijke BAM Groep\u2019s stock surging today?", "summary": "", "url": "https://news.google.com/rss/articles/CBMi0AFBVV95cUxQdUJiQlNPRDBSalhfYUJKQVN0QUxBdS1rUVhBZG5QQ3ZFcUprd3BvSnZhNmQtSU85RUwyaDNwM201UXotM0hiTzRhLVRBZlRLWExBajc4M0F1cFh6cDYxdjY3Vk5oRXBpaVFJZENIV0hkeE56eDRzbHdBS05fUlhWVFF6ZEhnRi1tOVlrM2hrcUhCc3loQjFDM3VMXzk3ZVRSeDMxZmJreVF5QlU0aGU0TkdaOXBoeGFIWnpCNFc2RE51Sl9kdDVRdEtYeWFRVDA3?oc=5", "source_name": "Investing.com", "published_at": "2026-05-29T07:00:00+00:00", "published_display": "29 May 2026 07:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Koninklijke BAM Groep nv announces Annual dividend, payable on June 05, 2026", "summary": "", "url": "https://news.google.com/rss/articles/CBMixgFBVV95cUxPSWZraE1YX1JqUXdmYXF6dFh3TkVpLWxoQUdQZ09vZktoa1h1RWFVSTVqd1laVFh6bEliZEs1YWp1TVJPcHNKMl9DUG5FaHJId2FvRkRjWEE5amM5U2h0VVJ6dDgzVnZwdC1JUG1nejRZdXJJc2VMWmh1aVNXdnJ5VmRPbWNJamlvcXZZT0NYdnE2UGNVcWRwMjl2OWFxaVNhOFIyT3JvSUJlM19IeHZkS1ZFZG01bGxGYVFHWVlEN0xfOTRKS3c?oc=5", "source_name": "marketscreener.com", "published_at": "2026-04-12T07:00:00+00:00", "published_display": "12 Apr 2026 07:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "capital_return", "event_label": "Capital return", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Should BAM\u2019s Profit Surge on Modest Sales Growth Require Action From Koninklijke BAM Groep (ENXTAM:BAMNB) Investors?", "summary": "", "url": "https://news.google.com/rss/articles/CBMi5AFBVV95cUxOUldQYXlUWHNMQ3lZVmJ2dDRUSnBwT19oc0s1YnRjMU10OFV4TV9oZHNpN1hHU1cyRFZMY2kxcGhNSkhGOU56UWdFaUhBVGJkTm1BSzRYMjJ6QXZQeFhqcl82NDFrSmNzLTloRW9YRU8yaUNFTjhkV01ZTm43MExxdlB1TWRLQlJ2aWd5al9KZ3Z0M3N5UDYwWF9QR2RGWGZ0aUpFRlNCVWdTOFFtRnQ2S0lPTFJyVGYzQW50UGh2U3JIa0x5bUdNYkJsWmRWY1JHSXRIejNVTWQ5cmRSSjFSTmlsUGHSAeoBQVVfeXFMUDJsMXltemFXdDVKQlNqbmtvVlR6djU5S1FLWlkwemJ5TWl5LXNEX09iXzhVUXkyNk8ydVVpQnRKbnhDRDJiN3BVZkNxd3FFV21WdGlhSm5iVjNPZnlZb0FVMkxxODRaVkRXYktITXBGM1NpNl81ei05SXRCM3E2cDlaMWZpYVRxbnE4dzlDU09IWmFsalZJUklFclplcG1qaVBNckk2b0Z5VTB3bk5qc1BKTE1jdFU3LTNyU3JWb3RFbnRhalI3X1VGWTBBLV9sVU9sUzdRZVpJWk1pVFhMemI2QUZxM09GN0d3?oc=5", "source_name": "simplywall.st", "published_at": "2026-03-03T08:00:00+00:00", "published_display": "03 Mar 2026 08:00", "sentiment": "positive", "sentiment_pct": 95, "event_type": "earnings", "event_label": "Earnings", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Earnings Tell The Story For Koninklijke BAM Groep nv (AMS:BAMNB)", "summary": "", "url": "https://news.google.com/rss/articles/CBMi5AFBVV95cUxOVlItUTNoZVY1akxtR0V4clBUYTFGM19ySW1HTDM3OVVZNzhkc0tpMklrZnJmQ2NZa1l5bjI3V01TbE16X2pzd3RNdHBCeXhNNFY3VjdkeTY5dURyZHJSdHdFM1Jra050UlFyalFGSkZFMlNmY2hfajFLZXctaHZyWlc4WnBKdVNEWnZCNnByTzZSdnJSd0lheGttcTFGZ0ZCUzV2dEw2WVF1dTNabGlzakRjMFlGRzY5VUJDY1U5NWVIY01FQ0ppT1JaanFmcVRCVUVUXzJhWUVENVUyR3BEYXltOU7SAeoBQVVfeXFMUC1rTWswRFhSXzNyNVdrVVlkUXB5VXZ6NnNTejBESV9sVXN1SjgwZUhYOFFmcjMzcDNtU1RBcVo5RTBjb0NmclY2U253aGtncVB5WUlRVXFkTXBGQTNKWWluYk1MS2JIcDFzU2Z4cFp2X2Q1RGRZTUZjMDVhendFVkpKbWl0anBHQmltTlFRNDVyRFphSFZCbWVIcVV4OTNianB4aHpZRFFHa255Z1k4alZ6U3dweTA3S2cyRmxHeXFqYXJCQmx4LXluTkQ1UGtwTE9FOGJhSjlpU2FQMjVxVlRKLXBRYWVwQ1pB?oc=5", "source_name": "simplywall.st", "published_at": "2025-12-23T08:00:00+00:00", "published_display": "23 Dec 2025 08:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "earnings", "event_label": "Earnings", "event_confidence": 53, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "ETFs Investing in Koninklijke BAM Groep NV Stocks", "summary": "", "url": "https://news.google.com/rss/articles/CBMiZ0FVX3lxTE9NZWNtRm10cmt6QWZ2UXNpWi1NTEh4SHY2bWZfeDdONVJpTXZOUzFSemhBZ0VpZjNPMVRaMW9KV2VGa2ptTXg0Qm13RlhaalMybENfUDhmUzFjbnNBakphVEJQMTFDaEk?oc=5", "source_name": "TradingView", "published_at": "2025-09-23T18:18:16+00:00", "published_display": "23 Sep 2025 18:18", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Institutions own 40% of Koninklijke BAM Groep nv (AMS:BAMNB) shares but individual investors control 60% of the company", "summary": "", "url": "https://news.google.com/rss/articles/CBMiiAFBVV95cUxOc0pLNGdWN0xmTV82ZVg4MlVIcF8xbzZYZ3FPQkxYX3pqcnhqTi1pRldhbDdQT1RCYWxMaUs4dURNSzBveURjdFJWUDJrWUpiVlJCckJzSmdJdXB3SGhsLTFOZE5EaVFXOGNrcnJITjNwczJrOWJHdEtwUGpVU0J4Szl4R2lNaEZ1?oc=5", "source_name": "Market source", "published_at": "2025-02-26T08:00:00+00:00", "published_display": "26 Feb 2025 08:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "Koninklijke BAM Groep (KBAGF) Stock Price, News & Analysis", "summary": "", "url": "https://news.google.com/rss/articles/CBMiXEFVX3lxTE1rcHRmTGdGUDlPM2E5cy15aHFvcDJSQ0Z6NmZ5eGhRV3VGVlpNd3NJZ1FPMFBOX1R5Y2h2M0hudmhVaFdnX2NSM2d5UEdvYnZRWUNyVGUtTUxIa1VH?oc=5", "source_name": "MarketBeat", "published_at": "2021-03-15T12:13:21+00:00", "published_display": "15 Mar 2021 12:13", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "KONINKLIJKE BAM GROEP NV (BAMNB.AS) Stock Chart", "summary": "", "url": "https://news.google.com/rss/articles/CBMiakFVX3lxTFAyeE0xZmR0TXNRbDNNVlB1YVctb25FNHFXbDU1RGc2bnlIOEV4cldxWnRnQkd3ZmhZaHlCTldLOFliYnZNZk9XSUplSlJLLTE0YWRkT01KeHhqR1c5MlpSLUcyTDBqeWo0RWc?oc=5", "source_name": "ChartMill", "published_at": "2019-11-17T11:52:12+00:00", "published_display": "17 Nov 2019 11:52", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}, {"title": "The Koninklijke BAM Groep (AMS:BAMNB) Share Price Is Down 40% So Some Shareholders Are Getting Worried", "summary": "", "url": "https://news.google.com/rss/articles/CBMinAJBVV95cUxNSlFvalh2cnRSN1VSQ2FjRFpKS3dNNWtQLV9VZWx4OWRibnI1ek54MGIyTXM3Y0RXZ1FVVkRSZFhyUVFobktuSnU1NURCUWpGdDdwRWpLT05oQ0luMFNXYl9JdWdySTQzWGt6M0cxYVZ0bU1UZmxZX3VGNFFCc0lDdDlxX2tURkxWUUpQQkhELTROUWFFUUlkU1d6QnlNREw2dXRhaFZVRDhNalpUVjRoYnVXVW84RmRkNjlEbXNaT2F3aWpnam5WZzRaQUt3dFo4cnJ5Q0ZFeU9GZUVOQ21TSHR3aG54S0ZnRlZHb3NMVEZrRVdUSXptTjBZbngtQkFET043aUFqVTJuOS1oU1ZiRV9TWjE3bW8zYkY3d9IBnAJBVV95cUxNSlFvalh2cnRSN1VSQ2FjRFpKS3dNNWtQLV9VZWx4OWRibnI1ek54MGIyTXM3Y0RXZ1FVVkRSZFhyUVFobktuSnU1NURCUWpGdDdwRWpLT05oQ0luMFNXYl9JdWdySTQzWGt6M0cxYVZ0bU1UZmxZX3VGNFFCc0lDdDlxX2tURkxWUUpQQkhELTROUWFFUUlkU1d6QnlNREw2dXRhaFZVRDhNalpUVjRoYnVXVW84RmRkNjlEbXNaT2F3aWpnam5WZzRaQUt3dFo4cnJ5Q0ZFeU9GZUVOQ21TSHR3aG54S0ZnRlZHb3NMVEZrRVdUSXptTjBZbngtQkFET043aUFqVTJuOS1oU1ZiRV9TWjE3bW8zYkY3dw?oc=5", "source_name": "simplywall.st", "published_at": "2019-11-14T08:00:00+00:00", "published_display": "14 Nov 2019 08:00", "sentiment": "neutral", "sentiment_pct": 50, "event_type": "general", "event_label": "Market update", "event_confidence": 35, "tier": "direct", "tier_label": "Direct company coverage"}], "industry": [], "sector": []}, "total_fetched": 76, "total_relevant": 9, "sentiment_summary": {"positive": 1, "negative": 0, "neutral": 8, "score": 55, "total": 9, "label": "Balanced news tone", "tone": "neutral"}, "classifier": {"primary_event": "general", "primary_label": "Market update", "confidence": 81, "events": [{"event": "general", "label": "Market update", "weight": 3.3, "count": 6}, {"event": "earnings", "label": "Earnings", "weight": 1.1, "count": 2}, {"event": "capital_return", "label": "Capital return", "weight": 0.55, "count": 1}], "positive_events": 1, "negative_events": 0}, "market_context": {"has_market_context": true, "latest_close": 12.42, "latest_week": "2026-06-19", "one_week_move": 9.4, "four_week_move": 35.7, "twelve_week_move": 51.8, "trend_signal": "1", "trend_label": "Trend active", "trend_tone": "positive", "market_dynamics": 1.438116, "market_dynamics_buy_signal": false, "relative_strength": 31.30368, "fair_value_gap": 141.7, "fair_value_label": "Materially above fair value", "fair_value_tone": "negative", "expectation_direction": "positive", "expectation_probability": 58.9126, "reaction_label": "Price confirming higher", "reaction_tone": "positive", "market_sentence": "+9.4% over one week, +35.7% 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": 64, "badges": [], "opportunities": [], "risks": [], "event_label": "Market update", "sentiment_word": "balanced"}, "charts": {"sources": [{"label": "simplywall.st", "count": 3}, {"label": "Investing.com", "count": 1}, {"label": "marketscreener.com", "count": 1}, {"label": "TradingView", "count": 1}, {"label": "Market source", "count": 1}, {"label": "MarketBeat", "count": 1}, {"label": "ChartMill", "count": 1}], "tiers": [{"label": "Direct company coverage", "count": 9}, {"label": "Industry context", "count": 0}, {"label": "Sector context", "count": 0}], "events": [{"label": "Market update", "count": 6}, {"label": "Earnings", "count": 2}, {"label": "Capital return", "count": 1}]}, "insights": [{"label": "Weighted tone", "value": "55/100", "tone": "neutral", "text": "Balanced news tone"}, {"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": "Market update", "tone": "neutral", "text": "81/100 classification confidence."}, {"label": "Company focus", "value": "9", "tone": "positive", "text": "directly relevant articles"}, {"label": "Source quality", "value": "0", "tone": "neutral", "text": "high-authority source matches"}, {"label": "Trend context", "value": "Trend active", "tone": "positive", "text": "+9.4% over one week, +35.7% over four weeks, trend active, and materially above fair value."}, {"label": "Latest direct headline", "value": "Neutral", "tone": "neutral", "text": "Why is Dutch construction firm Koninklijke BAM Groep\u2019s stock surging today?"}], "updated_at": "2026-06-22T22:45:31.709096+00:00", "disclaimer": "Educational market research only. Not financial, investment, trading, tax, or legal advice."}