Skip to content

Summary

Four findings, in increasing order of how much they matter.

  1. The straddle book was never gated by the regime mapping — it cannot have been.
  2. The mapping's eligible-families table never lists straddles, in any row.
  3. The rules that actually govern the book live in prompt prose, outside the mapping, outside mapping_version, and outside the amendment quorum.
  4. Straddles are absent from the table not by oversight: the mapping gates on a premise (is vol rich or cheap) that is orthogonal to the edge this book claims (exit-path management). The gate answers a question the book is not asking.

No amendment is proposed. One of the two recommended actions is cheap and governance-only; the other is blocked on data we do not have.

A fifth finding emerged from the backtest and corrects an error in this document's own first draft: measured properly, the mapping's long-vol row is right, and the reason is the term-structure conjunction rather than the vol level. See §5.

1. The book was never gated

Every straddle open record in the position ledger carries event_date: null and the flag entry-date-not-recorded:

spy-765-straddle-260918      event_date=None  entry-date-not-recorded
nvda-2275-straddle-260918    event_date=None  entry-date-not-recorded
tlt-82-straddle-260918       event_date=None  entry-date-not-recorded
tsla-365-straddle-261016     event_date=None  entry-date-not-recorded
eix-55-straddle-261016       event_date=None  entry-date-not-recorded
pcg-14-straddle-261016       event_date=None  entry-date-not-recorded
nvda-220-straddle-261002     event_date=None  entry-date-not-recorded

So no entry can be tied to a regime. And it is worse than missing bookkeeping: the regime layer's first non-null label is 2026-09-18 (calm-contango-vrp+). Every record before that has raw_label: null — the VIX3M mixed-instant defect era, corrected 2026-09-17. The Sep-18-expiry straddles necessarily predate the gate producing any label at all.

There is therefore no evidence any position in this book passed a regime gate, and for the earliest three there was no gate to pass.

2. The table has no row for them

88-framework/decision-function.md, derived from regime_config.json:

Regime Eligible families Forbidden
Calm contango, positive VRP condors, calendars, diagonals naked tails, ratio backs
Elevated vol, backwardation defined-risk debit spreads, calendars w/ long-vol legs new premium selling, 0DTE shorts
Transition no new risk; manage existing everything new
Event-window no new risk by default undefined-risk shorts

Long straddles appear in no row. Row 1 — the dominant regime, ~65% of the 17-year sample — admits three premium-selling families. A long straddle is not forbidden there either: the gate is simply silent, and silence has been read as permission.

3. The governing rules are prose in an operational artifact

What actually governs the book is line 14 of the live options-round-analyst prompt:

LONG-VOL STRADDLE BOOK (current book): the edge is the EXIT PATH (EV_RN≈0 entry signature; static holding burns EV_PHYS — measured −21.9% of risk on SPY 765). Calm tape: hold to exit targets, monitor EV_PHYS drain per round. Risk-off/backwardation: straddles are the hedge book — adds only via a full sizing.py pass. Transition: exits/rolls only.

That is a coherent rule set, and for new entries it is consistent with the mapping: in calm-contango, neither the mapping nor line 14 authorises a new straddle. The live gating is not currently permissive.

The problem is where the rule lives. It is not in regime_config.json — the file that calls itself "CANONICAL source of mapping v0 regime bands". It is not in the decision-function table. It is not covered by mapping_version, and it is not subject to the amendment quorum. A prompt edit could authorise straddle entry in calm regimes without a mapping amendment. That is the same shape as everything else corrected this week: a governance-level rule carried in prose that no deterministic layer enforces.

4. Why straddles do not fit the axis at all

This is the part that makes the gap structural rather than clerical.

The mapping's axis is vol richness: rich implied → sell premium; cheap or backwardated → buy. The book's claimed edge is explicitly not vol richness. From 85-computations/ev-ladder.md:

the pilot's long-vol book has EV_RN ≈ 0 at entry by design and its edge lives in the exit path

and line 14 puts a number on the alternative: static holding burns −21.9% of risk on SPY 765.

So the framework already asserts that these positions are not entered because vol is cheap. They are entered flat and managed out. A gate that scores vol richness cannot discriminate them — which is exactly why no row fits.

5. What 17 years say about the one long-vol row

From the Tier 1 backtest (4,231 scored days, 2009–2026). For a long position the sign flips: you want vrp_realised < 0, meaning realised vol exceeded implied.

A correction to my own first pass. I began with the mean and concluded that normal-backwardation was the least adverse regime while stressed was four times worse. That ordering is an artefact of using the mean on a convex payoff — the very error this document warns about two paragraphs later. Recomputed on the statistic that actually fits the position, the conclusion largely reverses.

Mean is positive in all sixteen regimes. In seventeen years there is no regime where realised exceeded implied on average, at index level. True, and nearly useless on its own.

Frequency and magnitude, which is what a convex position lives on:

regime n long-win % median win best
calm-flat-vrp+ 201 25.4% −0.0280 −0.6279
stressed-backwardation-vrp+ 41 22.0% −0.3917 −0.4669
calm-contango-vrp+ 1503 19.6% −0.0387 −0.6517
normal-backwardation-vrp+ 44 18.2% −0.1794 −0.5645
normal-contango-vrp+ 489 8.8% −0.0268 −0.0991
stressed-contango-vrp+ 36 2.8% −0.0070 −0.0070
stressed-flat-vrp+ 132 0.0% — +0.0069

By VIX band:

band n long-win % median win
calm 2970 16.9% −0.0350
normal 1020 12.1% −0.0500
stressed 241 4.6% −0.3917

Stressed regimes win least often and win roughly eleven times bigger when they do. That is the convex profile, and the mean flattens it into the opposite answer.

What this says about the mapping

The mapping's long-vol row is vindicated, not undermined. stressed-backwardation-vrp+ has the best frequency-and-magnitude profile of any regime in the sample: a 22% hit rate with a −0.39 median win. My mean-based pass called it four times worse than normal-backwardation; it is the best row on the table.

But within stressed, the discriminating axis is TERM STRUCTURE, not the VIX band — and that is the sharper finding:

  • stressed-backwardation → 22.0% win rate, median win −0.3917
  • stressed-contango → 2.8%
  • stressed-flat → 0 wins in 132 days

So "elevated vol" alone is not the signal. High VIX with a flat or contango term structure is the single worst place to be long vol in seventeen years — worse than anything in calm — while high VIX with backwardation is the best. The mapping already requires backwardation alongside elevated vol, so it has this right; the evidence says that conjunction is doing all the work and the VIX band alone would be actively misleading.

Frequency, unchanged: backwardation of any kind is 101 of 4,231 days — 2.4%, about one day in 41. The mapping's long-vol row is correct and almost never open.

The caveat that still bounds all of this

vrp_realised is a per-unit-vega proxy, not straddle P&L. It cannot see gamma, path, or financing, and above all it cannot price an exit path — which is where this book claims its entire edge. Nothing here tests that claim. What it does establish is that the regimes the mapping selects for long vol are the right ones on the measure available, and that the term-structure conjunction rather than the vol level is why.

Recommendation

(a) Governance fix — cheap, and now better supported. Do it. Move the straddle rules from prompt prose into the mapping as a governed long-vol archetype, versioned under mapping_version and bound by the amendment quorum. The evidence in §5 says the row's existing condition — elevated vol and backwardation — is the right one, so this is largely a relocation rather than a redesign.

One addition the evidence does support: make the term-structure conjunction explicit and binding, because high VIX without backwardation is the worst long-vol environment in the sample (stressed-flat: 0 wins in 132 days). A rule that reads "elevated vol → long-vol tilts" without the backwardation condition would be actively harmful, and the prompt's line 10 currently reads elevated/backwardation as a single token — worth stating as two conditions that must both hold.

(b) Substantive question — blocked, do not pre-empt. Whether the exit-path edge exists is not answerable by the regime mapping, and not by vrp_realised. It needs an EV/exit replay over real option chains — backtest Tier 2, blocked on a historical options vendor.

Doing (a) without (b) formalises a rule whose entry condition is now evidenced but whose edge premise is not. That is a reasonable trade — the rule is already in force in prose, and moving it into governance makes it reviewable and quorum-bound — but it should be chosen knowingly.

A note on method

This document's first draft got §5 backwards. It ranked regimes by mean vrp_realised, concluded stressed-backwardation was four times worse than normal-backwardation, and recommended splitting the mapping's long-vol row on the VIX band — while separately warning, in the same draft, that the mean is the wrong statistic for a convex payoff. Recomputing on win frequency and win magnitude reversed the ranking and pointed at term structure instead.

Both numbers came from the same 4,231-day series. The error was not in the data.