{"ok":true,"security_id":70,"symbol":"DUK","snapshot":{"security_id":70,"symbol":"DUK","asset_type":"equity","sector_code":"utilities","industry":null,"exchange_code":null,"currency":"USD","data_mode":"demo","price":"40.310000","prev_close":"40.805700","chg_1d_pct":"-1.2150","volume":8208742,"rvol_30":"1.340","avg_volume_30d":6196699,"dollar_volume_avg":"247673403.5100","mcap":20239626581,"wk52_high":"51.124500","wk52_low":"37.839800","pct_from_52wh":"-21.1500","dist_to_52wh_pct":"-21.1500","rsi14":"48.657","macd":"0.179600","macd_hist":"0.057900","adx14":"16.978","atr_pct":"2.2700","hv20":"19.4400","hv60":"18.1300","vol_regime":"normal","bb_pctb":"0.5285","stoch_k":"42.539","above_sma20":1,"above_sma50":0,"above_sma200":0,"sma20":"40.204800","sma50":"40.519100","sma200":"44.640700","vwap":"40.487800","trend":"strong_down","support":"41.873000","resistance":"43.689800","perf_1d":"-1.2100","perf_5d":"-3.0900","perf_1m":"2.9500","perf_3m":"-3.4900","perf_6m":"-14.7800","perf_12m":"-2.0300","rel_strength_3m":"-7.8400","rs_rank":null,"mom_persist":null,"bars":760,"beta":"0.4000","mdd_pct":"-23.9500","gap_risk":"0.2670","liq_days":null,"pe_ttm":"15.9540","pe_fwd":"15.7190","peg":"10.6940","ps":"2.9130","pb":"5.7770","ev_ebitda":"11.0030","rev_g":"0.1550","eps_g":"1.8360","gross_margin":"40.6810","op_margin":"19.4310","fcf_margin":"19.6930","roe":"36.2100","roic":"13.4300","debt_equity":"0.9430","net_debt_ebitda":null,"div_yield":"3.7500","payout":"47.3200","buyback_yield":"1.7670","eps_surprise_pct":"-5.5740","rev_surprise_pct":"-2.9350","earnings_days_out":33,"earnings_date":"2026-12-10","consensus_score":"69.630","pct_analyst_buy":null,"pt_upside_pct":null,"sent_score":null,"sent_label":null,"sent_delta":"37.600","inst_ownership":"173.2960","inst_chg_pct":"-70.2700","inst_top_name":"Vanguard Index Group","insider_net_usd":269552,"insider_trades_90d":1,"short_pct_float":"3.8640","score_total":"59.10","score_technical":"46.93","score_fundamental":"64.34","score_momentum":"42.14","score_sentiment":"79.47","score_institutional":"38.41","score_risk":"87.83","confidence":"55.00","risk_level":"low","stance":"constructive","cats":"income,value","catalysts":"Earnings report 2026-12-10 (after close) · Street target implies 11.5%","risks":"Binary event: 2026-12-10","model_version":"score-1.0.0","priced_at":"2026-10-23 16:00:00","computed_at":"2026-10-25 04:13:59"},"quote":{"security_id":70,"last_price":"40.310000","bid":null,"ask":null,"prev_close":"40.805700","open":"40.833300","day_high":"41.082800","day_low":"40.070500","volume":8208742,"avg_volume_30d":6131987,"change_abs":"-0.495700","change_pct":"-1.2150","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-25 04:13:58","price":"40.310000","as_of":"2026-10-23 16:00:00"},"score":{"id":1467,"security_id":70,"model_id":1,"scored_at":"2026-10-25 04:13:00","total_score":"59.10","technical":"46.93","fundamental":"64.34","momentum":"42.14","sentiment":"79.47","institutional":"38.41","risk":"87.83","components_json":"{\"components\":{\"technical\":{\"score\":46.93,\"label\":\"Neutral\",\"complete\":true,\"factors\":[{\"key\":\"trend_structure\",\"score\":14,\"why\":\"Price vs 20\\/50\\/200-day moving averages: strong down\",\"w\":1.8},{\"key\":\"trend_strength_adx\",\"score\":37.35,\"why\":\"ADX(14) 17 \\u2014 weak\\/rangebound\",\"w\":1},{\"key\":\"rsi_condition\",\"score\":67.77,\"why\":\"RSI(14) 48.7 \\u2014 constructive zone\",\"w\":1},{\"key\":\"macd_signal\",\"score\":65.47,\"why\":\"MACD(12,26,9) above, histogram 0.058\",\"w\":1},{\"key\":\"volume_confirmation\",\"score\":66.32,\"why\":\"Relative volume 1.34\\u00d7 its own 30-day average\",\"w\":0.8},{\"key\":\"52w_position\",\"score\":51.51,\"why\":\"-21.2% from its 52-week high\",\"w\":1.4},{\"key\":\"volatility_compression\",\"score\":70.59,\"why\":\"Bollinger width 9.2%\",\"w\":0.7},{\"key\":\"candlestick_patterns\",\"score\":38,\"why\":\"Bearish: bearish_engulfing\",\"w\":0.7},{\"key\":\"intraday_position\",\"score\":40,\"why\":\"Below session VWAP\",\"w\":0.4}]},\"fundamental\":{\"score\":64.34,\"label\":\"Available\",\"complete\":true,\"factors\":[{\"key\":\"gross_margin\",\"score\":62.61,\"why\":\"Gross margin 40.7%\",\"w\":1},{\"key\":\"operating_margin\",\"score\":69.09,\"why\":\"Operating margin 19.4%\",\"w\":1},{\"key\":\"free_cash_flow\",\"score\":81.49,\"why\":\"FCF margin 19.7%\",\"w\":1},{\"key\":\"return_on_equity\",\"score\":87.98,\"why\":\"ROE 36.2%\",\"w\":1},{\"key\":\"return_on_invested_capital\",\"score\":69.72,\"why\":\"ROIC 13.4%\",\"w\":1},{\"key\":\"leverage\",\"score\":56.62,\"why\":\"Debt\\/Equity 0.94\",\"w\":1},{\"key\":\"coverage\",\"score\":82,\"why\":\"Interest coverage 21.3\\u00d7\",\"w\":1},{\"key\":\"valuation_pe\",\"score\":65.63,\"why\":\"P\\/E 16\\u00d7 vs sector median 17.6\\u00d7 (in line)\",\"w\":1},{\"key\":\"peg\",\"score\":18,\"why\":\"PEG 10.69\",\"w\":1},{\"key\":\"valuation_sales\",\"score\":71.16,\"why\":\"P\\/S 2.9\\u00d7 vs sector median 3.7\\u00d7\",\"w\":1},{\"key\":\"valuation_book\",\"score\":35.19,\"why\":\"P\\/B 5.8\\u00d7\",\"w\":1},{\"key\":\"valuation_ebitda\",\"score\":61.59,\"why\":\"EV\\/EBITDA 11\\u00d7\",\"w\":1}]},\"momentum\":{\"score\":42.14,\"label\":\"Weak\",\"complete\":true,\"factors\":[{\"key\":\"multi_horizon_performance\",\"score\":42.49,\"why\":\"1M +3% \\u00b7 3M -3.5% \\u00b7 6M -14.8% \\u00b7 12M -2%\",\"w\":1},{\"key\":\"relative_strength_vs_index\",\"score\":34.89,\"why\":\"3-month return minus index -7.8%\",\"w\":1},{\"key\":\"volume_acceleration\",\"score\":44.91,\"why\":\"Today -1.2% 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\":79.47,\"label\":\"Positive\",\"complete\":true,\"factors\":[{\"key\":\"news_sentiment_index\",\"score\":69.63,\"why\":\"Aggregate news sentiment 39.3 (\\u2212100 bearish \\u2026 +100 bullish) from 35 scored items\",\"w\":1},{\"key\":\"sentiment_delta\",\"score\":95,\"why\":\"30-day sentiment change 37.6 pts\",\"w\":1},{\"key\":\"analyst_consensus\",\"score\":54.07,\"why\":\"Analyst consensus score 2.74 (1=Strong Buy, 5=Sell) across 5 ratings\",\"w\":1},{\"key\":\"analyst_distribution\",\"score\":96.2,\"why\":\"96% Buy\\/Strong Buy \\u00b7 2% Hold \\u00b7 4% Sell\\/Short\",\"w\":1},{\"key\":\"price_target_gap\",\"score\":69.92,\"why\":\"Average target implies +11.5% from the last close\",\"w\":1},{\"key\":\"estimate_revisions\",\"score\":92,\"why\":\"Net EPS estimate revisions (90d): 15\",\"w\":1}]},\"institutional\":{\"score\":38.41,\"label\":\"Available\",\"complete\":true,\"factors\":[{\"key\":\"institutional_flows\",\"score\":22,\"why\":\"Reported 13F-style positioning change -70.3% vs prior quarter2026-09-01\",\"w\":1},{\"key\":\"ownership_crowding\",\"score\":26,\"why\":\"Institutions hold ~173.3% of float (crowding risk rises above ~78%)\",\"w\":1},{\"key\":\"insider_activity\",\"score\":53.08,\"why\":\"Net insider purchases \\u2248 $0.3M over 1 filings\",\"w\":1},{\"key\":\"short_interest\",\"score\":52.54,\"why\":\"Short interest 3.9% of float, days-to-cover 6.6\",\"w\":1}]},\"risk\":{\"score\":87.83,\"label\":\"Low risk\",\"complete\":true,\"factors\":[{\"key\":\"volatility\",\"score\":81.53,\"why\":\"20-day realised volatility 19.4% annualised\",\"w\":1.5},{\"key\":\"beta\",\"score\":84,\"why\":\"Beta 0.4 vs the reference index\",\"w\":1},{\"key\":\"drawdown_history\",\"score\":82.05,\"why\":\"Max drawdown in stored history -24%\",\"w\":1.2},{\"key\":\"liquidity\",\"score\":96,\"why\":\"Average $247.7M traded per session\",\"w\":1.3},{\"key\":\"gap_risk\",\"score\":95,\"why\":\"Median overnight gap 0.27% \\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\":95.31,\"why\":\"Sector average volatility 15.6%\",\"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\":91.82,\"why\":\"Correlation to benchmark 0.63-year rolling: 0.49\",\"w\":1}]}},\"weights\":{\"technical\":25,\"fundamental\":25,\"momentum\":15,\"sentiment\":10,\"institutional\":10,\"risk\":15},\"confidence\":55,\"confidence_basis\":\"760 bars \\u00b7 data 31h old \\u00b7 components covered 100%% \\u00b7 risk drag 62\",\"coverage\":100}","factors_json":"{\"positive\":[{\"component\":\"sentiment\",\"key\":\"analyst_distribution\",\"score\":96.2,\"why\":\"96% Buy\\/Strong Buy \\u00b7 2% Hold \\u00b7 4% Sell\\/Short\"},{\"component\":\"risk\",\"key\":\"liquidity\",\"score\":96,\"why\":\"Average $247.7M traded per session\"},{\"component\":\"risk\",\"key\":\"sector_risk\",\"score\":95.31,\"why\":\"Sector average volatility 15.6%\"},{\"component\":\"sentiment\",\"key\":\"sentiment_delta\",\"score\":95,\"why\":\"30-day sentiment change 37.6 pts\"},{\"component\":\"risk\",\"key\":\"gap_risk\",\"score\":95,\"why\":\"Median overnight gap 0.27% \\u2014 position sizing must survive opens\"},{\"component\":\"sentiment\",\"key\":\"estimate_revisions\",\"score\":92,\"why\":\"Net EPS estimate revisions (90d): 15\"}],\"negative\":[{\"component\":\"technical\",\"key\":\"trend_structure\",\"score\":14,\"why\":\"Price vs 20\\/50\\/200-day moving averages: strong down\"},{\"component\":\"fundamental\",\"key\":\"peg\",\"score\":18,\"why\":\"PEG 10.69\"},{\"component\":\"institutional\",\"key\":\"institutional_flows\",\"score\":22,\"why\":\"Reported 13F-style positioning change -70.3% vs prior quarter2026-09-01\"},{\"component\":\"institutional\",\"key\":\"ownership_crowding\",\"score\":26,\"why\":\"Institutions hold ~173.3% of float (crowding risk rises above ~78%)\"},{\"component\":\"momentum\",\"key\":\"relative_strength_vs_index\",\"score\":34.89,\"why\":\"3-month return minus index -7.8%\"},{\"component\":\"fundamental\",\"key\":\"valuation_book\",\"score\":35.19,\"why\":\"P\\/B 5.8\\u00d7\"}]}","inputs_snapshot":"{\"bars\":760,\"price\":\"40.310000\",\"trend\":\"strong_down\",\"pe\":\"15.9540\",\"sent\":39.25,\"sector\":\"utilities\"}","data_mode":"demo","stance":"constructive","risk_level":"low","confidence":"55.00","model_version":"score-1.0.0","computed_at":"2026-10-25 04:13:59","catalysts":"Earnings report 2026-12-10 (after close) · Street target implies 11.5%","risks":"Binary event: 2026-12-10","sent_score":null,"sent_label":null,"snap_total":"59.10","score_total":59.1,"components":{"technical":25,"fundamental":25,"momentum":15,"sentiment":10,"institutional":10,"risk":15},"component_detail":{"technical":{"score":46.93,"label":"Neutral","complete":true,"factors":[{"key":"trend_structure","score":14,"why":"Price vs 20/50/200-day moving averages: strong down","w":1.8},{"key":"trend_strength_adx","score":37.35,"why":"ADX(14) 17 — weak/rangebound","w":1},{"key":"rsi_condition","score":67.77,"why":"RSI(14) 48.7 — constructive zone","w":1},{"key":"macd_signal","score":65.47,"why":"MACD(12,26,9) above, histogram 0.058","w":1},{"key":"volume_confirmation","score":66.32,"why":"Relative volume 1.34× its own 30-day average","w":0.8},{"key":"52w_position","score":51.51,"why":"-21.2% from its 52-week high","w":1.4},{"key":"volatility_compression","score":70.59,"why":"Bollinger width 9.2%","w":0.7},{"key":"candlestick_patterns","score":38,"why":"Bearish: bearish_engulfing","w":0.7},{"key":"intraday_position","score":40,"why":"Below session VWAP","w":0.4}]},"fundamental":{"score":64.34,"label":"Available","complete":true,"factors":[{"key":"gross_margin","score":62.61,"why":"Gross margin 40.7%","w":1},{"key":"operating_margin","score":69.09,"why":"Operating margin 19.4%","w":1},{"key":"free_cash_flow","score":81.49,"why":"FCF margin 19.7%","w":1},{"key":"return_on_equity","score":87.98,"why":"ROE 36.2%","w":1},{"key":"return_on_invested_capital","score":69.72,"why":"ROIC 13.4%","w":1},{"key":"leverage","score":56.62,"why":"Debt/Equity 0.94","w":1},{"key":"coverage","score":82,"why":"Interest coverage 21.3×","w":1},{"key":"valuation_pe","score":65.63,"why":"P/E 16× vs sector median 17.6× (in line)","w":1},{"key":"peg","score":18,"why":"PEG 10.69","w":1},{"key":"valuation_sales","score":71.16,"why":"P/S 2.9× vs sector median 3.7×","w":1},{"key":"valuation_book","score":35.19,"why":"P/B 5.8×","w":1},{"key":"valuation_ebitda","score":61.59,"why":"EV/EBITDA 11×","w":1}]},"momentum":{"score":42.14,"label":"Weak","complete":true,"factors":[{"key":"multi_horizon_performance","score":42.49,"why":"1M +3% · 3M -3.5% · 6M -14.8% · 12M -2%","w":1},{"key":"relative_strength_vs_index","score":34.89,"why":"3-month return minus index -7.8%","w":1},{"key":"volume_acceleration","score":44.91,"why":"Today -1.2% on 1.3× volume","w":1},{"key":"momentum_persistence","score":46.25,"why":"1 of 4 measured horizons are positive","w":1}]},"sentiment":{"score":79.47,"label":"Positive","complete":true,"factors":[{"key":"news_sentiment_index","score":69.63,"why":"Aggregate news sentiment 39.3 (−100 bearish … +100 bullish) from 35 scored items","w":1},{"key":"sentiment_delta","score":95,"why":"30-day sentiment change 37.6 pts","w":1},{"key":"analyst_consensus","score":54.07,"why":"Analyst consensus score 2.74 (1=Strong Buy, 5=Sell) across 5 ratings","w":1},{"key":"analyst_distribution","score":96.2,"why":"96% Buy/Strong Buy · 2% Hold · 4% Sell/Short","w":1},{"key":"price_target_gap","score":69.92,"why":"Average target implies +11.5% from the last close","w":1},{"key":"estimate_revisions","score":92,"why":"Net EPS estimate revisions (90d): 15","w":1}]},"institutional":{"score":38.41,"label":"Available","complete":true,"factors":[{"key":"institutional_flows","score":22,"why":"Reported 13F-style positioning change -70.3% vs prior quarter2026-09-01","w":1},{"key":"ownership_crowding","score":26,"why":"Institutions hold ~173.3% of float (crowding risk rises above ~78%)","w":1},{"key":"insider_activity","score":53.08,"why":"Net insider purchases ≈ $0.3M over 1 filings","w":1},{"key":"short_interest","score":52.54,"why":"Short interest 3.9% of float, days-to-cover 6.6","w":1}]},"risk":{"score":87.83,"label":"Low risk","complete":true,"factors":[{"key":"volatility","score":81.53,"why":"20-day realised volatility 19.4% annualised","w":1.5},{"key":"beta","score":84,"why":"Beta 0.4 vs the reference index","w":1},{"key":"drawdown_history","score":82.05,"why":"Max drawdown in stored history -24%","w":1.2},{"key":"liquidity","score":96,"why":"Average $247.7M traded per session","w":1.3},{"key":"gap_risk","score":95,"why":"Median overnight gap 0.27% — 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":95.31,"why":"Sector average volatility 15.6%","w":1},{"key":"market_risk","score":84.63,"why":"Benchmark volatility 20.1% · regime: Sideways · normal vol · risk-off","w":1},{"key":"correlation","score":91.82,"why":"Correlation to benchmark 0.63-year rolling: 0.49","w":1}]}},"coverage":100,"confidence_basis":"760 bars · data 31h old · components covered 100%% · risk drag 62","factors":[{"component":"sentiment","key":"analyst_distribution","label":"Analyst Distribution","score":96.2,"why":"96% Buy/Strong Buy · 2% Hold · 4% Sell/Short","w":1,"direction":"positive"},{"component":"risk","key":"liquidity","label":"Liquidity","score":96,"why":"Average $247.7M traded per session","w":1.3,"direction":"positive"},{"component":"risk","key":"sector_risk","label":"Sector Risk","score":95.31,"why":"Sector average volatility 15.6%","w":1,"direction":"positive"},{"component":"sentiment","key":"sentiment_delta","label":"Sentiment Delta","score":95,"why":"30-day sentiment change 37.6 pts","w":1,"direction":"positive"},{"component":"risk","key":"gap_risk","label":"Gap Risk","score":95,"why":"Median overnight gap 0.27% — position sizing must survive opens","w":1,"direction":"positive"},{"component":"sentiment","key":"estimate_revisions","label":"Estimate Revisions","score":92,"why":"Net EPS estimate revisions (90d): 15","w":1,"direction":"positive"},{"component":"risk","key":"correlation","label":"Correlation","score":91.82,"why":"Correlation to benchmark 0.63-year rolling: 0.49","w":1,"direction":"positive"},{"component":"fundamental","key":"return_on_equity","label":"Return On Equity","score":87.98,"why":"ROE 36.2%","w":1,"direction":"positive"},{"component":"technical","key":"trend_structure","label":"Trend Structure","score":14,"why":"Price vs 20/50/200-day moving averages: strong down","w":1.8,"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":"beta","label":"Beta","score":84,"why":"Beta 0.4 vs the reference index","w":1,"direction":"positive"},{"component":"risk","key":"drawdown_history","label":"Drawdown History","score":82.05,"why":"Max drawdown in stored history -24%","w":1.2,"direction":"positive"},{"component":"fundamental","key":"coverage","label":"Coverage","score":82,"why":"Interest coverage 21.3×","w":1,"direction":"positive"},{"component":"fundamental","key":"peg","label":"Peg","score":18,"why":"PEG 10.69","w":1,"direction":"negative"}],"factors_positive":[{"component":"sentiment","key":"analyst_distribution","score":96.2,"why":"96% Buy/Strong Buy · 2% Hold · 4% Sell/Short"},{"component":"risk","key":"liquidity","score":96,"why":"Average $247.7M traded per session"},{"component":"risk","key":"sector_risk","score":95.31,"why":"Sector average volatility 15.6%"},{"component":"sentiment","key":"sentiment_delta","score":95,"why":"30-day sentiment change 37.6 pts"},{"component":"risk","key":"gap_risk","score":95,"why":"Median overnight gap 0.27% — position sizing must survive opens"},{"component":"sentiment","key":"estimate_revisions","score":92,"why":"Net EPS estimate revisions (90d): 15"}],"factors_negative":[{"component":"technical","key":"trend_structure","score":14,"why":"Price vs 20/50/200-day moving averages: strong down"},{"component":"fundamental","key":"peg","score":18,"why":"PEG 10.69"},{"component":"institutional","key":"institutional_flows","score":22,"why":"Reported 13F-style positioning change -70.3% vs prior quarter2026-09-01"},{"component":"institutional","key":"ownership_crowding","score":26,"why":"Institutions hold ~173.3% of float (crowding risk rises above ~78%)"},{"component":"momentum","key":"relative_strength_vs_index","score":34.89,"why":"3-month return minus index -7.8%"},{"component":"fundamental","key":"valuation_book","score":35.19,"why":"P/B 5.8×"}],"inputs":{"bars":760,"price":"40.310000","trend":"strong_down","pe":"15.9540","sent":39.25,"sector":"utilities"}},"predictions":[{"id":8797,"security_id":70,"model_id":2,"horizon_code":"1D","generated_at":"2026-10-25 04:13:59","ref_price":40.31,"bull_low_pct":0.5,"bull_high_pct":1,"base_low_pct":-0.5,"base_high_pct":0.5,"bear_low_pct":-1,"bear_high_pct":-0.5,"prob_up":0.54,"p10_pct":-0.5,"p25_pct":-0.5,"p50_pct":0,"p75_pct":0.5,"p90_pct":1,"expected_range_low":-0.5,"expected_range_high":0.5,"risk_range_low":-1,"risk_range_high":0.5,"confidence":60,"confidence_basis":"760 bars, blended vol 19%, score 59, coverage 100%%","risk_level":"low","volatility_ann":18.7,"max_hist_drawdown":"-24.0000","sample_size":760,"data_freshness_secs":112439,"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: a market-wide risk-off move alone can carry the 5–20th percentile band. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (after close)","Street target implies 11.5%"],"key_risks":"Binary event: 2026-12-10","assumptions":["Realised volatility stays near its recent level (blended 18.7% 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 44.64 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 30% 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":8798,"security_id":70,"model_id":2,"horizon_code":"5D","generated_at":"2026-10-25 04:13:59","ref_price":40.31,"bull_low_pct":1,"bull_high_pct":3,"base_low_pct":-1,"base_high_pct":1,"bear_low_pct":-2,"bear_high_pct":-1,"prob_up":0.54,"p10_pct":-2,"p25_pct":-1,"p50_pct":0,"p75_pct":1,"p90_pct":2,"expected_range_low":-1,"expected_range_high":1,"risk_range_low":-2,"risk_range_high":1,"confidence":60,"confidence_basis":"760 bars, blended vol 19%, score 59, coverage 100%%","risk_level":"low","volatility_ann":18.7,"max_hist_drawdown":"-24.0000","sample_size":760,"data_freshness_secs":112439,"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: a market-wide risk-off move alone can carry the 5–20th percentile band. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (after close)","Street target implies 11.5%"],"key_risks":"Binary event: 2026-12-10","assumptions":["Realised volatility stays near its recent level (blended 18.7% 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 44.64 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 30% 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":8799,"security_id":70,"model_id":2,"horizon_code":"1M","generated_at":"2026-10-25 04:13:59","ref_price":40.31,"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.54,"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":60,"confidence_basis":"760 bars, blended vol 19%, score 59, coverage 100%%","risk_level":"low","volatility_ann":18.7,"max_hist_drawdown":"-24.0000","sample_size":760,"data_freshness_secs":112439,"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: a market-wide risk-off move alone can carry the 5–20th percentile band. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (after close)","Street target implies 11.5%"],"key_risks":"Binary event: 2026-12-10","assumptions":["Realised volatility stays near its recent level (blended 18.7% 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 44.64 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 30% 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":8800,"security_id":70,"model_id":2,"horizon_code":"3M","generated_at":"2026-10-25 04:13:59","ref_price":40.31,"bull_low_pct":4.5,"bull_high_pct":9,"base_low_pct":-3,"base_high_pct":4.5,"bear_low_pct":-7.5,"bear_high_pct":-3,"prob_up":0.54,"p10_pct":-6,"p25_pct":-3,"p50_pct":1.5,"p75_pct":4.5,"p90_pct":7.5,"expected_range_low":-3,"expected_range_high":4.5,"risk_range_low":-7.5,"risk_range_high":4.5,"confidence":60,"confidence_basis":"760 bars, blended vol 19%, score 59, coverage 100%%","risk_level":"low","volatility_ann":18.7,"max_hist_drawdown":"-24.0000","sample_size":760,"data_freshness_secs":112439,"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: a market-wide risk-off move alone can carry the 5–20th percentile band. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (after close)","Street target implies 11.5%"],"key_risks":"Binary event: 2026-12-10","assumptions":["Realised volatility stays near its recent level (blended 18.7% 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 44.64 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 30% 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":8801,"security_id":70,"model_id":2,"horizon_code":"6M","generated_at":"2026-10-25 04:13:59","ref_price":40.31,"bull_low_pct":7.5,"bull_high_pct":13.5,"base_low_pct":-4.5,"base_high_pct":6,"bear_low_pct":-10.5,"bear_high_pct":-4.5,"prob_up":0.54,"p10_pct":-7.5,"p25_pct":-4.5,"p50_pct":1.5,"p75_pct":6,"p90_pct":10.5,"expected_range_low":-4.5,"expected_range_high":6,"risk_range_low":-10.5,"risk_range_high":6,"confidence":60,"confidence_basis":"760 bars, blended vol 19%, score 59, coverage 100%%","risk_level":"low","volatility_ann":18.7,"max_hist_drawdown":"-24.0000","sample_size":760,"data_freshness_secs":112439,"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: a market-wide risk-off move alone can carry the 5–20th percentile band. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (after close)","Street target implies 11.5%"],"key_risks":"Binary event: 2026-12-10","assumptions":["Realised volatility stays near its recent level (blended 18.7% 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 44.64 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 30% 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":8802,"security_id":70,"model_id":2,"horizon_code":"12M","generated_at":"2026-10-25 04:13:59","ref_price":40.31,"bull_low_pct":10,"bull_high_pct":17.5,"base_low_pct":-5,"base_high_pct":7.5,"bear_low_pct":-15,"bear_high_pct":-7.5,"prob_up":0.54,"p10_pct":-12.5,"p25_pct":-5,"p50_pct":2.5,"p75_pct":7.5,"p90_pct":15,"expected_range_low":-5,"expected_range_high":7.5,"risk_range_low":-15,"risk_range_high":7.5,"confidence":60,"confidence_basis":"760 bars, blended vol 19%, score 59, coverage 100%%","risk_level":"low","volatility_ann":18.7,"max_hist_drawdown":"-24.0000","sample_size":760,"data_freshness_secs":112439,"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: a market-wide risk-off move alone can carry the 5–20th percentile band. Treat the 5–20th percentile band as the stress case for sizing, not as a worst case.","catalysts":["Earnings report 2026-12-10 (after close)","Street target implies 11.5%"],"key_risks":"Binary event: 2026-12-10","assumptions":["Realised volatility stays near its recent level (blended 18.7% 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 44.64 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 30% 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."}