{ "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." } ] }