{"ok":true,"security_id":80,"symbol":"ECL","snapshot":{"security_id":80,"symbol":"ECL","asset_type":"equity","sector_code":"materials","industry":null,"exchange_code":null,"currency":"USD","data_mode":"demo","price":"511.590000","prev_close":"519.472700","chg_1d_pct":"-1.5170","volume":80974425,"rvol_30":"1.309","avg_volume_30d":null,"dollar_volume_avg":"31053644871.6800","mcap":2797540663718,"wk52_high":"866.157600","wk52_low":"443.626900","pct_from_52wh":"-40.9400","dist_to_52wh_pct":"-40.9400","rsi14":"52.149","macd":"6.772500","macd_hist":"-0.208500","adx14":"18.549","atr_pct":"3.6800","hv20":"32.8000","hv60":"30.6600","vol_regime":"normal","bb_pctb":"0.5151","stoch_k":"42.867","above_sma20":1,"above_sma50":1,"above_sma200":0,"sma20":"510.522600","sma50":"496.125300","sma200":"598.893700","vwap":"512.564400","trend":"up","support":"461.955700","resistance":"523.995800","perf_1d":"-1.5200","perf_5d":"-1.7600","perf_1m":"10.2100","perf_3m":"-12.8400","perf_6m":"-7.1500","perf_12m":"-10.2500","rel_strength_3m":"-17.1900","rs_rank":null,"mom_persist":null,"bars":760,"beta":"0.6200","mdd_pct":"-45.3300","gap_risk":"0.5260","liq_days":null,"pe_ttm":"28.4580","pe_fwd":"25.5510","peg":"2.5010","ps":"6.7340","pb":"1.7780","ev_ebitda":"19.6260","rev_g":"11.0570","eps_g":"11.8650","gross_margin":"56.6870","op_margin":"26.4150","fcf_margin":"18.4360","roe":"6.2470","roic":"12.1760","debt_equity":"0.1470","net_debt_ebitda":null,"div_yield":"0.3910","payout":"52.1300","buyback_yield":"2.9640","eps_surprise_pct":"1.7330","rev_surprise_pct":"1.9320","earnings_days_out":33,"earnings_date":"2026-12-10","consensus_score":"61.740","pct_analyst_buy":null,"pt_upside_pct":null,"sent_score":null,"sent_label":null,"sent_delta":"46.460","inst_ownership":"164.4240","inst_chg_pct":"-60.1200","inst_top_name":"Vanguard Index Group","insider_net_usd":null,"insider_trades_90d":0,"short_pct_float":"7.3090","score_total":"55.36","score_technical":"51.09","score_fundamental":"60.13","score_momentum":"38.47","score_sentiment":"65.28","score_institutional":"30.15","score_risk":"81.62","confidence":"52.00","risk_level":"medium","stance":"neutral","cats":"","catalysts":"Earnings report 2026-12-10 (as scheduled) · Street target implies 7.2%","risks":"Historic drawdown deeper than 45% · Binary event: 2026-12-10","model_version":"score-1.0.0","priced_at":"2026-10-23 16:00:00","computed_at":"2026-10-24 23:42:36"},"quote":{"security_id":80,"last_price":"511.590000","bid":null,"ask":null,"prev_close":"519.472700","open":"512.645600","day_high":"517.493100","day_low":"508.610200","volume":80974425,"avg_volume_30d":61277149,"change_abs":"-7.882700","change_pct":"-1.5170","market_state":"closed","quote_ts":"2026-10-23 16:00:00","latency_ms":null,"is_realtime":0,"data_source":"synthetic_demo","data_mode":"demo","updated_at":"2026-10-24 23:42:34","price":"511.590000","as_of":"2026-10-23 16:00:00"},"score":{"id":1055,"security_id":80,"model_id":1,"scored_at":"2026-10-24 23:42:00","total_score":"55.36","technical":"51.09","fundamental":"60.13","momentum":"38.47","sentiment":"65.28","institutional":"30.15","risk":"81.62","components_json":"{\"components\":{\"technical\":{\"score\":51.09,\"label\":\"Neutral\",\"complete\":true,\"factors\":[{\"key\":\"trend_structure\",\"score\":70,\"why\":\"Price vs 20\\/50\\/200-day moving averages: up\",\"w\":1.8},{\"key\":\"trend_strength_adx\",\"score\":40.81,\"why\":\"ADX(14) 18.5 \\u2014 weak\\/rangebound\",\"w\":1},{\"key\":\"rsi_condition\",\"score\":70.1,\"why\":\"RSI(14) 52.1 \\u2014 constructive zone\",\"w\":1},{\"key\":\"macd_signal\",\"score\":15,\"why\":\"MACD(12,26,9) bearish, histogram -0.209\",\"w\":1},{\"key\":\"volume_confirmation\",\"score\":64.83,\"why\":\"Relative volume 1.31\\u00d7 its own 30-day average\",\"w\":0.8},{\"key\":\"52w_position\",\"score\":30.88,\"why\":\"-40.9% from its 52-week high\",\"w\":1.4},{\"key\":\"volatility_compression\",\"score\":73.7,\"why\":\"Bollinger width 13.9%\",\"w\":0.7},{\"key\":\"candlestick_patterns\",\"score\":50,\"why\":\"No reversal\\/breakout pattern at the latest close\",\"w\":0.7},{\"key\":\"intraday_position\",\"score\":40,\"why\":\"Below session VWAP\",\"w\":0.4}]},\"fundamental\":{\"score\":60.13,\"label\":\"Available\",\"complete\":true,\"factors\":[{\"key\":\"gross_margin\",\"score\":77.02,\"why\":\"Gross margin 56.7%\",\"w\":1},{\"key\":\"operating_margin\",\"score\":78.94,\"why\":\"Operating margin 26.4%\",\"w\":1},{\"key\":\"free_cash_flow\",\"score\":79.39,\"why\":\"FCF margin 18.4%\",\"w\":1},{\"key\":\"return_on_equity\",\"score\":40.62,\"why\":\"ROE 6.2%\",\"w\":1},{\"key\":\"return_on_invested_capital\",\"score\":66.9,\"why\":\"ROIC 12.2%\",\"w\":1},{\"key\":\"leverage\",\"score\":80.22,\"why\":\"Debt\\/Equity 0.15\",\"w\":1},{\"key\":\"coverage\",\"score\":41.31,\"why\":\"Interest coverage 2.2\\u00d7\",\"w\":1},{\"key\":\"valuation_pe\",\"score\":60.27,\"why\":\"P\\/E 28.5\\u00d7 vs sector median 29.3\\u00d7 (in line)\",\"w\":1},{\"key\":\"peg\",\"score\":32.16,\"why\":\"PEG 2.5\",\"w\":1},{\"key\":\"valuation_sales\",\"score\":61.38,\"why\":\"P\\/S 6.7\\u00d7 vs sector median 6.9\\u00d7\",\"w\":1},{\"key\":\"valuation_book\",\"score\":60.86,\"why\":\"P\\/B 1.8\\u00d7\",\"w\":1},{\"key\":\"valuation_ebitda\",\"score\":39.34,\"why\":\"EV\\/EBITDA 19.6\\u00d7\",\"w\":1}]},\"momentum\":{\"score\":38.47,\"label\":\"Weak\",\"complete\":true,\"factors\":[{\"key\":\"multi_horizon_performance\",\"score\":41.83,\"why\":\"1M +10.2% \\u00b7 3M -12.8% \\u00b7 6M -7.2% \\u00b7 12M -10.3%\",\"w\":1},{\"key\":\"relative_strength_vs_index\",\"score\":22,\"why\":\"3-month return minus index -17.2%\",\"w\":1},{\"key\":\"volume_acceleration\",\"score\":43.79,\"why\":\"Today -1.5% on 1.3\\u00d7 volume\",\"w\":1},{\"key\":\"momentum_persistence\",\"score\":46.25,\"why\":\"1 of 4 measured horizons are positive\",\"w\":1}]},\"sentiment\":{\"score\":65.28,\"label\":\"Positive\",\"complete\":true,\"factors\":[{\"key\":\"news_sentiment_index\",\"score\":61.74,\"why\":\"Aggregate news sentiment 23.5 (\\u2212100 bearish \\u2026 +100 bullish) from 25 scored items\",\"w\":1},{\"key\":\"sentiment_delta\",\"score\":95,\"why\":\"30-day sentiment change 46.5 pts\",\"w\":1},{\"key\":\"analyst_consensus\",\"score\":62,\"why\":\"Analyst consensus score 2.4 (1=Strong Buy, 5=Sell) across 5 ratings\",\"w\":1},{\"key\":\"analyst_distribution\",\"score\":100,\"why\":\"108% Buy\\/Strong Buy \\u00b7 0% Hold \\u00b7 0% Sell\\/Short\",\"w\":1},{\"key\":\"price_target_gap\",\"score\":62.95,\"why\":\"Average target implies +7.2% from the last close\",\"w\":1},{\"key\":\"estimate_revisions\",\"score\":10,\"why\":\"Net EPS estimate revisions (90d): -20\",\"w\":1}]},\"institutional\":{\"score\":30.15,\"label\":\"Available\",\"complete\":true,\"factors\":[{\"key\":\"institutional_flows\",\"score\":22,\"why\":\"Reported 13F-style positioning change -60.1% vs prior quarter2026-09-01\",\"w\":1},{\"key\":\"ownership_crowding\",\"score\":26,\"why\":\"Institutions hold ~164.4% of float (crowding risk rises above ~78%)\",\"w\":1},{\"key\":\"short_interest\",\"score\":42.46,\"why\":\"Short interest 7.3% of float, days-to-cover 13.7\",\"w\":1}]},\"risk\":{\"score\":81.62,\"label\":\"Medium risk\",\"complete\":true,\"factors\":[{\"key\":\"volatility\",\"score\":61.08,\"why\":\"20-day realised volatility 32.8% annualised\",\"w\":1.5},{\"key\":\"beta\",\"score\":90.48,\"why\":\"Beta 0.62 vs the reference index\",\"w\":1},{\"key\":\"drawdown_history\",\"score\":61.8,\"why\":\"Max drawdown in stored history -45.3%\",\"w\":1.2},{\"key\":\"liquidity\",\"score\":96,\"why\":\"Average $31053.6M traded per session\",\"w\":1.3},{\"key\":\"gap_risk\",\"score\":95,\"why\":\"Median overnight gap 0.53% \\u2014 position sizing must survive opens\",\"w\":1},{\"key\":\"event_risk_earnings\",\"score\":82,\"why\":\"No earnings inside the next 3 weeks\",\"w\":1},{\"key\":\"sector_risk\",\"score\":78.37,\"why\":\"Sector average volatility 29.7%\",\"w\":1},{\"key\":\"market_risk\",\"score\":84.63,\"why\":\"Benchmark volatility 20.1% \\u00b7 regime: Sideways \\u00b7 normal vol \\u00b7 risk-off\",\"w\":1},{\"key\":\"correlation\",\"score\":95.12,\"why\":\"Correlation to benchmark 0.63-year rolling: 0.37\",\"w\":1}]}},\"weights\":{\"technical\":25,\"fundamental\":25,\"momentum\":15,\"sentiment\":10,\"institutional\":10,\"risk\":15},\"confidence\":52,\"confidence_basis\":\"760 bars \\u00b7 data 26h old \\u00b7 components covered 100%% \\u00b7 risk drag 80\",\"coverage\":100}","factors_json":"{\"positive\":[{\"component\":\"sentiment\",\"key\":\"analyst_distribution\",\"score\":100,\"why\":\"108% Buy\\/Strong Buy \\u00b7 0% Hold \\u00b7 0% Sell\\/Short\"},{\"component\":\"risk\",\"key\":\"liquidity\",\"score\":96,\"why\":\"Average $31053.6M traded per session\"},{\"component\":\"risk\",\"key\":\"correlation\",\"score\":95.12,\"why\":\"Correlation to benchmark 0.63-year rolling: 0.37\"},{\"component\":\"sentiment\",\"key\":\"sentiment_delta\",\"score\":95,\"why\":\"30-day sentiment change 46.5 pts\"},{\"component\":\"risk\",\"key\":\"gap_risk\",\"score\":95,\"why\":\"Median overnight gap 0.53% \\u2014 position sizing must survive opens\"},{\"component\":\"risk\",\"key\":\"beta\",\"score\":90.48,\"why\":\"Beta 0.62 vs the reference index\"}],\"negative\":[{\"component\":\"sentiment\",\"key\":\"estimate_revisions\",\"score\":10,\"why\":\"Net EPS estimate revisions (90d): -20\"},{\"component\":\"technical\",\"key\":\"macd_signal\",\"score\":15,\"why\":\"MACD(12,26,9) bearish, histogram -0.209\"},{\"component\":\"momentum\",\"key\":\"relative_strength_vs_index\",\"score\":22,\"why\":\"3-month return minus index -17.2%\"},{\"component\":\"institutional\",\"key\":\"institutional_flows\",\"score\":22,\"why\":\"Reported 13F-style positioning change -60.1% vs prior quarter2026-09-01\"},{\"component\":\"institutional\",\"key\":\"ownership_crowding\",\"score\":26,\"why\":\"Institutions hold ~164.4% of float (crowding risk rises above ~78%)\"},{\"component\":\"technical\",\"key\":\"52w_position\",\"score\":30.88,\"why\":\"-40.9% from its 52-week high\"}]}","inputs_snapshot":"{\"bars\":760,\"price\":\"511.590000\",\"trend\":\"up\",\"pe\":\"28.4580\",\"sent\":23.47,\"sector\":\"materials\"}","data_mode":"demo","stance":"neutral","risk_level":"medium","confidence":"52.00","model_version":"score-1.0.0","computed_at":"2026-10-24 23:42:36","catalysts":"Earnings report 2026-12-10 (as scheduled) · Street target implies 7.2%","risks":"Historic drawdown deeper than 45% · Binary event: 2026-12-10","sent_score":null,"sent_label":null,"snap_total":"55.36","score_total":55.36,"components":{"technical":25,"fundamental":25,"momentum":15,"sentiment":10,"institutional":10,"risk":15},"component_detail":{"technical":{"score":51.09,"label":"Neutral","complete":true,"factors":[{"key":"trend_structure","score":70,"why":"Price vs 20/50/200-day moving averages: up","w":1.8},{"key":"trend_strength_adx","score":40.81,"why":"ADX(14) 18.5 — weak/rangebound","w":1},{"key":"rsi_condition","score":70.1,"why":"RSI(14) 52.1 — constructive zone","w":1},{"key":"macd_signal","score":15,"why":"MACD(12,26,9) bearish, histogram -0.209","w":1},{"key":"volume_confirmation","score":64.83,"why":"Relative volume 1.31× its own 30-day average","w":0.8},{"key":"52w_position","score":30.88,"why":"-40.9% from its 52-week high","w":1.4},{"key":"volatility_compression","score":73.7,"why":"Bollinger width 13.9%","w":0.7},{"key":"candlestick_patterns","score":50,"why":"No reversal/breakout pattern at the latest close","w":0.7},{"key":"intraday_position","score":40,"why":"Below session VWAP","w":0.4}]},"fundamental":{"score":60.13,"label":"Available","complete":true,"factors":[{"key":"gross_margin","score":77.02,"why":"Gross margin 56.7%","w":1},{"key":"operating_margin","score":78.94,"why":"Operating margin 26.4%","w":1},{"key":"free_cash_flow","score":79.39,"why":"FCF margin 18.4%","w":1},{"key":"return_on_equity","score":40.62,"why":"ROE 6.2%","w":1},{"key":"return_on_invested_capital","score":66.9,"why":"ROIC 12.2%","w":1},{"key":"leverage","score":80.22,"why":"Debt/Equity 0.15","w":1},{"key":"coverage","score":41.31,"why":"Interest coverage 2.2×","w":1},{"key":"valuation_pe","score":60.27,"why":"P/E 28.5× vs sector median 29.3× (in line)","w":1},{"key":"peg","score":32.16,"why":"PEG 2.5","w":1},{"key":"valuation_sales","score":61.38,"why":"P/S 6.7× vs sector median 6.9×","w":1},{"key":"valuation_book","score":60.86,"why":"P/B 1.8×","w":1},{"key":"valuation_ebitda","score":39.34,"why":"EV/EBITDA 19.6×","w":1}]},"momentum":{"score":38.47,"label":"Weak","complete":true,"factors":[{"key":"multi_horizon_performance","score":41.83,"why":"1M +10.2% · 3M -12.8% · 6M -7.2% · 12M -10.3%","w":1},{"key":"relative_strength_vs_index","score":22,"why":"3-month return minus index -17.2%","w":1},{"key":"volume_acceleration","score":43.79,"why":"Today -1.5% on 1.3× volume","w":1},{"key":"momentum_persistence","score":46.25,"why":"1 of 4 measured horizons are positive","w":1}]},"sentiment":{"score":65.28,"label":"Positive","complete":true,"factors":[{"key":"news_sentiment_index","score":61.74,"why":"Aggregate news sentiment 23.5 (−100 bearish … +100 bullish) from 25 scored items","w":1},{"key":"sentiment_delta","score":95,"why":"30-day sentiment change 46.5 pts","w":1},{"key":"analyst_consensus","score":62,"why":"Analyst consensus score 2.4 (1=Strong Buy, 5=Sell) across 5 ratings","w":1},{"key":"analyst_distribution","score":100,"why":"108% Buy/Strong Buy · 0% Hold · 0% Sell/Short","w":1},{"key":"price_target_gap","score":62.95,"why":"Average target implies +7.2% from the last close","w":1},{"key":"estimate_revisions","score":10,"why":"Net EPS estimate revisions (90d): -20","w":1}]},"institutional":{"score":30.15,"label":"Available","complete":true,"factors":[{"key":"institutional_flows","score":22,"why":"Reported 13F-style positioning change -60.1% vs prior quarter2026-09-01","w":1},{"key":"ownership_crowding","score":26,"why":"Institutions hold ~164.4% of float (crowding risk rises above ~78%)","w":1},{"key":"short_interest","score":42.46,"why":"Short interest 7.3% of float, days-to-cover 13.7","w":1}]},"risk":{"score":81.62,"label":"Medium risk","complete":true,"factors":[{"key":"volatility","score":61.08,"why":"20-day realised volatility 32.8% annualised","w":1.5},{"key":"beta","score":90.48,"why":"Beta 0.62 vs the reference index","w":1},{"key":"drawdown_history","score":61.8,"why":"Max drawdown in stored history -45.3%","w":1.2},{"key":"liquidity","score":96,"why":"Average $31053.6M traded per session","w":1.3},{"key":"gap_risk","score":95,"why":"Median overnight gap 0.53% — position sizing must survive opens","w":1},{"key":"event_risk_earnings","score":82,"why":"No earnings inside the next 3 weeks","w":1},{"key":"sector_risk","score":78.37,"why":"Sector average volatility 29.7%","w":1},{"key":"market_risk","score":84.63,"why":"Benchmark volatility 20.1% · regime: Sideways · normal vol · risk-off","w":1},{"key":"correlation","score":95.12,"why":"Correlation to benchmark 0.63-year rolling: 0.37","w":1}]}},"coverage":100,"confidence_basis":"760 bars · data 26h old · components covered 100%% · risk drag 80","factors":[{"component":"sentiment","key":"analyst_distribution","label":"Analyst Distribution","score":100,"why":"108% Buy/Strong Buy · 0% Hold · 0% Sell/Short","w":1,"direction":"positive"},{"component":"risk","key":"liquidity","label":"Liquidity","score":96,"why":"Average $31053.6M traded per session","w":1.3,"direction":"positive"},{"component":"risk","key":"correlation","label":"Correlation","score":95.12,"why":"Correlation to benchmark 0.63-year rolling: 0.37","w":1,"direction":"positive"},{"component":"sentiment","key":"sentiment_delta","label":"Sentiment Delta","score":95,"why":"30-day sentiment change 46.5 pts","w":1,"direction":"positive"},{"component":"risk","key":"gap_risk","label":"Gap Risk","score":95,"why":"Median overnight gap 0.53% — position sizing must survive opens","w":1,"direction":"positive"},{"component":"risk","key":"beta","label":"Beta","score":90.48,"why":"Beta 0.62 vs the reference index","w":1,"direction":"positive"},{"component":"sentiment","key":"estimate_revisions","label":"Estimate Revisions","score":10,"why":"Net EPS estimate revisions (90d): -20","w":1,"direction":"negative"},{"component":"technical","key":"macd_signal","label":"Macd Signal","score":15,"why":"MACD(12,26,9) bearish, histogram -0.209","w":1,"direction":"negative"},{"component":"risk","key":"market_risk","label":"Market Risk","score":84.63,"why":"Benchmark volatility 20.1% · regime: Sideways · normal vol · risk-off","w":1,"direction":"positive"},{"component":"risk","key":"event_risk_earnings","label":"Event Risk Earnings","score":82,"why":"No earnings inside the next 3 weeks","w":1,"direction":"positive"},{"component":"fundamental","key":"leverage","label":"Leverage","score":80.22,"why":"Debt/Equity 0.15","w":1,"direction":"positive"},{"component":"fundamental","key":"free_cash_flow","label":"Free Cash Flow","score":79.39,"why":"FCF margin 18.4%","w":1,"direction":"positive"},{"component":"fundamental","key":"operating_margin","label":"Operating Margin","score":78.94,"why":"Operating margin 26.4%","w":1,"direction":"positive"},{"component":"risk","key":"sector_risk","label":"Sector Risk","score":78.37,"why":"Sector average volatility 29.7%","w":1,"direction":"positive"}],"factors_positive":[{"component":"sentiment","key":"analyst_distribution","score":100,"why":"108% Buy/Strong Buy · 0% Hold · 0% Sell/Short"},{"component":"risk","key":"liquidity","score":96,"why":"Average $31053.6M traded per session"},{"component":"risk","key":"correlation","score":95.12,"why":"Correlation to benchmark 0.63-year rolling: 0.37"},{"component":"sentiment","key":"sentiment_delta","score":95,"why":"30-day sentiment change 46.5 pts"},{"component":"risk","key":"gap_risk","score":95,"why":"Median overnight gap 0.53% — position sizing must survive opens"},{"component":"risk","key":"beta","score":90.48,"why":"Beta 0.62 vs the reference index"}],"factors_negative":[{"component":"sentiment","key":"estimate_revisions","score":10,"why":"Net EPS estimate revisions (90d): -20"},{"component":"technical","key":"macd_signal","score":15,"why":"MACD(12,26,9) bearish, histogram -0.209"},{"component":"momentum","key":"relative_strength_vs_index","score":22,"why":"3-month return minus index -17.2%"},{"component":"institutional","key":"institutional_flows","score":22,"why":"Reported 13F-style positioning change -60.1% vs prior quarter2026-09-01"},{"component":"institutional","key":"ownership_crowding","score":26,"why":"Institutions hold ~164.4% of float (crowding risk rises above ~78%)"},{"component":"technical","key":"52w_position","score":30.88,"why":"-40.9% from its 52-week high"}],"inputs":{"bars":760,"price":"511.590000","trend":"up","pe":"28.4580","sent":23.47,"sector":"materials"}},"predictions":[{"id":6325,"security_id":80,"model_id":2,"horizon_code":"1D","generated_at":"2026-10-24 23:42:36","ref_price":511.59,"bull_low_pct":1,"bull_high_pct":2,"base_low_pct":-0.5,"base_high_pct":1,"bear_low_pct":-2,"bear_high_pct":-1,"prob_up":0.52,"p10_pct":-1.5,"p25_pct":-0.5,"p50_pct":0,"p75_pct":1,"p90_pct":1.5,"expected_range_low":-0.5,"expected_range_high":1,"risk_range_low":-2,"risk_range_high":1,"confidence":57,"confidence_basis":"760 bars, blended vol 32%, score 55, coverage 100%%","risk_level":"low","volatility_ann":31.6,"max_hist_drawdown":"-45.3000","sample_size":760,"data_freshness_secs":96156,"bull_case":"If RSI mid-range — room to extend, a volatility-compressed setup resolving upward would accelerate the move, the upside path is the 80–95th percentile band shown here.","base_case":"mildly positive","bear_case":"Downside triggers: P/E 28.5× leaves no valuation buffer; momentum is fading. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (as scheduled)","Street target implies 7.2%"],"key_risks":["Historic drawdown deeper than 45%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 31.6% annualised).","The scoring tilt persists over the window; no structural break (fraud, delisting, forced guidance cut).","Returns are approximated as lognormal; fat tails are handled by widening, not by point forecasts.","Index regime assumed: sideways.","Close below the 598.89 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 51% annualised invalidates position sizing.","Loss of the fundamental pillars used in the score (guidance cut, covenant breach, auditor change)."],"invalidation":null,"regime_at_time":"sideways","status":"active","invalidated_at":null,"invalidated_reason":null,"data_mode":"demo"},{"id":6326,"security_id":80,"model_id":2,"horizon_code":"5D","generated_at":"2026-10-24 23:42:36","ref_price":511.59,"bull_low_pct":3,"bull_high_pct":5,"base_low_pct":-2,"base_high_pct":2,"bear_low_pct":-4,"bear_high_pct":-2,"prob_up":0.52,"p10_pct":-3,"p25_pct":-2,"p50_pct":0,"p75_pct":2,"p90_pct":4,"expected_range_low":-2,"expected_range_high":2,"risk_range_low":-4,"risk_range_high":2,"confidence":57,"confidence_basis":"760 bars, blended vol 32%, score 55, coverage 100%%","risk_level":"low","volatility_ann":31.6,"max_hist_drawdown":"-45.3000","sample_size":760,"data_freshness_secs":96156,"bull_case":"If RSI mid-range — room to extend, a volatility-compressed setup resolving upward would accelerate the move, the upside path is the 80–95th percentile band shown here.","base_case":"mildly positive","bear_case":"Downside triggers: P/E 28.5× leaves no valuation buffer; momentum is fading. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (as scheduled)","Street target implies 7.2%"],"key_risks":["Historic drawdown deeper than 45%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 31.6% annualised).","The scoring tilt persists over the window; no structural break (fraud, delisting, forced guidance cut).","Returns are approximated as lognormal; fat tails are handled by widening, not by point forecasts.","Index regime assumed: sideways.","Close below the 598.89 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 51% annualised invalidates position sizing.","Loss of the fundamental pillars used in the score (guidance cut, covenant breach, auditor change)."],"invalidation":null,"regime_at_time":"sideways","status":"active","invalidated_at":null,"invalidated_reason":null,"data_mode":"demo"},{"id":6327,"security_id":80,"model_id":2,"horizon_code":"1M","generated_at":"2026-10-24 23:42:36","ref_price":511.59,"bull_low_pct":5,"bull_high_pct":10,"base_low_pct":-3,"base_high_pct":4,"bear_low_pct":-9,"bear_high_pct":-4,"prob_up":0.52,"p10_pct":-7,"p25_pct":-3,"p50_pct":0,"p75_pct":4,"p90_pct":8,"expected_range_low":-3,"expected_range_high":4,"risk_range_low":-9,"risk_range_high":4,"confidence":57,"confidence_basis":"760 bars, blended vol 32%, score 55, coverage 100%%","risk_level":"low","volatility_ann":31.6,"max_hist_drawdown":"-45.3000","sample_size":760,"data_freshness_secs":96156,"bull_case":"If RSI mid-range — room to extend, a volatility-compressed setup resolving upward would accelerate the move, the upside path is the 80–95th percentile band shown here.","base_case":"mildly positive","bear_case":"Downside triggers: P/E 28.5× leaves no valuation buffer; momentum is fading. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (as scheduled)","Street target implies 7.2%"],"key_risks":["Historic drawdown deeper than 45%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 31.6% annualised).","The scoring tilt persists over the window; no structural break (fraud, delisting, forced guidance cut).","Returns are approximated as lognormal; fat tails are handled by widening, not by point forecasts.","Index regime assumed: sideways.","Close below the 598.89 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 51% annualised invalidates position sizing.","Loss of the fundamental pillars used in the score (guidance cut, covenant breach, auditor change)."],"invalidation":null,"regime_at_time":"sideways","status":"active","invalidated_at":null,"invalidated_reason":null,"data_mode":"demo"},{"id":6328,"security_id":80,"model_id":2,"horizon_code":"3M","generated_at":"2026-10-24 23:42:36","ref_price":511.59,"bull_low_pct":9,"bull_high_pct":16.5,"base_low_pct":-6,"base_high_pct":7.5,"bear_low_pct":-15,"bear_high_pct":-7.5,"prob_up":0.52,"p10_pct":-12,"p25_pct":-6,"p50_pct":1.5,"p75_pct":7.5,"p90_pct":13.5,"expected_range_low":-6,"expected_range_high":7.5,"risk_range_low":-15,"risk_range_high":7.5,"confidence":57,"confidence_basis":"760 bars, blended vol 32%, score 55, coverage 100%%","risk_level":"low","volatility_ann":31.6,"max_hist_drawdown":"-45.3000","sample_size":760,"data_freshness_secs":96156,"bull_case":"If RSI mid-range — room to extend, a volatility-compressed setup resolving upward would accelerate the move, the upside path is the 80–95th percentile band shown here.","base_case":"mildly positive","bear_case":"Downside triggers: P/E 28.5× leaves no valuation buffer; momentum is fading. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (as scheduled)","Street target implies 7.2%"],"key_risks":["Historic drawdown deeper than 45%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 31.6% annualised).","The scoring tilt persists over the window; no structural break (fraud, delisting, forced guidance cut).","Returns are approximated as lognormal; fat tails are handled by widening, not by point forecasts.","Index regime assumed: sideways.","Close below the 598.89 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 51% annualised invalidates position sizing.","Loss of the fundamental pillars used in the score (guidance cut, covenant breach, auditor change)."],"invalidation":null,"regime_at_time":"sideways","status":"active","invalidated_at":null,"invalidated_reason":null,"data_mode":"demo"},{"id":6329,"security_id":80,"model_id":2,"horizon_code":"6M","generated_at":"2026-10-24 23:42:36","ref_price":511.59,"bull_low_pct":12,"bull_high_pct":24,"base_low_pct":-9,"base_high_pct":10.5,"bear_low_pct":-21,"bear_high_pct":-10.5,"prob_up":0.52,"p10_pct":-16.5,"p25_pct":-9,"p50_pct":1.5,"p75_pct":10.5,"p90_pct":19.5,"expected_range_low":-9,"expected_range_high":10.5,"risk_range_low":-21,"risk_range_high":10.5,"confidence":57,"confidence_basis":"760 bars, blended vol 32%, score 55, coverage 100%%","risk_level":"low","volatility_ann":31.6,"max_hist_drawdown":"-45.3000","sample_size":760,"data_freshness_secs":96156,"bull_case":"If RSI mid-range — room to extend, a volatility-compressed setup resolving upward would accelerate the move, the upside path is the 80–95th percentile band shown here.","base_case":"mildly positive","bear_case":"Downside triggers: P/E 28.5× leaves no valuation buffer; momentum is fading. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (as scheduled)","Street target implies 7.2%"],"key_risks":["Historic drawdown deeper than 45%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 31.6% annualised).","The scoring tilt persists over the window; no structural break (fraud, delisting, forced guidance cut).","Returns are approximated as lognormal; fat tails are handled by widening, not by point forecasts.","Index regime assumed: sideways.","Close below the 598.89 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 51% annualised invalidates position sizing.","Loss of the fundamental pillars used in the score (guidance cut, covenant breach, auditor change)."],"invalidation":null,"regime_at_time":"sideways","status":"active","invalidated_at":null,"invalidated_reason":null,"data_mode":"demo"},{"id":6330,"security_id":80,"model_id":2,"horizon_code":"12M","generated_at":"2026-10-24 23:42:36","ref_price":511.59,"bull_low_pct":17.5,"bull_high_pct":35,"base_low_pct":-12.5,"base_high_pct":15,"bear_low_pct":-30,"bear_high_pct":-15,"prob_up":0.52,"p10_pct":-22.5,"p25_pct":-12.5,"p50_pct":2.5,"p75_pct":15,"p90_pct":27.5,"expected_range_low":-12.5,"expected_range_high":15,"risk_range_low":-30,"risk_range_high":15,"confidence":57,"confidence_basis":"760 bars, blended vol 32%, score 55, coverage 100%%","risk_level":"medium","volatility_ann":31.6,"max_hist_drawdown":"-45.3000","sample_size":760,"data_freshness_secs":96156,"bull_case":"If RSI mid-range — room to extend, a volatility-compressed setup resolving upward would accelerate the move, the upside path is the 80–95th percentile band shown here.","base_case":"mildly positive","bear_case":"Downside triggers: P/E 28.5× leaves no valuation buffer; momentum is fading. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (as scheduled)","Street target implies 7.2%"],"key_risks":["Historic drawdown deeper than 45%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 31.6% annualised).","The scoring tilt persists over the window; no structural break (fraud, delisting, forced guidance cut).","Returns are approximated as lognormal; fat tails are handled by widening, not by point forecasts.","Index regime assumed: sideways.","Close below the 598.89 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 51% annualised invalidates position sizing.","Loss of the fundamental pillars used in the score (guidance cut, covenant breach, auditor change)."],"invalidation":null,"regime_at_time":"sideways","status":"active","invalidated_at":null,"invalidated_reason":null,"data_mode":"demo"}],"available":true,"as_of":"2026-10-23","mode":"demo","note":"Stored snapshot values; not a real-time feed."}