Spaces:
Running
Running
| // Retro Alpha — Historical Events Timeline (1994-2004) | |
| // Real events with realistic asset impacts. Each event applies for | |
| // `duration_months` consecutive months (used for the AI insight tone). | |
| const ASSETS = ["cash", "fd", "gov_bonds", "nifty_50", "nifty_it", "real_estate", "crypto", "gold"]; | |
| const EVENTS = [ | |
| { year: 1994, month: 5, | |
| headline: "RBI hikes repo rate 50bps to fight inflation", | |
| regime: "rate_hike", | |
| impact: { fd: 0.01, gov_bonds: -0.02, nifty_50: -0.03, nifty_it: -0.05, | |
| real_estate: -0.02, gold: -0.01 }, | |
| duration_months: 2 }, | |
| { year: 1994, month: 9, | |
| headline: "SEBI cracks down on broker cartel; trading volumes surge", | |
| regime: "bull_market", | |
| impact: { nifty_50: 0.04, nifty_it: 0.06, gov_bonds: 0.01 }, | |
| duration_months: 2 }, | |
| { year: 1995, month: 3, | |
| headline: "Mexican peso crisis spooks emerging markets; FIIs pull out", | |
| regime: "fii_exit", | |
| impact: { nifty_50: -0.05, nifty_it: -0.07, real_estate: -0.02, | |
| fd: 0.005, gov_bonds: 0.01, gold: 0.02 }, | |
| duration_months: 2 }, | |
| { year: 1995, month: 8, | |
| headline: "Monsoon revival boosts rural demand; FMCG and auto rally", | |
| regime: "monsoon_shock", | |
| impact: { nifty_50: 0.03, real_estate: 0.02, gold: -0.01, nifty_it: 0.02 }, | |
| duration_months: 2 }, | |
| { year: 1996, month: 5, | |
| headline: "United Front govt formed; policy continuity expected", | |
| regime: "election_year", | |
| impact: { nifty_50: 0.02, nifty_it: 0.04, gov_bonds: 0.005, real_estate: 0.01 }, | |
| duration_months: 3 }, | |
| { year: 1997, month: 5, | |
| headline: "Thai baht devaluation triggers Asian financial crisis", | |
| regime: "market_crash", | |
| impact: { nifty_50: -0.08, nifty_it: -0.12, real_estate: -0.05, | |
| fd: 0.005, gov_bonds: 0.01, gold: 0.03 }, | |
| duration_months: 4 }, | |
| { year: 1997, month: 11, | |
| headline: "Sukh Ram telecom scandal; sentiment sours", | |
| regime: "bear_market", | |
| impact: { nifty_50: -0.04, nifty_it: -0.06, real_estate: -0.01, | |
| gov_bonds: 0.005, gold: 0.01 }, | |
| duration_months: 2 }, | |
| { year: 1998, month: 5, | |
| headline: "Pokhran-II nuclear tests; sanctions loom", | |
| regime: "fii_exit", | |
| impact: { nifty_50: -0.10, nifty_it: -0.14, real_estate: -0.04, | |
| fd: 0.01, gov_bonds: 0.015, gold: 0.04 }, | |
| duration_months: 3 }, | |
| { year: 1998, month: 8, | |
| headline: "RBI opens asset-reconstruction route; recovery rally begins", | |
| regime: "recovery", | |
| impact: { nifty_50: 0.06, nifty_it: 0.10, real_estate: 0.03, | |
| gov_bonds: 0.005, gold: -0.01 }, | |
| duration_months: 3 }, | |
| { year: 1999, month: 5, | |
| headline: "Kargil conflict; oil prices spike 30%", | |
| regime: "high_inflation", | |
| impact: { nifty_50: -0.05, nifty_it: -0.08, real_estate: -0.02, | |
| fd: 0.005, gov_bonds: -0.01, gold: 0.03 }, | |
| duration_months: 2 }, | |
| { year: 1999, month: 10, | |
| headline: "Y2K fears and IT boom; Nasdaq crosses 3000", | |
| regime: "tech_boom", | |
| impact: { nifty_50: 0.04, nifty_it: 0.15, real_estate: 0.02, | |
| gov_bonds: -0.005 }, | |
| duration_months: 4 }, | |
| { year: 2000, month: 3, | |
| headline: "Dot-com bubble bursts; Nasdaq -78% from peak", | |
| regime: "market_crash", | |
| impact: { nifty_50: -0.12, nifty_it: -0.25, real_estate: -0.04, | |
| fd: 0.01, gov_bonds: 0.02, gold: 0.05 }, | |
| duration_months: 6 }, | |
| { year: 2000, month: 9, | |
| headline: "Oil crosses $35/bbl on OPEC supply cuts", | |
| regime: "high_inflation", | |
| impact: { nifty_50: -0.03, nifty_it: -0.05, real_estate: -0.02, | |
| fd: 0.005, gov_bonds: -0.01, gold: 0.02 }, | |
| duration_months: 2 }, | |
| { year: 2001, month: 1, | |
| headline: "Gujarat earthquake; insurance sector hammered", | |
| regime: "monsoon_shock", | |
| impact: { nifty_50: -0.04, nifty_it: -0.05, real_estate: -0.01, | |
| fd: 0.005, gov_bonds: 0.01, gold: 0.01 }, | |
| duration_months: 2 }, | |
| { year: 2001, month: 9, | |
| headline: "9/11 attacks; global markets halt trading", | |
| regime: "market_crash", | |
| impact: { nifty_50: -0.10, nifty_it: -0.15, real_estate: -0.05, | |
| fd: 0.01, gov_bonds: 0.02, gold: 0.06 }, | |
| duration_months: 3 }, | |
| { year: 2001, month: 12, | |
| headline: "Enron collapse exposes global audit fraud", | |
| regime: "bear_market", | |
| impact: { nifty_50: -0.03, nifty_it: -0.05, | |
| fd: 0.005, gov_bonds: 0.01, gold: 0.01 }, | |
| duration_months: 2 }, | |
| { year: 2002, month: 4, | |
| headline: "India IT outsourcing boom; TCS and Infosys hit all-time highs", | |
| regime: "tech_boom", | |
| impact: { nifty_50: 0.05, nifty_it: 0.12, real_estate: 0.02 }, | |
| duration_months: 4 }, | |
| { year: 2002, month: 8, | |
| headline: "Drought fears; monsoon deficit at 19%", | |
| regime: "monsoon_shock", | |
| impact: { nifty_50: -0.03, nifty_it: -0.02, real_estate: -0.02, | |
| gov_bonds: 0.005, gold: 0.02 }, | |
| duration_months: 2 }, | |
| { year: 2003, month: 3, | |
| headline: "Iraq war begins; oil spikes to $40 then retraces", | |
| regime: "high_inflation", | |
| impact: { nifty_50: -0.04, nifty_it: -0.03, real_estate: -0.01, | |
| fd: 0.005, gold: 0.03 }, | |
| duration_months: 2 }, | |
| { year: 2003, month: 8, | |
| headline: "India GDP grows 8.4%; foreign capital floods in", | |
| regime: "bull_market", | |
| impact: { nifty_50: 0.07, nifty_it: 0.10, real_estate: 0.04, | |
| fd: 0.005 }, | |
| duration_months: 4 }, | |
| { year: 2004, month: 2, | |
| headline: "BJP loses election; Congress-led UPA forms government", | |
| regime: "election_year", | |
| impact: { nifty_50: -0.04, nifty_it: -0.02, | |
| gov_bonds: 0.005 }, | |
| duration_months: 2 }, | |
| ]; | |
| function eventForMonth(year, month) { | |
| for (const ev of EVENTS) { | |
| if (ev.year === year && ev.month === month) return ev; | |
| } | |
| return { | |
| year, month, | |
| headline: "Markets trade in tight range; low volatility session", | |
| regime: "stagnation", | |
| impact: {}, | |
| duration_months: 1, | |
| }; | |
| } | |
| function nextUpcomingEvent(year, month) { | |
| const flat = year * 12 + month; | |
| for (const ev of EVENTS) { | |
| if (ev.year * 12 + ev.month > flat) return ev; | |
| } | |
| return EVENTS[EVENTS.length - 1]; | |
| } | |
| window.RetroEvents = { EVENTS, ASSETS, eventForMonth, nextUpcomingEvent }; | |