{"ok":true,"security_id":21,"symbol":"BAC","snapshot":{"security_id":21,"symbol":"BAC","asset_type":"equity","sector_code":"financials","industry":null,"exchange_code":null,"currency":"USD","data_mode":"demo","price":"190.670000","prev_close":"194.672800","chg_1d_pct":"-2.0560","volume":4705690,"rvol_30":"1.369","avg_volume_30d":null,"dollar_volume_avg":"662542378.4800","mcap":147730179161,"wk52_high":"301.320300","wk52_low":"174.353600","pct_from_52wh":"-36.7200","dist_to_52wh_pct":"-36.7200","rsi14":"46.008","macd":"-1.742200","macd_hist":"0.924400","adx14":"20.540","atr_pct":"3.4100","hv20":"25.2500","hv60":"25.6300","vol_regime":"normal","bb_pctb":"0.5441","stoch_k":"45.425","above_sma20":1,"above_sma50":0,"above_sma200":0,"sma20":"189.938700","sma50":"199.945500","sma200":"229.350800","vwap":"192.145300","trend":"strong_down","support":"210.789900","resistance":"220.733700","perf_1d":"-2.0600","perf_5d":"-1.3700","perf_1m":"4.8900","perf_3m":"-11.4200","perf_6m":"-19.6300","perf_12m":"-28.6300","rel_strength_3m":"-15.7700","rs_rank":null,"mom_persist":null,"bars":760,"beta":"0.4220","mdd_pct":"-40.9800","gap_risk":"0.4570","liq_days":null,"pe_ttm":"7.6990","pe_fwd":"7.6080","peg":"6.4520","ps":"1.2460","pb":"5.5360","ev_ebitda":"5.3090","rev_g":"0.2040","eps_g":"1.2590","gross_margin":"31.3700","op_margin":"18.2570","fcf_margin":"16.5310","roe":"71.9100","roic":"11.4300","debt_equity":"1.3930","net_debt_ebitda":null,"div_yield":"4.7180","payout":"33.6000","buyback_yield":"2.0020","eps_surprise_pct":"1.8180","rev_surprise_pct":"-2.1390","earnings_days_out":33,"earnings_date":"2026-12-10","consensus_score":"51.600","pct_analyst_buy":null,"pt_upside_pct":null,"sent_score":null,"sent_label":null,"sent_delta":"31.880","inst_ownership":"161.8620","inst_chg_pct":"-68.2700","inst_top_name":"Vanguard Index Group","insider_net_usd":null,"insider_trades_90d":0,"short_pct_float":"11.1530","score_total":"55.63","score_technical":"45.65","score_fundamental":"66.48","score_momentum":"35.59","score_sentiment":"69.71","score_institutional":"27.54","score_risk":"83.56","confidence":"52.00","risk_level":"medium","stance":"neutral","cats":"income,value","catalysts":"Earnings report 2026-12-10 (after close) · Demo synthetic: BAC announces platform refresh for enterprise buyers · Demo synthetic: BAC cut to neutral on valuation · Demo synthetic: BAC guides below consensus on cost pressure · Street target implies 8.4%","risks":"Historic drawdown deeper than 41% · 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:35"},"quote":{"security_id":21,"last_price":"190.670000","bid":null,"ask":null,"prev_close":"194.672800","open":"195.401000","day_high":"197.906400","day_low":"187.859600","volume":4705690,"avg_volume_30d":3442721,"change_abs":"-4.002800","change_pct":"-2.0560","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":"190.670000","as_of":"2026-10-23 16:00:00"},"score":{"id":996,"security_id":21,"model_id":1,"scored_at":"2026-10-24 23:42:00","total_score":"55.63","technical":"45.65","fundamental":"66.48","momentum":"35.59","sentiment":"69.71","institutional":"27.54","risk":"83.56","components_json":"{\"components\":{\"technical\":{\"score\":45.65,\"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\":45.19,\"why\":\"ADX(14) 20.5 \\u2014 developing\",\"w\":1},{\"key\":\"rsi_condition\",\"score\":66.01,\"why\":\"RSI(14) 46 \\u2014 constructive zone\",\"w\":1},{\"key\":\"macd_signal\",\"score\":72,\"why\":\"MACD(12,26,9) above, histogram 0.924\",\"w\":1},{\"key\":\"volume_confirmation\",\"score\":67.71,\"why\":\"Relative volume 1.37\\u00d7 its own 30-day average\",\"w\":0.8},{\"key\":\"52w_position\",\"score\":34.4,\"why\":\"-36.7% from its 52-week high\",\"w\":1.4},{\"key\":\"volatility_compression\",\"score\":69.11,\"why\":\"Bollinger width 8.7%\",\"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\":66.48,\"label\":\"Available\",\"complete\":true,\"factors\":[{\"key\":\"gross_margin\",\"score\":52.22,\"why\":\"Gross margin 31.4%\",\"w\":1},{\"key\":\"operating_margin\",\"score\":67.21,\"why\":\"Operating margin 18.3%\",\"w\":1},{\"key\":\"free_cash_flow\",\"score\":76.22,\"why\":\"FCF margin 16.5%\",\"w\":1},{\"key\":\"return_on_equity\",\"score\":90,\"why\":\"ROE 71.9%\",\"w\":1},{\"key\":\"return_on_invested_capital\",\"score\":65.22,\"why\":\"ROIC 11.4%\",\"w\":1},{\"key\":\"leverage\",\"score\":47.14,\"why\":\"Debt\\/Equity 1.39\",\"w\":1},{\"key\":\"coverage\",\"score\":82,\"why\":\"Interest coverage 22.7\\u00d7\",\"w\":1},{\"key\":\"valuation_pe\",\"score\":82.99,\"why\":\"P\\/E 7.7\\u00d7 vs sector median 12.7\\u00d7 (discount)\",\"w\":1},{\"key\":\"peg\",\"score\":18,\"why\":\"PEG 6.45\",\"w\":1},{\"key\":\"valuation_sales\",\"score\":85,\"why\":\"P\\/S 1.2\\u00d7 vs sector median 3.1\\u00d7\",\"w\":1},{\"key\":\"valuation_book\",\"score\":36.47,\"why\":\"P\\/B 5.5\\u00d7\",\"w\":1},{\"key\":\"valuation_ebitda\",\"score\":83.69,\"why\":\"EV\\/EBITDA 5.3\\u00d7\",\"w\":1}]},\"momentum\":{\"score\":35.59,\"label\":\"Weak\",\"complete\":true,\"factors\":[{\"key\":\"multi_horizon_performance\",\"score\":32.92,\"why\":\"1M +4.9% \\u00b7 3M -11.4% \\u00b7 6M -19.6% \\u00b7 12M -28.6%\",\"w\":1},{\"key\":\"relative_strength_vs_index\",\"score\":22,\"why\":\"3-month return minus index -15.8%\",\"w\":1},{\"key\":\"volume_acceleration\",\"score\":41.2,\"why\":\"Today -2.1% on 1.4\\u00d7 volume\",\"w\":1},{\"key\":\"momentum_persistence\",\"score\":46.25,\"why\":\"1 of 4 measured horizons are positive\",\"w\":1}]},\"sentiment\":{\"score\":69.71,\"label\":\"Neutral\",\"complete\":true,\"factors\":[{\"key\":\"news_sentiment_index\",\"score\":51.6,\"why\":\"Aggregate news sentiment 3.2 (\\u2212100 bearish \\u2026 +100 bullish) from 25 scored items\",\"w\":1},{\"key\":\"sentiment_delta\",\"score\":95,\"why\":\"30-day sentiment change 31.9 pts\",\"w\":1},{\"key\":\"analyst_consensus\",\"score\":54.77,\"why\":\"Analyst consensus score 2.71 (1=Strong Buy, 5=Sell) across 5 ratings\",\"w\":1},{\"key\":\"analyst_distribution\",\"score\":94,\"why\":\"94% Buy\\/Strong Buy \\u00b7 5% Hold \\u00b7 4% Sell\\/Short\",\"w\":1},{\"key\":\"price_target_gap\",\"score\":65.6,\"why\":\"Average target implies +8.4% from the last close\",\"w\":1},{\"key\":\"estimate_revisions\",\"score\":92,\"why\":\"Net EPS estimate revisions (90d): 18\",\"w\":1},{\"key\":\"recent_headline_tone\",\"score\":35,\"why\":\"Last items: 1 positive \\/ 2 negative headlines\",\"w\":1}]},\"institutional\":{\"score\":27.54,\"label\":\"Available\",\"complete\":true,\"factors\":[{\"key\":\"institutional_flows\",\"score\":22,\"why\":\"Reported 13F-style positioning change -68.3% vs prior quarter2026-09-01\",\"w\":1},{\"key\":\"ownership_crowding\",\"score\":26,\"why\":\"Institutions hold ~161.9% of float (crowding risk rises above ~78%)\",\"w\":1},{\"key\":\"short_interest\",\"score\":34.62,\"why\":\"Short interest 11.2% of float, days-to-cover 50.8\",\"w\":1}]},\"risk\":{\"score\":83.56,\"label\":\"Medium risk\",\"complete\":true,\"factors\":[{\"key\":\"volatility\",\"score\":71.65,\"why\":\"20-day realised volatility 25.3% annualised\",\"w\":1.5},{\"key\":\"beta\",\"score\":84.66,\"why\":\"Beta 0.42 vs the reference index\",\"w\":1},{\"key\":\"drawdown_history\",\"score\":65.71,\"why\":\"Max drawdown in stored history -41%\",\"w\":1.2},{\"key\":\"liquidity\",\"score\":96,\"why\":\"Average $662.5M traded per session\",\"w\":1.3},{\"key\":\"gap_risk\",\"score\":95,\"why\":\"Median overnight gap 0.46% \\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\":82.27,\"why\":\"Sector average volatility 26.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\":95.91,\"why\":\"Correlation to benchmark 0.63-year rolling: 0.34\",\"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 76\",\"coverage\":100}","factors_json":"{\"positive\":[{\"component\":\"risk\",\"key\":\"liquidity\",\"score\":96,\"why\":\"Average $662.5M traded per session\"},{\"component\":\"risk\",\"key\":\"correlation\",\"score\":95.91,\"why\":\"Correlation to benchmark 0.63-year rolling: 0.34\"},{\"component\":\"sentiment\",\"key\":\"sentiment_delta\",\"score\":95,\"why\":\"30-day sentiment change 31.9 pts\"},{\"component\":\"risk\",\"key\":\"gap_risk\",\"score\":95,\"why\":\"Median overnight gap 0.46% \\u2014 position sizing must survive opens\"},{\"component\":\"sentiment\",\"key\":\"analyst_distribution\",\"score\":94,\"why\":\"94% Buy\\/Strong Buy \\u00b7 5% Hold \\u00b7 4% Sell\\/Short\"},{\"component\":\"sentiment\",\"key\":\"estimate_revisions\",\"score\":92,\"why\":\"Net EPS estimate revisions (90d): 18\"}],\"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 6.45\"},{\"component\":\"momentum\",\"key\":\"relative_strength_vs_index\",\"score\":22,\"why\":\"3-month return minus index -15.8%\"},{\"component\":\"institutional\",\"key\":\"institutional_flows\",\"score\":22,\"why\":\"Reported 13F-style positioning change -68.3% vs prior quarter2026-09-01\"},{\"component\":\"institutional\",\"key\":\"ownership_crowding\",\"score\":26,\"why\":\"Institutions hold ~161.9% of float (crowding risk rises above ~78%)\"},{\"component\":\"momentum\",\"key\":\"multi_horizon_performance\",\"score\":32.92,\"why\":\"1M +4.9% \\u00b7 3M -11.4% \\u00b7 6M -19.6% \\u00b7 12M -28.6%\"}]}","inputs_snapshot":"{\"bars\":760,\"price\":\"190.670000\",\"trend\":\"strong_down\",\"pe\":\"7.6990\",\"sent\":3.19,\"sector\":\"financials\"}","data_mode":"demo","stance":"neutral","risk_level":"medium","confidence":"52.00","model_version":"score-1.0.0","computed_at":"2026-10-24 23:42:35","catalysts":"Earnings report 2026-12-10 (after close) · Demo synthetic: BAC announces platform refresh for enterprise buyers · Demo synthetic: BAC cut to neutral on valuation · Demo synthetic: BAC guides below consensus on cost pressure · Street target implies 8.4%","risks":"Historic drawdown deeper than 41% · Binary event: 2026-12-10","sent_score":null,"sent_label":null,"snap_total":"55.63","score_total":55.63,"components":{"technical":25,"fundamental":25,"momentum":15,"sentiment":10,"institutional":10,"risk":15},"component_detail":{"technical":{"score":45.65,"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":45.19,"why":"ADX(14) 20.5 — developing","w":1},{"key":"rsi_condition","score":66.01,"why":"RSI(14) 46 — constructive zone","w":1},{"key":"macd_signal","score":72,"why":"MACD(12,26,9) above, histogram 0.924","w":1},{"key":"volume_confirmation","score":67.71,"why":"Relative volume 1.37× its own 30-day average","w":0.8},{"key":"52w_position","score":34.4,"why":"-36.7% from its 52-week high","w":1.4},{"key":"volatility_compression","score":69.11,"why":"Bollinger width 8.7%","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":66.48,"label":"Available","complete":true,"factors":[{"key":"gross_margin","score":52.22,"why":"Gross margin 31.4%","w":1},{"key":"operating_margin","score":67.21,"why":"Operating margin 18.3%","w":1},{"key":"free_cash_flow","score":76.22,"why":"FCF margin 16.5%","w":1},{"key":"return_on_equity","score":90,"why":"ROE 71.9%","w":1},{"key":"return_on_invested_capital","score":65.22,"why":"ROIC 11.4%","w":1},{"key":"leverage","score":47.14,"why":"Debt/Equity 1.39","w":1},{"key":"coverage","score":82,"why":"Interest coverage 22.7×","w":1},{"key":"valuation_pe","score":82.99,"why":"P/E 7.7× vs sector median 12.7× (discount)","w":1},{"key":"peg","score":18,"why":"PEG 6.45","w":1},{"key":"valuation_sales","score":85,"why":"P/S 1.2× vs sector median 3.1×","w":1},{"key":"valuation_book","score":36.47,"why":"P/B 5.5×","w":1},{"key":"valuation_ebitda","score":83.69,"why":"EV/EBITDA 5.3×","w":1}]},"momentum":{"score":35.59,"label":"Weak","complete":true,"factors":[{"key":"multi_horizon_performance","score":32.92,"why":"1M +4.9% · 3M -11.4% · 6M -19.6% · 12M -28.6%","w":1},{"key":"relative_strength_vs_index","score":22,"why":"3-month return minus index -15.8%","w":1},{"key":"volume_acceleration","score":41.2,"why":"Today -2.1% on 1.4× volume","w":1},{"key":"momentum_persistence","score":46.25,"why":"1 of 4 measured horizons are positive","w":1}]},"sentiment":{"score":69.71,"label":"Neutral","complete":true,"factors":[{"key":"news_sentiment_index","score":51.6,"why":"Aggregate news sentiment 3.2 (−100 bearish … +100 bullish) from 25 scored items","w":1},{"key":"sentiment_delta","score":95,"why":"30-day sentiment change 31.9 pts","w":1},{"key":"analyst_consensus","score":54.77,"why":"Analyst consensus score 2.71 (1=Strong Buy, 5=Sell) across 5 ratings","w":1},{"key":"analyst_distribution","score":94,"why":"94% Buy/Strong Buy · 5% Hold · 4% Sell/Short","w":1},{"key":"price_target_gap","score":65.6,"why":"Average target implies +8.4% from the last close","w":1},{"key":"estimate_revisions","score":92,"why":"Net EPS estimate revisions (90d): 18","w":1},{"key":"recent_headline_tone","score":35,"why":"Last items: 1 positive / 2 negative headlines","w":1}]},"institutional":{"score":27.54,"label":"Available","complete":true,"factors":[{"key":"institutional_flows","score":22,"why":"Reported 13F-style positioning change -68.3% vs prior quarter2026-09-01","w":1},{"key":"ownership_crowding","score":26,"why":"Institutions hold ~161.9% of float (crowding risk rises above ~78%)","w":1},{"key":"short_interest","score":34.62,"why":"Short interest 11.2% of float, days-to-cover 50.8","w":1}]},"risk":{"score":83.56,"label":"Medium risk","complete":true,"factors":[{"key":"volatility","score":71.65,"why":"20-day realised volatility 25.3% annualised","w":1.5},{"key":"beta","score":84.66,"why":"Beta 0.42 vs the reference index","w":1},{"key":"drawdown_history","score":65.71,"why":"Max drawdown in stored history -41%","w":1.2},{"key":"liquidity","score":96,"why":"Average $662.5M traded per session","w":1.3},{"key":"gap_risk","score":95,"why":"Median overnight gap 0.46% — 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":82.27,"why":"Sector average volatility 26.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":95.91,"why":"Correlation to benchmark 0.63-year rolling: 0.34","w":1}]}},"coverage":100,"confidence_basis":"760 bars · data 26h old · components covered 100%% · risk drag 76","factors":[{"component":"risk","key":"liquidity","label":"Liquidity","score":96,"why":"Average $662.5M traded per session","w":1.3,"direction":"positive"},{"component":"risk","key":"correlation","label":"Correlation","score":95.91,"why":"Correlation to benchmark 0.63-year rolling: 0.34","w":1,"direction":"positive"},{"component":"sentiment","key":"sentiment_delta","label":"Sentiment Delta","score":95,"why":"30-day sentiment change 31.9 pts","w":1,"direction":"positive"},{"component":"risk","key":"gap_risk","label":"Gap Risk","score":95,"why":"Median overnight gap 0.46% — position sizing must survive opens","w":1,"direction":"positive"},{"component":"sentiment","key":"analyst_distribution","label":"Analyst Distribution","score":94,"why":"94% Buy/Strong Buy · 5% Hold · 4% Sell/Short","w":1,"direction":"positive"},{"component":"sentiment","key":"estimate_revisions","label":"Estimate Revisions","score":92,"why":"Net EPS estimate revisions (90d): 18","w":1,"direction":"positive"},{"component":"fundamental","key":"return_on_equity","label":"Return On Equity","score":90,"why":"ROE 71.9%","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":"fundamental","key":"valuation_sales","label":"Valuation Sales","score":85,"why":"P/S 1.2× vs sector median 3.1×","w":1,"direction":"positive"},{"component":"risk","key":"beta","label":"Beta","score":84.66,"why":"Beta 0.42 vs the reference index","w":1,"direction":"positive"},{"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":"fundamental","key":"valuation_ebitda","label":"Valuation Ebitda","score":83.69,"why":"EV/EBITDA 5.3×","w":1,"direction":"positive"},{"component":"fundamental","key":"valuation_pe","label":"Valuation Pe","score":82.99,"why":"P/E 7.7× vs sector median 12.7× (discount)","w":1,"direction":"positive"},{"component":"risk","key":"sector_risk","label":"Sector Risk","score":82.27,"why":"Sector average volatility 26.6%","w":1,"direction":"positive"}],"factors_positive":[{"component":"risk","key":"liquidity","score":96,"why":"Average $662.5M traded per session"},{"component":"risk","key":"correlation","score":95.91,"why":"Correlation to benchmark 0.63-year rolling: 0.34"},{"component":"sentiment","key":"sentiment_delta","score":95,"why":"30-day sentiment change 31.9 pts"},{"component":"risk","key":"gap_risk","score":95,"why":"Median overnight gap 0.46% — position sizing must survive opens"},{"component":"sentiment","key":"analyst_distribution","score":94,"why":"94% Buy/Strong Buy · 5% Hold · 4% Sell/Short"},{"component":"sentiment","key":"estimate_revisions","score":92,"why":"Net EPS estimate revisions (90d): 18"}],"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 6.45"},{"component":"momentum","key":"relative_strength_vs_index","score":22,"why":"3-month return minus index -15.8%"},{"component":"institutional","key":"institutional_flows","score":22,"why":"Reported 13F-style positioning change -68.3% vs prior quarter2026-09-01"},{"component":"institutional","key":"ownership_crowding","score":26,"why":"Institutions hold ~161.9% of float (crowding risk rises above ~78%)"},{"component":"momentum","key":"multi_horizon_performance","score":32.92,"why":"1M +4.9% · 3M -11.4% · 6M -19.6% · 12M -28.6%"}],"inputs":{"bars":760,"price":"190.670000","trend":"strong_down","pe":"7.6990","sent":3.19,"sector":"financials"}},"predictions":[{"id":5971,"security_id":21,"model_id":2,"horizon_code":"1D","generated_at":"2026-10-24 23:42:35","ref_price":190.67,"bull_low_pct":1,"bull_high_pct":1.5,"base_low_pct":-0.5,"base_high_pct":0.5,"bear_low_pct":-1.5,"bear_high_pct":-0.5,"prob_up":0.53,"p10_pct":-1,"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.5,"risk_range_high":0.5,"confidence":57,"confidence_basis":"760 bars, blended vol 25%, score 56, coverage 100%%","risk_level":"low","volatility_ann":25.5,"max_hist_drawdown":"-41.0000","sample_size":760,"data_freshness_secs":96155,"bull_case":"If RSI mid-range — room to extend, fundamentals scoring above the coverage median, 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: 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 (after close)","Demo synthetic: BAC announces platform refresh for enterprise buyers","Demo synthetic: BAC cut to neutral on valuation","Demo synthetic: BAC guides below consensus on cost pressure","Street target implies 8.4%"],"key_risks":["Historic drawdown deeper than 41%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 25.5% 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 229.35 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 41% 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":5972,"security_id":21,"model_id":2,"horizon_code":"5D","generated_at":"2026-10-24 23:42:35","ref_price":190.67,"bull_low_pct":2,"bull_high_pct":3,"base_low_pct":-1,"base_high_pct":2,"bear_low_pct":-3,"bear_high_pct":-1,"prob_up":0.53,"p10_pct":-2,"p25_pct":-1,"p50_pct":0,"p75_pct":2,"p90_pct":3,"expected_range_low":-1,"expected_range_high":2,"risk_range_low":-3,"risk_range_high":2,"confidence":57,"confidence_basis":"760 bars, blended vol 25%, score 56, coverage 100%%","risk_level":"low","volatility_ann":25.5,"max_hist_drawdown":"-41.0000","sample_size":760,"data_freshness_secs":96155,"bull_case":"If RSI mid-range — room to extend, fundamentals scoring above the coverage median, 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: 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 (after close)","Demo synthetic: BAC announces platform refresh for enterprise buyers","Demo synthetic: BAC cut to neutral on valuation","Demo synthetic: BAC guides below consensus on cost pressure","Street target implies 8.4%"],"key_risks":["Historic drawdown deeper than 41%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 25.5% 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 229.35 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 41% 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":5973,"security_id":21,"model_id":2,"horizon_code":"1M","generated_at":"2026-10-24 23:42:35","ref_price":190.67,"bull_low_pct":4,"bull_high_pct":7,"base_low_pct":-2,"base_high_pct":3,"bear_low_pct":-6,"bear_high_pct":-3,"prob_up":0.53,"p10_pct":-5,"p25_pct":-2,"p50_pct":0,"p75_pct":3,"p90_pct":6,"expected_range_low":-2,"expected_range_high":3,"risk_range_low":-6,"risk_range_high":3,"confidence":57,"confidence_basis":"760 bars, blended vol 25%, score 56, coverage 100%%","risk_level":"low","volatility_ann":25.5,"max_hist_drawdown":"-41.0000","sample_size":760,"data_freshness_secs":96155,"bull_case":"If RSI mid-range — room to extend, fundamentals scoring above the coverage median, 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: 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 (after close)","Demo synthetic: BAC announces platform refresh for enterprise buyers","Demo synthetic: BAC cut to neutral on valuation","Demo synthetic: BAC guides below consensus on cost pressure","Street target implies 8.4%"],"key_risks":["Historic drawdown deeper than 41%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 25.5% 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 229.35 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 41% 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":5974,"security_id":21,"model_id":2,"horizon_code":"3M","generated_at":"2026-10-24 23:42:35","ref_price":190.67,"bull_low_pct":6,"bull_high_pct":12,"base_low_pct":-4.5,"base_high_pct":6,"bear_low_pct":-10.5,"bear_high_pct":-4.5,"prob_up":0.53,"p10_pct":-9,"p25_pct":-4.5,"p50_pct":0,"p75_pct":6,"p90_pct":9,"expected_range_low":-4.5,"expected_range_high":6,"risk_range_low":-10.5,"risk_range_high":6,"confidence":57,"confidence_basis":"760 bars, blended vol 25%, score 56, coverage 100%%","risk_level":"low","volatility_ann":25.5,"max_hist_drawdown":"-41.0000","sample_size":760,"data_freshness_secs":96155,"bull_case":"If RSI mid-range — room to extend, fundamentals scoring above the coverage median, 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: 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 (after close)","Demo synthetic: BAC announces platform refresh for enterprise buyers","Demo synthetic: BAC cut to neutral on valuation","Demo synthetic: BAC guides below consensus on cost pressure","Street target implies 8.4%"],"key_risks":["Historic drawdown deeper than 41%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 25.5% 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 229.35 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 41% 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":5975,"security_id":21,"model_id":2,"horizon_code":"6M","generated_at":"2026-10-24 23:42:35","ref_price":190.67,"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.53,"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 25%, score 56, coverage 100%%","risk_level":"low","volatility_ann":25.5,"max_hist_drawdown":"-41.0000","sample_size":760,"data_freshness_secs":96155,"bull_case":"If RSI mid-range — room to extend, fundamentals scoring above the coverage median, 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: 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 (after close)","Demo synthetic: BAC announces platform refresh for enterprise buyers","Demo synthetic: BAC cut to neutral on valuation","Demo synthetic: BAC guides below consensus on cost pressure","Street target implies 8.4%"],"key_risks":["Historic drawdown deeper than 41%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 25.5% 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 229.35 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 41% 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":5976,"security_id":21,"model_id":2,"horizon_code":"12M","generated_at":"2026-10-24 23:42:35","ref_price":190.67,"bull_low_pct":12.5,"bull_high_pct":25,"base_low_pct":-7.5,"base_high_pct":10,"bear_low_pct":-22.5,"bear_high_pct":-10,"prob_up":0.53,"p10_pct":-17.5,"p25_pct":-7.5,"p50_pct":2.5,"p75_pct":10,"p90_pct":20,"expected_range_low":-7.5,"expected_range_high":10,"risk_range_low":-22.5,"risk_range_high":10,"confidence":57,"confidence_basis":"760 bars, blended vol 25%, score 56, coverage 100%%","risk_level":"medium","volatility_ann":25.5,"max_hist_drawdown":"-41.0000","sample_size":760,"data_freshness_secs":96155,"bull_case":"If RSI mid-range — room to extend, fundamentals scoring above the coverage median, 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: 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 (after close)","Demo synthetic: BAC announces platform refresh for enterprise buyers","Demo synthetic: BAC cut to neutral on valuation","Demo synthetic: BAC guides below consensus on cost pressure","Street target implies 8.4%"],"key_risks":["Historic drawdown deeper than 41%","Binary event: 2026-12-10"],"assumptions":["Realised volatility stays near its recent level (blended 25.5% 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 229.35 support band or the strategy stop.","Earnings or regulatory headline that changes forward estimates by more than the modelled window σ.","Volatility expanding beyond 41% 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."}