Leverage, Without the Ruin
Why and how to use leverage in your portfolio if you're a young earner.
9 min read + appendixtl;dr
- I believe the stock market is a positive-expected-value game that I expect to go up in dollar terms over time, for several reasons
- Thus, I want more of my lifetime's wealth to spend as much time in the market as possible, for the best statistical odds of success
- If you're young and employed, most of your income arrives in the future, and doesn't get to spend enough time in the market
- You can simulate having that money now (so it spends more time in the market) by using leverage (borrowing to hold more market exposure than your cash alone would buy)
- This is the same glide path as going from 100% stocks to 100% bonds as you reach retirement. Extrapolate that logic further back and you go beyond 100% stocks (by borrowing)
- Owning a fixed amount of leverage (e.g. 2× or 3×) is a naive, and possibly ruinous, solution
- Instead, you can vary your leverage based on the market's volatility, deleveraging when it's turbulent and re-levering when it's calm
- I backtested this strategy on over 30 years of market history and compared it with fixed leverage across thousands of simulated futures
- In those simulations, I made nearly as much money as fixed 2× leverage in the good futures and lost much less in the bad ones
- Practically, I run this strategy in my tax-deferred accounts, and write the rule down so I follow it when it feels wrong
01Why I expect markets to keep going up
- F
- Footnotes
- C
- External references
Line goes up and to the right, for several reasons.
Economies grow. The economy keeps growing. Ever since the industrial revolution, humans have been on an upward trajectory, where technological innovation begets more innovation, a la Kurzweil's law of accelerating returns.
Indexing the winners. A cap-weighted index does not require me to know where the next wave comes from. Winners become larger weights, companies that shrink matter less, and the index replaces firms that no longer qualify.
Money printer goes brrr. Fiat currencies keep losing purchasing power over time, because central banks keep expanding the money supply, so assets denominated in fiat keep rising in relative terms, even when nothing about the underlying business has changed.
Singularity soon? AI productivity hasn't been factored into the economy yet, and it'll drive progress even faster than we're traditionally used to. Though maybe this is really just the first point in disguise, accelerating returns showing up again.
Capital eats labor's share. More speculatively: as AI pushes the value of human labor toward zero, the returns that used to flow to workers get captured by whoever owns the capital instead. The prosperity we're used to leaned on human labor being scarce and worth paying for, so if you take that away, the gains pool on the ownership side. Plausibly, capital ownership is all that will matter in the far future.
02A lifetime of earnings arrives too late
If the market is a positive-expected-value (EV) game in the long run, you should play it for as long as possible, to make it statistically more likely that you win.
For young investors, most of their income arrives in the future, as a bond-like stream, and doesn't get to spend enough time in this positive-EV game. Ideally, you'd borrow against that future income and invest it in the market now. Leverage allows you to do exactly that.
This is the basic idea behind lifecycle investing: use leverage while you're young, then wind it down as the future income you were borrowing against turns into money you have already earned. It's the classic glide from 100% stocks to 100% bonds as you near retirement. If you extrapolate that same logic earlier in life, you should go beyond 100% stocks (by borrowing, aka having a negative % in bonds).
So, max long UPRO it is? Not quite.
03What fixed leverage costs
Max long UPRO is not the answer because of how it's implemented and what you pay as a cost: volatility decay. If there were an instrument that gave you 3× whatever the S&P 500 returned over fifteen years, our job would be done. There would be no need for this article, just max long that.
But LETFs target leverage on daily returns. Take a day where the market drops 5% and the next where it gains 5%. The index ends down only 0.25%, but at 3× leverage you drop 15% and then gain 15%, leaving you at 0.85 × 1.15 = 0.9775, or down 2.25%. The same up-and-down move costs the 3× fund about nine times as much, and that keeps happening through every choppy stretch.
A choppy or long, drawn-out year or two can leave you in an unrecoverable state. To manage this, we need to vary leverage based on how volatile we expect the market to be, increasing it when we expect smooth sailing ahead and deleveraging when we expect choppiness.
04Volatility decides the leverage
An empirical fact about markets is that jumpy markets tend to stay jumpy, and calm markets tend to stay calm (aka, volatility clusters). In other words, it's much easier to predict how volatile the market will be next month than to predict which direction it'll go, and we can leverage that (sorry).
Another empirical fact is that outsized volatility hasn't translated into proportionally outsized expected returns. During high-volatility periods, you're taking more risk without a corresponding increase in returns. Each dollar of exposure is making a worse bet than it is during a low-volatility period.
Put those two facts together and volatility becomes useful twice over: it gives us a signal we can predict, and it tells us when market exposure is least attractive. Thus, we need to vary our leverage with volatility. Thankfully, Kelly already has us covered: target leverage should rise with expected excess return and fall with variance.
From the simulations I discuss later, the version that worked well used fractional Kelly with β = 0.6, a 10% target return, and hard limits of 0.5× and 3×:
Lt = clamp ( 0.6 · (0.10 − rf) / σt2, 0.5, 3.0 )
σt is trailing EWMA realized volatility and rf is the 3-month T-bill rate. Here is what that rule looks like with a 4% T-bill rate:
Dynamic target leverage by realized volatility
4% T-bill rate · 10% target return · β 0.6 · 0.5×–3× limits
05One backtest isn't enough
I ran this dynamic leverage strategy on S&P 500 data from 1993 to 2026, which covers the dot-com crash, the 2008 financial crisis, COVID, and the 2022 rate shock. Starting with $100k and no contributions, here's how it fared against fixed leverage:
Growth of $100,000 by strategy, 1993 to 2026
No contributions · monthly rebalancing · log scale · lower panel shows dynamic leverage held
I wasn't surprised by the final result. After all, the last ~15 years have been super conducive to any kind of levered strategy: rates were near zero for much of the period, US stocks went on a long bull run, and even the COVID crash recovered within a year.
What I did find promising was that the dynamic strategy avoided the ruinous losses fixed leverage suffered through the dot-com crash and the 2008 financial crisis, and had already pulled well ahead of the S&P 500 by 2011, before the last 15 golden years.
Still, running a single backtest isn't enough, and I wanted more conviction. So instead of relying on the one history we happened to live through, I tested the strategy across thousands of possible futures.
06What the full distribution says
I wanted to know whether this held up when the future didn't look like the last thirty years. So I built eleven different versions of the world: an AI boom, an AI bubble burst, a slow bleed, a rate shock, a prolonged geopolitical freeze, and several others.
Each version moves through different economic conditions, such as expansion, recession, and crisis, that drive returns, volatility, and interest rates together. I randomly sample stretches of those conditions to construct thousands of fifteen-year futures, then compare every strategy on the same underlying market. The weights are my own estimate of how likely each world is, and the full model and weights are in Appendix A.
Before looking at the broad distribution, I wanted to see some actual paths. Each panel below is one simulated world at a different level of “luck,” with all four strategies seeing the same market underneath. You can hit Resample to see more.
Four 15-year simulated futures, four strategies
One market path per luck level · $100k start, no contributions · same path across strategies · log scale
Unlucky · P10
Low · P25
Median · P50
High · P75
Those paths make the differences easier to see, but they are still just anecdotes. Looking across all of them gives me the broad distribution of outcomes I actually care about, because I don't get to choose which future I end up living through.
On final wealth, dynamic basically does what I wanted: it keeps most of fixed 2×'s upside, while its bad outcomes look much closer to 1× than fixed leverage. Fixed 3× still wins the best worlds, but its bad worlds are much worse.
15-year terminal wealth by outcome percentile
$100k start + $2k/month · weighted 11-scenario mix · pre-tax · log scale
The annualized growth rate (CAGR) tells the same story another way: dynamic has the highest median, with a much tighter range than fixed 2× or 3×.
15-year CAGR distribution by strategy
11,000 weighted paths · $100k start + $2k/month · pre-tax · dashed lines mark medians
Drawdown, meaning how far your portfolio falls from a previous high, matters more to me than the extra money in the best paths, and this is where the result is clearest. Dynamic is much closer to 1× than 2×, and nowhere near as bad as 3×. When volatility spikes, it sheds leverage while the fixed strategies keep all of theirs.
Maximum drawdown distribution by strategy
11,000 weighted 15-year paths · $100k start + $2k/month · pre-tax · dashed lines mark medians
Here are the exact numbers, including how often each strategy finishes below the money contributed:
The actual chances of each future playing out may be different from the weights I estimated. But the relative results don't change much across different weightings, which gives me more conviction in the strategy.
There are also real costs in the way: LETFs pay financing costs and daily-reset drag, options pay through IV premium and spreads, and dynamic trading can realize taxes. I model the instruments in Appendix D and taxes in Appendix F. After accounting for those, I still get the same answer as the historical backtest: dynamic keeps most of fixed leverage's good outcomes and makes the bad ones much less ruinous. That is enough conviction for me to run it for real.
07What I actually do
In conclusion, these experiments have given me enough conviction to borrow against the future income I actually expect to earn, and deploy it more intelligently in this positive-EV game.
The practical implementation is messier, and some of it is covered in the appendix: I run this strategy in the tax-deferred portion of my portfolio. I also use VOO* instead of limiting myself to the US-domiciled companies in VOO, because a lot of the AI and technology value chain is international. The instrument construction and tax treatment are in Appendices D and F.
I expect my portfolio to still have bigger drawdowns than plain old VOO and chill. Having run these experiments and written the argument down gives me enough conviction to follow the rule even when it feels wrong in real time, which it will.
I can't forecast the future, but I can try to put more of my lifetime income behind an economy that keeps growing and recursively improving.
Technical appendix Under the Hood AI disclosure: I used AI to help write code, run analyses, and edit this essay. I wrote the main essay in my own words; the technical appendix is more heavily AI-assisted. The main essay gives the argument. Below are the worlds I simulated, the strategy choices I tested, why I picked the final values, the fund constructions I compared, a brief note on VOO*, and the tax model I had to rebuild after its first answer was wrong. Open technical appendix Close technical appendix
AThe simulated worlds
The historical backtest gives me one path, and one path is nowhere near enough to choose a leverage rule. For the decision grid I generate fifteen-year paths with six hidden macro regimes: Expansion, LateCycle, Recession, Crisis, Stagflation, and Recovery.
One regime drives equity returns, volatility, short rates, and the yield curve at the same time, so a rate shock cannot accidentally arrive with boom-time equity returns and free financing. GARCH lets volatility stay hot after a shock instead of resetting the next month, Student-t innovations make large moves happen more often than a normal distribution allows, and the S&P 500 history supplies the ordinary return and volatility anchors.
Eleven versions of the future
A calibrated base model is still one view of the future. I don't want that view hidden inside the model, so I make it explicit. Sixty percent of the scenario weight encodes what I currently believe, including the AI melt-up, the possibility of a fast AI bust, a higher-growth gear change, a bad rate shock, and the small geopolitical catastrophe tail. The remaining 40% gives ordinary history and slower bear markets enough weight to beat me if the whole thesis is wrong.
| Scenario | What the path looks like | Weight | Role |
|---|---|---|---|
| Bumpy melt-up | above-trend drift with shallow, fast dips | 28% | forward view |
| AI bust (fast V) | compute overbuild crashes and then recovers | 12% | forward view |
| Gear change | growth steps up and stays there | 9% | forward view |
| Rate shock | 2022-style inflation and multiple compression | 7% | forward view |
| Deep freeze | Taiwan or chips shock, down hard for a year or more | 4% | forward view |
| Base / Expansion | historical process starting in expansion | 12% | counterweight |
| Bear market | an ordinary historical bear draw | 7% | counterweight |
| Base / Stationary | historical process with a random starting regime | 6% | counterweight |
| Slow bleed | a lost-decade grind instead of a quick crash | 6% | counterweight |
| Base / LateCycle | historical process starting late in the cycle | 5% | counterweight |
| Policy instability | higher rates, taxes, labor shocks, and political drag | 4% | counterweight |
I choose those weights before the run, and the model never estimates them for me. The two regimes that matter most to the left tail, Crisis and Stagflation, are also the two that 1993 to 2026 cannot calibrate honestly, because the sample has few true crises and no 1970s stagflation. I trust the ranking across worlds much more than the terminal dollar amount from their weighted mixture.
Keeping strategy comparisons matched
Every strategy starts with $100k, receives the same $2k monthly contribution, and sees the same seeded market path and financing rates. Signals are lagged, so no strategy trades on tomorrow's information, and I inspect the return, volatility, rate, and regime mix of the unlevered world before counting its result. The fan charts use 200 paths per scenario, or 2,200 total, while the decision grids use 1,000 to 2,000 per scenario.
Before I trust a simulated world, I check that recent variance predicts later variance without predicting later returns. If that relationship disappears, the simulation has also removed the reason for varying leverage with volatility.
BThe strategy choices
The formula from Section 4 is short, but it still leaves several choices open:
Lt = clamp ( β · (rtarget − rf) / σt2, Lmin, Lmax )
I read rf from the 3-month T-bill rate at each check rather than choosing it. I split the remaining choices into two groups: the ones that change the leverage target, and the ones that decide when that target becomes a trade.
Choices inside the formula
| Control | What it changes | Values considered | Choice |
|---|---|---|---|
| Kelly beta (β) | scales the whole Kelly recommendation up or down | 0.4 to 0.8 | 0.6 |
| Target return | sets the expected market return in the numerator | 8 / 10 / 12 / 14 / 16% | 10% |
| Volatility estimate | decides how strongly recent turbulence cuts the target | 1M / 3M / EWMA / GARCH oracle | EWMA |
| Maximum leverage | caps the formula in very calm markets | 2.0 / 2.5 / 3.0× | 3.0× |
| Minimum leverage | keeps some market exposure in extreme volatility | held fixed | 0.5× |
I also test a GARCH oracle that gets to see the simulator's true hidden conditional variance. I cannot see that in real life, so it only tells me how much a perfect volatility estimate would buy. Every strategy I could actually run uses observed returns.
Choices about execution
| Control | What it changes | Values considered | Choice |
|---|---|---|---|
| Rebalance cadence | how often I recalculate and consider trading the target | monthly / quarterly / semiannual | monthly |
| No-trade band | how far the target must move before I trade | 0 / 0.15 / 0.25 / 0.40 | 0.25 |
| Re-lever speed | how quickly I add exposure after a lower target turns upward | slow / snap | snap (1.0) |
At this point I have a leverage target and a rule for when to trade it. I still need to turn the target into actual funds and account for the taxes created by rebalancing. Those are Appendices D and F.
CWhy I chose these values
Once the worlds were fixed, I changed one family of choices at a time while keeping the random seeds matched. I judged p10 wealth, median, p75, p90, drawdown, and the odds of finishing below contributions together rather than optimizing one headline number.
Choosing beta and target return
Beta and target return set the amount of risk before the execution details matter. Beta 0.6 bought meaningful upside over 0.5, while 0.7 added little to the center and made drawdowns materially worse. A 10% target return won p10 in 10 of 11 scenarios and the median in 8 of 11. Raising it from 10% to 12% pushed p75 from $3.72M to $4.44M and p90 from $8.13M to $11.08M, but p10 fell from $298k to $238k and p10 drawdown worsened from 67.7% to 74.8%. The median barely moved. That is too much left tail for upside that only shows up when my bullish scenarios get most of the weight.
Choosing the signal, cap, band, and cadence
With beta and target return fixed, the last implementation sweep crossed the volatility signal, cap, band, and cadence on the same 11,000 paths. The rows below were enough to make the choice:
| Configuration | p10 | Median | p75 | p90 | p10 drawdown |
|---|---|---|---|---|---|
| Monthly / EWMA / cap 3 / band 0.25 | $293k | $1.64M | $4.45M | $10.20M | −69.7% |
| Same, with no band | $296k | $1.65M | $4.44M | $10.13M | −69.4% |
| Same, with cap 2.5 | $300k | $1.56M | $3.89M | $8.33M | −67.0% |
| Quarterly, otherwise selected | $258k | $1.49M | $4.10M | $10.00M | −75.1% |
The volatility estimate was the least dramatic decision. EWMA matched trailing 3M volatility in the bad paths and did better through the middle and upside. The GARCH oracle did better, as it should, but I cannot trade on hidden simulator state. Raising the cap from 2.5× to 3.0× bought enough p75 and p90 to justify the smaller p10 cost.
Monthly was the clearest choice, because quarterly lost money across the distribution and somehow had a deeper bad-path drawdown too. The band was much closer: checking monthly and trading every target change produced almost the same distribution, so I kept 0.25 as a behavioral and tax guardrail. Most monthly checks now end with no trade.
Snap re-levering is the one place my forward view directly changes the implementation. Moreira and Muir's estimates support cutting quickly after a variance shock and adding exposure back more slowly, while my scenario prior puts more weight on shallow dips that recover before a slow rule gets back in. The matched runs favored snapping to target, so I follow that result and I would revisit it first if my view changed toward long, grinding recoveries.
DInstruments and construction
A 1.7× target is only a number, so I still need to turn it into funds I can actually hold. These are the liquid S&P 500 building blocks I use, and the leveraged ones target a multiple of each day's return rather than a multiple of the return over my whole holding period.
| Fund | Daily leverage target | Expense ratio | 3-month avg. daily dollar volume |
|---|---|---|---|
| VOO | 1× | 0.030% | $5.6B |
| SPY | 1× | 0.095% | $39.5B |
| SSO | 2× | 0.870% | $244M |
| SPUU | 2× | 0.600% | $4.7M |
| UPRO | 3× | 0.890% | $408M |
| SPXL | 3× | 0.840% | $576M |
Expense ratios are current net fund expenses. Dollar volume is the rounded 3-month average share volume multiplied by the current fund price.
SPUU is cheaper than SSO but trades about two orders of magnitude less each day. SPY, SPUU, and SPXL are possible same-multiple tax-loss-harvesting candidates, not funds I switch into casually based on the day's spread or tracking.
Tax-loss harvesting
The second ticker at each leverage level may be useful when harvesting a loss, but the IRS gives no ETF-specific safe harbor for funds tracking the same index. Publication 550 applies the substantially-identical test across accounts, including an IRA, so I treat any swap as a tax-advice question. That means checking purchases and dividend reinvestment across every account during the full 30-day window before and after the sale. I credit no harvesting benefit in the simulation.
Turning a target into holdings
Below 1×, I hold L in VOO and leave 1−L in T-bills. Between 1× and 3×, I use the two endpoints and hold (3−L)/2 in VOO and (L−1)/2 in UPRO. At a 2× target, for example, 50% VOO contributes 0.5× exposure and 50% UPRO contributes 1.5×, which adds to 2×.
| Target | VOO | UPRO | T-bills |
|---|---|---|---|
| 0.5× | 50% | 0% | 50% |
| 1.0× | 100% | 0% | 0% |
| 1.5× | 75% | 25% | 0% |
| 2.0× | 50% | 50% | 0% |
| 2.5× | 25% | 75% | 0% |
| 3.0× | 0% | 100% | 0% |
The endpoint barbell leaves less capital sitting inside an expensive leveraged fund than an adjacent VOO/SSO/UPRO construction. At 2×, half the portfolio pays UPRO's fund expense while the whole portfolio would pay SSO's, and both constructions finance the same extra 1× notional. Their leverage also drifts differently between monthly checks, so I tested the complete constructions rather than comparing expense ratios on paper.
| Construction | p10 | Median | p75 | p90 | p10 drawdown |
|---|---|---|---|---|---|
| Adjacent 1×/2×/3× funds | $293k | $1.64M | $4.45M | $10.20M | −69.7% |
| VOO/UPRO endpoint barbell | $296k | $1.67M | $4.55M | $10.42M | −69.3% |
Taxable changes the answer because keeping a VOO/UPRO barbell at 2× means selling whichever side has run ahead. I ran the pure S&P 500 constructions again through the corrected tax ledger, this time as a fixed 2× position:
| Construction | p10 | Median | p75 | p90 | Median interim tax |
|---|---|---|---|---|---|
| 100% SSO, buy and hold | $106k | $952k | $2.96M | $7.66M | $0 |
| 50% VOO / 50% UPRO, rebalanced | $103k | $972k | $2.95M | $7.21M | $47k |
So I use the endpoint barbell where rebalancing is sheltered and buy-and-hold leveraged funds where selling would repeatedly realize gains. The table only isolates the S&P 500 instrument choice, while the complete taxable VOO* implementation also has account and financing details that I do not publish here.
LETFs vs. LEAPS
I modeled deep in-the-money LEAPS because both instruments are ways to borrow against the index, and I wanted to choose the risk distribution before choosing the wrapper. Daily-reset LETFs pay through financing, expenses, and realized-variance drag, with the path-dependent part roughly −½ L(L−1) σ²T. Daily compounding helps in a smooth trend and hurts in a choppy flat market.
The LEAPS model buys calls about 20% in the money with two years left, rolls them annually, and puts the unspent cash in T-bills. The loss floor improves the ugly paths, while implied volatility, skew, bid/ask spreads, theta, and the roll all take their share.
One LEAPS contract is not path dependent over its one- or two-year life: its payoff depends on where the index ends up, not the route it took there. But decade-long exposure requires a sequence of contracts, and each roll depends on the index level and option price at that moment, which makes the full strategy path dependent.
| Instrument | p10 | Median | p75 | p90 | p10 drawdown |
|---|---|---|---|---|---|
| LETF | $293k | $1.64M | $4.45M | $10.20M | −69.7% |
| LEAPS | $310k | $1.57M | $3.90M | $8.30M | −66.8% |
LEAPS won p10 in 8 of 11 scenarios and improved p10 drawdown by 2.9 points. LETFs won the median, p75, and p90, including a 23% advantage at p90. At my risk tolerance, I take LETFs.
I only trust this result for this SPY rule and the long-dated IV, skew, spread, and roll behavior I assumed. The taxable engine also only supports LETFs. I removed LEAPS from the active research grid because modeling sparse deep-ITM liquidity, strike breaches, crash-time rolls, and the holding period honestly would require live-chain calibration and a separate tax ledger. Any real LEAPS implementation starts with live quotes and a written roll rule.
EThe VOO* completion
The simulations and every result in this essay use plain VOO, so they are evidence for the leverage rule on the S&P 500 rather than a backtest of the completed VOO* portfolio. VOO* is how I apply the rule: VOO exposure plus a small cap-weighted basket of foreign mega-caps such as TSMC, ASML, Samsung, and Tencent, because the S&P 500's U.S. incorporation rule leaves out several companies that sit directly inside the compute stack.
The foreign shares are ordinary 1× securities, but I hold them inside a leveraged household portfolio and finance them as part of the whole construction, so describing the basket itself as unleveraged would be wrong. The exact account placement and financing are outside this essay.
FTaxes, done honestly
Tax is the strongest argument for fixed leverage. I can buy SSO once, hold it, and defer the gain until liquidation, while the dynamic rule has to trim appreciated shares whenever volatility pushes its target down.
Why the first tax result was wrong
My first taxable run made the dynamic strategy look bad enough to flip the decision, with a weighted median around $465k. When I traced the median path month by month, the ledger had taxed every winning sale while throwing away the realized losses, used New York's 10.9% rate even though I live in New Jersey, and sold more shares to pay the tax without recording those funding sales as taxable events.
On that one path it counted $1.824M of gross gains, ignored $881k of realized losses, and charged $927k. Same-year netting alone cut the rough estimate to $535k before fixing the state rate or the tax-on-tax-payment sales, so the result was unusable and I rebuilt the ledger.
What the corrected ledger does
| Part | Implementation |
|---|---|
| Federal rates | 23.8% long-term and 40.8% short-term, including NIIT |
| New Jersey | 6.37% on modeled gains, with same-year loss netting and no state carryforward |
| Federal losses | short- and long-term netting each year, then carryforwards into later years |
| Lot selection | specific lots with the lowest estimated current tax, including holding period |
| Exposure sales | contributions first, then the lowest-tax sale that gets leverage back to target |
| Tax payments | paid annually from T-bills first, with every funding sale added back to the ledger |
| Final value | every remaining position liquidated and taxed at the end of year 15 |
Six lot-level tests cover short-term loss netting, federal carryforwards, New Jersey's lack of carryforwards, holding periods, tax-funding sales, and contribution-funded costs. I also audited representative paths transaction by transaction, and their pre-tax histories reproduce the compiled simulation before any tax is applied.
The tax-aware version also allows the VOO/SSO/UPRO/T-bill mix to drift inside the leverage band instead of trading every sleeve back to an exact weight.
| Strategy | p10 | Median | p75 | p90 | Median interim tax |
|---|---|---|---|---|---|
| Fixed 1× (buy & hold) | $272k | $913k | $1.58M | $2.43M | $0 |
| Fixed 2× (buy & hold) | $106k | $952k | $2.96M | $7.66M | $0 |
| Fixed 3× (buy & hold) | $52k | $858k | $4.66M | $20.77M | $0 |
| Dynamic (naive FIFO) | $248k | $863k | $1.56M | $2.59M | $415k |
| Dynamic (tax-aware) | $258k | $1.04M | $2.17M | $4.06M | $292k |
The tax-aware strategy recovers most of the avoidable damage. Dynamic still trails fixed 1× at p10, then beats it from the median through p90. Fixed 2× and 3× keep much more of the right tail through deferral and pay for it with far worse p10 outcomes.
This simulation covers capital gains only. It leaves out progressive brackets and NIIT thresholds, wash-sale adjudication, the federal $3k ordinary-loss deduction, dividends, T-bill distributions, charitable gifting, and basis step-up, so I do not credit any of those as free alpha.