{"app":"Money Tree","archive_status":{"archive_consistency":{"clock_lag_vs_first_decision_seconds":null,"first_decision_at":null,"first_decision_at_et":null,"process_stream_lag_vs_first_decision_seconds":null,"process_stream_started_at":null,"process_stream_started_at_et":null,"reason":"Clock start or first decision timestamp unavailable","session_start_lag_vs_first_decision_seconds":null,"session_started_at":null,"session_started_at_et":null,"status":"unknown","stream_started_at":null,"stream_started_at_et":null},"artifact_counts":{"clock_events":1,"news_events":1,"news_raw_events":1,"news_syncs":695,"scheduler_inputs":695,"session_context":1,"timeline":1,"watchlists":695},"clock":{"event_count":1390,"first_event_type":"tick_started","first_timestamp":"2026-04-14T04:00:13.706825+00:00","first_timestamp_et":"2026-04-14 12:00:13 AM ET","latest_event_type":"tick_completed","latest_process_stream_started_at":null,"latest_process_stream_started_at_et":null,"latest_session_started_at":null,"latest_session_started_at_et":null,"latest_timestamp":"2026-04-14T06:55:34.882588+00:00","latest_timestamp_et":"2026-04-14 02:55:34 AM ET","path":"/data/replay_sessions/2026-04-14/clock/events.ndjson","present":true,"process_stream_start_event_count":0,"process_stream_started_at":null,"process_stream_started_at_et":null,"session_start_event_count":0,"session_started_at":null,"session_started_at_et":null,"size_bytes":518101,"stream_start_mode":null,"stream_started_at":null,"stream_started_at_et":null},"decisions":{"event_count":0,"first_timestamp":null,"first_timestamp_et":null,"latest_timestamp":null,"latest_timestamp_et":null,"path":"/data/replay_sessions/2026-04-14/decisions/decisions.ndjson","present":false,"size_bytes":null},"fills":{"event_count":0,"first_timestamp":null,"first_timestamp_et":null,"latest_timestamp":null,"latest_timestamp_et":null,"path":"/data/replay_sessions/2026-04-14/fills/fills.ndjson","present":false,"size_bytes":null},"found":true,"manifest_created_at":"2026-04-14T04:00:13.709459+00:00","manifest_present":true,"manifest_updated_at":"2026-04-14T06:55:34.855708+00:00","market":{"normalized_path":"/data/replay_sessions/2026-04-14/market/normalized-events.ndjson","normalized_present":false,"normalized_size_bytes":null,"raw_path":"/data/replay_sessions/2026-04-14/market/raw-events.ndjson","raw_present":false,"raw_size_bytes":null},"news":{"events_path":"/data/replay_sessions/2026-04-14/news/events.ndjson","events_present":true,"events_size_bytes":10440490,"raw_path":"/data/replay_sessions/2026-04-14/news/raw-events.ndjson","raw_present":true,"raw_size_bytes":11185915},"scheduler_inputs":{"artifact_count":695,"latest_artifact_path":"/data/replay_sessions/2026-04-14/scheduler/scheduler-inputs-20260414T065534Z.json","latest_base_item_count":0,"latest_candidate_symbol_count":5,"latest_candidate_symbols_sample":["SHEL.LSE","BP.LSE","HSBA.LSE","AZN.LSE","BARC.LSE"],"latest_captured_at":"2026-04-14T06:55:34.758816+00:00","latest_captured_at_et":"2026-04-14 02:55:34 AM ET","latest_day_gainer_count":0,"latest_market_wide_discovered_symbols":[],"latest_news_event_count":5,"latest_source_kind":"curated_markets","latest_source_name":"eodhd_curated"},"session_context":{"captured_at":"2026-04-14T06:55:34.758816+00:00","captured_at_et":"2026-04-14 02:55:34 AM ET","code_version":"8e44900","environment":"beta","live_symbol_count":5,"market_regime_symbol_count":2,"path":"/data/replay_sessions/2026-04-14/session/context.json","present":true,"variant_key":"uk"},"session_dir":"/data/replay_sessions/2026-04-14","session_key":"2026-04-14","watchlists":{"artifact_count":695,"latest_artifact_path":"/data/replay_sessions/2026-04-14/watchlists/watchlist-20260414T065534Z.json","latest_captured_at":"2026-04-14T06:55:34.758816+00:00","latest_captured_at_et":"2026-04-14 02:55:34 AM ET","latest_source_name":"eodhd_curated","latest_symbol_count":41,"latest_symbols_sample":["IMB.LSE","AZN.LSE","RIO.LSE","GLEN.LSE","CPG.LSE","BATS.LSE","GSK.LSE","STAN.LSE","PRU.LSE","VOD.LSE","EXPN.LSE","IHG.LSE"]}},"jp_live":null,"latest_activity":{"display_watchlist_batch":{"generated_at":null,"generated_at_et":null,"loaded_at":"2026-04-14T06:55:34.858303+00:00","loaded_at_et":"2026-04-14 02:55:34 AM ET","mode":"current_session","session_key":"2026-04-14","source":"curated_markets","symbol_count":41},"latest_decision":null,"latest_fill":null,"latest_snapshot":null,"latest_watchlist_batch":{"generated_at":null,"generated_at_et":null,"loaded_at":"2026-04-14T06:55:34.858303+00:00","loaded_at_et":"2026-04-14 02:55:34 AM ET","mode":"latest_overall","session_key":"2026-04-14","source":"curated_markets","symbol_count":41}},"market_runtimes":null,"market_sessions":[{"active":false,"local_time":"2:55 AM EDT","market":"US","realized_label":"Realized n/a","realized_pnl_usd":null,"realized_tone":null,"status":"closed","status_label":"Closed","tone":"idle","url":"https://us.moneytree.giovanni.is"},{"active":true,"local_time":"7:55 AM BST","market":"UK","realized_label":"Realized $0.00","realized_pnl_usd":0.0,"realized_tone":"idle","status":"closed","status_label":"Closed","tone":"idle","url":"https://uk.moneytree.giovanni.is"},{"active":false,"local_time":"8:55 AM CEST","market":"DE","realized_label":"Realized n/a","realized_pnl_usd":null,"realized_tone":null,"status":"closed","status_label":"Closed","tone":"idle","url":"https://de.moneytree.giovanni.is"},{"active":false,"local_time":"8:55 AM CEST","market":"FR","realized_label":"Realized n/a","realized_pnl_usd":null,"realized_tone":null,"status":"closed","status_label":"Closed","tone":"idle","url":"https://fr.moneytree.giovanni.is"},{"active":false,"local_time":"8:55 AM CEST","market":"IT","realized_label":"Realized n/a","realized_pnl_usd":null,"realized_tone":null,"status":"closed","status_label":"Closed","tone":"idle","url":"https://it.moneytree.giovanni.is"},{"active":false,"local_time":"3:55 PM JST","market":"JP","realized_label":"Realized n/a","realized_pnl_usd":null,"realized_tone":null,"status":"closed","status_label":"Closed","tone":"idle","url":"https://jp.moneytree.giovanni.is"},{"active":false,"local_time":"2:55 PM HKT","market":"HK","realized_label":"Realized n/a","realized_pnl_usd":null,"realized_tone":null,"status":"open","status_label":"Open","tone":"ok","url":"https://hk.moneytree.giovanni.is"}],"portfolio":{"budget_usd":100000.0,"cash_balance_usd":100000.0,"max_open_positions":10,"open_market_value_usd":0.0,"open_positions":0,"realized_pnl_usd":0.0,"total_equity_usd":100000.0,"unrealized_pnl_usd":0.0},"provider_markets":{"DE":{"history_configured":true,"history_providers":["eodhd"],"live_providers":[],"news_providers":["finnhub","benzinga","boerse_frankfurt_news"],"regime_symbols":["DBXE.XETRA"]},"FR":{"history_configured":true,"history_providers":["eodhd"],"live_providers":[],"news_providers":["finnhub","benzinga","euronext_company_news"],"regime_symbols":["CAC.PA"]},"HK":{"history_configured":true,"history_providers":["eodhd"],"live_providers":[],"news_providers":[],"regime_symbols":[]},"IT":{"history_configured":true,"history_providers":["eodhd","yahoo"],"live_providers":[],"news_providers":["finnhub","benzinga","euronext_company_news","borsa_italiana_news"],"regime_symbols":["FTSEMIB.MI"]},"JP":{"history_configured":false,"history_providers":["jquants"],"live_providers":[],"news_providers":["tdnet","jpx_company_announcements"],"regime_symbols":[]},"UK":{"history_configured":true,"history_providers":["eodhd"],"live_providers":["twelvedata"],"news_providers":["finnhub","benzinga","lse_rns"],"regime_symbols":[]},"US":{"history_configured":false,"history_providers":["databento"],"live_providers":[],"news_providers":["finnhub","benzinga","sec"],"regime_symbols":["SPY","QQQ"]}},"providers":["twelvedata/non-us-live","eodhd/non-us"],"runtime":[{"component":"live_worker","detail":"No live bars or quotes; non-US markets currently closed across 41 non-US (UK:41)","metadata":null,"status":"market_closed","updated_at":"2026-04-14T06:55:19.927956+00:00"},{"component":"scheduler","detail":"Imported 41 watchlist symbol(s)","metadata":null,"status":"ok","updated_at":"2026-04-14T06:55:34.887282+00:00"},{"component":"uk_announcements","detail":"UK announcement cache ready with 34 item(s); 5 direct catalyst(s)","metadata":{"actionable_count":5,"cache":{"code_version":"8e44900","schema_version":1,"tracked_symbol_count":41,"tracked_symbols":["SHEL.LSE","BP.LSE","HSBA.LSE","AZN.LSE","BARC.LSE","LLOY.LSE","GSK.LSE","RIO.LSE","ULVR.LSE","STAN.LSE","DGE.LSE","LSEG.LSE","NWG.LSE","RR.LSE","PRU.LSE","REL.LSE","VOD.LSE","GLEN.LSE","TSCO.LSE","BATS.LSE","NG.LSE","AHT.LSE","BNZL.LSE","SSE.LSE","WPP.LSE","MKS.LSE","NXT.LSE","CPG.LSE","LGEN.LSE","IMB.LSE","WTB.LSE","ADM.LSE","IHG.LSE","SN.LSE","EXPN.LSE","AAL.LSE","BAE.LSE","JD.LSE","ENT.LSE","EZJ.LSE","RTO.LSE"],"tracked_symbols_hash":"0b7600d713b211bf87def3cc3d0cc4155086c78d548ccceb3097f29af256f39a"},"record_count":34,"tracked_symbols":["SHEL.LSE","BP.LSE","HSBA.LSE","AZN.LSE","BARC.LSE","LLOY.LSE","GSK.LSE","RIO.LSE","ULVR.LSE","STAN.LSE","DGE.LSE","LSEG.LSE","NWG.LSE","RR.LSE","PRU.LSE","REL.LSE","VOD.LSE","GLEN.LSE","TSCO.LSE","BATS.LSE","NG.LSE","AHT.LSE","BNZL.LSE","SSE.LSE","WPP.LSE","MKS.LSE","NXT.LSE","CPG.LSE","LGEN.LSE","IMB.LSE","WTB.LSE","ADM.LSE","IHG.LSE","SN.LSE","EXPN.LSE","AAL.LSE","BAE.LSE","JD.LSE","ENT.LSE","EZJ.LSE","RTO.LSE"]},"status":"ok","updated_at":"2026-04-14T06:55:34.806726+00:00"},{"component":"uk_live_gateway","detail":"Twelve Data UK websocket skipped; market closed in Europe/London","metadata":{"authenticated":true,"enabled":true,"generated_at":"2026-04-14T06:55:19.917012+00:00","market":"UK","market_session":"closed","market_session_phase":"closed","phase":"market_closed","provider":"twelvedata","ready":true,"requested_symbol_count":41,"requested_symbols":["IMB.LSE","AZN.LSE","RIO.LSE","GLEN.LSE","CPG.LSE","BATS.LSE","GSK.LSE","STAN.LSE","PRU.LSE","VOD.LSE","EXPN.LSE","IHG.LSE","HSBA.LSE","SHEL.LSE","ULVR.LSE","BARC.LSE","LLOY.LSE","NWG.LSE","LSEG.LSE","REL.LSE","AAL.LSE","SSE.LSE","DGE.LSE","TSCO.LSE","NXT.LSE","LGEN.LSE","RTO.LSE","ADM.LSE","BNZL.LSE","MKS.LSE","WTB.LSE","ENT.LSE","EZJ.LSE","WPP.LSE","SN.LSE","RR.LSE","NG.LSE","JD.LSE","BP.LSE","BAE.LSE","AHT.LSE"],"resolved_symbol_count":0,"resolved_symbols":[],"retired":false,"unresolved_details":{},"unresolved_symbols":[]},"status":"market_closed","updated_at":"2026-04-14T06:55:19.919027+00:00"},{"component":"uk_live_readiness","detail":"UK live is configured on Twelve Data but the market is currently closed","metadata":{"authenticated":true,"enabled":true,"generated_at":"2026-04-14T06:55:19.917012+00:00","market":"UK","market_session":"closed","market_session_phase":"closed","phase":"market_closed","provider":"twelvedata","ready":true,"requested_symbol_count":41,"requested_symbols":["IMB.LSE","AZN.LSE","RIO.LSE","GLEN.LSE","CPG.LSE","BATS.LSE","GSK.LSE","STAN.LSE","PRU.LSE","VOD.LSE","EXPN.LSE","IHG.LSE","HSBA.LSE","SHEL.LSE","ULVR.LSE","BARC.LSE","LLOY.LSE","NWG.LSE","LSEG.LSE","REL.LSE","AAL.LSE","SSE.LSE","DGE.LSE","TSCO.LSE","NXT.LSE","LGEN.LSE","RTO.LSE","ADM.LSE","BNZL.LSE","MKS.LSE","WTB.LSE","ENT.LSE","EZJ.LSE","WPP.LSE","SN.LSE","RR.LSE","NG.LSE","JD.LSE","BP.LSE","BAE.LSE","AHT.LSE"],"resolved_symbol_count":0,"resolved_symbols":[],"retired":false,"unresolved_details":{},"unresolved_symbols":[]},"status":"market_closed","updated_at":"2026-04-14T06:55:19.920301+00:00"}],"shadow_mode":true,"status":"ok","status_reason":"All runtime components report ok","storage":{"archive_dir":"/data/replay_sessions","data_dir":"/data","filesystem_free_bytes":67497639936,"filesystem_free_human":"62.86 GB","filesystem_total_bytes":322302373888,"filesystem_total_human":"300.17 GB","filesystem_used_bytes":241651920896,"filesystem_used_human":"225.06 GB","filesystem_used_pct":74.98},"symbols":["SHEL.LSE","BP.LSE","HSBA.LSE","AZN.LSE","BARC.LSE"],"tracked_symbols":["IMB.LSE","AZN.LSE","RIO.LSE","GLEN.LSE","CPG.LSE","BATS.LSE","GSK.LSE","STAN.LSE","PRU.LSE","VOD.LSE","EXPN.LSE","IHG.LSE"],"uk_live":{"authenticated":true,"detail":"UK live is configured on Twelve Data but the market is currently closed","enabled":true,"first_bar_at":null,"first_quote_at":null,"first_trade_at":null,"gateway_detail":"Twelve Data UK websocket skipped; market closed in Europe/London","gateway_status":"market_closed","last_event_at":null,"market_session":"closed","market_session_phase":"closed","missing_bar_count":0,"missing_bar_symbols":[],"missing_quote_count":0,"missing_quote_symbols":[],"missing_trade_count":0,"missing_trade_symbols":[],"provider":"twelvedata","readiness_status":"market_closed","ready":true,"requested_symbol_count":41,"resolved_symbol_count":0,"retired":false,"stale_after_open_minutes":null,"status":"market_closed","subscription_count":null,"unresolved_symbol_count":0,"unresolved_symbols":[]},"variant":"uk","watchlist":{"display_batch":{"generated_at":null,"generated_at_et":null,"loaded_at":"2026-04-14T06:55:34.858303+00:00","loaded_at_et":"2026-04-14 02:55:34 AM ET","mode":"current_session","session_key":"2026-04-14","source":"curated_markets","symbol_count":41},"display_note":"showing current-session batch loaded 2026-04-14 02:55:34 AM ET","europe_ranking_calibration":{"generated_at":"2026-04-14T02:24:52.781855+00:00","markets":{"DE":{"baseline_retention_rate":0.4,"calibrated":true,"feature_retention":{"curated_fallback":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"day_move_high":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"day_move_mid":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"direct_company_mention":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"dynamic_liquidity":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"fresh_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"native_news_ranked":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"opening_window_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"recent_volume_high":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"recent_volume_mid":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"top_tier_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null}},"retained_count":4,"retention_rate":0.4,"sample_count":10,"session_count":1,"source_mix":{"curated_fallback_count":0,"dynamic_liquidity_count":0},"weights":{"activity_day_move_high_bonus":0.08,"activity_day_move_mid_bonus":0.04,"activity_recent_volume_high_bonus":0.12,"activity_recent_volume_mid_bonus":0.08,"catalyst_strength_multiplier":1.0,"direct_company_mention_bonus":0.0,"fresh_news_bonus":0.2,"freshness_multiplier":1.0,"opening_window_multiplier":1.0,"opening_window_news_bonus":0.3,"priority_score_multiplier":1.0,"top_tier_news_bonus":0.5}},"FR":{"baseline_retention_rate":0.2,"calibrated":true,"feature_retention":{"curated_fallback":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"day_move_high":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"day_move_mid":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"direct_company_mention":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"dynamic_liquidity":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"fresh_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"native_news_ranked":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"opening_window_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"recent_volume_high":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"recent_volume_mid":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"top_tier_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null}},"retained_count":2,"retention_rate":0.2,"sample_count":10,"session_count":1,"source_mix":{"curated_fallback_count":0,"dynamic_liquidity_count":0},"weights":{"activity_day_move_high_bonus":0.08,"activity_day_move_mid_bonus":0.04,"activity_recent_volume_high_bonus":0.12,"activity_recent_volume_mid_bonus":0.08,"catalyst_strength_multiplier":1.0,"direct_company_mention_bonus":0.0,"fresh_news_bonus":0.2,"freshness_multiplier":1.0,"opening_window_multiplier":1.0,"opening_window_news_bonus":0.3,"priority_score_multiplier":1.0,"top_tier_news_bonus":0.5}},"IT":{"baseline_retention_rate":0.5,"calibrated":true,"feature_retention":{"curated_fallback":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"day_move_high":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"day_move_mid":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"direct_company_mention":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"dynamic_liquidity":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"fresh_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"native_news_ranked":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"opening_window_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"recent_volume_high":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"recent_volume_mid":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null},"top_tier_news":{"retained_count":0,"retention_rate":null,"sample_count":0,"uplift_vs_baseline":null}},"retained_count":5,"retention_rate":0.5,"sample_count":10,"session_count":1,"source_mix":{"curated_fallback_count":0,"dynamic_liquidity_count":0},"weights":{"activity_day_move_high_bonus":0.08,"activity_day_move_mid_bonus":0.04,"activity_recent_volume_high_bonus":0.12,"activity_recent_volume_mid_bonus":0.08,"catalyst_strength_multiplier":1.0,"direct_company_mention_bonus":0.0,"fresh_news_bonus":0.2,"freshness_multiplier":1.0,"opening_window_multiplier":1.0,"opening_window_news_bonus":0.3,"priority_score_multiplier":1.0,"top_tier_news_bonus":0.5}}},"session_keys":["2026-04-13"],"summary":{"market_count":3,"sample_count":30,"session_count":1}},"items":[{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_category":"results","uk_announcement_id":17544743,"uk_direct_announcement":true,"uk_liquidity_rank":1,"uk_lse_news_headline":"Trading Update","uk_lse_news_published_at":null,"uk_market_cap":24061156279.0,"uk_recent_lse_news":true,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"Imperial Brands","price":null,"rank":1,"reasons":["curated market coverage","market uk","source eodhd_curated","lse announcement","Trading Update"],"rsi":null,"symbol":"IMB.LSE","volume_ratio":1.0,"watchlist_score":1.75},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_category":"announcement","uk_announcement_id":17540384,"uk_direct_announcement":true,"uk_liquidity_rank":2,"uk_lse_news_headline":"Result of AGM","uk_lse_news_published_at":"2026-04-09T16:15:01+00:00","uk_market_cap":232462198496.0,"uk_recent_lse_news":true,"uk_today_news":false,"uk_turnover":null,"uk_volume":7},"name":"AstraZeneca","price":null,"rank":2,"reasons":["curated market coverage","market uk","source eodhd_curated","lse announcement","Result of AGM"],"rsi":null,"symbol":"AZN.LSE","volume_ratio":1.0,"watchlist_score":1.55},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_category":"dividend","uk_announcement_id":17535417,"uk_direct_announcement":true,"uk_liquidity_rank":3,"uk_lse_news_headline":"Notice of dividend currency exchange rates","uk_lse_news_published_at":"2026-04-07T08:35:13+00:00","uk_market_cap":91812622954.0,"uk_recent_lse_news":true,"uk_today_news":false,"uk_turnover":null,"uk_volume":null},"name":"Rio Tinto","price":null,"rank":3,"reasons":["curated market coverage","market uk","source eodhd_curated","lse announcement","Notice of dividend currency exchange rates"],"rsi":null,"symbol":"RIO.LSE","volume_ratio":1.0,"watchlist_score":1.55},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_category":"announcement","uk_announcement_id":17515577,"uk_direct_announcement":true,"uk_liquidity_rank":4,"uk_lse_news_headline":"PDMR notification: Vesting of awards to CEO","uk_lse_news_published_at":"2026-03-23T13:30:00+00:00","uk_market_cap":66199140708.0,"uk_recent_lse_news":true,"uk_today_news":false,"uk_turnover":null,"uk_volume":5},"name":"Glencore","price":null,"rank":4,"reasons":["curated market coverage","market uk","source eodhd_curated","lse announcement","PDMR notification: Vesting of awards to CEO"],"rsi":null,"symbol":"GLEN.LSE","volume_ratio":1.0,"watchlist_score":1.55},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_category":"announcement","uk_announcement_id":17529329,"uk_direct_announcement":true,"uk_liquidity_rank":5,"uk_lse_news_headline":"Change in trading currency of Ordinary Shares","uk_lse_news_published_at":"2026-04-01T06:00:08+00:00","uk_market_cap":34447169432.0,"uk_recent_lse_news":true,"uk_today_news":false,"uk_turnover":null,"uk_volume":null},"name":"Compass Group","price":null,"rank":5,"reasons":["curated market coverage","market uk","source eodhd_curated","lse announcement","Change in trading currency of Ordinary Shares"],"rsi":null,"symbol":"CPG.LSE","volume_ratio":1.0,"watchlist_score":1.55},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_id":17544728,"uk_liquidity_rank":6,"uk_lse_news_headline":"Transaction in Own Shares","uk_lse_news_published_at":null,"uk_market_cap":94427337682.0,"uk_recent_lse_news":false,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"British American Tobacco","price":null,"rank":6,"reasons":["curated market coverage","market uk","source eodhd_curated"],"rsi":null,"symbol":"BATS.LSE","volume_ratio":1.0,"watchlist_score":1.3},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_id":17544713,"uk_liquidity_rank":7,"uk_lse_news_headline":"Transaction in Own Shares","uk_lse_news_published_at":null,"uk_market_cap":88067211298.0,"uk_recent_lse_news":false,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"GSK","price":null,"rank":7,"reasons":["curated market coverage","market uk","source eodhd_curated"],"rsi":null,"symbol":"GSK.LSE","volume_ratio":1.0,"watchlist_score":1.3},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_id":17544763,"uk_liquidity_rank":8,"uk_lse_news_headline":"Transaction in Own Shares","uk_lse_news_published_at":null,"uk_market_cap":38307840172.0,"uk_recent_lse_news":false,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"Standard Chartered","price":null,"rank":8,"reasons":["curated market coverage","market uk","source eodhd_curated"],"rsi":null,"symbol":"STAN.LSE","volume_ratio":1.0,"watchlist_score":1.3},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_id":17544777,"uk_liquidity_rank":9,"uk_lse_news_headline":"Director/PDMR Shareholding","uk_lse_news_published_at":null,"uk_market_cap":28043879812.0,"uk_recent_lse_news":false,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"Prudential","price":null,"rank":9,"reasons":["curated market coverage","market uk","source eodhd_curated"],"rsi":null,"symbol":"PRU.LSE","volume_ratio":1.0,"watchlist_score":1.3},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_id":17544734,"uk_liquidity_rank":10,"uk_lse_news_headline":"Transaction in Own Shares","uk_lse_news_published_at":null,"uk_market_cap":26826454746.0,"uk_recent_lse_news":false,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"Vodafone Group","price":null,"rank":10,"reasons":["curated market coverage","market uk","source eodhd_curated"],"rsi":null,"symbol":"VOD.LSE","volume_ratio":1.0,"watchlist_score":1.3},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_id":17544732,"uk_liquidity_rank":11,"uk_lse_news_headline":"Transaction in Own Shares","uk_lse_news_published_at":null,"uk_market_cap":23469573141.0,"uk_recent_lse_news":false,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"Experian","price":null,"rank":11,"reasons":["curated market coverage","market uk","source eodhd_curated"],"rsi":null,"symbol":"EXPN.LSE","volume_ratio":1.0,"watchlist_score":1.2},{"gap_pct":0.0,"market":"UK","metadata":{"bar_research":true,"curated_market_entry":true,"market_key":"UK","playbook_bias":"momentum_swing","primary_source":"eodhd_curated","source_counts":{"eodhd_curated":1},"source_trust_tier":"curated","uk_announcement_id":17544731,"uk_liquidity_rank":12,"uk_lse_news_headline":"Transaction in Own Shares","uk_lse_news_published_at":null,"uk_market_cap":15488224394.0,"uk_recent_lse_news":false,"uk_today_news":true,"uk_turnover":null,"uk_volume":null},"name":"InterContinental Hotels Group","price":null,"rank":12,"reasons":["curated market coverage","market uk","source eodhd_curated"],"rsi":null,"symbol":"IHG.LSE","volume_ratio":1.0,"watchlist_score":1.2}],"market_counts":{"UK":41},"market_filter":null,"markets":{"DE":{"activity_fallback_count":0,"activity_fallback_provider_counts":{},"candidate_pool_size":0,"count":0,"curated_fallback_count":0,"direct_native_news_hit_count":0,"dynamic_liquidity_count":0,"native_news_hit_count":0,"replay_calibrated_count":0,"source_counts":{},"target_count":0,"top_items":[]},"FR":{"activity_fallback_count":0,"activity_fallback_provider_counts":{},"candidate_pool_size":0,"count":0,"curated_fallback_count":0,"direct_native_news_hit_count":0,"dynamic_liquidity_count":0,"native_news_hit_count":0,"replay_calibrated_count":0,"source_counts":{},"target_count":0,"top_items":[]},"IT":{"activity_fallback_count":0,"activity_fallback_provider_counts":{},"candidate_pool_size":0,"count":0,"curated_fallback_count":0,"direct_native_news_hit_count":0,"dynamic_liquidity_count":0,"native_news_hit_count":0,"replay_calibrated_count":0,"source_counts":{},"target_count":0,"top_items":[]}},"total_count":41,"visible_count":12}}
