A step-by-step proof of every number shown on screen — from scenario input to final percentile outcomes.
"AI Sector Burst −20%" is plain English. Before we can simulate anything, we must translate it into the five underlying forces that actually move ETF prices: oil prices, tech sentiment, interest rates, broad market direction, and gold demand.
Each scenario maps to one or more of these factors using a fixed formula. For AI Sector Burst:
| Factor | Shock Level | Interpretation |
|---|---|---|
| tech | −0.80 | Tech/AI sentiment drops — QQQ, XLK, SCHG hit hard |
| market | −0.40 | Broad selloff — equities fall, smaller magnitude |
| gold | +0.20 | Mild flight-to-safety bid for gold & bonds |
| oil | 0.00 | No oil sensitivity in this scenario |
| rates | 0.00 | No rate-change component |
Each factor shock level (e.g. −0.80) is dimensionless. To apply it to daily return math we need a scaling constant — the shock unit. This is defined as 0.5% per month, converted to a daily figure:
Not every ETF reacts the same way to an AI bust. SCHZ (bond ETF) barely moves; SCHX (US large cap) drops significantly because it holds heavy tech weight. These sensitivities are called factor betas.
For ETFs we know well (the ~70 in our library) we use hand-calibrated betas based on fund mandates. For any other ETF a user uploads, we compute betas automatically via OLS regression of its 5-year daily returns against the factor proxy ETFs (XLE, QQQ, TLT, VOO, GLD).
| ETF | β tech | β market | β gold | Source |
|---|---|---|---|---|
| SCHX | 0.55 | 1.00 | −0.10 | Calibrated (US large-cap ≈ VOO) |
| SCHB | 0.50 | 1.00 | −0.10 | Calibrated (US total market ≈ VTI) |
| SCHD | 0.10 | 0.75 | +0.05 | Calibrated (dividend, defensive) |
| SCHF | 0.20 | 0.70 | +0.05 | Calibrated (developed markets ex-US) |
| SCHA | 0.25 | 1.20 | −0.15 | Calibrated (US small-cap ≈ IWM) |
| SCHZ | −0.05 | −0.10 | +0.20 | Calibrated (US agg bond ≈ BND) |
Read as: SCHX has a tech beta of 0.55 — when the tech factor gets a −0.80 shock, SCHX's expected return is pulled down by 0.55 × 0.80 = 44% of the shock magnitude.
For each ETF we combine its historical mean daily return (from 5 years of Polygon data) with the scenario-adjusted shock to get a shocked drift — the expected daily return under this scenario.
Why does SCHZ benefit? Its betas are negative to tech and market (bonds are a risk-off asset). An AI bust makes those negative betas positive contributors — investors rotate into bonds, slightly lifting expected returns.
Left bar = expected annual return under scenario. Right delta = change vs no-shock baseline.
If we just simulated each ETF independently, we'd be saying SCHX and SCHB could go in completely different directions on the same day — which is impossible (they're both US equity funds). The correlation matrix captures this: it measures how much two ETFs tend to move together.
We compute it from the actual 5-year daily return series pulled from Polygon.
| SCHX | SCHB | SCHD | SCHF | SCHA | SCHZ | |
|---|---|---|---|---|---|---|
| SCHX | 1.00 | 0.99 | 0.87 | 0.78 | 0.88 | −0.12 |
| SCHB | 0.99 | 1.00 | 0.88 | 0.78 | 0.90 | −0.10 |
| SCHD | 0.87 | 0.88 | 1.00 | 0.72 | 0.79 | +0.08 |
| SCHF | 0.78 | 0.78 | 0.72 | 1.00 | 0.74 | +0.02 |
| SCHA | 0.88 | 0.90 | 0.79 | 0.74 | 1.00 | −0.08 |
| SCHZ | −0.12 | −0.10 | +0.08 | +0.02 | −0.08 | 1.00 |
Reading this: SCHX and SCHB have a 0.99 correlation — almost identical daily moves (both track the US market). SCHZ (bonds) has −0.12 with equities — a diversification benefit: when stocks fall sharply, bonds often hold up or rise.
To generate correlated random daily returns we decompose the covariance matrix C using the Cholesky factorisation: a matrix L such that L × Lᵀ = C.
Without Cholesky, the model would incorrectly show all six equity ETFs moving independently — massively overstating diversification. With it, when the "market" random draw is bad, all correlated equity ETFs take a hit together, just as they do in reality.
With shocked drifts and a correlated random-shock engine in hand, we simulate 1,000 independent year-long paths — each one a plausible future under the AI Sector Burst scenario. Each path runs for 252 trading days (one calendar year).
Green paths = portfolio grows. Red = portfolio shrinks. The thick green line = median path (P50). Each path is generated with correlated random noise via Cholesky, so equity ETFs tend to move together.
After sorting all 1,000 final portfolio values, we pick off five points along the distribution. These are the five numbers you see on screen.
| Number | What it means |
|---|---|
| Worst Case −4.3% | In 1 in 10 simulated futures, the portfolio loses at least 4.3% over the year under this scenario. 10% probability of this or worse. |
| Below Avg +2.6% | In 1 in 4 futures, the portfolio gains less than 2.6%. Still positive despite the AI bust. |
| Expected +10.7% | The middle outcome — half of all simulations ended better than this, half worse. Your most likely 1-year return under this scenario. |
| Above Avg +22.6% | In 1 in 4 futures, the portfolio exceeds +22.6%. The upside if the AI dip turns out to be a buying opportunity for the broader market. |
| Best Case +33.5% | In 9 out of 10 simulations, the portfolio returns less than 33.5%. Only the top 10% of futures reach this. |
| Input | Source | Detail |
|---|---|---|
| Daily price history | Polygon.io (paid) | 5 years · adjusted closes · 1,200+ data points per ticker |
| Factor betas | ETF Pulse library | ~70 ETFs hand-calibrated; all others auto-computed via OLS regression vs proxy ETFs |
| Correlation matrix | Computed | Full 5-year covariance matrix from daily log returns |
| Random paths | Box-Muller transform | Correlated via Cholesky decomposition · 1,000 paths · 252 days each |
| AI commentary | Claude (Anthropic) | Haiku model · interprets the P10/P50/P90 in plain English |