| { | |
| "name": "5Y Historic-Inspired + Post-2025 News Cycle", | |
| "startDay": 0, | |
| "basePrice": 100.0, | |
| "defaultVolatility": 0.85, | |
| "marketLength": 2000, | |
| "events": [ | |
| { | |
| "day": 0, | |
| "shockPct": -1.2, | |
| "news": "Quarterly risk reset: profit-taking after run-up." | |
| }, | |
| { | |
| "day": 7, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 14, | |
| "shockPct": -2.5, | |
| "news": "Banking stress headlines revive 2008-style fears; liquidity backstops hinted.", | |
| "volatility": 1.4 | |
| }, | |
| { | |
| "day": 21, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 28, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 35, | |
| "shockPct": -0.3, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 42, | |
| "shockPct": 3.0, | |
| "news": "Coordinated central-bank statement calms markets; funding spreads tighten.", | |
| "volatility": 1.1 | |
| }, | |
| { | |
| "day": 49, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 56, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 63, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: rate-cut speculation; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 70, | |
| "shockPct": -0.3, | |
| "news": "Positioning check: rate-cut speculation; volatility sellers return cautiously.", | |
| "volatility": 0.95 | |
| }, | |
| { | |
| "day": 77, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: rate-cut speculation; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 84, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 91, | |
| "shockPct": -3.5, | |
| "news": "Geopolitical escalation triggers energy spike; shipping insurance costs jump.", | |
| "volatility": 1.8 | |
| }, | |
| { | |
| "day": 98, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: rate-cut speculation; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 105, | |
| "shockPct": 0.2, | |
| "news": "Narrative shift: rate-cut speculation; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 112, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: earnings resilience; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 119, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 126, | |
| "shockPct": 2.8, | |
| "news": "Emergency energy releases + diplomatic corridor reduce tail risks.", | |
| "volatility": 1.2 | |
| }, | |
| { | |
| "day": 133, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 140, | |
| "shockPct": -0.2, | |
| "news": "Weekly tape: earnings resilience; flows rotate between defensives and cyclicals.", | |
| "volatility": 1.05 | |
| }, | |
| { | |
| "day": 147, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 154, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: earnings resilience; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 161, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 168, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: AI capex cycle; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 175, | |
| "shockPct": -0.2, | |
| "news": "Macro watch: AI capex cycle; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 182, | |
| "shockPct": 2.0, | |
| "news": "Disinflation print surprises; first rate-cut timing pulled forward.", | |
| "volatility": 1.0 | |
| }, | |
| { | |
| "day": 189, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: AI capex cycle; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 196, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: AI capex cycle; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 203, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: AI capex cycle; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 210, | |
| "shockPct": -0.2, | |
| "news": "Positioning check: AI capex cycle; volatility sellers return cautiously.", | |
| "volatility": 1.15 | |
| }, | |
| { | |
| "day": 217, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: AI capex cycle; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 224, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 231, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 238, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 245, | |
| "shockPct": -0.3, | |
| "news": "Narrative shift: energy transition; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 252, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 259, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 266, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 273, | |
| "shockPct": -2.2, | |
| "news": "Major cloud outage + cyber incident hits megacaps; risk models reprice.", | |
| "volatility": 1.5 | |
| }, | |
| { | |
| "day": 280, | |
| "shockPct": -0.3, | |
| "news": "Weekly tape: trade friction; flows rotate between defensives and cyclicals.", | |
| "volatility": 0.85 | |
| }, | |
| { | |
| "day": 287, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: trade friction; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 294, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: trade friction; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 301, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 308, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: trade friction; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 315, | |
| "shockPct": 0.3, | |
| "news": "Macro watch: trade friction; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 322, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: trade friction; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 329, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 336, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: credit tightening; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 343, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: credit tightening; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 350, | |
| "shockPct": -0.3, | |
| "news": "Positioning check: credit tightening; volatility sellers return cautiously.", | |
| "volatility": 0.95 | |
| }, | |
| { | |
| "day": 357, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: credit tightening; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 364, | |
| "shockPct": -4.0, | |
| "news": "Election-year policy uncertainty: tariff threats and fiscal standoff.", | |
| "volatility": 2.1 | |
| }, | |
| { | |
| "day": 371, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: credit tightening; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 378, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: credit tightening; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 385, | |
| "shockPct": -0.3, | |
| "news": "Narrative shift: credit tightening; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 392, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: reacceleration hopes; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 399, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 406, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 413, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 420, | |
| "shockPct": 3.5, | |
| "news": "Post-election clarity: budget deal + investment incentives fuel relief rally.", | |
| "volatility": 1.3 | |
| }, | |
| { | |
| "day": 427, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 434, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 441, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 448, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 455, | |
| "shockPct": 1.4, | |
| "news": "Quarterly rebound: earnings breadth improves; dip-buyers return." | |
| }, | |
| { | |
| "day": 462, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: soft-landing optimism; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 469, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 476, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 483, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 490, | |
| "shockPct": -0.3, | |
| "news": "Positioning check: soft-landing optimism; volatility sellers return cautiously.", | |
| "volatility": 1.15 | |
| }, | |
| { | |
| "day": 497, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 504, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 511, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: rate-cut speculation; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 518, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: rate-cut speculation; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 525, | |
| "shockPct": -0.2, | |
| "news": "Narrative shift: rate-cut speculation; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 532, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 539, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: rate-cut speculation; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 546, | |
| "shockPct": -2.8, | |
| "news": "Credit event in private markets; refinancing wall sparks risk-off week.", | |
| "volatility": 1.7 | |
| }, | |
| { | |
| "day": 553, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: rate-cut speculation; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 560, | |
| "shockPct": -0.2, | |
| "news": "Weekly tape: earnings resilience; flows rotate between defensives and cyclicals.", | |
| "volatility": 0.85 | |
| }, | |
| { | |
| "day": 567, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 574, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: earnings resilience; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 581, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 588, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: earnings resilience; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 595, | |
| "shockPct": -0.3, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 602, | |
| "shockPct": 2.4, | |
| "news": "Orderly restructuring + backstop facility reduces contagion fears.", | |
| "volatility": 1.2 | |
| }, | |
| { | |
| "day": 609, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 616, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: AI capex cycle; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 623, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: AI capex cycle; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 630, | |
| "shockPct": -0.2, | |
| "news": "Positioning check: AI capex cycle; volatility sellers return cautiously.", | |
| "volatility": 0.95 | |
| }, | |
| { | |
| "day": 637, | |
| "shockPct": 1.4, | |
| "news": "Quarterly rebound: earnings breadth improves; dip-buyers return." | |
| }, | |
| { | |
| "day": 644, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: AI capex cycle; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 651, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: AI capex cycle; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 658, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: AI capex cycle; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 665, | |
| "shockPct": 0.3, | |
| "news": "Narrative shift: AI capex cycle; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 672, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 679, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 686, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 693, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: energy transition; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 700, | |
| "shockPct": -0.2, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals.", | |
| "volatility": 1.05 | |
| }, | |
| { | |
| "day": 707, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 714, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 721, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: energy transition; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 728, | |
| "shockPct": 2.2, | |
| "news": "Productivity wave narrative: AI capex cycle accelerates; earnings revisions up.", | |
| "volatility": 1.1 | |
| }, | |
| { | |
| "day": 735, | |
| "shockPct": 0.3, | |
| "news": "Macro watch: trade friction; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 742, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: trade friction; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 749, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 756, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: trade friction; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 763, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: trade friction; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 770, | |
| "shockPct": 0.2, | |
| "news": "Positioning check: trade friction; volatility sellers return cautiously.", | |
| "volatility": 1.15 | |
| }, | |
| { | |
| "day": 777, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 784, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: credit tightening; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 791, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: credit tightening; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 798, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: credit tightening; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 805, | |
| "shockPct": -0.3, | |
| "news": "Narrative shift: credit tightening; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 812, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: credit tightening; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 819, | |
| "shockPct": -3.2, | |
| "news": "AI overbuild concerns echo dot-com; guidance cuts hit high-multiple names.", | |
| "volatility": 1.9 | |
| }, | |
| { | |
| "day": 826, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: credit tightening; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 833, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: credit tightening; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 840, | |
| "shockPct": -0.2, | |
| "news": "Weekly tape: reacceleration hopes; flows rotate between defensives and cyclicals.", | |
| "volatility": 0.85 | |
| }, | |
| { | |
| "day": 847, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 854, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 861, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 868, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: reacceleration hopes; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 875, | |
| "shockPct": 0.3, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 882, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 889, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 896, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 903, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 910, | |
| "shockPct": 2.6, | |
| "news": "Breakthrough efficiency claims validated; capex shifts from hype to ROI.", | |
| "volatility": 1.2 | |
| }, | |
| { | |
| "day": 917, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 924, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 931, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 938, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: soft-landing optimism; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 945, | |
| "shockPct": 0.2, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 952, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 959, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: rate-cut speculation; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 966, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: rate-cut speculation; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 973, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: rate-cut speculation; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 980, | |
| "shockPct": 0.2, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals.", | |
| "volatility": 1.05 | |
| }, | |
| { | |
| "day": 987, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: rate-cut speculation; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 994, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: rate-cut speculation; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1001, | |
| "shockPct": 1.4, | |
| "news": "Quarterly rebound: earnings breadth improves; dip-buyers return." | |
| }, | |
| { | |
| "day": 1008, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: earnings resilience; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1015, | |
| "shockPct": -0.2, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1022, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: earnings resilience; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1029, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1036, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: earnings resilience; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1043, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1050, | |
| "shockPct": -0.2, | |
| "news": "Positioning check: earnings resilience; volatility sellers return cautiously.", | |
| "volatility": 1.15 | |
| }, | |
| { | |
| "day": 1057, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1064, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: AI capex cycle; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1071, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: AI capex cycle; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1078, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: AI capex cycle; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1085, | |
| "shockPct": 0.2, | |
| "news": "Narrative shift: AI capex cycle; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1092, | |
| "shockPct": -2.6, | |
| "news": "Unexpected inflation rebound; central bank signals 'higher for longer'.", | |
| "volatility": 1.8 | |
| }, | |
| { | |
| "day": 1099, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: AI capex cycle; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1106, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: AI capex cycle; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1113, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: AI capex cycle; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1120, | |
| "shockPct": -0.3, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals.", | |
| "volatility": 0.85 | |
| }, | |
| { | |
| "day": 1127, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1134, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1141, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: energy transition; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1148, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1155, | |
| "shockPct": -0.3, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1162, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1169, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: energy transition; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1176, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: trade friction; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1183, | |
| "shockPct": 2.3, | |
| "news": "Inflation cools again; soft-landing confidence returns.", | |
| "volatility": 1.2 | |
| }, | |
| { | |
| "day": 1190, | |
| "shockPct": 0.3, | |
| "news": "Positioning check: trade friction; volatility sellers return cautiously.", | |
| "volatility": 0.95 | |
| }, | |
| { | |
| "day": 1197, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1204, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: trade friction; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1211, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: trade friction; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1218, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: trade friction; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1225, | |
| "shockPct": -0.3, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1232, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: credit tightening; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1239, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: credit tightening; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1246, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: credit tightening; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1253, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: credit tightening; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1260, | |
| "shockPct": 0.2, | |
| "news": "Weekly tape: credit tightening; flows rotate between defensives and cyclicals.", | |
| "volatility": 1.05 | |
| }, | |
| { | |
| "day": 1267, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: credit tightening; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1274, | |
| "shockPct": -2.9, | |
| "news": "Emerging-market FX shock triggers forced de-risking; correlations spike.", | |
| "volatility": 1.8 | |
| }, | |
| { | |
| "day": 1281, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: credit tightening; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1288, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: reacceleration hopes; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1295, | |
| "shockPct": 0.2, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1302, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1309, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1316, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: reacceleration hopes; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1323, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1330, | |
| "shockPct": 0.2, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously.", | |
| "volatility": 1.15 | |
| }, | |
| { | |
| "day": 1337, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1344, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1351, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1358, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: soft-landing optimism; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1365, | |
| "shockPct": 2.1, | |
| "news": "IMF-style stabilization package announced; carry trade rebuild begins.", | |
| "volatility": 1.3 | |
| }, | |
| { | |
| "day": 1372, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1379, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1386, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: soft-landing optimism; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1393, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1400, | |
| "shockPct": -0.3, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals.", | |
| "volatility": 0.85 | |
| }, | |
| { | |
| "day": 1407, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: rate-cut speculation; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1414, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: rate-cut speculation; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1421, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: rate-cut speculation; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1428, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: rate-cut speculation; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1435, | |
| "shockPct": 0.3, | |
| "news": "Macro watch: rate-cut speculation; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1442, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: rate-cut speculation; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1449, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: rate-cut speculation; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1456, | |
| "shockPct": -2.4, | |
| "news": "Climate event disrupts supply chains; insurers reprice catastrophe risk.", | |
| "volatility": 1.6 | |
| }, | |
| { | |
| "day": 1463, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1470, | |
| "shockPct": -0.3, | |
| "news": "Positioning check: earnings resilience; volatility sellers return cautiously.", | |
| "volatility": 0.95 | |
| }, | |
| { | |
| "day": 1477, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1484, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: earnings resilience; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1491, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: earnings resilience; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1498, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: earnings resilience; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1505, | |
| "shockPct": 0.3, | |
| "news": "Narrative shift: earnings resilience; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1512, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: AI capex cycle; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1519, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: AI capex cycle; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1526, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: AI capex cycle; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1533, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: AI capex cycle; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1540, | |
| "shockPct": -0.3, | |
| "news": "Weekly tape: AI capex cycle; flows rotate between defensives and cyclicals.", | |
| "volatility": 1.05 | |
| }, | |
| { | |
| "day": 1547, | |
| "shockPct": 2.0, | |
| "news": "Supply normalization + rebuilding spend support cyclicals.", | |
| "volatility": 1.2 | |
| }, | |
| { | |
| "day": 1554, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: AI capex cycle; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1561, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: AI capex cycle; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1568, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1575, | |
| "shockPct": 0.2, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1582, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1589, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: energy transition; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1596, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: energy transition; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1603, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: energy transition; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1610, | |
| "shockPct": 0.2, | |
| "news": "Positioning check: energy transition; volatility sellers return cautiously.", | |
| "volatility": 1.15 | |
| }, | |
| { | |
| "day": 1617, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: energy transition; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1624, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: trade friction; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1631, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: trade friction; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1638, | |
| "shockPct": -2.7, | |
| "news": "Antitrust wave targets platform fees; headline risk rises.", | |
| "volatility": 1.7 | |
| }, | |
| { | |
| "day": 1645, | |
| "shockPct": -0.2, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1652, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: trade friction; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1659, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: trade friction; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1666, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: trade friction; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1673, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: trade friction; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1680, | |
| "shockPct": -0.3, | |
| "news": "Weekly tape: credit tightening; flows rotate between defensives and cyclicals.", | |
| "volatility": 0.85 | |
| }, | |
| { | |
| "day": 1687, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: credit tightening; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1694, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: credit tightening; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1701, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: credit tightening; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1708, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: credit tightening; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1715, | |
| "shockPct": -0.3, | |
| "news": "Macro watch: credit tightening; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1722, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: credit tightening; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1729, | |
| "shockPct": 2.2, | |
| "news": "Settlement framework reduces uncertainty; buybacks resume.", | |
| "volatility": 1.2 | |
| }, | |
| { | |
| "day": 1736, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: reacceleration hopes; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1743, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1750, | |
| "shockPct": -0.2, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously.", | |
| "volatility": 0.95 | |
| }, | |
| { | |
| "day": 1757, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1764, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: reacceleration hopes; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1771, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: reacceleration hopes; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1778, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: reacceleration hopes; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1785, | |
| "shockPct": 0.2, | |
| "news": "Narrative shift: reacceleration hopes; breadth and liquidity indicators in focus." | |
| }, | |
| { | |
| "day": 1792, | |
| "shockPct": 0.0, | |
| "news": "Weekly tape: soft-landing optimism; flows rotate between defensives and cyclicals." | |
| }, | |
| { | |
| "day": 1799, | |
| "shockPct": 0.0, | |
| "news": "Macro watch: soft-landing optimism; analysts debate whether this resembles past late-cycle rallies." | |
| }, | |
| { | |
| "day": 1806, | |
| "shockPct": 0.0, | |
| "news": "Positioning check: soft-landing optimism; volatility sellers return cautiously." | |
| }, | |
| { | |
| "day": 1813, | |
| "shockPct": 0.0, | |
| "news": "Narrative shift: soft-landing optimism; breadth and liquidity indicators in focus." | |
| } | |
| ] | |
| } |