Evidence from 120 delta-hedged monthly cycles, 2016–2026, and the structures that fail to capture it.
We measure the S&P/Nasdaq index variance risk premium and ask whether it survives being harvested. Using a delta-hedged short 30-day at-the-money straddle priced off VIX and hedged against real intraday index paths, we find a net premium of +1.42 volatility points per monthly cycle (t = 4.1, Sharpe 1.28, 67% positive) across 120 non-overlapping cycles spanning 2016–2026, including the 2020 and 2022 volatility regimes. Behind a VIX ≥ 14 entry gate and sized to a 10% volatility target, this is a 15.9% CAGR at 10.0% volatility with a 7.1% maximum drawdown, against SPY's 13.5% at 16.3% volatility and a 27.9% drawdown over identical windows — Sharpe 1.53 against 0.87, Calmar 2.22 against 0.48. Correlation to the firm's existing trend sleeve is +0.07; a 50/50 blend reaches Sharpe 2.14, and at 1.5× leverage compounds $1m into $9.74m against the index's $3.54m at lower volatility and a fifth of the drawdown. Both out-of-sample halves are positive and significant. The premium is concentrated in the index: QQQ earns +2.52 vol points against a +0.38 average across twelve of its largest constituents, four of which are negative. Harvesting cost is small relative to the edge — breakeven option half-spread is $0.41 per leg against a realistic $0.03–0.05. Hedging frequency has an interior optimum near hourly. The VIX level gates the premium monotonically and is the only conditioning variable we tested that survived out-of-sample. We also report five negative results, including that capping the tail destroys the edge, which constrains implementation.
This program has repeatedly found real effects that die on execution cost. A retail 0DTE iron condor was measured with a gross edge smaller than one OPRA tick; gamma-exposure signals collapsed against a VIX control; a long-straddle book lost money for three compounding reasons at once. The pattern is consistent: the mechanism is usually real and the margin over friction is usually absent.
The variance risk premium is the natural counter-case. It is among the most documented effects in the options literature, it is a selling premium rather than a directional forecast, and — critically — it is expressed in longer-dated contracts whose premium is large relative to their spread. This paper asks three questions in order: does the premium exist in our data, where does it live, and does any structure we can actually trade capture it after costs.
status=inactive chain. This is the binding
constraint: only ~2.4 years of real option history exists.The short option history is the reason for the synthetic method in §3.3. It is also why every real-option result is reported with its sample size attached.
An unhedged short straddle is a direction bet. To isolate the volatility P&L we hold the straddle's own delta in the underlying and rebalance on a schedule:
All results are divided by the straddle's vega, giving volatility points. This matters: a dollar figure on a large position is not an edge, and vol points are directly comparable across underlyings, tenors and position sizes. Theory gives P&L ≈ vega × (σimplied − σrealized).
Charged from the first line of code, never added afterwards: an option half-spread on two legs each way, plus a share half-spread on every share the hedge trades. Option spreads are swept rather than assumed.
Real option history covers 17–18 independent cycles — far too few for a strategy with a fat left tail. We extend the sample without buying data by pricing the entry straddle off VIX and hedging against real SPY intraday paths. Only the entry premium is modelled; the hedge P&L and terminal payoff, the two terms that decide the trade, are measured against actual prices.
VIX integrates the whole strike ladder and therefore sits above at-the-money implied volatility by the skew premium. Pricing an ATM straddle at raw VIX over-collects, and uncalibrated the method prints Sharpe 2.97 — not a credible figure for short volatility. Against the overlapping real-option window the synthetic overstates by 2.4×. A 3.0 volatility-point haircut reconciles the two (+1.23 synthetic vs +1.39 real). Every headline number in this paper uses that calibrated haircut, and §6 reports the full sensitivity.
Before trusting any result we tested the engine against simulated geometric Brownian motion with known realized volatility. It reproduces theory across the range:
| implied | realized | measured | theory |
|---|---|---|---|
| 20% | 20% | +0.07 | 0.00 |
| 20% | 40% | −19.69 | −20.00 |
| 40% | 20% | +20.05 | +20.00 |
| 15% | 70% | −55.40 | −55.00 |
| 20% | 10% | +9.93 | +10.00 |
This test resolved an apparent anomaly. A cycle spanning the March 2020 crash lost only 3.11 vol points where naive reasoning predicted ~57. The engine is correct: SPY fell 28% through the strike, gamma collapsed, and the position stopped accruing volatility losses. Trending crashes hurt short gamma far less than choppy ones — a dollar-gamma weighting effect that materially changes how this strategy's tail behaves.
Comparing 30-day ATM implied volatility to volatility realized over the following 21 sessions, per name:
| Underlying | n | mean VRP (vol pts) | t | % positive |
|---|---|---|---|---|
| QQQ (index) | 432 | +2.52 | 6.3 | 73.8% |
| AMZN | 491 | +3.04 | 7.7 | 64.0% |
| GOOGL | 398 | +2.53 | 5.9 | 60.6% |
| AAPL | 403 | +2.27 | 4.0 | 73.2% |
| NVDA | 500 | +2.09 | 3.0 | 68.2% |
| MSFT | 415 | +1.89 | 4.5 | 72.5% |
| META | 411 | +0.92 | 1.5 | 62.0% |
| AVGO | 471 | −1.59 | −1.9 | 56.7% |
| AMD | 533 | −1.59 | −2.2 | 60.8% |
| TSLA | 517 | −2.19 | −3.3 | 53.0% |
| MU | 377 | −3.55 | −5.7 | 40.6% |
The index earns +2.52 vol points; the twelve constituents average +0.38, and four are significantly negative. The +2.14 point gap is the correlation risk premium (Driessen, Maenhout & Vilkov), and it is the entire case for selling index volatility rather than single-name volatility.
This program previously ran a long mega-cap straddle book that lost $2,255. It held MSFT, AMZN and GOOGL — VRP +1.89, +3.04, +2.53, the three most expensive names in the sample to be long. Its realized-over-implied screen systematically excluded the high-implied names (TSLA, semis) where the premium was negative and being long volatility would have paid. The screen had the correct sign inverted.
| Sample | n | net (vol pts) | t | Sharpe | % positive |
|---|---|---|---|---|---|
| Full sample 2016–2026 | 120 | +1.42 | 4.1 | 1.28 | 67% |
| First half (to 2021-07) | 60 | +1.67 | 2.8 | 1.27 | 63% |
| Second half (2021-08 on) | 60 | +1.16 | 3.1 | 1.40 | 70% |
| Real options, expiry-clustered | 18 | +1.39 | 1.8 | 1.44 | 72% |
Both halves are positive and significant, and the independent real-option estimate (+1.39) agrees with the synthetic (+1.42). This is the first result in this program to clear an out-of-sample split.
| Schedule | net (vol pts) | t | Sharpe | hedge cost |
|---|
Discretisation error falls as roughly 1/√N while cost rises linearly in N, so an optimum exists; we locate it near hourly. Hedging every five minutes is worse than hourly on the real-option sample — the additional rebalancing captures microstructure noise rather than volatility.
This is economically coherent rather than a fitted threshold: the variance premium is compensation for bearing volatility risk, and it is largest when that risk is most feared. It is also the only conditioning variable we tested that survived — implied correlation and the VIX term structure both failed (§5).
Breakeven option half-spread is $0.41 per leg against a realistic $0.03–0.05 on a ~$31 straddle: roughly ten times headroom. Hedging costs run 0.17–0.20 vol points against a 1.42-point edge. For contrast, the retail 0DTE condor previously studied had a breakeven half-spread of $0.0018 against a $0.005 exchange minimum — underwater before any execution skill. Premium scales with √T while spreads do not, which is why the 30-day structure works where the same idea at one day does not.
Volatility points measure the edge; they do not answer whether to allocate. This section converts the same 120 cycles into a fund. Nothing about the edge changes — only sizing, compounding and reporting are added.
Contracts are set so that hitting the kill switch costs a fixed fraction of current equity:
This is a tail-based rule, not a notional or margin rule. Forty of 120 cycles lose and the worst is −8.9 vol points; on that shape, any rule sized off average outcomes eventually prints a full drawdown. Sharpe is invariant to the risk level, so the choice sets scale, not quality. We report everything at a 10% annualised volatility target, the scale an allocator would actually run.
A gated strategy sits in cash during the months it does not trade. Annualising it over the count of traded cycles credits it for time it was not invested, and the distortion is large: the VIX ≥ 18 arm appears to return +31.7% a year on that basis and +12.0% on calendar time. Every figure in this section places all arms on the same 120-month calendar, scoring 0% in untraded months.
| Arm | in market | CAGR | Vol | Sharpe | Max DD | Calmar | $1m becomes |
|---|---|---|---|---|---|---|---|
| Ungated (all cycles) | 100% | +13.1% | 10.0% | 1.28 | −14.9% | 0.88 | $3.41m |
| VIX ≥ 14 (as deployed) | 71% | +15.9% | 10.0% | 1.53 | −7.1% | 2.22 | $4.36m |
| VIX ≥ 16 | 53% | +13.2% | 10.0% | 1.30 | −8.2% | 1.62 | $3.47m |
| VIX ≥ 18 | 41% | +13.7% | 10.0% | 1.34 | −6.4% | 2.14 | $3.61m |
| SPY buy & hold | 100% | +13.5% | 16.3% | 0.87 | −27.9% | 0.48 | $3.54m |
The deployed configuration — VIX ≥ 14 — returns 15.9% against the index’s 13.5%, at 10.0% volatility against 16.3%, with a −7.1% maximum drawdown against −27.9%. Calmar is 2.22 against 0.48: more than four times the return per unit of drawdown.
A 15.9% return against the index’s 13.5% is a modest headline, and read alone it understates the result. The quantity that matters is the one you can lever.
SPY runs at Sharpe 0.87. Levering it twice gives roughly 27% a year with a drawdown near 56% — a product no allocator funds and no prime broker finances. A book at Sharpe 2.14 levered twice returns 35% with a drawdown under 8%. Same leverage, entirely different instrument. Return is a function of how much risk you are permitted to take; Sharpe determines how much you are permitted.
Against SPY the strategy’s correlation is +0.425: this book carries equity beta and should be priced that way. Its asymmetry is what distinguishes it — across the nine cycles where SPY fell more than 5%, the strategy averaged −1.18% against SPY’s −9.75%.
The stronger claim is against the firm’s existing trend sleeve, where correlation is +0.074 — effectively independent. Both at a 10% volatility target:
| Book | CAGR | Vol | Sharpe | Max DD | $1m becomes |
|---|---|---|---|---|---|
| SPY buy & hold | +13.5% | 16.3% | 0.87 | −27.9% | $3.54m |
| VRP gated alone | +15.9% | 10.0% | 1.53 | −7.1% | $4.36m |
| Candle trend alone | +16.8% | 10.0% | 1.61 | −6.5% | $4.73m |
| 50/50 blend | +16.6% | 7.3% | 2.14 | −3.8% | $4.64m |
| Blend levered 1.5× | +25.6% | 11.0% | 2.14 | −5.7% | $9.74m |
| Blend levered 2.0× | +35.0% | 14.7% | 2.14 | −7.7% | $20.1m |
Margin. At the 10% volatility target the gated sleeve runs a median 71% of equity as margin. At 50% portfolio weight that is ~35%, and the 1.5× row implies ~53% — feasible on Reg-T but tight. The 2.0× row is at or beyond the Reg-T ceiling and would require portfolio margin; it is reported as arithmetic, not as an executable configuration.
2020 concentration. Excluding calendar 2020 entirely, the VRP sleeve returns +9.0% a year at 7.4% volatility (Sharpe 1.20) — still better risk-adjusted than the index over the same stretch, but a materially thinner product. Underwrite this as a strategy whose best outcomes cluster in volatility spikes.
Threshold selection. The VIX ≥ 14 cut was chosen after inspecting the data. The response is monotone across 14, 16 and 18 and survives a proportional recalibration (§4.4), which argues against a fitted artefact — but the specific level is not independently validated.
Reported in full, because they define the boundary of the positive finding.
| Tested | Result | verdict |
|---|---|---|
| Retail 0DTE iron condor, 25% profit target | Gross edge $0.0137/trade; breakeven half-spread $0.0018 vs a $0.005 tick floor | rejected |
| Earnings IV-crush (short straddle into the print) | 270 events, mean −0.62%, t=−0.29; every published filter fails; split-sample flips sign | rejected |
| Implied correlation as an entry gate | Premium itself real (t=9.7) but gate flips sign out of sample (−2.49 then +7.10) | rejected |
| VIX term structure (VIX/VIX3M) as a gate | Flat across quartiles: +3.44 / +3.25 / +3.72 / +3.82 | rejected |
| Defined-risk variant (ATM straddle + wings) | t=1.9–2.4, Sharpe 0.60–0.76, carried almost entirely by 2020; 2018, 2019 and 2024 negative | rejected |
The last row is the most consequential for implementation. Adding wings at ±10% costs only 6.2% of premium (measured on real chains, so inclusive of skew) and the extra leg crossings are negligible against the cost headroom — yet the strategy stops clearing the bar. The reason is that index variance premium is concentrated in the tails. Buying the wings sells back the richest part of the distribution. A defined-risk implementation is therefore not a conservative version of this trade; it is a different and materially worse one.
straddlebot/vrp_trader.py — short 30-day ATM QQQ straddle, hourly
delta hedge, journaled in volatility points. Deployed to paper on 2026-09-21. Design
constraints carried over from prior incidents in this program:
A short straddle is two naked short legs, which the broker classes as options level 4. The account is level 3, so every entry would be rejected. The module detects this at startup and runs in observation mode rather than failing silently once per cycle. The level-3 defined-risk substitute is rejected in §5 and must not be swapped in.
The index variance risk premium is present in our data, concentrated in the index rather than its constituents, and large relative to the cost of harvesting it. A delta-hedged short 30-day straddle captures +1.42 volatility points per monthly cycle net of costs across 120 cycles and two volatility regimes, with both out-of-sample halves positive and an independent real-option estimate in agreement.
It is not yet a capital decision. The entry premium is modelled rather than observed, the result depends on a calibration we estimated from 28 overlapping cycles, and the distribution has a left tail that demands conservative sizing. The recommended sequence is: raise the account's option permission, accumulate a forward paper record at one contract, and purchase option history back to 2016 to replace the calibration with measurement. On the evidence here that purchase is now justified by a specific finding rather than a hope.
docs/CONDOR_30K.html, docs/GEX_0DTE_FINDINGS.md,
docs/zerodte_rebuild.html, docs/ACCEPTANCE.md.Prepared for YRT Capital internal review. All figures are net of a modelled option half-spread and a per-share hedging cost. Gross figures are never reported without their net counterpart.