{
 "generated": "2026-08-25T21:07:36-04:00",
 "credit": {
  "framework_by": "Imran Lakha (Options Insight)",
  "handle": "@options_insight",
  "url": "https://x.com/options_insight",
  "site": "https://options-insight.com",
  "line": "Analytical framework: Imran Lakha (@options_insight) - https://x.com/options_insight . Rules extracted from his public posts and articles, May-Aug 2026. He has no involvement in and no endorsement of this dashboard. Data and implementation are ours. Not financial advice.",
  "his": "the LENS - which questions to ask, which states matter, how to read the surface",
  "ours": "the DATA and the IMPLEMENTATION - every number on this page is computed by us, not by him",
  "caveats": [
   "Rules were extracted and paraphrased from sampled public posts and articles (May-Aug 2026); the extraction is not exhaustive and may misread him.",
   "His market calls in those posts are examples of reasoning, not standing orders.",
   "Rules can conflict by design - the two-question matrix (view on spot, view on vol) is what resolves them.",
   "Imran Lakha has no involvement in, and has not endorsed, this dashboard.",
   "Nothing here is financial advice."
  ]
 },
 "jargon": [
  {
   "term": "vol fairly priced",
   "plain": "options cost about what they usually do"
  },
  {
   "term": "vol rich",
   "plain": "options are expensive right now - the market is charging a lot to insure against moves"
  },
  {
   "term": "vol cheap",
   "plain": "options are unusually cheap - protection and bets on movement cost little"
  },
  {
   "term": "right-censored",
   "plain": "the run is still in progress, so we score it but never count it as a finished episode"
  },
  {
   "term": "risk-reversal",
   "plain": "sell a put to pay for a call - bullish, funded by selling insurance"
  },
  {
   "term": "variance risk premium",
   "plain": "the usual gap between what options charge and what the market actually delivers"
  },
  {
   "term": "put-call parity",
   "plain": "a fixed arithmetic link between a call, a put and the price - no forecasting involved"
  },
  {
   "term": "regime-turn",
   "plain": "the short timeframes have flipped against the longer one"
  },
  {
   "term": "backwardation",
   "plain": "the nearest month costs more than later ones - usually a stress signal"
  },
  {
   "term": "term structure",
   "plain": "how the price of options changes as you look further out in time"
  },
  {
   "term": "open interest",
   "plain": "how many contracts are actually being held, not just traded today"
  },
  {
   "term": "forward vol",
   "plain": "the movement priced for the gap between two future dates"
  },
  {
   "term": "long gamma",
   "plain": "dealer hedging DAMPS moves - dips tend to get bought"
  },
  {
   "term": "short gamma",
   "plain": "dealer hedging AMPLIFIES moves - the same move travels further"
  },
  {
   "term": "implied vol",
   "plain": "how much movement options are pricing in"
  },
  {
   "term": "realised vol",
   "plain": "how much the price actually moved"
  },
  {
   "term": "long delta",
   "plain": "straightforward bullish exposure"
  },
  {
   "term": "convexity",
   "plain": "payoff that accelerates as the move gets bigger"
  },
  {
   "term": "contango",
   "plain": "later months cost more than the nearest one - the calm, ordinary shape"
  },
  {
   "term": "straddle",
   "plain": "buying a call and a put together - a pure bet on movement either way"
  },
  {
   "term": "collar",
   "plain": "own the asset, sell an upside call, buy a downside put"
  },
  {
   "term": "0DTE",
   "plain": "options that expire the same day"
  },
  {
   "term": "OPEX",
   "plain": "monthly options expiry week"
  },
  {
   "term": "implied correlation",
   "plain": "whether stocks are moving as one herd instead of on their own stories"
  },
  {
   "term": "credit spreads",
   "plain": "what risky companies pay to borrow over Treasuries - widening means lenders getting nervous"
  },
  {
   "term": "credit spread",
   "plain": "what risky companies pay to borrow over Treasuries - widening means lenders getting nervous"
  },
  {
   "term": "high-yield",
   "plain": "bonds from the riskiest borrowers - the first place credit stress shows up"
  },
  {
   "term": "investment grade",
   "plain": "bonds from the safest corporate borrowers"
  },
  {
   "term": "levered-ETF",
   "plain": "funds that promise 2x or 3x the daily move, and must trade every close to keep that multiple"
  },
  {
   "term": "levered ETF",
   "plain": "funds that promise 2x or 3x the daily move, and must trade every close to keep that multiple"
  },
  {
   "term": "assets under management",
   "plain": "the total pot of money a fund is running"
  },
  {
   "term": "net contracts by strike",
   "plain": "how many option contracts are open at each price level, with calls and puts added together rather than kept apart"
  },
  {
   "term": "centre of gravity",
   "plain": "the average strike of the whole book, weighted by how many contracts sit at each one"
  },
  {
   "term": "strike cluster",
   "plain": "a run of neighbouring strikes that together hold an unusually large share of the open contracts"
  },
  {
   "term": "as-of session",
   "plain": "the trading day whose closing positions a figure describes, which is not always the day the data was published"
  },
  {
   "term": "MOVE",
   "plain": "the bond market's fear gauge - the VIX of US Treasuries"
  },
  {
   "term": "OAS",
   "plain": "the extra yield a corporate bond pays over Treasuries, adjusted for early-repayment options"
  },
  {
   "term": "skew",
   "plain": "how much more puts cost than calls - the price of downside protection"
  },
  {
   "term": "basis",
   "plain": "the gap between the futures price and the actual index"
  },
  {
   "term": "carry",
   "plain": "the annualised cost or gain of holding the position to expiry"
  },
  {
   "term": "gamma",
   "plain": "how fast dealers' hedging needs change as price moves"
  },
  {
   "term": "theta",
   "plain": "the daily cost of owning an option as time passes"
  },
  {
   "term": "vega",
   "plain": "how much an option's value moves when volatility changes"
  },
  {
   "term": "delta",
   "plain": "how much an option moves for a $1 move in the underlying"
  },
  {
   "term": "dealers",
   "plain": "the market makers who take the other side of options trades"
  },
  {
   "term": "percentile",
   "plain": "where this sits against every other reading of 2026"
  },
  {
   "term": "sigma",
   "plain": "standard deviations from normal - how unusual this is"
  },
  {
   "term": "spot",
   "plain": "the current cash price of the index itself"
  }
 ],
 "grains": {
  "1h": {
   "spot": {
    "axis": "spot",
    "grain": "1h",
    "state": "sideways",
    "strength": "",
    "gauge": -0.27,
    "mean_sigma": -0.0267,
    "dispersion": 0.677,
    "n_voters": 6,
    "thin": false,
    "why": "the readings agree and they agree on NOTHING MUCH - they average -0.3 with individual size only 0.7 sigma. A genuinely quiet reading, not a missing one",
    "n_unavailable": 6,
    "voters": [
     {
      "id": "basis",
      "label": "futures basis over cash",
      "c": -2.11101789343768,
      "orient": 1,
      "members": [
       {
        "m": "es_basis_bp",
        "val": -4.272066732010638,
        "z": -2.11101789343768,
        "c": -2.11101789343768,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 881
       },
       {
        "m": "nq_basis_bp",
        "val": -33.20132730418535,
        "why": "a 1h baseline for this metric does not exist, so there is nothing to standardise it against at this grain - it is excluded rather than scored against a baseline belonging to a different unit"
       },
       {
        "m": "ym_basis_bp",
        "val": 7.76475971459023,
        "why": "a 1h baseline for this metric does not exist, so there is nothing to standardise it against at this grain - it is excluded rather than scored against a baseline belonging to a different unit"
       },
       {
        "m": "rty_basis_bp",
        "val": -1.4010812999443178,
        "why": "a 1h baseline for this metric does not exist, so there is nothing to standardise it against at this grain - it is excluded rather than scored against a baseline belonging to a different unit"
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "A BFM signal, not one of his rules - included because it is the cleanest futures-side read we hold.",
      "measures": "how much more (or less) futures cost than simply owning the index today",
      "_axis": "spot",
      "band": "vlow",
      "z_mean": -2.11101789343768,
      "mech": {
       "high": "Futures trade rich to cash: someone is paying a premium to hold leveraged long exposure rather than buying the shares. That premium is demand for length showing up in the price of getting it.",
       "low": "Futures trade cheap to cash - or below it. Leveraged long exposure is being offered rather than bid, which is what hedging pressure or funding stress looks like in the basis.",
       "mid": "Futures carry their usual premium over cash - ordinary financing, no unusual demand for leverage."
      }
     },
     {
      "id": "delta_flow",
      "label": "net delta traded across the chain",
      "c": 0.7292978695001104,
      "orient": 1,
      "members": [
       {
        "m": "delta_chain",
        "val": 32107.259533345816,
        "z": 0.7292978695001104,
        "c": 0.7292978695001104,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "LOW-CONF (volume-weighted; the feed carries no buy/sell aggressor)",
      "caveat": "",
      "measures": "whether the options that traded lean call-delta or put-delta on net",
      "_axis": "spot",
      "band": "high",
      "z_mean": 0.7292978695001104,
      "mech": {
       "high": "Net call-delta was bought across the chain - the option tape leaned long.",
       "low": "Net put-delta dominated the option tape.",
       "mid": "Call and put delta traded roughly in balance."
      }
     },
     {
      "id": "pc",
      "label": "put/call activity",
      "c": 0.401899945787615,
      "orient": -1,
      "members": [
       {
        "m": "pc_vol",
        "val": 0.8593645475165631,
        "z": -1.203838336406433,
        "c": 1.203838336406433,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       },
       {
        "m": "pc_premium",
        "val": 1.5067048114425898,
        "z": 0.4000384448312028,
        "c": -0.4000384448312028,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       }
      ],
      "n_members": 2,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "Volume carries no buy/sell aggressor in this feed, so this is participation, not direction of intent.",
      "measures": "how much put trading there is against call trading, by contracts and by dollars",
      "_axis": "spot",
      "band": "mid",
      "z_mean": -0.401899945787615,
      "mech": {
       "high": "Puts are taking an unusually large share of the flow - hedging and downside bets are running heavy.",
       "low": "Calls are taking an unusually large share of the flow - upside is being chased rather than hedged.",
       "mid": "Puts and calls are trading in their usual proportion."
      }
     },
     {
      "id": "skew",
      "label": "skew / tail-hedging",
      "c": 0.3805160927132813,
      "orient": -1,
      "members": [
       {
        "m": "skew_pct",
        "val": 0.14816906088878645,
        "z": 0.46522029388968267,
        "c": -0.46522029388968267,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       },
       {
        "m": "skew_25d",
        "val": 2.314130076881793,
        "z": -1.2262524793162453,
        "c": 1.2262524793162453,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       },
       {
        "m": "skew_idx",
        "why": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour"
       },
       {
        "m": "skew_vix",
        "why": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour"
       }
      ],
      "n_members": 2,
      "rules": [
       "R021",
       "R022",
       "R023"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "Direction here is genuinely two-sided at extremes: he also notes a steep skew can SUPPORT the market into expiry, and that high vol plus high put skew is fuel for a violent bounce. The extreme-skew detector below carries that discriminator; this vote does not.",
      "measures": "what puts cost over calls - the price of downside protection versus upside",
      "_axis": "spot",
      "band": "mid",
      "z_mean": -0.3805160927132813,
      "mech": {
       "high": "Downside protection is bid up relative to upside. Under his lens each strike's IV is a CONDITIONAL statement - 'this is the vol we expect IF we actually get there' - so a steep put skew is the market saying a move DOWN would be a violent one, not merely that puts are expensive.",
       "low": "Downside protection is cheap relative to upside - unusual for equities, which normally carry a standing put skew because they crash down and grind up. The surface is not braced for a violent decline.",
       "mid": "Puts carry their usual premium over calls. That standing put skew is the DEFAULT state for equity indices, so at this level the surface is saying nothing unusual about the path."
      }
     },
     {
      "id": "delta_atm",
      "label": "at-the-money call delta",
      "c": 0.3785673667537837,
      "orient": 1,
      "members": [
       {
        "m": "delta_atm",
        "val": 0.5114521390680141,
        "z": 0.3785673667537837,
        "c": 0.3785673667537837,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "LOW-CONF (indirect: it also moves with skew and with the forward)",
      "caveat": "",
      "measures": "how the at-the-money call's sensitivity to price sits versus its own normal",
      "_axis": "spot",
      "band": "mid",
      "z_mean": 0.3785673667537837,
      "mech": {
       "high": "The at-the-money call delta sits high - spot is riding above the forward, or put-skew is light.",
       "low": "The at-the-money call delta sits low - spot below the forward, or the surface is put-heavy.",
       "mid": "At-the-money call delta sits about where it usually does."
      }
     },
     {
      "id": "path",
      "label": "realised move (path)",
      "c": 0.060822634069613704,
      "orient": 1,
      "members": [
       {
        "m": "ret_pct",
        "val": 0.01799746768025301,
        "z": 0.060822634069613704,
        "c": 0.060822634069613704,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       },
       {
        "m": "spx_ret_pct",
        "why": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour"
       },
       {
        "m": "ndx_ret_pct",
        "why": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour"
       }
      ],
      "n_members": 1,
      "rules": [
       "R063",
       "R064"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "Size alone does not tell you health: he warns that violent green days in beaten-up names can be BEAR behaviour, and that healthy uptrends GRIND. The grind-vs-rip detector separates those.",
      "measures": "which way price has actually gone over this window",
      "_axis": "spot",
      "band": "mid",
      "z_mean": 0.060822634069613704,
      "mech": {
       "high": "Price rose over the window. Respect the path until it changes - that is the whole of his path rule.",
       "low": "Price fell over the window. The path itself is the reading here - not a judgement about whether the fall was orderly or violent, which the grind-or-rip detector handles separately.",
       "mid": "Price went essentially nowhere over the window - a flat path is a real reading about this window, not an absence of one."
      }
     }
    ],
    "unavailable": [
     {
      "id": "skew_shift",
      "label": "skew SHIFT (change, not level)",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "contango",
      "label": "futures curve shape",
      "why": "no_data",
      "reason": "a 1h baseline for this metric does not exist, so there is nothing to standardise it against at this grain - it is excluded rather than scored against a baseline belonging to a different unit",
      "members": [
       {
        "m": "es_cal_ann",
        "val": 3.684841350986775,
        "why": "a 1h baseline for this metric does not exist, so there is nothing to standardise it against at this grain - it is excluded rather than scored against a baseline belonging to a different unit"
       },
       {
        "m": "nq_cal_ann",
        "val": 4.143633504984786,
        "why": "a 1h baseline for this metric does not exist, so there is nothing to standardise it against at this grain - it is excluded rather than scored against a baseline belonging to a different unit"
       },
       {
        "m": "ym_cal_ann",
        "why": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour"
       },
       {
        "m": "rty_cal_ann",
        "why": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour"
       }
      ]
     },
     {
      "id": "dollar",
      "label": "US dollar direction",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "pc_oi",
      "label": "put/call open interest",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "credit",
      "label": "credit spreads",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "vix_opt_pc",
      "label": "VIX option put/call",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     }
    ]
   },
   "vol": {
    "axis": "vol",
    "grain": "1h",
    "state": "cheap",
    "strength": "clearly",
    "gauge": -4.08,
    "mean_sigma": -0.4085,
    "dispersion": 0.4085,
    "n_voters": 2,
    "thin": true,
    "why": "2 readings average -0.41 sigma",
    "n_unavailable": 7,
    "voters": [
     {
      "id": "iv_level",
      "label": "at-the-money implied vol",
      "c": -0.7984322475604897,
      "orient": 1,
      "members": [
       {
        "m": "atm_iv_front",
        "val": 19.40865464505655,
        "z": -0.4708428317750767,
        "c": -0.4708428317750767,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       },
       {
        "m": "atm_iv_30d",
        "val": 19.143394342309172,
        "z": -1.1260216633459028,
        "c": -1.1260216633459028,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       }
      ],
      "n_members": 2,
      "rules": [
       "R049",
       "R050"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "what options are charging for movement, at the money",
      "_axis": "vol",
      "band": "low",
      "z_mean": -0.7984322475604897,
      "mech": {
       "high": "Options are expensive against their own 2026 range. His structural consequence is direct: if you want direction and vol is RICH, buying naked calls is the wrong tool - build the position out of the expensive vol by selling something, rather than paying for it.",
       "low": "Options are cheap against their own 2026 range - convexity is on offer rather than being charged for.",
       "mid": "Options are charging about what they usually charge for movement."
      }
     },
     {
      "id": "term_slope",
      "label": "options term-structure slope",
      "c": -0.01855391787598999,
      "orient": -1,
      "members": [
       {
        "m": "term_slope",
        "val": -0.26526030274737766,
        "z": 0.01855391787598999,
        "c": -0.01855391787598999,
        "asof": "2026-08-25T15:52:16-04:00",
        "n": 960
       }
      ],
      "n_members": 1,
      "rules": [
       "R042"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "30-day at-the-money implied vol minus front-expiry implied vol",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.01855391787598999,
      "mech": {
       "high": "The options curve slopes upward - the front is calm relative to a month out.",
       "low": "The options curve is inverted - the front expiry is bid above a month out. Something near-term is being paid for.",
       "mid": "The options curve carries its usual mild slope."
      }
     }
    ],
    "unavailable": [
     {
      "id": "vrp",
      "label": "implied minus realised vol",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "gamma_breakeven",
      "label": "realised move vs the front-implied breakeven",
      "why": "no_data",
      "reason": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour",
      "members": [
       {
        "m": "_breakeven_gap",
        "why": "no value in the live tier at this as-of - outside market hours the options side is held at the last regular-hours reading and the flow side needs the chain recorder's members for a complete clock hour"
       }
      ]
     },
     {
      "id": "vix_atm_gap",
      "label": "VIX minus at-the-money implied vol",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "volpath",
      "label": "volatility direction",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "vixterm",
      "label": "VIX term structure",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "ratesvol",
      "label": "bond-market volatility (MOVE)",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     },
     {
      "id": "correlation",
      "label": "implied correlation",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1h grain"
     }
    ]
   },
   "matrix": {
    "cell": "spot SIDEWAYS (no clear direction) x vol CHEAP (options are unusually cheap)",
    "family": "long premium ONLY if it is genuinely cheap",
    "why": "No directional pull and movement is cheap - the only case where paying for premium in a rangebound tape is defensible."
   },
   "n_values": 45
  },
  "1d": {
   "spot": {
    "axis": "spot",
    "grain": "1d",
    "state": "down",
    "strength": "leans",
    "gauge": -1.94,
    "mean_sigma": -0.194,
    "dispersion": 0.4711,
    "n_voters": 9,
    "thin": false,
    "why": "9 readings average -0.19 sigma",
    "n_unavailable": 3,
    "voters": [
     {
      "id": "vix_opt_pc",
      "label": "VIX option put/call",
      "c": -1.0905016584984388,
      "orient": 1,
      "members": [
       {
        "m": "vix_opt_pc_vol",
        "val": 0.2682121401633597,
        "z": -1.0905016584984388,
        "c": -1.0905016584984388,
        "asof": "2026-08-24",
        "n": 150
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "LOW-CONF (volume carries no buy/sell aggressor, so this is participation, not intent)",
      "caveat": "This uses VOLUME, which runs back through 2026. The per-strike OPEN-INTEREST book is a separate, frozen window (2026-03-02 to 2026-08-05) and drives the strike-position detector rather than this vote.",
      "measures": "whether traders are buying VIX calls or VIX puts - and on VIX, the CALL is the crash hedge",
      "_axis": "spot",
      "band": "low",
      "z_mean": -1.0905016584984388,
      "mech": {
       "high": "Unusually many VIX PUTS against VIX calls. Read this the OPPOSITE way to an equity put/call ratio: on the VIX, the CALL is what you buy to hedge a crash, so a high put/call here means demand for crash protection is LIGHT - people are positioning for calm, not for a spike.",
       "low": "VIX CALLS dominate the flow - the crash hedge is being bought. That is demand for protection against a volatility spike, which is a risk-off tell.",
       "mid": "VIX option flow carries its usual call-heavy balance."
      }
     },
     {
      "id": "path",
      "label": "realised move (path)",
      "c": -0.6705161103788543,
      "orient": 1,
      "members": [
       {
        "m": "ret_pct",
        "val": -0.9994252954121707,
        "z": -0.8119208510171144,
        "c": -0.8119208510171144,
        "asof": "2026-08-24",
        "n": 149
       },
       {
        "m": "spx_ret_pct",
        "val": -0.28028689752760405,
        "z": -0.4115673464634402,
        "c": -0.4115673464634402,
        "asof": "2026-08-24",
        "n": 148
       },
       {
        "m": "ndx_ret_pct",
        "val": -0.9747212740175093,
        "z": -0.7880601336560082,
        "c": -0.7880601336560082,
        "asof": "2026-08-24",
        "n": 148
       }
      ],
      "n_members": 3,
      "rules": [
       "R063",
       "R064"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "Size alone does not tell you health: he warns that violent green days in beaten-up names can be BEAR behaviour, and that healthy uptrends GRIND. The grind-vs-rip detector separates those.",
      "measures": "which way price has actually gone over this window",
      "_axis": "spot",
      "band": "low",
      "z_mean": -0.6705161103788543,
      "mech": {
       "high": "Price rose over the window. Respect the path until it changes - that is the whole of his path rule.",
       "low": "Price fell over the window. The path itself is the reading here - not a judgement about whether the fall was orderly or violent, which the grind-or-rip detector handles separately.",
       "mid": "Price went essentially nowhere over the window - a flat path is a real reading about this window, not an absence of one."
      }
     },
     {
      "id": "delta_atm",
      "label": "at-the-money call delta",
      "c": 0.625436810645286,
      "orient": 1,
      "members": [
       {
        "m": "delta_atm",
        "val": 0.538021498,
        "z": 0.625436810645286,
        "c": 0.625436810645286,
        "asof": "2026-08-24",
        "n": 150
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "LOW-CONF (indirect: it also moves with skew and with the forward)",
      "caveat": "",
      "measures": "how the at-the-money call's sensitivity to price sits versus its own normal",
      "_axis": "spot",
      "band": "high",
      "z_mean": 0.625436810645286,
      "mech": {
       "high": "The at-the-money call delta sits high - spot is riding above the forward, or put-skew is light.",
       "low": "The at-the-money call delta sits low - spot below the forward, or the surface is put-heavy.",
       "mid": "At-the-money call delta sits about where it usually does."
      }
     },
     {
      "id": "dollar",
      "label": "US dollar direction",
      "c": -0.5422792377952337,
      "orient": -1,
      "members": [
       {
        "m": "dxy_chg",
        "val": 0.1999969482421875,
        "z": 0.5422792377952337,
        "c": -0.5422792377952337,
        "asof": "2026-08-24",
        "n": 148
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "which way the dollar moved over the window",
      "_axis": "spot",
      "band": "high",
      "z_mean": 0.5422792377952337,
      "mech": {
       "high": "The dollar strengthened - historically a headwind for US equities and for risk generally.",
       "low": "The dollar weakened - the easier backdrop for equities.",
       "mid": "The dollar was little changed over the window, so it is neither helping nor hindering risk assets on this reading - a real neutral, not a missing one."
      }
     },
     {
      "id": "skew_shift",
      "label": "skew SHIFT (change, not level)",
      "c": -0.4521371306428376,
      "orient": -1,
      "members": [
       {
        "m": "skew_25d",
        "val": 0.7161671399999985,
        "z": 0.4521371306428376,
        "c": -0.4521371306428376,
        "asof": "2026-08-24",
        "n": 160
       }
      ],
      "n_members": 1,
      "rules": [
       "R023",
       "R032"
      ],
      "source": "LAKHA",
      "scoring": "delta",
      "conf": "",
      "caveat": "Needs a prior observation at the same grain; at 1h it renders unavailable until history accrues.",
      "measures": "how far the put-vs-call skew MOVED since the previous observation",
      "_axis": "spot",
      "band": "mid",
      "z_mean": 0.4521371306428376,
      "mech": {
       "high": "Skew steepened. His point is that a shift is the market CHANGING ITS MIND about the shape of the world, not just repricing option cost - the surface is re-rating downside as more violent than it did a moment ago.",
       "low": "Skew flattened or rotated toward calls. The market is re-rating downside as LESS violent, which is the rotation he wants to see before treating a bounce as real.",
       "mid": "Skew barely moved - no change of mind priced into the shape of the surface."
      }
     },
     {
      "id": "credit",
      "label": "credit spreads",
      "c": 0.43647821068475134,
      "orient": -1,
      "members": [
       {
        "m": "hy_oas",
        "val": 2.7,
        "z": -0.9035953269681873,
        "c": 0.9035953269681873,
        "asof": "2026-08-21",
        "n": 149
       },
       {
        "m": "hy_ig_spread",
        "val": 1.8900000000000001,
        "z": -1.3429186023291424,
        "c": 1.3429186023291424,
        "asof": "2026-08-21",
        "n": 149
       },
       {
        "m": "ig_oas",
        "val": 0.81,
        "z": 0.38642324662853433,
        "c": -0.38642324662853433,
        "asof": "2026-08-21",
        "n": 149
       },
       {
        "m": "bbb_oas",
        "val": 1.0,
        "z": 0.11417783992979007,
        "c": -0.11417783992979007,
        "asof": "2026-08-21",
        "n": 149
       }
      ],
      "n_members": 4,
      "rules": [
       "R036"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "ICE/FRED credit series are published daily but with a T+1 lag and are capped at three years of history by licensing, so this votes at the daily and weekly grains only - never intraday.",
      "measures": "what risky companies pay to borrow over US Treasuries - the price of corporate credit risk",
      "_axis": "spot",
      "band": "mid",
      "z_mean": -0.43647821068475134,
      "mech": {
       "high": "Credit spreads are WIDE against their own 2026 range: lenders are demanding more to hold corporate risk. He calls credit the single strongest signal of systemic stress, and it is the layer he uses to confirm or reject an equity volatility spike - stress that shows up in credit as well as in equities is real stress.",
       "low": "Credit spreads are TIGHT: lenders are relaxed about corporate risk. Equity weakness that credit does not confirm tends to be an equity-only story rather than systemic.",
       "mid": "Credit spreads sit in their ordinary range - lenders are neither nervous nor unusually relaxed."
      }
     },
     {
      "id": "delta_flow",
      "label": "net delta traded across the chain",
      "c": -0.23081305968512048,
      "orient": 1,
      "members": [
       {
        "m": "delta_chain",
        "val": -57194.20955721593,
        "z": -0.23081305968512048,
        "c": -0.23081305968512048,
        "asof": "2026-08-24",
        "n": 150
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "LOW-CONF (volume-weighted; the feed carries no buy/sell aggressor)",
      "caveat": "",
      "measures": "whether the options that traded lean call-delta or put-delta on net",
      "_axis": "spot",
      "band": "mid",
      "z_mean": -0.23081305968512048,
      "mech": {
       "high": "Net call-delta was bought across the chain - the option tape leaned long.",
       "low": "Net put-delta dominated the option tape.",
       "mid": "Call and put delta traded roughly in balance."
      }
     },
     {
      "id": "pc",
      "label": "put/call activity",
      "c": 0.18481407669380717,
      "orient": -1,
      "members": [
       {
        "m": "pc_vol",
        "val": 1.085952064792363,
        "z": -0.40620532330398956,
        "c": 0.40620532330398956,
        "asof": "2026-08-24",
        "n": 150
       },
       {
        "m": "pc_premium",
        "val": 1.164337770655301,
        "z": 0.03657716991637519,
        "c": -0.03657716991637519,
        "asof": "2026-08-24",
        "n": 150
       }
      ],
      "n_members": 2,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "Volume carries no buy/sell aggressor in this feed, so this is participation, not direction of intent.",
      "measures": "how much put trading there is against call trading, by contracts and by dollars",
      "_axis": "spot",
      "band": "mid",
      "z_mean": -0.18481407669380717,
      "mech": {
       "high": "Puts are taking an unusually large share of the flow - hedging and downside bets are running heavy.",
       "low": "Calls are taking an unusually large share of the flow - upside is being chased rather than hedged.",
       "mid": "Puts and calls are trading in their usual proportion."
      }
     },
     {
      "id": "skew",
      "label": "skew / tail-hedging",
      "c": -0.006666191930222165,
      "orient": -1,
      "members": [
       {
        "m": "skew_pct",
        "val": -0.45734330000000156,
        "z": -0.41751215495795624,
        "c": 0.41751215495795624,
        "asof": "2026-08-24",
        "n": 150
       },
       {
        "m": "skew_25d",
        "val": 2.6886384999999984,
        "z": -1.056314276289355,
        "c": 1.056314276289355,
        "asof": "2026-08-24",
        "n": 150
       },
       {
        "m": "skew_idx",
        "val": 145.63999938964844,
        "z": 0.35512279844602135,
        "c": -0.35512279844602135,
        "asof": "2026-08-24",
        "n": 148
       },
       {
        "m": "skew_vix",
        "val": 9.188643273467457,
        "z": 1.1453684005221785,
        "c": -1.1453684005221785,
        "asof": "2026-08-24",
        "n": 148
       }
      ],
      "n_members": 4,
      "rules": [
       "R021",
       "R022",
       "R023"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "Direction here is genuinely two-sided at extremes: he also notes a steep skew can SUPPORT the market into expiry, and that high vol plus high put skew is fuel for a violent bounce. The extreme-skew detector below carries that discriminator; this vote does not.",
      "measures": "what puts cost over calls - the price of downside protection versus upside",
      "_axis": "spot",
      "band": "mid",
      "z_mean": 0.006666191930222165,
      "mech": {
       "high": "Downside protection is bid up relative to upside. Under his lens each strike's IV is a CONDITIONAL statement - 'this is the vol we expect IF we actually get there' - so a steep put skew is the market saying a move DOWN would be a violent one, not merely that puts are expensive.",
       "low": "Downside protection is cheap relative to upside - unusual for equities, which normally carry a standing put skew because they crash down and grind up. The surface is not braced for a violent decline.",
       "mid": "Puts carry their usual premium over calls. That standing put skew is the DEFAULT state for equity indices, so at this level the surface is saying nothing unusual about the path."
      }
     }
    ],
    "unavailable": [
     {
      "id": "basis",
      "label": "futures basis over cash",
      "why": "no_data",
      "reason": "no value within the staleness cap at this as-of",
      "members": [
       {
        "m": "es_basis_bp",
        "why": "no value within the staleness cap at this as-of"
       },
       {
        "m": "nq_basis_bp",
        "why": "no value within the staleness cap at this as-of"
       },
       {
        "m": "ym_basis_bp",
        "why": "no value within the staleness cap at this as-of"
       },
       {
        "m": "rty_basis_bp",
        "why": "no value within the staleness cap at this as-of"
       }
      ]
     },
     {
      "id": "contango",
      "label": "futures curve shape",
      "why": "no_data",
      "reason": "no value within the staleness cap at this as-of",
      "members": [
       {
        "m": "es_cal_ann",
        "why": "no value within the staleness cap at this as-of"
       },
       {
        "m": "nq_cal_ann",
        "why": "no value within the staleness cap at this as-of"
       },
       {
        "m": "ym_cal_ann",
        "why": "no value within the staleness cap at this as-of"
       },
       {
        "m": "rty_cal_ann",
        "why": "no value within the staleness cap at this as-of"
       }
      ]
     },
     {
      "id": "pc_oi",
      "label": "put/call open interest",
      "why": "no_data",
      "reason": "no value within the staleness cap at this as-of",
      "members": [
       {
        "m": "pc_oi",
        "why": "no value within the staleness cap at this as-of"
       }
      ]
     }
    ]
   },
   "vol": {
    "axis": "vol",
    "grain": "1d",
    "state": "cheap",
    "strength": "leans",
    "gauge": -2.53,
    "mean_sigma": -0.253,
    "dispersion": 0.4517,
    "n_voters": 9,
    "thin": false,
    "why": "9 readings average -0.25 sigma",
    "n_unavailable": 0,
    "voters": [
     {
      "id": "iv_level",
      "label": "at-the-money implied vol",
      "c": -0.8525108700828161,
      "orient": 1,
      "members": [
       {
        "m": "atm_iv_front",
        "val": 16.89589725,
        "z": -0.8006056183821999,
        "c": -0.8006056183821999,
        "asof": "2026-08-24",
        "n": 150
       },
       {
        "m": "atm_iv_30d",
        "val": 19.94232345,
        "z": -0.9044161217834324,
        "c": -0.9044161217834324,
        "asof": "2026-08-24",
        "n": 150
       }
      ],
      "n_members": 2,
      "rules": [
       "R049",
       "R050"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "what options are charging for movement, at the money",
      "_axis": "vol",
      "band": "low",
      "z_mean": -0.8525108700828161,
      "mech": {
       "high": "Options are expensive against their own 2026 range. His structural consequence is direct: if you want direction and vol is RICH, buying naked calls is the wrong tool - build the position out of the expensive vol by selling something, rather than paying for it.",
       "low": "Options are cheap against their own 2026 range - convexity is on offer rather than being charged for.",
       "mid": "Options are charging about what they usually charge for movement."
      }
     },
     {
      "id": "vixterm",
      "label": "VIX term structure",
      "c": -0.832591976886385,
      "orient": 1,
      "members": [
       {
        "m": "vix_vix3m",
        "val": 0.8539871140920285,
        "z": -0.618919069487977,
        "c": -0.618919069487977,
        "asof": "2026-08-24",
        "n": 136
       },
       {
        "m": "vix9d_vix",
        "val": 0.8876971202646461,
        "z": -0.2966205916898773,
        "c": -0.2966205916898773,
        "asof": "2026-08-24",
        "n": 136
       },
       {
        "m": "vix1d_vix",
        "val": 0.5495268030611441,
        "z": -1.5822362694813008,
        "c": -1.5822362694813008,
        "asof": "2026-08-24",
        "n": 136
       }
      ],
      "n_members": 3,
      "rules": [
       "R042",
       "R044"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "whether near-dated volatility is priced above or below longer-dated volatility",
      "_axis": "vol",
      "band": "low",
      "z_mean": -0.832591976886385,
      "mech": {
       "high": "Near-dated vol is bid relative to longer-dated - the term structure is flattening or inverting. That is the shape that appears when the market wants protection NOW rather than later, and it is a warning label on any short-vol position.",
       "low": "Near-dated vol sits well below longer-dated - the calm, upward-sloping shape.",
       "mid": "The term structure carries its usual upward slope."
      }
     },
     {
      "id": "correlation",
      "label": "implied correlation",
      "c": -0.5376629324211742,
      "orient": 1,
      "members": [
       {
        "m": "cor1m",
        "val": 9.28,
        "z": -0.47258218596336793,
        "c": -0.47258218596336793,
        "asof": "2026-08-24",
        "n": 150
       },
       {
        "m": "cor3m",
        "val": 10.82,
        "z": -0.6027436788789805,
        "c": -0.6027436788789805,
        "asof": "2026-08-24",
        "n": 150
       }
      ],
      "n_members": 2,
      "rules": [
       "R036"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "LOW-CONF (describes the mechanical backdrop to index volatility, not the price of options today)",
      "caveat": "",
      "measures": "whether the market expects stocks to move as one herd or on their own separate stories",
      "_axis": "vol",
      "band": "low",
      "z_mean": -0.5376629324211742,
      "mech": {
       "high": "Implied correlation is HIGH: the market expects stocks to move together. Index volatility is built out of single-stock volatility plus how correlated those names are, so a herd market mechanically supports a higher index volatility. His rule is blunt: a low-volatility regime only breaks when stocks start moving together.",
       "low": "Implied correlation is LOW: stocks are expected to move on their own stories. Index moves get damped because the names cancel each other out - the classic quiet-index backdrop.",
       "mid": "Implied correlation sits in its ordinary range."
      }
     },
     {
      "id": "term_slope",
      "label": "options term-structure slope",
      "c": -0.5304589114106212,
      "orient": -1,
      "members": [
       {
        "m": "term_slope",
        "val": 3.046426199999999,
        "z": 0.5304589114106212,
        "c": -0.5304589114106212,
        "asof": "2026-08-24",
        "n": 150
       }
      ],
      "n_members": 1,
      "rules": [
       "R042"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "30-day at-the-money implied vol minus front-expiry implied vol",
      "_axis": "vol",
      "band": "high",
      "z_mean": 0.5304589114106212,
      "mech": {
       "high": "The options curve slopes upward - the front is calm relative to a month out.",
       "low": "The options curve is inverted - the front expiry is bid above a month out. Something near-term is being paid for.",
       "mid": "The options curve carries its usual mild slope."
      }
     },
     {
      "id": "volpath",
      "label": "volatility direction",
      "c": 0.42714599441823464,
      "orient": 1,
      "members": [
       {
        "m": "vix_chg",
        "val": 0.7200002670288086,
        "z": 0.42714599441823464,
        "c": 0.42714599441823464,
        "asof": "2026-08-24",
        "n": 148
       }
      ],
      "n_members": 1,
      "rules": [
       "R064"
      ],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "whether the price of movement rose or fell over the window",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.42714599441823464,
      "mech": {
       "high": "Volatility was bid over the window - the market paid more for movement than it did before.",
       "low": "Volatility came off - the market marked down the price of movement.",
       "mid": "Volatility was little changed over the window: the market did not re-rate the price of movement in either direction, which is itself a statement about how settled the tape is."
      }
     },
     {
      "id": "gamma_breakeven",
      "label": "realised move vs the front-implied breakeven",
      "c": -0.32501954429823776,
      "orient": -1,
      "members": [
       {
        "m": "_breakeven_gap",
        "val": -0.06491618794021292,
        "z": 0.32501954429823776,
        "c": -0.32501954429823776,
        "asof": "2026-08-24",
        "n": 160
       }
      ],
      "n_members": 1,
      "rules": [
       "R020"
      ],
      "source": "LAKHA-CORRECTED",
      "scoring": "absolute",
      "conf": "",
      "caveat": "CORRECTED from the owner's rules file. The file's absolute buckets (0.5-0.6%/day long gamma, 2-3%/day short gamma) could not be verified in 60 articles and 70 posts; the relative breakeven rule is what he actually states, and his arithmetic checks exactly (12% front implied => 0.756%/day).",
      "measures": "what a long-gamma holder needs the market to move each day just to break even - front implied vol divided by the square root of 252 - set against what price actually moved",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.32501954429823776,
      "mech": {
       "high": "The market is delivering MORE movement than the front-implied breakeven asks for. Options are cheap against what they are actually paying out: a long-gamma holder can monetise the movement by trading around the position, so the premium is being earned rather than bled. The onward flow consequence is that volatility tends to get bid out of a state like this.",
       "low": "The market is delivering LESS movement than the front-implied breakeven asks for - you are paying for movement you are not getting, so options are expensive against delivery. In his words: the longs cannot monetise it, they are paying theta they cannot make back from trading their gamma, so fixed-strike vol gets sold. That is mechanical selling pressure on volatility, not a sentiment read.",
       "mid": "Realised movement is running close to the front-implied breakeven - gamma roughly pays for its theta."
      }
     },
     {
      "id": "vrp",
      "label": "implied minus realised vol",
      "c": 0.3218140336509813,
      "orient": 1,
      "members": [
       {
        "m": "_vrp",
        "val": 8.705211368123363,
        "z": 0.3218140336509813,
        "c": 0.3218140336509813,
        "asof": "2026-08-24",
        "n": 161
       }
      ],
      "n_members": 1,
      "rules": [
       "R077",
       "R059",
       "R060"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "the gap between what options CHARGE for movement and what price actually DELIVERED",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.3218140336509813,
      "mech": {
       "high": "Implied is running well above realised: sellers of options are being paid more than the tape has been costing them. That is the ordinary state - the risk premium - but a wide gap is the condition in which paying up for optionality is hardest to justify.",
       "low": "Realised is running at or above implied: the tape has been delivering more movement than options charge for. This is the regime where he says the 'stupid' trade of buying the expensive outright can outperform the clever calendar - you were short the move you needed to be long.",
       "mid": "Implied sits at its usual premium to realised - the normal risk premium, nothing stretched."
      }
     },
     {
      "id": "ratesvol",
      "label": "bond-market volatility (MOVE)",
      "c": 0.14500236194913713,
      "orient": 1,
      "members": [
       {
        "m": "move",
        "val": 73.98000336,
        "z": 0.14500236194913713,
        "c": 0.14500236194913713,
        "asof": "2026-08-24",
        "n": 136
       }
      ],
      "n_members": 1,
      "rules": [
       "R036",
       "R037",
       "R038"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "LOW-CONF (a CROSS-ASSET reading: it measures the bond market, not the price of equity options)",
      "caveat": "MOVE posts LATE and carries gaps (about 9% of 2026 sessions are missing), so it is a daily-and-weekly signal only and is never used as an intraday trigger.",
      "measures": "how much movement the bond market is pricing in - the rates equivalent of the VIX",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.14500236194913713,
      "mech": {
       "high": "Rates volatility is elevated: the bond market is paying up for movement too, so the volatility bid is not confined to equities. That is the cross-asset confirmation his VIX regime framework looks for before treating an equity vol spike as systemic.",
       "low": "Rates volatility is subdued. If equity volatility is bid while this is calm, the stress is equity-only - in his framework that is the weaker, more fadeable kind.",
       "mid": "Rates volatility sits in its ordinary range."
      }
     },
     {
      "id": "vix_atm_gap",
      "label": "VIX minus at-the-money implied vol",
      "c": -0.09303947200028062,
      "orient": 1,
      "members": [
       {
        "m": "_vix_atm_gap",
        "val": 3.2401666814697254,
        "z": -0.09303947200028062,
        "c": -0.09303947200028062,
        "asof": "2026-08-24",
        "n": 160
       }
      ],
      "n_members": 1,
      "rules": [
       "R033",
       "R034",
       "R035"
      ],
      "source": "LAKHA",
      "scoring": "absolute",
      "conf": "",
      "caveat": "He gives one dated worked example - VIX 18 against 1-month at-the-money 14, a 4-point gap. The 'typically 3-5 points' range in the owner's file could NOT be verified, so it is shown as a reference figure only; the banding here is our own 2026 percentile.",
      "measures": "how far the VIX sits above plain at-the-money option cost on the same index",
      "_axis": "vol",
      "band": "mid",
      "z_mean": -0.09303947200028062,
      "mech": {
       "high": "The gap is wide: money is paying up for the TAIL, not for ordinary movement. The VIX blends the whole surface, so put skew drags it above at-the-money vol - a widening gap is demand for crash protection specifically.",
       "low": "The gap is narrow: the tail is priced close to at-the-money movement. Unusually little is being paid for the wings.",
       "mid": "The gap sits in its usual range - the ordinary wedge that equity put skew puts between the two."
      }
     }
    ],
    "unavailable": []
   },
   "matrix": {
    "cell": "spot DOWN (leaning lower) x vol CHEAP (options are unusually cheap)",
    "family": "lean short delta / buy convexity on the bear side",
    "why": "Same discipline as the up case, mirrored: direction is down and movement is cheap."
   },
   "n_values": 143
  },
  "1w": {
   "spot": {
    "axis": "spot",
    "grain": "1w",
    "state": "down",
    "strength": "clearly",
    "gauge": -3.62,
    "mean_sigma": -0.3621,
    "dispersion": 0.705,
    "n_voters": 8,
    "thin": false,
    "why": "8 readings average -0.36 sigma",
    "n_unavailable": 4,
    "voters": [
     {
      "id": "vix_opt_pc",
      "label": "VIX option put/call",
      "c": -1.6369771683980976,
      "orient": 1,
      "members": [
       {
        "m": "vix_opt_pc_vol",
        "val": 0.31147421853000395,
        "z": -1.6369771683980976,
        "c": -1.6369771683980976,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "LOW-CONF (volume carries no buy/sell aggressor, so this is participation, not intent)",
      "caveat": "This uses VOLUME, which runs back through 2026. The per-strike OPEN-INTEREST book is a separate, frozen window (2026-03-02 to 2026-08-05) and drives the strike-position detector rather than this vote.",
      "measures": "whether traders are buying VIX calls or VIX puts - and on VIX, the CALL is the crash hedge",
      "_axis": "spot",
      "band": "low",
      "z_mean": -1.6369771683980976,
      "mech": {
       "high": "Unusually many VIX PUTS against VIX calls. Read this the OPPOSITE way to an equity put/call ratio: on the VIX, the CALL is what you buy to hedge a crash, so a high put/call here means demand for crash protection is LIGHT - people are positioning for calm, not for a spike.",
       "low": "VIX CALLS dominate the flow - the crash hedge is being bought. That is demand for protection against a volatility spike, which is a risk-off tell.",
       "mid": "VIX option flow carries its usual call-heavy balance."
      }
     },
     {
      "id": "dollar",
      "label": "US dollar direction",
      "c": 1.0465515955418947,
      "orient": -1,
      "members": [
       {
        "m": "dxy_chg",
        "val": -0.8699951171875,
        "z": -1.0465515955418947,
        "c": 1.0465515955418947,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "which way the dollar moved over the window",
      "_axis": "spot",
      "band": "low",
      "z_mean": -1.0465515955418947,
      "mech": {
       "high": "The dollar strengthened - historically a headwind for US equities and for risk generally.",
       "low": "The dollar weakened - the easier backdrop for equities.",
       "mid": "The dollar was little changed over the window, so it is neither helping nor hindering risk assets on this reading - a real neutral, not a missing one."
      }
     },
     {
      "id": "path",
      "label": "realised move (path)",
      "c": -1.0231053727563866,
      "orient": 1,
      "members": [
       {
        "m": "ret_pct",
        "val": -2.4102977989959307,
        "z": -1.0325288725957822,
        "c": -1.0325288725957822,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "spx_ret_pct",
        "val": -1.4306843749443354,
        "z": -0.9832205518467668,
        "c": -0.9832205518467668,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "ndx_ret_pct",
        "val": -2.4538301248132277,
        "z": -1.0535666938266106,
        "c": -1.0535666938266106,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 3,
      "rules": [
       "R063",
       "R064"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "Size alone does not tell you health: he warns that violent green days in beaten-up names can be BEAR behaviour, and that healthy uptrends GRIND. The grind-vs-rip detector separates those.",
      "measures": "which way price has actually gone over this window",
      "_axis": "spot",
      "band": "low",
      "z_mean": -1.0231053727563866,
      "mech": {
       "high": "Price rose over the window. Respect the path until it changes - that is the whole of his path rule.",
       "low": "Price fell over the window. The path itself is the reading here - not a judgement about whether the fall was orderly or violent, which the grind-or-rip detector handles separately.",
       "mid": "Price went essentially nowhere over the window - a flat path is a real reading about this window, not an absence of one."
      }
     },
     {
      "id": "skew_shift",
      "label": "skew SHIFT (change, not level)",
      "c": -0.8975413030287751,
      "orient": -1,
      "members": [
       {
        "m": "skew_25d",
        "val": 1.0073008400000005,
        "z": 0.8975413030287751,
        "c": -0.8975413030287751,
        "asof": "2026-W34",
        "n": 32
       }
      ],
      "n_members": 1,
      "rules": [
       "R023",
       "R032"
      ],
      "source": "LAKHA",
      "scoring": "delta",
      "conf": "",
      "caveat": "Needs a prior observation at the same grain; at 1h it renders unavailable until history accrues.",
      "measures": "how far the put-vs-call skew MOVED since the previous observation",
      "_axis": "spot",
      "band": "high",
      "z_mean": 0.8975413030287751,
      "mech": {
       "high": "Skew steepened. His point is that a shift is the market CHANGING ITS MIND about the shape of the world, not just repricing option cost - the surface is re-rating downside as more violent than it did a moment ago.",
       "low": "Skew flattened or rotated toward calls. The market is re-rating downside as LESS violent, which is the rotation he wants to see before treating a bounce as real.",
       "mid": "Skew barely moved - no change of mind priced into the shape of the surface."
      }
     },
     {
      "id": "delta_flow",
      "label": "net delta traded across the chain",
      "c": -0.5691713987667948,
      "orient": 1,
      "members": [
       {
        "m": "delta_chain",
        "val": -461441.73008629034,
        "z": -0.5691713987667948,
        "c": -0.5691713987667948,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "LOW-CONF (volume-weighted; the feed carries no buy/sell aggressor)",
      "caveat": "",
      "measures": "whether the options that traded lean call-delta or put-delta on net",
      "_axis": "spot",
      "band": "low",
      "z_mean": -0.5691713987667948,
      "mech": {
       "high": "Net call-delta was bought across the chain - the option tape leaned long.",
       "low": "Net put-delta dominated the option tape.",
       "mid": "Call and put delta traded roughly in balance."
      }
     },
     {
      "id": "credit",
      "label": "credit spreads",
      "c": 0.3067634738109539,
      "orient": -1,
      "members": [
       {
        "m": "hy_oas",
        "val": 2.726,
        "z": -0.7098641336918462,
        "c": 0.7098641336918462,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "hy_ig_spread",
        "val": 1.9120000000000001,
        "z": -1.1063359219696116,
        "c": 1.1063359219696116,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "ig_oas",
        "val": 0.8140000000000001,
        "z": 0.48550221818294603,
        "c": -0.48550221818294603,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "bbb_oas",
        "val": 0.998,
        "z": 0.10364394223469599,
        "c": -0.10364394223469599,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 4,
      "rules": [
       "R036"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "ICE/FRED credit series are published daily but with a T+1 lag and are capped at three years of history by licensing, so this votes at the daily and weekly grains only - never intraday.",
      "measures": "what risky companies pay to borrow over US Treasuries - the price of corporate credit risk",
      "_axis": "spot",
      "band": "mid",
      "z_mean": -0.3067634738109539,
      "mech": {
       "high": "Credit spreads are WIDE against their own 2026 range: lenders are demanding more to hold corporate risk. He calls credit the single strongest signal of systemic stress, and it is the layer he uses to confirm or reject an equity volatility spike - stress that shows up in credit as well as in equities is real stress.",
       "low": "Credit spreads are TIGHT: lenders are relaxed about corporate risk. Equity weakness that credit does not confirm tends to be an equity-only story rather than systemic.",
       "mid": "Credit spreads sit in their ordinary range - lenders are neither nervous nor unusually relaxed."
      }
     },
     {
      "id": "skew",
      "label": "skew / tail-hedging",
      "c": -0.141709317119413,
      "orient": -1,
      "members": [
       {
        "m": "skew_pct",
        "val": -0.15568120000000019,
        "z": 0.09260782173074936,
        "c": -0.09260782173074936,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "skew_25d",
        "val": 3.4198746920000005,
        "z": -0.7289066163402085,
        "c": 0.7289066163402085,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "skew_idx",
        "val": 143.31399841308593,
        "z": -0.04290549094671517,
        "c": 0.04290549094671517,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "skew_vix",
        "val": 9.298857879100357,
        "z": 1.2460415540338263,
        "c": -1.2460415540338263,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 4,
      "rules": [
       "R021",
       "R022",
       "R023"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "Direction here is genuinely two-sided at extremes: he also notes a steep skew can SUPPORT the market into expiry, and that high vol plus high put skew is fuel for a violent bounce. The extreme-skew detector below carries that discriminator; this vote does not.",
      "measures": "what puts cost over calls - the price of downside protection versus upside",
      "_axis": "spot",
      "band": "mid",
      "z_mean": 0.141709317119413,
      "mech": {
       "high": "Downside protection is bid up relative to upside. Under his lens each strike's IV is a CONDITIONAL statement - 'this is the vol we expect IF we actually get there' - so a steep put skew is the market saying a move DOWN would be a violent one, not merely that puts are expensive.",
       "low": "Downside protection is cheap relative to upside - unusual for equities, which normally carry a standing put skew because they crash down and grind up. The surface is not braced for a violent decline.",
       "mid": "Puts carry their usual premium over calls. That standing put skew is the DEFAULT state for equity indices, so at this level the surface is saying nothing unusual about the path."
      }
     },
     {
      "id": "pc",
      "label": "put/call activity",
      "c": 0.01854087043788044,
      "orient": -1,
      "members": [
       {
        "m": "pc_vol",
        "val": 1.1162944714254137,
        "z": -0.20227436195305157,
        "c": 0.20227436195305157,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "pc_premium",
        "val": 1.2002791925072012,
        "z": 0.16519262107729069,
        "c": -0.16519262107729069,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 2,
      "rules": [],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "Volume carries no buy/sell aggressor in this feed, so this is participation, not direction of intent.",
      "measures": "how much put trading there is against call trading, by contracts and by dollars",
      "_axis": "spot",
      "band": "mid",
      "z_mean": -0.01854087043788044,
      "mech": {
       "high": "Puts are taking an unusually large share of the flow - hedging and downside bets are running heavy.",
       "low": "Calls are taking an unusually large share of the flow - upside is being chased rather than hedged.",
       "mid": "Puts and calls are trading in their usual proportion."
      }
     }
    ],
    "unavailable": [
     {
      "id": "basis",
      "label": "futures basis over cash",
      "why": "no_data",
      "reason": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)",
      "members": [
       {
        "m": "es_basis_bp",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "nq_basis_bp",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "ym_basis_bp",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "rty_basis_bp",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       }
      ]
     },
     {
      "id": "contango",
      "label": "futures curve shape",
      "why": "no_data",
      "reason": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)",
      "members": [
       {
        "m": "es_cal_ann",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "nq_cal_ann",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "ym_cal_ann",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "rty_cal_ann",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       }
      ]
     },
     {
      "id": "delta_atm",
      "label": "at-the-money call delta",
      "why": "measurable_grain",
      "reason": "this reading is not defined at the 1w grain"
     },
     {
      "id": "pc_oi",
      "label": "put/call open interest",
      "why": "no_data",
      "reason": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)",
      "members": [
       {
        "m": "pc_oi",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       }
      ]
     }
    ]
   },
   "vol": {
    "axis": "vol",
    "grain": "1w",
    "state": "cheap",
    "strength": "clearly",
    "gauge": -4.51,
    "mean_sigma": -0.4505,
    "dispersion": 0.6067,
    "n_voters": 8,
    "thin": false,
    "why": "8 readings average -0.45 sigma",
    "n_unavailable": 1,
    "voters": [
     {
      "id": "iv_level",
      "label": "at-the-money implied vol",
      "c": -1.1442395996325028,
      "orient": 1,
      "members": [
       {
        "m": "atm_iv_front",
        "val": 16.6391489,
        "z": -1.2054901358836154,
        "c": -1.2054901358836154,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "atm_iv_30d",
        "val": 19.591297509999997,
        "z": -1.0829890633813901,
        "c": -1.0829890633813901,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 2,
      "rules": [
       "R049",
       "R050"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "what options are charging for movement, at the money",
      "_axis": "vol",
      "band": "low",
      "z_mean": -1.1442395996325028,
      "mech": {
       "high": "Options are expensive against their own 2026 range. His structural consequence is direct: if you want direction and vol is RICH, buying naked calls is the wrong tool - build the position out of the expensive vol by selling something, rather than paying for it.",
       "low": "Options are cheap against their own 2026 range - convexity is on offer rather than being charged for.",
       "mid": "Options are charging about what they usually charge for movement."
      }
     },
     {
      "id": "term_slope",
      "label": "options term-structure slope",
      "c": -1.0544036385859221,
      "orient": -1,
      "members": [
       {
        "m": "term_slope",
        "val": 2.9521486100000005,
        "z": 1.0544036385859221,
        "c": -1.0544036385859221,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [
       "R042"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "30-day at-the-money implied vol minus front-expiry implied vol",
      "_axis": "vol",
      "band": "high",
      "z_mean": 1.0544036385859221,
      "mech": {
       "high": "The options curve slopes upward - the front is calm relative to a month out.",
       "low": "The options curve is inverted - the front expiry is bid above a month out. Something near-term is being paid for.",
       "mid": "The options curve carries its usual mild slope."
      }
     },
     {
      "id": "vix_atm_gap",
      "label": "VIX minus at-the-money implied vol",
      "c": -0.9728666353655466,
      "orient": 1,
      "members": [
       {
        "m": "_vix_atm_gap",
        "val": 2.671226246423341,
        "z": -0.9728666353655466,
        "c": -0.9728666353655466,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [
       "R033",
       "R034",
       "R035"
      ],
      "source": "LAKHA",
      "scoring": "absolute",
      "conf": "",
      "caveat": "He gives one dated worked example - VIX 18 against 1-month at-the-money 14, a 4-point gap. The 'typically 3-5 points' range in the owner's file could NOT be verified, so it is shown as a reference figure only; the banding here is our own 2026 percentile.",
      "measures": "how far the VIX sits above plain at-the-money option cost on the same index",
      "_axis": "vol",
      "band": "low",
      "z_mean": -0.9728666353655466,
      "mech": {
       "high": "The gap is wide: money is paying up for the TAIL, not for ordinary movement. The VIX blends the whole surface, so put skew drags it above at-the-money vol - a widening gap is demand for crash protection specifically.",
       "low": "The gap is narrow: the tail is priced close to at-the-money movement. Unusually little is being paid for the wings.",
       "mid": "The gap sits in its usual range - the ordinary wedge that equity put skew puts between the two."
      }
     },
     {
      "id": "correlation",
      "label": "implied correlation",
      "c": -0.5619204109589111,
      "orient": 1,
      "members": [
       {
        "m": "cor1m",
        "val": 8.754000000000001,
        "z": -0.5216379855676049,
        "c": -0.5216379855676049,
        "asof": "2026-W34",
        "n": 33
       },
       {
        "m": "cor3m",
        "val": 10.73,
        "z": -0.6022028363502174,
        "c": -0.6022028363502174,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 2,
      "rules": [
       "R036"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "LOW-CONF (describes the mechanical backdrop to index volatility, not the price of options today)",
      "caveat": "",
      "measures": "whether the market expects stocks to move as one herd or on their own separate stories",
      "_axis": "vol",
      "band": "low",
      "z_mean": -0.5619204109589111,
      "mech": {
       "high": "Implied correlation is HIGH: the market expects stocks to move together. Index volatility is built out of single-stock volatility plus how correlated those names are, so a herd market mechanically supports a higher index volatility. His rule is blunt: a low-volatility regime only breaks when stocks start moving together.",
       "low": "Implied correlation is LOW: stocks are expected to move on their own stories. Index moves get damped because the names cancel each other out - the classic quiet-index backdrop.",
       "mid": "Implied correlation sits in its ordinary range."
      }
     },
     {
      "id": "gamma_breakeven",
      "label": "realised move vs the front-implied breakeven",
      "c": -0.4956059629590105,
      "orient": -1,
      "members": [
       {
        "m": "_breakeven_gap",
        "val": 0.06652321767987823,
        "z": 0.4956059629590105,
        "c": -0.4956059629590105,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [
       "R020"
      ],
      "source": "LAKHA-CORRECTED",
      "scoring": "absolute",
      "conf": "",
      "caveat": "CORRECTED from the owner's rules file. The file's absolute buckets (0.5-0.6%/day long gamma, 2-3%/day short gamma) could not be verified in 60 articles and 70 posts; the relative breakeven rule is what he actually states, and his arithmetic checks exactly (12% front implied => 0.756%/day).",
      "measures": "what a long-gamma holder needs the market to move each day just to break even - front implied vol divided by the square root of 252 - set against what price actually moved",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.4956059629590105,
      "mech": {
       "high": "The market is delivering MORE movement than the front-implied breakeven asks for. Options are cheap against what they are actually paying out: a long-gamma holder can monetise the movement by trading around the position, so the premium is being earned rather than bled. The onward flow consequence is that volatility tends to get bid out of a state like this.",
       "low": "The market is delivering LESS movement than the front-implied breakeven asks for - you are paying for movement you are not getting, so options are expensive against delivery. In his words: the longs cannot monetise it, they are paying theta they cannot make back from trading their gamma, so fixed-strike vol gets sold. That is mechanical selling pressure on volatility, not a sentiment read.",
       "mid": "Realised movement is running close to the front-implied breakeven - gamma roughly pays for its theta."
      }
     },
     {
      "id": "volpath",
      "label": "volatility direction",
      "c": 0.278085109246792,
      "orient": 1,
      "members": [
       {
        "m": "vix_chg",
        "val": 0.880000114440918,
        "z": 0.278085109246792,
        "c": 0.278085109246792,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [
       "R064"
      ],
      "source": "BFM",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "whether the price of movement rose or fell over the window",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.278085109246792,
      "mech": {
       "high": "Volatility was bid over the window - the market paid more for movement than it did before.",
       "low": "Volatility came off - the market marked down the price of movement.",
       "mid": "Volatility was little changed over the window: the market did not re-rate the price of movement in either direction, which is itself a statement about how settled the tape is."
      }
     },
     {
      "id": "vrp",
      "label": "implied minus realised vol",
      "c": 0.2579961061282209,
      "orient": 1,
      "members": [
       {
        "m": "_vrp",
        "val": 8.164976634306068,
        "z": 0.2579961061282209,
        "c": 0.2579961061282209,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [
       "R077",
       "R059",
       "R060"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "",
      "caveat": "",
      "measures": "the gap between what options CHARGE for movement and what price actually DELIVERED",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.2579961061282209,
      "mech": {
       "high": "Implied is running well above realised: sellers of options are being paid more than the tape has been costing them. That is the ordinary state - the risk premium - but a wide gap is the condition in which paying up for optionality is hardest to justify.",
       "low": "Realised is running at or above implied: the tape has been delivering more movement than options charge for. This is the regime where he says the 'stupid' trade of buying the expensive outright can outperform the clever calendar - you were short the move you needed to be long.",
       "mid": "Implied sits at its usual premium to realised - the normal risk premium, nothing stretched."
      }
     },
     {
      "id": "ratesvol",
      "label": "bond-market volatility (MOVE)",
      "c": 0.08867022855538013,
      "orient": 1,
      "members": [
       {
        "m": "move",
        "val": 73.690000918,
        "z": 0.08867022855538013,
        "c": 0.08867022855538013,
        "asof": "2026-W34",
        "n": 33
       }
      ],
      "n_members": 1,
      "rules": [
       "R036",
       "R037",
       "R038"
      ],
      "source": "LAKHA",
      "scoring": "z",
      "conf": "LOW-CONF (a CROSS-ASSET reading: it measures the bond market, not the price of equity options)",
      "caveat": "MOVE posts LATE and carries gaps (about 9% of 2026 sessions are missing), so it is a daily-and-weekly signal only and is never used as an intraday trigger.",
      "measures": "how much movement the bond market is pricing in - the rates equivalent of the VIX",
      "_axis": "vol",
      "band": "mid",
      "z_mean": 0.08867022855538013,
      "mech": {
       "high": "Rates volatility is elevated: the bond market is paying up for movement too, so the volatility bid is not confined to equities. That is the cross-asset confirmation his VIX regime framework looks for before treating an equity vol spike as systemic.",
       "low": "Rates volatility is subdued. If equity volatility is bid while this is calm, the stress is equity-only - in his framework that is the weaker, more fadeable kind.",
       "mid": "Rates volatility sits in its ordinary range."
      }
     }
    ],
    "unavailable": [
     {
      "id": "vixterm",
      "label": "VIX term structure",
      "why": "no_data",
      "reason": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)",
      "members": [
       {
        "m": "vix_vix3m",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "vix9d_vix",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       },
       {
        "m": "vix1d_vix",
        "why": "not enough sessions in the last complete week carried this metric for the weekly aggregation to accept it (the weekly build refuses a metric below 60% session coverage rather than aggregating a partial week)"
       }
      ]
     }
    ]
   },
   "matrix": {
    "cell": "spot DOWN (leaning lower) x vol CHEAP (options are unusually cheap)",
    "family": "lean short delta / buy convexity on the bear side",
    "why": "Same discipline as the up case, mirrored: direction is down and movement is cheap."
   },
   "n_values": 133
  }
 },
 "agreement": {
  "spot": {
   "key": "mixed",
   "trio": "sideways / down / down",
   "say": "The timeframes are mixed (sideways / down / down): some resolved, some did not, and the ones that did do not line up into a single read."
  },
  "vol": {
   "key": "aligned",
   "trio": "cheap / cheap / cheap",
   "say": "All three timeframes agree: cheap on the hour, the session AND the week. Alignment across grains is the strongest form this page can report, because the three are scored against three different baselines and had to agree independently."
  }
 },
 "key_metric": {
  "available": true,
  "rows": [
   {
    "tag": "next day",
    "grain": "1h",
    "exp": "2026-08-26",
    "dte": 1,
    "strike": 710.0,
    "call_mid": 3.3200000000000003,
    "put_mid": 2.425,
    "fwd": 710.8950931488109,
    "fwd_vs_ref_bp": 1.0407688371771862,
    "carry_ann": 3.7988062556967295,
    "curve_carry_ann": null,
    "straddle": 5.745,
    "straddle_pct": 0.8082202250472191,
    "wide_market": false
   },
   {
    "tag": "one week",
    "grain": "1d",
    "exp": "2026-09-01",
    "dte": 7,
    "strike": 710.0,
    "call_mid": 7.665,
    "put_mid": 6.345,
    "fwd": 711.3209666631622,
    "fwd_vs_ref_bp": 7.032058438753985,
    "carry_ann": 3.6667161859217208,
    "curve_carry_ann": 3.644321884627877,
    "straddle": 14.01,
    "straddle_pct": 1.970960026616456,
    "wide_market": false
   },
   {
    "tag": "one month",
    "grain": "1w",
    "exp": "2026-09-25",
    "dte": 31,
    "strike": 710.0,
    "call_mid": 17.125,
    "put_mid": 14.59,
    "fwd": 712.5432368343575,
    "fwd_vs_ref_bp": 24.22724508508889,
    "carry_ann": 2.852562727760466,
    "curve_carry_ann": 2.82072770428005,
    "straddle": 31.715,
    "straddle_pct": 4.461741416426903,
    "wide_market": false
   }
  ],
  "notes": [],
  "spot_reference": {
   "used": "parity-implied spot (F_near x exp(-r T_near))",
   "implied_spot": 710.8211131024785,
   "header_spot": 710.09,
   "offset_pts": 0.7311131024785027,
   "offset_bp": 10.296062505859016,
   "independent_cash": 710.719970703125,
   "independent_cash_session": "2026-08-25",
   "implied_vs_cash_pts": 0.10114239935353453,
   "why": "the chain header's spot was measured stale (16 bp on 2026-08-07), and this panel measures gaps of exactly that size - so the options side is referenced to the spot the options themselves imply, and the difference from the header is shown rather than buried"
  },
  "futures": [
   {
    "root": "ES",
    "label": "S&P 500",
    "basis_bp": -4.272066732010638,
    "basis_pts": -3.27978515625,
    "carry_ann": -0.6497101488266178,
    "cash_index": 7652.85986328125,
    "futures_price": 7649.580078125
   },
   {
    "root": "NQ",
    "label": "Nasdaq-100",
    "basis_bp": -33.20132730418535,
    "basis_pts": -96.978515625,
    "carry_ann": -5.049368527511522,
    "cash_index": 29023.1796875,
    "futures_price": 28926.201171875
   }
  ],
  "rate": 0.03820218318149898,
  "rate_src": "fred-dtb3-prev",
  "identity": "F = K + (C - P) * exp(r*T) at the at-the-money strike; C,P are quote MIDS",
  "divergence": {
   "options_carry_ann": 2.852562727760466,
   "futures_carry_ann": -0.6497101488266178,
   "futures_root": "ES",
   "options_exp": "2026-09-25",
   "options_dte": 31,
   "gap_pp": 3.502272876587084,
   "structural_note": "a QQQ options forward embeds QQQ's dividends and an index future embeds the index's, so these two carries are not expected to be identical even in a calm market - read the CHANGE in this gap, not its distance from zero"
  }
 },
 "forward_vol": {
  "available": true,
  "rows": [
   {
    "exp": "2026-08-26",
    "dte": 1,
    "T": 0.0027242282882128676,
    "atm_iv": 19.40742441734639,
    "fwd_vol": null,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-08-27",
    "dte": 2,
    "T": 0.0054639543156101275,
    "atm_iv": 20.358679960037513,
    "fwd_vol": 21.26239868321943,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-08-28",
    "dte": 3,
    "T": 0.008203680343007388,
    "atm_iv": 20.897642893066052,
    "fwd_vol": 21.93301065305205,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-08-31",
    "dte": 6,
    "T": 0.01642285842519917,
    "atm_iv": 17.480341564952752,
    "fwd_vol": 13.215918178800157,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-01",
    "dte": 7,
    "T": 0.01916258445259643,
    "atm_iv": 17.844760106191536,
    "fwd_vol": 19.88973042309092,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-02",
    "dte": 8,
    "T": 0.02190231047999369,
    "atm_iv": 18.14489909450257,
    "fwd_vol": 20.119382685106736,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-03",
    "dte": 9,
    "T": 0.02464203650739095,
    "atm_iv": 18.465587703400384,
    "fwd_vol": 20.8527227317197,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-04",
    "dte": 10,
    "T": 0.02738176253478821,
    "atm_iv": 19.094439960078397,
    "fwd_vol": 24.02168607310222,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-08",
    "dte": 14,
    "T": 0.03834066664437725,
    "atm_iv": 17.568191592695527,
    "fwd_vol": 12.993451565353073,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-11",
    "dte": 17,
    "T": 0.04655984472656903,
    "atm_iv": 18.565309127699685,
    "fwd_vol": 22.643756778211145,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-18",
    "dte": 24,
    "T": 0.06573792691834986,
    "atm_iv": 19.13148771078556,
    "fwd_vol": 20.440887059543645,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-25",
    "dte": 31,
    "T": 0.08491600911013067,
    "atm_iv": 19.189760205789884,
    "fwd_vol": 19.388175479544035,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-09-30",
    "dte": 36,
    "T": 0.09861463924711698,
    "atm_iv": 19.028322055707225,
    "fwd_vol": 17.99530244619565,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-10-02",
    "dte": 38,
    "T": 0.1040940913019115,
    "atm_iv": 19.477099182129816,
    "fwd_vol": 26.274604834142863,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-10-16",
    "dte": 52,
    "T": 0.14245025568547315,
    "atm_iv": 19.889444773374947,
    "fwd_vol": 20.9676757293318,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-10-30",
    "dte": 66,
    "T": 0.18080642006903477,
    "atm_iv": 20.457277129082932,
    "fwd_vol": 22.440718866660532,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-11-20",
    "dte": 87,
    "T": 0.2384548218955188,
    "atm_iv": 21.175201697974806,
    "fwd_vol": 23.28372630887831,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-11-30",
    "dte": 97,
    "T": 0.2658520821694914,
    "atm_iv": 21.037586435953646,
    "fwd_vol": 19.79948854067809,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-12-18",
    "dte": 115,
    "T": 0.3151671506626421,
    "atm_iv": 21.73063801692134,
    "fwd_vol": 25.13980406641318,
    "kink": false,
    "why": null
   },
   {
    "exp": "2026-12-31",
    "dte": 128,
    "T": 0.35078358901880646,
    "atm_iv": 21.750019660210494,
    "fwd_vol": 21.920779609760014,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-01-15",
    "dte": 143,
    "T": 0.39187947942976536,
    "atm_iv": 22.001778869952556,
    "fwd_vol": 24.04368285886011,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-02-19",
    "dte": 178,
    "T": 0.48776989038866947,
    "atm_iv": 22.56737589317396,
    "fwd_vol": 24.744813933678305,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-03-19",
    "dte": 206,
    "T": 0.5643680639046512,
    "atm_iv": 23.072465859220866,
    "fwd_vol": 26.06018162409048,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-03-31",
    "dte": 218,
    "T": 0.5972447762334183,
    "atm_iv": 23.230391679295114,
    "fwd_vol": 25.791034710275333,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-06-17",
    "dte": 296,
    "T": 0.8109434063704046,
    "atm_iv": 24.14559223844008,
    "fwd_vol": 26.536540924182468,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-06-30",
    "dte": 309,
    "T": 0.846559844726569,
    "atm_iv": 24.183153655024505,
    "fwd_vol": 25.023129858984593,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-09-17",
    "dte": 388,
    "T": 1.0629982008909526,
    "atm_iv": 24.78857574098964,
    "fwd_vol": 27.02662654507073,
    "kink": false,
    "why": null
   },
   {
    "exp": "2027-12-17",
    "dte": 479,
    "T": 1.3124274246352448,
    "atm_iv": 25.036259123891153,
    "fwd_vol": 26.065442055255954,
    "kink": false,
    "why": null
   },
   {
    "exp": "2028-01-21",
    "dte": 514,
    "T": 1.408317835594149,
    "atm_iv": 24.985318588131687,
    "fwd_vol": 24.277368047810462,
    "kink": false,
    "why": null
   },
   {
    "exp": "2028-06-16",
    "dte": 661,
    "T": 1.8109434063704046,
    "atm_iv": 25.058128050341683,
    "fwd_vol": 25.311156051132244,
    "kink": false,
    "why": null
   },
   {
    "exp": "2028-12-15",
    "dte": 843,
    "T": 2.3096876986078474,
    "atm_iv": 25.639837160203243,
    "fwd_vol": 27.64932080650669,
    "kink": false,
    "why": null
   }
  ],
  "n_kinks": 0,
  "identity": "forward variance = (s2^2 T2 - s1^2 T1) / (T2 - T1); ATM IV inverted from the straddle",
  "attribution_note": "a kink marks WHERE the market prices an event window. This page does not claim WHAT the event is: attributing a kink to earnings versus a macro date needs an events calendar joined to expiries, which we do not hold."
 },
 "detectors": {
  "gamma_regime": {
   "state": "short_gamma",
   "value": -2188225258.0,
   "pctile": 29.508196721311474,
   "asof": "2026-08-24",
   "local_gamma": -263578104.0,
   "headline": "dealers are positioned SHORT gamma",
   "say": "Net dealer gamma is NEGATIVE (30% of 2026 readings sit below this one). Negative gamma means hedging works WITH the move - dealers must sell into falls and buy into rallies to stay hedged - so the same 1% move travels further. R011: expect wilder moves. His rule R010 is the reason this does NOT vote on direction: gamma is not bullish or bearish by itself - it suppresses or amplifies whatever direction arrives. R019 attaches the standing caveat: gamma is one factor, and a big enough directional move overwhelms even a massive wall of it.",
   "rules": [
    "R010",
    "R011",
    "R012",
    "R017",
    "R019"
   ],
   "caveat": "Open interest settles overnight, so this tier is a day behind by market structure. He also prefers NET CONTRACT position by strike to dollar GEX (R014/R018), and this tile is the dollar kind he warns about. The netted contract-count series he asks for now exists for the VIX book and renders as its own strike-position detector below; the equity book still has no per-strike open-interest purchase behind it, so this figure stays a dollar aggregate."
  },
  "gamma_breakeven": {
   "state": "theta_bleed",
   "breakeven_pct": 1.0643414833523837,
   "realised_pct": 0.9994252954121707,
   "gap": -0.06491618794021292,
   "asof": "2026-08-24",
   "headline": "the market moved LESS than the breakeven",
   "say": "Front implied vol of 16.9% implies a break-even daily move of about 1.06%. The market actually moved 1.00%. In his words: the longs cannot monetise it - they are paying theta they cannot make back from trading their gamma, so fixed-strike vol gets sold. That is mechanical selling pressure on volatility, not a sentiment read.",
   "rules": [
    "R020"
   ],
   "caveat": "CORRECTED from the owner's rules file. Its absolute buckets (0.5-0.6%/day = long gamma, 2-3%/day = short gamma) could not be found in 60 articles or 70 posts; the relative breakeven rule is what he actually states and his arithmetic checks exactly (12% front implied gives 0.756%/day)."
  },
  "vix_regime": {
   "state": "low",
   "vix": 15.850000381469727,
   "days_in_band": 51,
   "entered_from": "above",
   "asof": "2026-08-24",
   "headline": "VIX 15.9 - LOW-VOL regime, 51 sessions",
   "say": "His framework splits volatility into three regimes: below 22, 22 to 32, and above 32 (the crisis cluster sits near 38 but 32 is the level he trades off). VIX at 15.9 puts this in the LOW band, and it has held there for 51 sessions, entered from above. ",
   "rules": [
    "R036",
    "R037",
    "R038"
   ],
   "caveat": "The published framework also carries a CROSS-ASSET VALIDATION layer - credit spreads, which he calls the strongest signal of systemic stress, plus the MOVE index and implied correlation. Those were acquired on 2026-08-08 and the layer is now LIVE - see the cross-asset confirmation panel, which qualifies this regime call as systemic or equity-only."
  },
  "extreme_skew": {
   "state": "ordinary",
   "value": 2.6886384999999984,
   "pctile": 14.906832298136646,
   "vix_chg": 0.7200002670288086,
   "asof": "2026-08-24",
   "headline": "skew is in its ordinary range",
   "say": "Skew is lower than 85% of its 2026 readings (15th percentile) - inside its ordinary range, so the extreme-skew rules simply do not apply right now. That is a real reading.",
   "rules": [
    "R024",
    "R025",
    "R026"
   ],
   "caveat": "AMENDED from the owner's file, and DELIBERATELY LEFT UNRESOLVED. Extreme put skew ALONE is ambiguous in his own writing - a skew spike inside a crash is 'usually peak panic, often near the bottom'. His discriminator is FIXED-STRIKE vol behaviour: still RISING means more downside to come, PLATEAUED means near the low. We do NOT compute fixed-strike vol yet, so this page cannot apply the discriminator and does not pretend to: the state is shown with its ambiguity intact. Building it needs no new vendor data - the chain recorder banks the whole chain every 5 minutes, so differencing the solved IV of the same strike between members would give it - it simply has not been built. He also notes high vol PLUS high put skew is fuel for a violent bounce, which cuts the other way again.",
   "discriminator": "PENDING - fixed-strike vol not yet computed"
  },
  "grind_vs_rip": {
   "state": "grind",
   "value": -0.9994252954121707,
   "pctile": 54.375,
   "asof": "2026-08-24",
   "headline": "an ordinary-sized session",
   "say": "The session moved -1.00%, an ordinary size (larger than 54% of 2026 sessions). Grinding is what he associates with healthy trend rather than with a bounce inside a damaged one.",
   "rules": [
    "R063"
   ],
   "caveat": "Size alone is the measurable half; 'beaten-up name' is a judgement we do not make."
  },
  "vol_floating_up": {
   "state": "ordinary_selloff",
   "ret_pct": -0.9994252954121707,
   "vix_chg": 0.7200002670288086,
   "headline": "price down, volatility bid",
   "say": "Price fell and volatility rose - the ordinary shape of a down session in equities.",
   "rules": [
    "R064"
   ],
   "caveat": "Half of his rule is missing: his version pairs floating vol with BREADTH, and this stack holds no breadth feed. This is the half we can measure, labelled as half."
  },
  "skew_divergence": {
   "state": "confirming",
   "skew_shift": 0.7161671399999985,
   "index_ret": -0.9747212740175093,
   "asof": "2026-08-24",
   "headline": "skew and price are moving together",
   "say": "Skew and price moved in the ordinary, confirming directions this session - the surface is agreeing with the tape rather than diverging from it. That is a real reading and it means his divergence rule simply does not fire here.",
   "rules": [
    "R032",
    "R023"
   ],
   "caveat": "One session of shift is a thin basis for a divergence claim; he watches the 1-month skew over a longer window than this."
  },
  "lowvol_cluster": {
   "state": "cluster_1_of_2",
   "n_on": 1,
   "n_checked": 2,
   "positive_carry": false,
   "vix_pop_sold": false,
   "opex_week": true,
   "headline": "1 of 2 lower-vol conditions present",
   "say": "He names a specific three-item cluster as a lower-vol base case: most assets in positive carry so you are paid to be short vol, a VIX pop that gets sold instantly, and monthly OPEX week. Right now the VIX move was NOT sold; it is monthly OPEX week. The cluster is only partly formed, so it is not the configuration he means.",
   "rules": [
    "R039",
    "R070"
   ],
   "caveat": "Seasonality is the fourth thing he mentions and we do not model it. Carry is proxied by the S&P futures carry alone, not 'most assets'. And he attaches a standing reminder that CPI and geopolitical tails override the whole cluster."
  },
  "vix_validation": {
   "state": "partly_confirmed",
   "n_confirming": 1,
   "n_legs": 3,
   "legs": [
    {
     "leg": "rates volatility (MOVE)",
     "plain": "the bond market's own fear gauge",
     "level": 73.98000336,
     "pctile": 63.35403726708075,
     "chg": 0.5800018300000005,
     "confirming": true,
     "asof": "2026-08-24"
    },
    {
     "leg": "credit spreads",
     "plain": "what risky companies pay to borrow over Treasuries",
     "level": 2.7,
     "pctile": 13.75,
     "chg": -0.04999999999999982,
     "confirming": false,
     "asof": "2026-08-21"
    },
    {
     "leg": "implied correlation",
     "plain": "whether stocks are moving as one herd",
     "level": 9.28,
     "pctile": 40.37267080745342,
     "chg": null,
     "confirming": false,
     "asof": "2026-08-24"
    }
   ],
   "equity_vol_rising": true,
   "headline": "equity volatility is only PARTLY confirmed",
   "say": "His VIX regime framework does not stop at the VIX. It asks whether OTHER markets confirm what equity volatility is doing: rates volatility, credit spreads and implied correlation. Equity volatility rose and rates volatility (MOVE) moved with it, while credit spreads, implied correlation stayed calm. A single confirming market is a weak confirmation. (1 of 3 confirming.)",
   "rules": [
    "R036",
    "R037",
    "R038"
   ],
   "caveat": "MOVE posts late and is missing on roughly 9% of 2026 sessions, and the credit series are T+1 and capped at three years of history by licensing - so this layer is a DAILY read and is never used as an intraday trigger."
  },
  "stealth_gamma": {
   "state": "elevated",
   "aum_net": 60041944330.0,
   "pctile": 75.15527950310559,
   "share_change": 3500000.0,
   "asof": "2026-08-24",
   "headline": "levered-ETF money sits at the high end of its 2026 range",
   "say": "Levered ETFs hold about $60.0bn net long exposure - higher than 75% of 2026 sessions. These funds must buy into strength and sell into weakness EVERY single day to keep their 2x or 3x multiple, which is synthetic short gamma that never appears anywhere in options open interest. The bigger the pot, the more mechanical end-of-day flow gets added to whatever direction the session took - it amplifies moves rather than pointing one way, which is why it sits on the magnitude axis and casts no direction vote.",
   "rules": [],
   "caveat": "A BFM signal informed by his stealth-gamma writing, not one of his numbered rules. We hold the AUM total, not the per-fund leverage multiples, so the exact dollar-per-1%-move rebalancing figure is not computed - only its scale."
  },
  "vix_option_positioning": {
   "state": "call_heavy",
   "pc_vol": 0.2682121401633597,
   "pctile": 9.937888198757763,
   "open_interest": 11206910.0,
   "asof": "2026-08-24",
   "headline": "VIX option flow is unusually call-heavy",
   "say": "The VIX put/call ratio is 0.268 - higher than 10% of 2026 sessions. Read it the OPPOSITE way to an equity put/call ratio: on the VIX it is the CALL that is the crash hedge, so call-heavy flow means protection against a volatility spike is being bought, and put-heavy flow means people are positioning for calm. VIX option flow is normally call-heavy, so the question is always whether it is MORE so than usual, not whether it is call-heavy at all.",
   "rules": [],
   "caveat": "This uses VOLUME (latest open interest: 11206910 contracts). Open interest - which is what actually locates the dealer strike cluster he describes - is now held PER STRIKE and drives its own detector below. That book is a frozen window with no live licence behind it, so a frozen series is never scored against live baselines and neither open-interest read is voted here."
  },
  "vix_strike_position": {
   "state": "wraps_spot",
   "shift": "away from spot",
   "session": "2026-08-24",
   "spot": 15.850000381469727,
   "total_contracts": 11206910.0,
   "n_strikes": 70,
   "n_clusters": 5,
   "cog": 36.375,
   "cog_dist_pts": 20.525,
   "near_share": 0.2479306070986561,
   "share_below_spot": 0.051450756720630396,
   "pc_oi": 0.36445547294461644,
   "top_center": 20.037,
   "top_dist_pts": 4.187,
   "top_share": 0.4641443537960062,
   "headline": "the heaviest VIX strike cluster STRADDLES the index",
   "say": "This is net contracts by strike, across VIX and VIXW: 11,206,910 contracts open at 70 strikes as of the close of 2026-08-24, with the VIX itself at 15.85. Calls and puts at the same strike are ADDED, not differenced (R016): once a dealer delta-hedges, a short call and a short put at one price are the same gamma problem sitting at the same place. On that netting the heaviest strike cluster runs from 15 to 25 with its centre of gravity at 20.04 - 5,201,624 contracts, 46.4% of the whole book, straddling spot, so the index is sitting inside it. That block is TWO-SIDED - 2,672,026 calls against 2,529,598 puts - which is exactly why the count is netted rather than differenced: calls minus puts would report 142,428 and hide a position holding 46% of everything open. The next cluster sits at 59.38 (50 to 70): 1,879,374 contracts, 16.8% of the book, +43.53 points from spot and almost pure call - 1,875,399 calls against 3,975 puts, which is what an upside volatility hedge looks like. Only 5.1% of the open contracts sit BELOW the index at all, and the book's centre of gravity is 36.38 - +20.52 points above it. R014 and R018 are the reason this leads with a contract count rather than a dollar gamma: the number of contracts at a strike does not change when spot moves, so it keeps saying the same thing about where positioning sits, which a dollar figure does not. HOW IT HAS SHIFTED. Over the last 5 sessions (about a week), 2026-08-18 to 2026-08-24, the heaviest cluster's centre moved 20.18 to 20.04 and its distance from the index went +4.34 to +4.19 points - holding its distance; the share of the book sitting within 25% of spot either way went 25.2% to 24.8%; the centre of gravity moved +0.45 points, to 36.38; 1 expiry cycle rolled off in between, which moves clusters without a single contract having been traded. Over the last 21 sessions (about a month), 2026-07-24 to 2026-08-24, the heaviest cluster's centre moved 21.23 to 20.04 and its distance from the index went +2.65 to +4.19 points - away from spot; the share of the book sitting within 25% of spot either way went 35.1% to 24.8%; the centre of gravity moved -2.49 points, to 36.38; 4 expiry cycles rolled off in between, which moves clusters without a single contract having been traded. Over the whole per-strike history, 2026-03-02 to 2026-08-24, the heaviest cluster's centre moved 19.41 to 20.04 and its distance from the index went -2.03 to +4.19 points - away from spot; the share of the book sitting within 25% of spot either way went 24.5% to 24.8%; the centre of gravity moved -13.77 points, to 36.38; 17 expiry cycles rolled off in between, which moves clusters without a single contract having been traded. The distance reading and the near-spot share are reported together on purpose: the top cluster is a RANK, and an expiry rolling off can demote the near-money block without anything moving, while the share of the book near spot keeps reading correctly through that.",
   "rules": [
    "R014",
    "R016",
    "R018"
   ],
   "caveat": "AS-OF, NOT PUBLISHED. The session label on this store is the as-of session - the close whose positions it reflects - which is the OPPOSITE of the futures convention on this stack. That was measured, not assumed: against the independently-sourced VIX open-interest column in our own matrix, the put/call ratio agrees to 0.975 under the as-of reading and is out by a factor of 1.91 under the published-date reading, and the discriminator had to be the call/put mix because an expiry moves the composition far more than the total. So each session's strikes are paired with the VIX close of the SAME date. COVERAGE. Per-strike history begins 2026-03-02 and ends 2026-08-24 - 121 sessions. It is a FROZEN window: OPRA history stops at 2026-08-07T13:30Z without a live licence, so unlike the equity open-interest tier this one does NOT roll forward overnight, and every figure above is dated for that reason. There is no intraday grain and none is offered. ONE SESSION REJECTED. 2026-08-06 was dropped from every figure above: 7.6% of its open interest is booked to expiries that had already passed, and an expired contract cannot hold open interest as of a later close, so its instrument-to-strike mapping is not trustworthy. It is the last session in the store and its broadcast day is truncated at the opening bell. Dropped and named, not smoothed. NO DOLLAR GAMMA. It is not computed here, and that is deliberate twice over: R015 says dollar gamma at one strike is a moving target, and this purchase is open interest per contract with no implied vol in it, so a per-strike gamma would need a solve we did not buy. NO PER-STRIKE CHANGES either - a strike present one session and absent the next has UNKNOWN open interest, never zero, so only per-session aggregates are compared across time. Finally, the cluster cut-points (a strike joins at 2% of the book, neighbours within 10% in strike terms) are CONVENTIONS chosen for this page, not numbers Imran Lakha specified."
  },
  "futures_positioning": {
   "state": "unavailable",
   "headline": "futures open interest not available",
   "say": "No index-futures open-interest value at this as-of, so the amount of leveraged length outstanding cannot be shown.",
   "rules": [],
   "caveat": ""
  },
  "wall_break": {
   "state": "not_evaluated",
   "headline": "call-wall break - deliberately not evaluated",
   "say": "His R030 pattern is a call-wall break plus skew rotating toward calls plus stable vol, which together can mean a move 'has legs'. Two of the three parts are available here, but the wall itself comes from the SETTLED open-interest tier - which the owner demoted to non-voting context on 2026-08-07 because its orientation was never validated and the tier is a day stale. Rather than quietly re-promote a demoted input inside a compound signal, this state is left unevaluated and flagged for re-gating.",
   "rules": [
    "R030"
   ],
   "caveat": "Re-gating this needs the wall-distance orientation validated empirically against the session matrix first - the same test the owner asked for before any wall metric votes."
  }
 },
 "magnitude": {
  "available": true,
  "now_fingerprint": {
   "ret_pct": -0.8119208510171144,
   "hl_range_pct": -0.8041173158567785,
   "rv_intraday": -0.772419346436294,
   "atm_iv_front": -0.8006056183821999,
   "atm_iv_30d": -0.9044161217834324,
   "term_slope": 0.5304589114106212,
   "skew_pct": -0.41751215495795624,
   "skew_25d": -1.056314276289355,
   "pc_vol": -0.40620532330398956,
   "pc_premium": 0.03657716991637519,
   "delta_atm": 0.625436810645286,
   "opt_vol_total": 0.5079804859988789,
   "zdte_vol": 0.9650641084383298,
   "gex": -0.5691740967213207,
   "local_gamma_at_spot": -0.4408390859838199,
   "vix": -0.8951063801463687,
   "vix_chg": 0.42714599441823464,
   "vxn": -0.8051015949555261,
   "vix_vix3m": -0.618919069487977,
   "vix_term_slope": 0.45741510602776403,
   "skew_idx": 0.35512279844602135,
   "dxy_chg": 0.5422792377952337,
   "ndx_ret_pct": -0.7880601336560082
  },
  "scores": [
   {
    "class": "middle_down",
    "n_episodes": 5,
    "similarity": 0.6998473064777565,
    "n_features": 23,
    "median_pct": -5.664648803917959,
    "median_sessions": 7,
    "members": [
     {
      "start": "2026-01-12",
      "end": "2026-01-20",
      "pct": -3.1,
      "n_sessions": 6
     },
     {
      "start": "2026-01-28",
      "end": "2026-02-05",
      "pct": -5.66,
      "n_sessions": 7
     },
     {
      "start": "2026-06-02",
      "end": "2026-06-10",
      "pct": -7.02,
      "n_sessions": 7
     },
     {
      "start": "2026-06-18",
      "end": "2026-06-26",
      "pct": -4.24,
      "n_sessions": 6
     },
     {
      "start": "2026-07-10",
      "end": "2026-07-29",
      "pct": -8.83,
      "n_sessions": 14
     }
    ],
    "contributions": [
     {
      "metric": "vix",
      "now_z": -0.8951063801463687,
      "profile_z": -0.7074425110097552,
      "product": 0.6332363051915996
     },
     {
      "metric": "vix_vix3m",
      "now_z": -0.618919069487977,
      "profile_z": -0.7204955233455371,
      "product": 0.44592841887927287
     },
     {
      "metric": "atm_iv_30d",
      "now_z": -0.9044161217834324,
      "profile_z": -0.3658216852865389,
      "product": 0.33085502987113086
     },
     {
      "metric": "vxn",
      "now_z": -0.8051015949555261,
      "profile_z": -0.3966693384143088,
      "product": 0.31935911702731334
     },
     {
      "metric": "hl_range_pct",
      "now_z": -0.8041173158567785,
      "profile_z": -0.38152133707938773,
      "product": 0.30678791351436646
     },
     {
      "metric": "vix_term_slope",
      "now_z": 0.45741510602776403,
      "profile_z": 0.6534807986976656,
      "product": 0.29891198882340064
     },
     {
      "metric": "ret_pct",
      "now_z": -0.8119208510171144,
      "profile_z": -0.30437447045305793,
      "product": 0.24712797907813033
     },
     {
      "metric": "ndx_ret_pct",
      "now_z": -0.7880601336560082,
      "profile_z": -0.2975861409155107,
      "product": 0.23451577398405307
     }
    ]
   },
   {
    "class": "short_down",
    "n_episodes": 4,
    "similarity": 0.3075429637627535,
    "n_features": 23,
    "median_pct": -2.5742163446244137,
    "median_sessions": 4,
    "members": [
     {
      "start": "2026-02-09",
      "end": "2026-02-12",
      "pct": -2.3,
      "n_sessions": 4
     },
     {
      "start": "2026-05-14",
      "end": "2026-05-19",
      "pct": -2.57,
      "n_sessions": 4
     },
     {
      "start": "2026-06-15",
      "end": "2026-06-17",
      "pct": -2.86,
      "n_sessions": 3
     },
     {
      "start": "2026-06-30",
      "end": "2026-07-07",
      "pct": -3.64,
      "n_sessions": 5
     }
    ],
    "contributions": [
     {
      "metric": "vix",
      "now_z": -0.8951063801463687,
      "profile_z": -0.506122333712814,
      "product": 0.45303333004090934
     },
     {
      "metric": "vix_vix3m",
      "now_z": -0.618919069487977,
      "profile_z": -0.5558739205065275,
      "product": 0.3440409696325337
     },
     {
      "metric": "zdte_vol",
      "now_z": 0.9650641084383298,
      "profile_z": 0.28492675317567384,
      "product": 0.27497258302370975
     },
     {
      "metric": "vix_term_slope",
      "now_z": 0.45741510602776403,
      "profile_z": 0.5701126651929742,
      "product": 0.2607781451970154
     },
     {
      "metric": "pc_vol",
      "now_z": -0.40620532330398956,
      "profile_z": -0.5766735343811682,
      "product": 0.23424785947415677
     },
     {
      "metric": "skew_25d",
      "now_z": -1.056314276289355,
      "profile_z": 0.1778650387348753,
      "product": -0.1878813796684079
     },
     {
      "metric": "ret_pct",
      "now_z": -0.8119208510171144,
      "profile_z": -0.20458917437427793,
      "product": 0.16611021656685254
     },
     {
      "metric": "ndx_ret_pct",
      "now_z": -0.7880601336560082,
      "profile_z": -0.20489262332959635,
      "product": 0.16146770812625186
     }
    ]
   },
   {
    "class": "middle_up",
    "n_episodes": 5,
    "similarity": 0.2011807992068768,
    "n_features": 23,
    "median_pct": 4.142934815403532,
    "median_sessions": 9,
    "members": [
     {
      "start": "2026-01-02",
      "end": "2026-01-12",
      "pct": 2.31,
      "n_sessions": 7
     },
     {
      "start": "2026-01-20",
      "end": "2026-01-28",
      "pct": 4.14,
      "n_sessions": 7
     },
     {
      "start": "2026-02-12",
      "end": "2026-02-25",
      "pct": 2.6,
      "n_sessions": 9
     },
     {
      "start": "2026-05-19",
      "end": "2026-06-02",
      "pct": 6.39,
      "n_sessions": 10
     },
     {
      "start": "2026-07-29",
      "end": "2026-08-13",
      "pct": 10.64,
      "n_sessions": 12
     }
    ],
    "contributions": [
     {
      "metric": "skew_25d",
      "now_z": -1.056314276289355,
      "profile_z": -0.4926328657204406,
      "product": 0.5203751290298382
     },
     {
      "metric": "vix",
      "now_z": -0.8951063801463687,
      "profile_z": -0.3859774574129881,
      "product": 0.34549088472303896
     },
     {
      "metric": "vxn",
      "now_z": -0.8051015949555261,
      "profile_z": -0.41847172707708874,
      "product": 0.33691225491355775
     },
     {
      "metric": "atm_iv_30d",
      "now_z": -0.9044161217834324,
      "profile_z": -0.35478116858683034,
      "product": 0.32086980857509523
     },
     {
      "metric": "zdte_vol",
      "now_z": 0.9650641084383298,
      "profile_z": -0.2572293247192533,
      "product": -0.24824278892437981
     },
     {
      "metric": "vix_vix3m",
      "now_z": -0.618919069487977,
      "profile_z": -0.38445077004884126,
      "product": 0.23794391286256505
     },
     {
      "metric": "rv_intraday",
      "now_z": -0.772419346436294,
      "profile_z": 0.2843016668743521,
      "product": -0.219600107717836
     },
     {
      "metric": "dxy_chg",
      "now_z": 0.5422792377952337,
      "profile_z": -0.3766064304402569,
      "product": -0.2042258480479262
     }
    ]
   },
   {
    "class": "sustained_down",
    "n_episodes": 1,
    "similarity": -0.12200168039692601,
    "n_features": 21,
    "median_pct": -9.379188042874453,
    "median_sessions": 24,
    "members": [
     {
      "start": "2026-02-25",
      "end": "2026-03-30",
      "pct": -9.38,
      "n_sessions": 24
     }
    ],
    "contributions": [
     {
      "metric": "zdte_vol",
      "now_z": 0.9650641084383298,
      "profile_z": -1.1585495234647418,
      "product": -1.1180745629441529
     },
     {
      "metric": "skew_25d",
      "now_z": -1.056314276289355,
      "profile_z": 1.0071339348987316,
      "product": -1.063849953569004
     },
     {
      "metric": "atm_iv_30d",
      "now_z": -0.9044161217834324,
      "profile_z": -0.6168867284070617,
      "product": 0.5579223024855844
     },
     {
      "metric": "opt_vol_total",
      "now_z": 0.5079804859988789,
      "profile_z": -1.0319403859454173,
      "product": -0.5242055787744238
     },
     {
      "metric": "rv_intraday",
      "now_z": -0.772419346436294,
      "profile_z": -0.5484250946980153,
      "product": 0.42361415321590357
     },
     {
      "metric": "vxn",
      "now_z": -0.8051015949555261,
      "profile_z": -0.49363810768034744,
      "product": 0.39742882782427547
     },
     {
      "metric": "hl_range_pct",
      "now_z": -0.8041173158567785,
      "profile_z": -0.4001602548545218,
      "product": 0.32177579004618245
     },
     {
      "metric": "pc_vol",
      "now_z": -0.40620532330398956,
      "profile_z": 0.5384894236594142,
      "product": -0.21873727043335137
     }
    ]
   },
   {
    "class": "short_up",
    "n_episodes": 5,
    "similarity": -0.45478236836526115,
    "n_features": 23,
    "median_pct": 2.930711121050966,
    "median_sessions": 3,
    "members": [
     {
      "start": "2026-02-05",
      "end": "2026-02-09",
      "pct": 2.93,
      "n_sessions": 3
     },
     {
      "start": "2026-06-10",
      "end": "2026-06-15",
      "pct": 7.14,
      "n_sessions": 4
     },
     {
      "start": "2026-06-17",
      "end": "2026-06-18",
      "pct": 2.48,
      "n_sessions": 2
     },
     {
      "start": "2026-06-26",
      "end": "2026-06-30",
      "pct": 3.98,
      "n_sessions": 3
     },
     {
      "start": "2026-07-07",
      "end": "2026-07-10",
      "pct": 2.24,
      "n_sessions": 4
     }
    ],
    "contributions": [
     {
      "metric": "atm_iv_30d",
      "now_z": -0.9044161217834324,
      "profile_z": 0.8838335206630253,
      "product": -0.7993532850602506
     },
     {
      "metric": "rv_intraday",
      "now_z": -0.772419346436294,
      "profile_z": 1.0031673856409236,
      "product": -0.7748658963829679
     },
     {
      "metric": "vxn",
      "now_z": -0.8051015949555261,
      "profile_z": 0.8403598673267585,
      "product": -0.6765750695213876
     },
     {
      "metric": "zdte_vol",
      "now_z": 0.9650641084383298,
      "profile_z": 0.5675410913382031,
      "product": 0.5477135373144196
     },
     {
      "metric": "hl_range_pct",
      "now_z": -0.8041173158567785,
      "profile_z": 0.5294509391308018,
      "product": -0.4257406680517109
     },
     {
      "metric": "atm_iv_front",
      "now_z": -0.8006056183821999,
      "profile_z": 0.5092081109356601,
      "product": -0.407674874540876
     },
     {
      "metric": "skew_25d",
      "now_z": -1.056314276289355,
      "profile_z": 0.35390470446225064,
      "product": -0.37383459176944034
     },
     {
      "metric": "ndx_ret_pct",
      "now_z": -0.7880601336560082,
      "profile_z": 0.33815045620694056,
      "product": -0.26648289371428174
     }
    ]
   },
   {
    "class": "sustained_up",
    "n_episodes": 1,
    "similarity": -0.5602436301011053,
    "n_features": 23,
    "median_pct": 28.87121493114737,
    "median_sessions": 33,
    "members": [
     {
      "start": "2026-03-30",
      "end": "2026-05-14",
      "pct": 28.87,
      "n_sessions": 33
     }
    ],
    "contributions": [
     {
      "metric": "vix",
      "now_z": -0.8951063801463687,
      "profile_z": 2.2310409632807815,
      "product": -1.9970190006005277
     },
     {
      "metric": "vix_vix3m",
      "now_z": -0.618919069487977,
      "profile_z": 1.8641857714872994,
      "product": -1.153780123041646
     },
     {
      "metric": "atm_iv_30d",
      "now_z": -0.9044161217834324,
      "profile_z": 1.2730820010346606,
      "product": -1.1513958860880595
     },
     {
      "metric": "vxn",
      "now_z": -0.8051015949555261,
      "profile_z": 1.3741041845373914,
      "product": -1.1062934706061165
     },
     {
      "metric": "vix_term_slope",
      "now_z": 0.45741510602776403,
      "profile_z": -1.983893268631287,
      "product": -0.9074627498187474
     },
     {
      "metric": "atm_iv_front",
      "now_z": -0.8006056183821999,
      "profile_z": 0.8745236437328925,
      "product": -0.7001485425806271
     },
     {
      "metric": "ret_pct",
      "now_z": -0.8119208510171144,
      "profile_z": 0.8463442519087612,
      "product": -0.6871645452632045
     },
     {
      "metric": "ndx_ret_pct",
      "now_z": -0.7880601336560082,
      "profile_z": 0.843485412569523,
      "product": -0.6647172269664315
     }
    ]
   }
  ],
  "resembles_nothing": false,
  "headline": "current conditions most resemble the start of a MEDIUM down-move",
  "say": "Today's readings sit closest to the start of a MEDIUM down-move (0.70 similarity, over 23 shared measures, from 5 episodes) versus 0.31 for the start of a SHORT-LIVED DIP. The analogue's own history: those runs ran a median -5.7% over a median 7 sessions. THAT IS A DESCRIPTION OF THE ANALOGUE, not a statement about what happens next.",
  "tells_kept": [
   "R030_skew_toward_calls",
   "R024_extreme_put_skew_vol_bid",
   "R020_wide_realised_range",
   "vol_rich_vs_realised"
  ],
  "discrimination": [
   {
    "tell": "R030_skew_toward_calls",
    "rules": [
     "R030",
     "R023"
    ],
    "plain": "skew shifted toward calls at the start (25-delta put-minus-call below its 2026 normal)",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 1,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-05-14"
    ],
    "separation": 0.3888888888888889,
    "kept": true
   },
   {
    "tell": "R064_vol_floating_up",
    "rules": [
     "R064"
    ],
    "plain": "volatility floating UP while price rose (VIX change above normal on an up-run)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R063_grind_not_rip",
    "rules": [
     "R063"
    ],
    "plain": "the start GRINDED rather than ripped (first-sessions move below its normal size)",
    "sustained_hits": 2,
    "sustained_n": 2,
    "fizzle_hits": 9,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-02-25",
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-02-05",
     "2026-02-09",
     "2026-05-14",
     "2026-06-10",
     "2026-06-15",
     "2026-06-17",
     "2026-06-26",
     "2026-06-30",
     "2026-07-07"
    ],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R011_short_gamma",
    "rules": [
     "R011",
     "R013",
     "R019"
    ],
    "plain": "dealers were short gamma at the start (net gamma below its 2026 normal = moves amplified)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R012_long_gamma_downside",
    "rules": [
     "R012",
     "R065"
    ],
    "plain": "dealers were LONG gamma at the start (moves damped, dips tend to get bought)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 1,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [
     "2026-06-17"
    ],
    "separation": -0.1111111111111111,
    "kept": false
   },
   {
    "tell": "R024_extreme_put_skew_vol_bid",
    "rules": [
     "R024",
     "R025",
     "R026"
    ],
    "plain": "extreme put skew AND vol bid at the start - the surface still priced more downside",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-02-25"
    ],
    "fizzle_examples": [],
    "separation": 0.5,
    "kept": true
   },
   {
    "tell": "R020_wide_realised_range",
    "rules": [
     "R020",
     "R011"
    ],
    "plain": "wide realised daily range at the start (the short-gamma / amplification proxy)",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 3,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-06-10",
     "2026-06-26",
     "2026-06-30"
    ],
    "separation": 0.16666666666666669,
    "kept": true
   },
   {
    "tell": "R020_tight_realised_range",
    "rules": [
     "R020",
     "R012"
    ],
    "plain": "tight realised daily range at the start (the long-gamma / suppression proxy)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R033_iv_term_upward",
    "rules": [
     "R042",
     "R044"
    ],
    "plain": "the IV term structure sloped UP at the start (no near-term panic bid)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 1,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [
     "2026-06-30"
    ],
    "separation": -0.1111111111111111,
    "kept": false
   },
   {
    "tell": "vol_rich_vs_realised",
    "rules": [
     "R077",
     "R035"
    ],
    "plain": "implied vol sat rich to realised at the start",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 3,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-06-26",
     "2026-06-30",
     "2026-07-07"
    ],
    "separation": 0.16666666666666669,
    "kept": true
   },
   {
    "tell": "basis_rich",
    "rules": [],
    "plain": "S&P futures basis rich to cash at the start (leveraged long demand) - BFM signal, not a Lakha rule",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 5,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-06-15",
     "2026-06-17",
     "2026-06-26",
     "2026-06-30",
     "2026-07-07"
    ],
    "separation": -0.05555555555555558,
    "kept": false
   },
   {
    "tell": "pc_vol_light",
    "rules": [],
    "plain": "put/call volume ran light at the start - BFM signal, not a Lakha rule",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 2,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [
     "2026-05-14",
     "2026-06-30"
    ],
    "separation": -0.2222222222222222,
    "kept": false
   }
  ],
  "tells_dropped": [
   {
    "tell": "R064_vol_floating_up",
    "why": "fired on 0 of 2 sustained starts and 0 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R063_grind_not_rip",
    "why": "fired on 2 of 2 sustained starts and 9 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R011_short_gamma",
    "why": "fired on 0 of 2 sustained starts and 0 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R012_long_gamma_downside",
    "why": "fired on 0 of 2 sustained starts and 1 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R020_tight_realised_range",
    "why": "fired on 0 of 2 sustained starts and 0 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R033_iv_term_upward",
    "why": "fired on 0 of 2 sustained starts and 1 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "basis_rich",
    "why": "fired on 1 of 2 sustained starts and 5 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "pc_vol_light",
    "why": "fired on 0 of 2 sustained starts and 2 of 9 fizzles - does not separate the classes"
   }
  ],
  "n_corpus": 21,
  "n_sustained": 2,
  "n_short": 9,
  "theta": 2.0,
  "caveats": [
   "The corpus is 2026 only - one regime, 161 sessions. Counts are reported raw; with fewer than ten episodes a percentage would imply precision that does not exist.",
   "Fingerprints are z-scores against the FULL-2026 daily baseline, so an early-2026 episode is scored against a baseline that contains its own future. Stated, not hidden.",
   "The current run is right-censored - its outcome is unknown - so it is SCORED against the corpus but never included IN it.",
   "A fingerprint fitted on a handful of runs DESCRIBES those runs. It is not a law, and nothing here is a forecast."
  ]
 },
 "comparison": {
  "available": true,
  "columns": [
   {
    "key": "bearish",
    "title": "MOST-BEARISH",
    "date": "2026-06-05",
    "label": "NDX -4.77%",
    "ndx_ret": -4.769205383151265
   },
   {
    "key": "bullish",
    "title": "MOST-BULLISH",
    "date": "2026-03-31",
    "label": "NDX +3.43%",
    "ndx_ret": 3.427854914142814
   },
   {
    "key": "latest",
    "title": "LATEST",
    "date": "2026-08-24",
    "label": "the freshest close",
    "ndx_ret": null
   }
  ],
  "definition": "MOST-BEARISH and MOST-BULLISH are the 2026 ARGMIN and ARGMAX of the Nasdaq-100's daily return - the single worst and the single best session of the year on that one measure, and nothing else. They are FROZEN: chosen once, never re-ranked by a scheduled job, and they are the same two days the rest of the omniverse dashboard uses, so a number here can be compared cell-for-cell with a number there. LATEST is each metric's OWN freshest observation, which is not always the same session; a row whose clock differs carries a trailing @MM-DD stamp.",
  "alternative_considered": "A MULTI-DAY WINDOW WAS CONSIDERED AND NOT USED, and the choice is stated rather than left silent. The episode census holds 2 SUSTAINED runs that would be the natural multi-day archetypes - the decline 2026-02-25 to 2026-03-30 (-9.38% over 24 sessions) and the advance 2026-03-30 to 2026-05-14 (+28.87% over 33 sessions). They were rejected for two measured reasons. FIRST, almost everything these lenses read is a SINGLE-SESSION surface state - the skew level, the VIX-minus-ATM gap, whether the day beat its own breakeven - and averaging those across 20-plus sessions blurs exactly the state the lens is built to detect. SECOND, the frozen days are not in conflict with the multi-day view anyway, because each already sits INSIDE a run of its own sign: the most-bearish day 2026-06-05 falls inside the 2026-06-02 to 2026-06-10 run (-7.02% over 7 sessions), and the most-bullish day 2026-03-31 falls inside the 2026-03-30 to 2026-05-14 run (+28.87% over 33 sessions). Using the single days therefore keeps continuity with every other omniverse surface without losing the multi-day reading.",
  "read_method": "all three columns are read the same way - the QQQ option row for that session, falling back to the market-level row, which is the identical join the frozen archetype baselines were built from. z is against the 2026 DAILY baseline for that metric. The percentile is that value's rank among every 2026 observation of the same metric. Both are shown because they answer different questions, and because they are what lets a skew reading and a dollar-gamma reading be compared for magnitude at all.",
  "coverage_gaps": [
   "gex: the archive STARTS at 2026-03-02, not at the start of the year - it does not exist before then, so 39 of the 161 2026 sessions have no value by construction rather than by loss",
   "local_gamma_at_spot: the archive STARTS at 2026-03-02, not at the start of the year - it does not exist before then, so 39 of the 161 2026 sessions have no value by construction rather than by loss",
   "call_wall: the archive STARTS at 2026-03-02, not at the start of the year - it does not exist before then, so 39 of the 161 2026 sessions have no value by construction rather than by loss",
   "dist_callwall_pct: the archive STARTS at 2026-03-02, not at the start of the year - it does not exist before then, so 39 of the 161 2026 sessions have no value by construction rather than by loss",
   "vix_vix3m: 22 sessions inside its own covered span (2026-01-02 to 2026-08-24) carry no value - it posts late, so it is a DAILY read and never an intraday trigger",
   "vix_term_slope: 22 sessions inside its own covered span (2026-01-02 to 2026-08-24) carry no value - it posts late, so it is a DAILY read and never an intraday trigger",
   "vix_opt_pc_oi: only 12 observations in the whole of 2026 (2026-08-06 to 2026-08-24) - too short to baseline, so it renders as context and is never scored or voted",
   "pc_oi: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest close (2026-08-24). A sibling column may still be current; this one is not, and a value read off it would be 14 sessions old.",
   "es_basis_bp: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest close (2026-08-24). A sibling column may still be current; this one is not, and a value read off it would be 14 sessions old.",
   "nq_basis_bp: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest close (2026-08-24). A sibling column may still be current; this one is not, and a value read off it would be 14 sessions old.",
   "es_futoi: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest close (2026-08-24). A sibling column may still be current; this one is not, and a value read off it would be 14 sessions old.",
   "nq_futoi: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest close (2026-08-24). A sibling column may still be current; this one is not, and a value read off it would be 14 sessions old."
  ],
  "rows": [
   {
    "lens": "gamma",
    "m": "gex",
    "label": "net dealer gamma ($)",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": -4798009349.0,
      "z": -1.2294246226054402,
      "pctile": 10.655737704918034,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 2542365775.0,
      "z": 0.6276203921607675,
      "pctile": 70.49180327868852,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -2188225258.0,
      "z": -0.5691740967213207,
      "pctile": 29.508196721311474,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 122,
    "first_obs": "2026-03-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "gamma",
    "m": "local_gamma_at_spot",
    "label": "dealer gamma at spot ($)",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": -137654671.0,
      "z": -0.33046408723378373,
      "pctile": 39.34426229508197,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 916432178.0,
      "z": 0.5934690669775101,
      "pctile": 82.78688524590164,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -263578104.0,
      "z": -0.4408390859838199,
      "pctile": 30.327868852459016,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 122,
    "first_obs": "2026-03-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "gamma",
    "m": "atm_iv_front",
    "label": "front ATM implied vol %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 25.655408599999994,
      "z": 0.49134825803526766,
      "pctile": 71.42857142857143,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 25.736633600000005,
      "z": 0.5033282589073508,
      "pctile": 73.2919254658385,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 16.89589725,
      "z": -0.8006056183821999,
      "pctile": 25.46583850931677,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "gamma",
    "m": "_breakeven",
    "label": "daily breakeven move %",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 1.6161388318892322,
      "z": 0.5444302689656668,
      "pctile": 71.25,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 1.6212555259425954,
      "z": 0.5564700205611554,
      "pctile": 73.125,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.0643414833523837,
      "z": -0.753967277994602,
      "pctile": 25.0,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "gamma",
    "m": "ret_pct",
    "label": "the session's own move %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": -4.758946657663743,
      "z": -3.5383304654353154,
      "pctile": 0.625,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 3.3763814505006318,
      "z": 2.3614196977775546,
      "pctile": 100.0,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -0.9994252954121707,
      "z": -0.8119208510171144,
      "pctile": 21.875,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "gamma",
    "m": "_breakeven_gap",
    "label": "realised minus breakeven",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 3.1428078257745105,
      "z": 4.263339391816285,
      "pctile": 100.0,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 1.7551259245580364,
      "z": 2.5595970654078837,
      "pctile": 99.375,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -0.06491618794021292,
      "z": 0.32501954429823776,
      "pctile": 68.125,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "gamma",
    "m": "rv_intraday",
    "label": "realised intraday vol %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 20.30261646472091,
      "z": 0.9746087530170888,
      "pctile": 88.19875776397515,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 20.62597554874098,
      "z": 1.036923808213094,
      "pctile": 88.81987577639751,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 11.237112081876637,
      "z": -0.772419346436294,
      "pctile": 27.32919254658385,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "skew_25d",
    "label": "25-delta skew (vol pts)",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 5.557510799999998,
      "z": 0.6187908327921685,
      "pctile": 76.3975155279503,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 3.4904994000000023,
      "z": -0.5881159217084574,
      "pctile": 37.88819875776397,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 2.6886384999999984,
      "z": -1.056314276289355,
      "pctile": 14.906832298136646,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "skew_pct",
    "label": "skew as % of ATM vol",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 0.6510438000000007,
      "z": 1.1863370976219587,
      "pctile": 95.03105590062111,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -0.7685423999999996,
      "z": -0.8678209360133639,
      "pctile": 16.149068322981368,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -0.45734330000000156,
      "z": -0.41751215495795624,
      "pctile": 26.08695652173913,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "skew_idx",
    "label": "CBOE SKEW index",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 152.25,
      "z": 1.6502684606364566,
      "pctile": 93.16770186335404,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 145.4499969482422,
      "z": 0.3178942333824231,
      "pctile": 68.94409937888199,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 145.63999938964844,
      "z": 0.35512279844602135,
      "pctile": 70.1863354037267,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "_d_skew_25d",
    "label": "1-session SHIFT in skew",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 2.908837799999997,
      "z": 1.850137408512398,
      "pctile": 96.25,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 1.0001263000000038,
      "z": 0.6331834646069244,
      "pctile": 73.125,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.7161671399999985,
      "z": 0.4521371306428376,
      "pctile": 68.125,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "term_slope",
    "label": "options term slope",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 1.3365165000000068,
      "z": 0.20177149342932063,
      "pctile": 59.62732919254658,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -0.5162780000000033,
      "z": -0.15438195739615923,
      "pctile": 37.88819875776397,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 3.046426199999999,
      "z": 0.5304589114106212,
      "pctile": 73.2919254658385,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "atm_iv_30d",
    "label": "30-day ATM implied vol %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 26.991925100000003,
      "z": 1.4847908625557993,
      "pctile": 93.16770186335404,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 25.220355599999998,
      "z": 0.884381586573181,
      "pctile": 82.6086956521739,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 19.94232345,
      "z": -0.9044161217834324,
      "pctile": 21.73913043478261,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "call_wall",
    "label": "call wall strike",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 745.0,
      "z": 1.191179187923417,
      "pctile": 97.54098360655738,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 577.0,
      "z": -1.8738991232863376,
      "pctile": 1.639344262295082,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 720.0,
      "z": 0.7350663439933941,
      "pctile": 63.9344262295082,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 122,
    "first_obs": "2026-03-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "skew",
    "m": "dist_callwall_pct",
    "label": "distance to call wall %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 5.5839002267573665,
      "z": 2.489807891559642,
      "pctile": 97.54098360655738,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -0.043308791684711995,
      "z": -0.7319746065961668,
      "pctile": 14.754098360655737,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.8704547383910166,
      "z": 0.36372484700505614,
      "pctile": 72.95081967213115,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 122,
    "first_obs": "2026-03-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vix",
    "label": "VIX",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 21.510000228881836,
      "z": 0.7207834172339447,
      "pctile": 83.85093167701864,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 25.25,
      "z": 1.7885268156931782,
      "pctile": 92.54658385093168,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 15.850000381469727,
      "z": -0.8951063801463687,
      "pctile": 18.633540372670808,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vix_chg",
    "label": "VIX 1-day change",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 6.1100006103515625,
      "z": 3.644128578178307,
      "pctile": 100.0,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -5.3600006103515625,
      "z": -3.201658400002451,
      "pctile": 0.625,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.7200002670288086,
      "z": 0.42714599441823464,
      "pctile": 75.625,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "_vix_atm_gap",
    "label": "VIX minus SPX ATM IV",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 5.932340428881837,
      "z": 3.0352686578186945,
      "pctile": 98.75,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 3.4313262999999985,
      "z": 0.12908816345273902,
      "pctile": 60.625,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 3.2401666814697254,
      "z": -0.09303947200028062,
      "pctile": 50.0,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 1,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vix_vix3m",
    "label": "VIX / VIX3M",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 0.9857928748726832,
      "z": 1.4961078465395679,
      "pctile": 88.48920863309353,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 0.988258346535471,
      "z": 1.5356701456121944,
      "pctile": 89.92805755395683,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.8539871140920285,
      "z": -0.618919069487977,
      "pctile": 35.25179856115108,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 139,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 22,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vix_term_slope",
    "label": "VIX term slope",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 0.3099994659423828,
      "z": -1.4978037984442654,
      "pctile": 11.510791366906474,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 0.2999992370605469,
      "z": -1.5059507316386909,
      "pctile": 10.79136690647482,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 2.7099990844726562,
      "z": 0.45741510602776403,
      "pctile": 55.39568345323741,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 139,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 22,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vxn",
    "label": "VXN (Nasdaq vol)",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 30.469999313354492,
      "z": 1.6180839558409121,
      "pctile": 95.03105590062111,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 28.239999771118164,
      "z": 0.9235205217939331,
      "pctile": 83.85093167701864,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 22.690000534057617,
      "z": -0.8051015949555261,
      "pctile": 23.60248447204969,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vvix",
    "label": "VVIX (vol of vol)",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 102.04000091552734,
      "z": 0.04942162668095554,
      "pctile": 65.83850931677019,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 116.05000305175781,
      "z": 1.2401768398239532,
      "pctile": 88.19875776397515,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 88.63999938964844,
      "z": -1.089487669542577,
      "pctile": 10.559006211180124,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "_vrp",
    "label": "implied minus realised",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 6.689308635279094,
      "z": -0.2016319949234709,
      "pctile": 34.161490683229815,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 4.594380051259019,
      "z": -0.7455977476288226,
      "pctile": 19.875776397515526,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 8.705211368123363,
      "z": 0.3218140336509813,
      "pctile": 59.62732919254658,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "move",
    "label": "MOVE (rates vol)",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 75.19999695,
      "z": 0.2536241243800621,
      "pctile": 70.1863354037267,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 96.05000305,
      "z": 2.109998147851394,
      "pctile": 95.65217391304348,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 73.98000336,
      "z": 0.14500236194913713,
      "pctile": 63.35403726708075,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "move_chg",
    "label": "MOVE 1-day change",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 4.039993289999998,
      "z": 0.8176628999487019,
      "pctile": 87.5,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -12.279998750000004,
      "z": -2.5381902203012245,
      "pctile": 0.625,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.5800018300000005,
      "z": 0.10619054698307577,
      "pctile": 61.25,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "hy_oas",
    "label": "high-yield OAS",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 2.76,
      "z": -0.5579324162666234,
      "pctile": 40.625,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 3.28,
      "z": 2.437812809813617,
      "pctile": 98.75,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 2.7,
      "z": -0.9035953269681873,
      "pctile": 13.75,
      "asof": "2026-08-21"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-21",
    "lag_sessions": 1,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "ig_oas",
    "label": "investment-grade OAS",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 0.74,
      "z": -1.0377444079070124,
      "pctile": 16.25,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 0.9,
      "z": 2.217495945317092,
      "pctile": 95.625,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.81,
      "z": 0.38642324662853433,
      "pctile": 78.75,
      "asof": "2026-08-21"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-21",
    "lag_sessions": 1,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "hy_ig_spread",
    "label": "high-yield minus IG",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 2.0199999999999996,
      "z": -0.35008145243924094,
      "pctile": 48.75,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 2.38,
      "z": 2.3993137318712696,
      "pctile": 98.75,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.8900000000000001,
      "z": -1.3429186023291424,
      "pctile": 2.5,
      "asof": "2026-08-21"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-21",
    "lag_sessions": 1,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "cor1m",
    "label": "implied correlation 1m",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 14.52,
      "z": 0.12305233212009195,
      "pctile": 77.63975155279503,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 28.11,
      "z": 1.6678372750121184,
      "pctile": 90.06211180124224,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 9.28,
      "z": -0.47258218596336793,
      "pctile": 40.37267080745342,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "cor_term_slope",
    "label": "correlation term slope",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": -2.289999999999999,
      "z": -0.8519543478142707,
      "pctile": 13.043478260869565,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -0.6699999999999982,
      "z": -0.41321212232605825,
      "pctile": 19.25465838509317,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.540000000000001,
      "z": 0.18531893837082372,
      "pctile": 39.75155279503105,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vix_opt_pc_vol",
    "label": "VIX opt put/call (vol)",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 0.4412445656232874,
      "z": -0.24723355252481238,
      "pctile": 48.4472049689441,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 1.0619882149626216,
      "z": 2.777941180373809,
      "pctile": 98.13664596273291,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.2682121401633597,
      "z": -1.0905016584984388,
      "pctile": 9.937888198757763,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "vix",
    "m": "vix_opt_pc_oi",
    "label": "VIX opt put/call (OI)",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": null,
      "z": null,
      "pctile": null,
      "asof": null
     },
     "bullish": {
      "val": null,
      "z": null,
      "pctile": null,
      "asof": null
     },
     "latest": {
      "val": 0.364455,
      "z": null,
      "pctile": null,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 12,
    "first_obs": "2026-08-06",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 1,
    "note": "no observation on the most-bearish day or the most-bullish day - this series covers 2026-08-06 to 2026-08-24, 12 of 161 sessions"
   },
   {
    "lens": "path",
    "m": "ndx_ret_pct",
    "label": "Nasdaq-100 return %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": -4.769205383151265,
      "z": -3.5374659585151367,
      "pctile": 0.625,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 3.427854914142814,
      "z": 2.401956814096456,
      "pctile": 100.0,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -0.9747212740175093,
      "z": -0.7880601336560082,
      "pctile": 23.125,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "spx_ret_pct",
    "label": "S&P 500 return %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": -2.6445361894386843,
      "z": -3.090228853659613,
      "pctile": 0.625,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 2.913114047102594,
      "z": 3.2065114308851066,
      "pctile": 100.0,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -0.28028689752760405,
      "z": -0.4115673464634402,
      "pctile": 31.25,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "hl_range_pct",
    "label": "high-low range %",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 3.880838272410176,
      "z": 3.3034725905244566,
      "pctile": 99.37888198757764,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 2.5002599022767353,
      "z": 1.332365469034677,
      "pctile": 91.92546583850931,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.0038511638443561,
      "z": -0.8041173158567785,
      "pctile": 23.60248447204969,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "pc_vol",
    "label": "put/call by volume",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 1.0022153606283029,
      "z": -0.9136130678442523,
      "pctile": 21.11801242236025,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 1.4169982259836724,
      "z": 1.599789391506981,
      "pctile": 95.03105590062111,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.085952064792363,
      "z": -0.40620532330398956,
      "pctile": 36.024844720496894,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "pc_premium",
    "label": "put/call by premium",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 1.2528146245578442,
      "z": 0.2154064415260227,
      "pctile": 67.0807453416149,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 1.434196408490272,
      "z": 0.5820150049320303,
      "pctile": 80.74534161490683,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.164337770655301,
      "z": 0.03657716991637519,
      "pctile": 57.142857142857146,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "pc_oi",
    "label": "put/call by open int",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 1.6840143587222154,
      "z": 1.1951629613159278,
      "pctile": 88.18897637795276,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 0.9225147719575095,
      "z": -1.9267080862983363,
      "pctile": 3.1496062992125986,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 1.3598540395597853,
      "z": -0.13377632212885937,
      "pctile": 51.181102362204726,
      "asof": "2026-08-04"
     }
    },
    "n_obs": 127,
    "first_obs": "2026-02-02",
    "last_obs": "2026-08-04",
    "lag_sessions": 14,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "delta_chain",
    "label": "net delta traded, chain",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": -246979.92707237278,
      "z": -1.1828357651245316,
      "pctile": 13.043478260869565,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -302933.8520675689,
      "z": -1.4635176191192945,
      "pctile": 6.211180124223603,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": -57194.20955721593,
      "z": -0.23081305968512048,
      "pctile": 39.130434782608695,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "delta_atm",
    "label": "at-the-money call delta",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 0.409021852,
      "z": -2.178161958201756,
      "pctile": 1.8633540372670807,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 0.531030925,
      "z": 0.4735080072411648,
      "pctile": 74.53416149068323,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.538021498,
      "z": 0.625436810645286,
      "pctile": 79.5031055900621,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "opt_vol_total",
    "label": "total option volume",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": 12430694.0,
      "z": 4.353978094451506,
      "pctile": 100.0,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 8103818.0,
      "z": 1.1234079271100574,
      "pctile": 90.06211180124224,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 7279543.0,
      "z": 0.5079804859988789,
      "pctile": 72.04968944099379,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "zdte_vol",
    "label": "0DTE option volume",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": 8069815.0,
      "z": 3.6583984084966543,
      "pctile": 100.0,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 4825349.0,
      "z": 0.5781453300971816,
      "pctile": 72.04968944099379,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 5232895.0,
      "z": 0.9650641084383298,
      "pctile": 84.472049689441,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "es_basis_bp",
    "label": "ES futures basis (bp)",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 22.359624121307508,
      "z": -0.9569956214799423,
      "pctile": 19.047619047619047,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 62.387769887966776,
      "z": 0.7537037469321688,
      "pctile": 82.99319727891157,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 35.84296350134713,
      "z": -0.38075258749128604,
      "pctile": 38.095238095238095,
      "asof": "2026-08-04"
     }
    },
    "n_obs": 147,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-04",
    "lag_sessions": 14,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "nq_basis_bp",
    "label": "NQ futures basis (bp)",
    "dec": 2,
    "cells": {
     "bearish": {
      "val": 20.236618854978886,
      "z": -1.1859531115067448,
      "pctile": 13.605442176870747,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 71.19174310243481,
      "z": 0.7459411948732214,
      "pctile": 80.27210884353741,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 48.376910827544314,
      "z": -0.11905217377851832,
      "pctile": 45.57823129251701,
      "asof": "2026-08-04"
     }
    },
    "n_obs": 147,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-04",
    "lag_sessions": 14,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "es_futoi",
    "label": "ES futures open interest",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": 2189212.0,
      "z": 1.3535618789336576,
      "pctile": 91.83673469387755,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 1947769.0,
      "z": -0.518842102412946,
      "pctile": 34.01360544217687,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 2116079.0,
      "z": 0.786411369837013,
      "pctile": 86.39455782312925,
      "asof": "2026-08-04"
     }
    },
    "n_obs": 147,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-04",
    "lag_sessions": 14,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "nq_futoi",
    "label": "NQ futures open interest",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": 311989.0,
      "z": 1.761769570171103,
      "pctile": 96.59863945578232,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 245322.0,
      "z": -1.6671061329168249,
      "pctile": 5.442176870748299,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 303624.0,
      "z": 1.3315335425062833,
      "pctile": 89.79591836734694,
      "asof": "2026-08-04"
     }
    },
    "n_obs": 147,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-04",
    "lag_sessions": 14,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "lev_etf_aum_net",
    "label": "net levered-ETF assets $",
    "dec": 0,
    "cells": {
     "bearish": {
      "val": 57600423260.0,
      "z": 0.6444466398274159,
      "pctile": 61.49068322981366,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": 38986632870.0,
      "z": -1.7260299833294042,
      "pctile": 3.1055900621118013,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 60041944330.0,
      "z": 0.9553757144606576,
      "pctile": 75.15527950310559,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 161,
    "first_obs": "2026-01-02",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   },
   {
    "lens": "path",
    "m": "dxy_chg",
    "label": "US dollar 1-day change",
    "dec": 3,
    "cells": {
     "bearish": {
      "val": 0.6599960327148438,
      "z": 1.8577106031162447,
      "pctile": 97.5,
      "asof": "2026-06-05"
     },
     "bullish": {
      "val": -0.5500030517578125,
      "z": -1.602450082963671,
      "pctile": 8.125,
      "asof": "2026-03-31"
     },
     "latest": {
      "val": 0.1999969482421875,
      "z": 0.5422792377952337,
      "pctile": 72.5,
      "asof": "2026-08-24"
     }
    },
    "n_obs": 160,
    "first_obs": "2026-01-05",
    "last_obs": "2026-08-24",
    "lag_sessions": 0,
    "holes": 0,
    "note": null
   }
  ]
 },
 "vix_strikes": {
  "built": "2026-08-26T10:07:33",
  "source": {
   "store": "history-archive/opra-vix-oi (Databento OPRA.PILLAR statistics+definition)",
   "forward_store": "history-archive/opra-vix-options/strikes_oi (Massive options snapshot recorder) - consulted only for sessions the archive does not hold, or holds but fails the integrity gate on",
   "tiers_used": [
    "archive",
    "forward"
   ],
   "sessions_by_tier": {
    "archive": 109,
    "forward": 12
   },
   "why_two_tiers": "the Databento purchase is a FROZEN window and cannot roll forward; the snapshot recorder can. Both publish OPEN INTEREST per contract, and every derived column here is within-session normalised (a distance from spot, a share of the book), which is the class of figure a vendor level-shift cannot move. The one vendor-sensitive figure - the gross contract count - carries a per-session src marker so a step can be attributed.",
   "roots": [
    "VIX",
    "VIXW"
   ],
   "grain": "PER CONTRACT (exp, strike, right) -> netted per strike",
   "spot": "omniverse matrix MARKET.vix"
  },
  "day_convention": "The session label on these files is the AS-OF session - the close whose positions the row reflects - not the next-morning broadcast date. Measured on 2026-08-08 against the independently-sourced vix_opt_oi column in the omniverse matrix: the put/call open-interest ratio agrees to 0.975 under the as-of reading and is off by a factor of 1.91 under the broadcast reading. So a file labelled D is paired here with the VIX close of D, and every figure below is 'as of the close of that session'.",
  "reader_contract": "A contract absent from a session has UNKNOWN open interest and is excluded from every sum - never counted as zero. An oi of 0 that is present is a measured zero. Totals are derived from the per-contract rows on every read. No per-strike change between sessions is computed anywhere, because a strike present on one session and absent on the next would fake a 100% unwind.",
  "dollar_gamma": "NOT COMPUTED, deliberately. R014 and R018 prefer the contract count precisely because dollar gamma per strike explodes as spot approaches a strike and collapses as it leaves (R015), so it tracks where spot is rather than where positioning sits. It is also not available from this store: open interest per contract carries no implied volatility, so a per-strike gamma would need an IV solve this purchase does not include. Stated rather than approximated.",
  "coverage": {
   "first_session": "2026-03-02",
   "last_session": "2026-08-24",
   "last_session_in_store": "2026-08-24",
   "n_sessions": 121,
   "n_sessions_in_store": 122,
   "grains_supported": [
    "1d"
   ],
   "grains_refused": [
    {
     "grain": "1h",
     "why": "refused: open interest is a once-a-day settled figure and this purchase carries one row per contract per session. There is no intraday per-strike grain to render, so none is offered."
    },
    {
     "grain": "before 2026-03-02",
     "why": "refused: the per-strike history begins on 2026-03-02. Anything earlier would be an empty answer dressed as a thin one."
    }
   ],
   "live": false,
   "why_not_live": "OPRA.PILLAR history stops at 2026-08-07T13:30Z without a live licence, so the ARCHIVE tier does NOT roll forward overnight the way the equity open-interest tier does - it is a FROZEN window. The snapshot recorder does roll forward, but it publishes a SETTLED overnight figure, so the latest session here is always the last settled book, never an intraday one. The end date is printed beside every figure this file produces."
  },
  "params": {
   "cluster_min_share": 0.02,
   "cluster_gap_strikes": 1,
   "cluster_max_prop_gap": 0.1,
   "near_band_pct": 25.0,
   "note": "these cut-points are CONVENTIONS chosen for this page - they are not values Imran Lakha specified and not derived from the data. Adjacency is measured on the sorted list of strikes actually present plus a proportional distance, never on a fixed step, because the VIX strike grid is 0.5 wide near the money and 20 wide in the tail."
  },
  "integrity": {
   "gate": "every session is tested for open interest booked to an expiry that had already passed - an expired contract cannot hold open interest as of a later close, so any such session has a bad instrument-to-strike mapping",
   "n_tested": 123,
   "n_rejected": 2,
   "rejected": [
    {
     "session": "2026-08-06",
     "tier": "archive",
     "why": "7.6% of this session's open interest (928,636 contracts across 12 expiries) is booked to expiries that had ALREADY PASSED by 2026-08-06. An expired contract cannot hold open interest as of a later close, so this file's instrument-to-strike mapping is not trustworthy and the session is excluded rather than smoothed. It is the last session in the store, and OPRA history stops at 2026-08-07T13:30Z - its statistics broadcast day is truncated at the opening bell.",
     "expired_expiry_share": 0.07648107150390004,
     "n_contracts": 1420
    },
    {
     "session": "2026-08-07",
     "tier": "forward",
     "why": "this session's book is IDENTICAL to 2026-08-06 - same call total (9,110,351), same put total (3,516,499), same contract count (1520). Settled open interest is published overnight, so a recorder that runs before the vendor rolls records the previous session's book under today's label. Admitted, it would fake a day of zero positioning change; it is a vendor REPEAT, not a flat session.",
     "expired_expiry_share": 0.0,
     "n_contracts": 1520
    }
   ]
  },
  "latest": {
   "session": "2026-08-24",
   "spot": 15.850000381469727,
   "spot_source": "omniverse matrix MARKET.vix (same-session close)",
   "src": "forward",
   "call_cog": 43.011,
   "put_cog": 18.168,
   "call_cog_dist_pts": 27.161,
   "call_cog_dist_pct": 171.36,
   "put_cog_dist_pts": 2.318,
   "put_cog_dist_pct": 14.62,
   "share_above_spot": 0.9485492432793696,
   "call_share_otm": 0.9931804681263101,
   "n_contracts": 1400,
   "n_strikes": 70,
   "unmapped_instruments": 0,
   "per_root": {
    "VIX": {
     "n_contracts": 1000,
     "call_oi": 8058796.0,
     "put_oi": 2922170.0
    },
    "VIXW": {
     "n_contracts": 400,
     "call_oi": 154671.0,
     "put_oi": 71273.0
    }
   },
   "n_expiries": 12,
   "front_expiry": "2026-08-26",
   "integrity": "OK",
   "integrity_why": "",
   "expired_expiry_oi": 0,
   "expired_expiry_share": 0.0,
   "call_oi_total": 8213467.0,
   "put_oi_total": 2993443.0,
   "total_contracts": 11206910.0,
   "pc_oi": 0.36445547294461644,
   "cog": 36.375,
   "cog_dist_pts": 20.525,
   "cog_dist_pct": 129.5,
   "share_below_spot": 0.051450756720630396,
   "near_share": 0.2479306070986561,
   "near_lo": 11.89,
   "near_hi": 19.81,
   "near_band_pct": 25.0,
   "n_clusters": 5,
   "clusters": [
    {
     "center": 20.037,
     "lo": 15.0,
     "hi": 25.0,
     "n_strikes": 11,
     "strikes": [
      15.0,
      16.0,
      17.0,
      18.0,
      19.0,
      20.0,
      21.0,
      22.0,
      23.0,
      24.0,
      25.0
     ],
     "contracts": 5201624.0,
     "share": 0.4641443537960062,
     "call_oi": 2672026.0,
     "put_oi": 2529598.0,
     "rank": 1,
     "dist_pts": 4.187,
     "dist_pct": 26.42,
     "side": "above"
    },
    {
     "center": 59.376,
     "lo": 50.0,
     "hi": 70.0,
     "n_strikes": 5,
     "strikes": [
      50.0,
      55.0,
      60.0,
      65.0,
      70.0
     ],
     "contracts": 1879374.0,
     "share": 0.16769778645496394,
     "call_oi": 1875399.0,
     "put_oi": 3975.0,
     "rank": 2,
     "dist_pts": 43.526,
     "dist_pct": 274.61,
     "side": "above"
    },
    {
     "center": 35.0,
     "lo": 35.0,
     "hi": 35.0,
     "n_strikes": 1,
     "strikes": [
      35.0
     ],
     "contracts": 620083.0,
     "share": 0.05533041668042306,
     "call_oi": 619929.0,
     "put_oi": 154.0,
     "rank": 3,
     "dist_pts": 19.15,
     "dist_pct": 120.82,
     "side": "above"
    },
    {
     "center": 30.0,
     "lo": 30.0,
     "hi": 30.0,
     "n_strikes": 1,
     "strikes": [
      30.0
     ],
     "contracts": 536184.0,
     "share": 0.04784405335636674,
     "call_oi": 527425.0,
     "put_oi": 8759.0,
     "rank": 4,
     "dist_pts": 14.15,
     "dist_pct": 89.27,
     "side": "above"
    },
    {
     "center": 40.0,
     "lo": 40.0,
     "hi": 40.0,
     "n_strikes": 1,
     "strikes": [
      40.0
     ],
     "contracts": 404691.0,
     "share": 0.03611084589775415,
     "call_oi": 404109.0,
     "put_oi": 582.0,
     "rank": 5,
     "dist_pts": 24.15,
     "dist_pct": 152.37,
     "side": "above"
    }
   ],
   "top_cluster": {
    "center": 20.037,
    "lo": 15.0,
    "hi": 25.0,
    "n_strikes": 11,
    "strikes": [
     15.0,
     16.0,
     17.0,
     18.0,
     19.0,
     20.0,
     21.0,
     22.0,
     23.0,
     24.0,
     25.0
    ],
    "contracts": 5201624.0,
    "share": 0.4641443537960062,
    "call_oi": 2672026.0,
    "put_oi": 2529598.0,
    "rank": 1,
    "dist_pts": 4.187,
    "dist_pct": 26.42,
    "side": "above"
   },
   "nearest_cluster": {
    "center": 20.037,
    "lo": 15.0,
    "hi": 25.0,
    "n_strikes": 11,
    "strikes": [
     15.0,
     16.0,
     17.0,
     18.0,
     19.0,
     20.0,
     21.0,
     22.0,
     23.0,
     24.0,
     25.0
    ],
    "contracts": 5201624.0,
    "share": 0.4641443537960062,
    "call_oi": 2672026.0,
    "put_oi": 2529598.0,
    "rank": 1,
    "dist_pts": 4.187,
    "dist_pct": 26.42,
    "side": "above"
   },
   "by_strike": [
    {
     "strike": 10.0,
     "call_oi": 5080.0,
     "put_oi": 1107.0,
     "net_contracts": 6187.0,
     "call_minus_put": 3973.0,
     "share": 0.0005520701067466411,
     "dist_pts": -5.85,
     "dist_pct": -36.91
    },
    {
     "strike": 10.5,
     "call_oi": 328.0,
     "put_oi": 500.0,
     "net_contracts": 828.0,
     "call_minus_put": -172.0,
     "share": 7.3882988263491e-05,
     "dist_pts": -5.35,
     "dist_pct": -33.75
    },
    {
     "strike": 11.0,
     "call_oi": 888.0,
     "put_oi": 752.0,
     "net_contracts": 1640.0,
     "call_minus_put": 136.0,
     "share": 0.00014633828593251842,
     "dist_pts": -4.85,
     "dist_pct": -30.6
    },
    {
     "strike": 11.5,
     "call_oi": 55.0,
     "put_oi": 2327.0,
     "net_contracts": 2382.0,
     "call_minus_put": -2272.0,
     "share": 0.0002125474372507676,
     "dist_pts": -4.35,
     "dist_pct": -27.44
    },
    {
     "strike": 12.0,
     "call_oi": 2435.0,
     "put_oi": 3066.0,
     "net_contracts": 5501.0,
     "call_minus_put": -631.0,
     "share": 0.0004908578725090145,
     "dist_pts": -3.85,
     "dist_pct": -24.29
    },
    {
     "strike": 12.5,
     "call_oi": 184.0,
     "put_oi": 600.0,
     "net_contracts": 784.0,
     "call_minus_put": -416.0,
     "share": 6.995683912871612e-05,
     "dist_pts": -3.35,
     "dist_pct": -21.14
    },
    {
     "strike": 13.0,
     "call_oi": 4380.0,
     "put_oi": 20132.0,
     "net_contracts": 24512.0,
     "call_minus_put": -15752.0,
     "share": 0.0021872219907182267,
     "dist_pts": -2.85,
     "dist_pct": -17.98
    },
    {
     "strike": 13.5,
     "call_oi": 898.0,
     "put_oi": 3213.0,
     "net_contracts": 4111.0,
     "call_minus_put": -2315.0,
     "share": 0.00036682725211498976,
     "dist_pts": -2.35,
     "dist_pct": -14.83
    },
    {
     "strike": 14.0,
     "call_oi": 6668.0,
     "put_oi": 43014.0,
     "net_contracts": 49682.0,
     "call_minus_put": -36346.0,
     "share": 0.004433157757133768,
     "dist_pts": -1.85,
     "dist_pct": -11.67
    },
    {
     "strike": 14.5,
     "call_oi": 5924.0,
     "put_oi": 73120.0,
     "net_contracts": 79044.0,
     "call_minus_put": -67196.0,
     "share": 0.007053148459298772,
     "dist_pts": -1.35,
     "dist_pct": -8.52
    },
    {
     "strike": 15.0,
     "call_oi": 26890.0,
     "put_oi": 296894.0,
     "net_contracts": 323784.0,
     "call_minus_put": -270004.0,
     "share": 0.028891460714862528,
     "dist_pts": -0.85,
     "dist_pct": -5.36
    },
    {
     "strike": 15.5,
     "call_oi": 2282.0,
     "put_oi": 75867.0,
     "net_contracts": 78149.0,
     "call_minus_put": -73585.0,
     "share": 0.006973287016670965,
     "dist_pts": -0.35,
     "dist_pct": -2.21
    },
    {
     "strike": 16.0,
     "call_oi": 51731.0,
     "put_oi": 418843.0,
     "net_contracts": 470574.0,
     "call_minus_put": -367112.0,
     "share": 0.041989629612444464,
     "dist_pts": 0.15,
     "dist_pct": 0.95
    },
    {
     "strike": 16.5,
     "call_oi": 1724.0,
     "put_oi": 34923.0,
     "net_contracts": 36647.0,
     "call_minus_put": -33199.0,
     "share": 0.003270036075956709,
     "dist_pts": 0.65,
     "dist_pct": 4.1
    },
    {
     "strike": 17.0,
     "call_oi": 34159.0,
     "put_oi": 533185.0,
     "net_contracts": 567344.0,
     "call_minus_put": -499026.0,
     "share": 0.05062448078908459,
     "dist_pts": 1.15,
     "dist_pct": 7.26
    },
    {
     "strike": 17.5,
     "call_oi": 24306.0,
     "put_oi": 65277.0,
     "net_contracts": 89583.0,
     "call_minus_put": -40971.0,
     "share": 0.00799355040773951,
     "dist_pts": 1.65,
     "dist_pct": 10.41
    },
    {
     "strike": 18.0,
     "call_oi": 147341.0,
     "put_oi": 274305.0,
     "net_contracts": 421646.0,
     "call_minus_put": -126964.0,
     "share": 0.03762375177457479,
     "dist_pts": 2.15,
     "dist_pct": 13.56
    },
    {
     "strike": 18.5,
     "call_oi": 76983.0,
     "put_oi": 63132.0,
     "net_contracts": 140115.0,
     "call_minus_put": 13851.0,
     "share": 0.012502554227704157,
     "dist_pts": 2.65,
     "dist_pct": 16.72
    },
    {
     "strike": 19.0,
     "call_oi": 150273.0,
     "put_oi": 281993.0,
     "net_contracts": 432266.0,
     "call_minus_put": -131720.0,
     "share": 0.03857138140665001,
     "dist_pts": 3.15,
     "dist_pct": 19.87
    },
    {
     "strike": 19.5,
     "call_oi": 26037.0,
     "put_oi": 28757.0,
     "net_contracts": 54794.0,
     "call_minus_put": -2720.0,
     "share": 0.004889304902064887,
     "dist_pts": 3.65,
     "dist_pct": 23.03
    },
    {
     "strike": 20.0,
     "call_oi": 588127.0,
     "put_oi": 318645.0,
     "net_contracts": 906772.0,
     "call_minus_put": 269482.0,
     "share": 0.08091186598268389,
     "dist_pts": 4.15,
     "dist_pct": 26.18
    },
    {
     "strike": 20.5,
     "call_oi": 17970.0,
     "put_oi": 8334.0,
     "net_contracts": 26304.0,
     "call_minus_put": 9636.0,
     "share": 0.002347123337298149,
     "dist_pts": 4.65,
     "dist_pct": 29.34
    },
    {
     "strike": 21.0,
     "call_oi": 219658.0,
     "put_oi": 120530.0,
     "net_contracts": 340188.0,
     "call_minus_put": 99128.0,
     "share": 0.030355200496836328,
     "dist_pts": 5.15,
     "dist_pct": 32.49
    },
    {
     "strike": 21.5,
     "call_oi": 9589.0,
     "put_oi": 3431.0,
     "net_contracts": 13020.0,
     "call_minus_put": 6158.0,
     "share": 0.00116178322124475,
     "dist_pts": 5.65,
     "dist_pct": 35.65
    },
    {
     "strike": 22.0,
     "call_oi": 298615.0,
     "put_oi": 147156.0,
     "net_contracts": 445771.0,
     "call_minus_put": 151459.0,
     "share": 0.03977644149903943,
     "dist_pts": 6.15,
     "dist_pct": 38.8
    },
    {
     "strike": 22.5,
     "call_oi": 6954.0,
     "put_oi": 116.0,
     "net_contracts": 7070.0,
     "call_minus_put": 6838.0,
     "share": 0.0006308607814286008,
     "dist_pts": 6.65,
     "dist_pct": 41.96
    },
    {
     "strike": 23.0,
     "call_oi": 247995.0,
     "put_oi": 75984.0,
     "net_contracts": 323979.0,
     "call_minus_put": 172011.0,
     "share": 0.028908860693982553,
     "dist_pts": 7.15,
     "dist_pct": 45.11
    },
    {
     "strike": 23.5,
     "call_oi": 12541.0,
     "put_oi": 690.0,
     "net_contracts": 13231.0,
     "call_minus_put": 11851.0,
     "share": 0.0011806108909592386,
     "dist_pts": 7.65,
     "dist_pct": 48.26
    },
    {
     "strike": 24.0,
     "call_oi": 352905.0,
     "put_oi": 25142.0,
     "net_contracts": 378047.0,
     "call_minus_put": 327763.0,
     "share": 0.03373338413532365,
     "dist_pts": 8.15,
     "dist_pct": 51.42
    },
    {
     "strike": 24.5,
     "call_oi": 2821.0,
     "put_oi": 22.0,
     "net_contracts": 2843.0,
     "call_minus_put": 2799.0,
     "share": 0.0002536827725037499,
     "dist_pts": 8.65,
     "dist_pct": 54.57
    },
    {
     "strike": 25.0,
     "call_oi": 554332.0,
     "put_oi": 36921.0,
     "net_contracts": 591253.0,
     "call_minus_put": 517411.0,
     "share": 0.05275789669052397,
     "dist_pts": 9.15,
     "dist_pct": 57.73
    },
    {
     "strike": 26.0,
     "call_oi": 108232.0,
     "put_oi": 8828.0,
     "net_contracts": 117060.0,
     "call_minus_put": 99404.0,
     "share": 0.010445341311744271,
     "dist_pts": 10.15,
     "dist_pct": 64.04
    },
    {
     "strike": 27.0,
     "call_oi": 114902.0,
     "put_oi": 460.0,
     "net_contracts": 115362.0,
     "call_minus_put": 114442.0,
     "share": 0.010293827647406823,
     "dist_pts": 11.15,
     "dist_pct": 70.35
    },
    {
     "strike": 28.0,
     "call_oi": 107130.0,
     "put_oi": 490.0,
     "net_contracts": 107620.0,
     "call_minus_put": 106640.0,
     "share": 0.009603003861010751,
     "dist_pts": 12.15,
     "dist_pct": 76.66
    },
    {
     "strike": 29.0,
     "call_oi": 67446.0,
     "put_oi": 3252.0,
     "net_contracts": 70698.0,
     "call_minus_put": 64194.0,
     "share": 0.0063084293529617,
     "dist_pts": 13.15,
     "dist_pct": 82.97
    },
    {
     "strike": 30.0,
     "call_oi": 527425.0,
     "put_oi": 8759.0,
     "net_contracts": 536184.0,
     "call_minus_put": 518666.0,
     "share": 0.04784405335636674,
     "dist_pts": 14.15,
     "dist_pct": 89.27
    },
    {
     "strike": 31.0,
     "call_oi": 54220.0,
     "put_oi": 221.0,
     "net_contracts": 54441.0,
     "call_minus_put": 53999.0,
     "share": 0.004857806478324534,
     "dist_pts": 15.15,
     "dist_pct": 95.58
    },
    {
     "strike": 32.0,
     "call_oi": 60748.0,
     "put_oi": 24.0,
     "net_contracts": 60772.0,
     "call_minus_put": 60724.0,
     "share": 0.005422725800421347,
     "dist_pts": 16.15,
     "dist_pct": 101.89
    },
    {
     "strike": 33.0,
     "call_oi": 72895.0,
     "put_oi": 834.0,
     "net_contracts": 73729.0,
     "call_minus_put": 72061.0,
     "share": 0.0065788874899503965,
     "dist_pts": 17.15,
     "dist_pct": 108.2
    },
    {
     "strike": 34.0,
     "call_oi": 30872.0,
     "put_oi": 617.0,
     "net_contracts": 31489.0,
     "call_minus_put": 30255.0,
     "share": 0.0028097843205665074,
     "dist_pts": 18.15,
     "dist_pct": 114.51
    },
    {
     "strike": 35.0,
     "call_oi": 619929.0,
     "put_oi": 154.0,
     "net_contracts": 620083.0,
     "call_minus_put": 619775.0,
     "share": 0.05533041668042306,
     "dist_pts": 19.15,
     "dist_pct": 120.82
    },
    {
     "strike": 36.0,
     "call_oi": 42368.0,
     "put_oi": 108.0,
     "net_contracts": 42476.0,
     "call_minus_put": 42260.0,
     "share": 0.003790161605652227,
     "dist_pts": 20.15,
     "dist_pct": 127.13
    },
    {
     "strike": 37.0,
     "call_oi": 79465.0,
     "put_oi": 16.0,
     "net_contracts": 79481.0,
     "call_minus_put": 79449.0,
     "share": 0.007092142258660059,
     "dist_pts": 21.15,
     "dist_pct": 133.44
    },
    {
     "strike": 38.0,
     "call_oi": 27290.0,
     "put_oi": 532.0,
     "net_contracts": 27822.0,
     "call_minus_put": 26758.0,
     "share": 0.0024825754824478827,
     "dist_pts": 22.15,
     "dist_pct": 139.75
    },
    {
     "strike": 39.0,
     "call_oi": 7824.0,
     "put_oi": 508.0,
     "net_contracts": 8332.0,
     "call_minus_put": 7316.0,
     "share": 0.0007434698770669168,
     "dist_pts": 23.15,
     "dist_pct": 146.06
    },
    {
     "strike": 40.0,
     "call_oi": 404109.0,
     "put_oi": 582.0,
     "net_contracts": 404691.0,
     "call_minus_put": 403527.0,
     "share": 0.03611084589775415,
     "dist_pts": 24.15,
     "dist_pct": 152.37
    },
    {
     "strike": 42.5,
     "call_oi": 51140.0,
     "put_oi": 490.0,
     "net_contracts": 51630.0,
     "call_minus_put": 50650.0,
     "share": 0.004606979087009711,
     "dist_pts": 26.65,
     "dist_pct": 168.14
    },
    {
     "strike": 45.0,
     "call_oi": 134051.0,
     "put_oi": 910.0,
     "net_contracts": 134961.0,
     "call_minus_put": 133141.0,
     "share": 0.012042659394962572,
     "dist_pts": 29.15,
     "dist_pct": 183.91
    },
    {
     "strike": 47.5,
     "call_oi": 31779.0,
     "put_oi": 80.0,
     "net_contracts": 31859.0,
     "call_minus_put": 31699.0,
     "share": 0.002842799665563478,
     "dist_pts": 31.65,
     "dist_pct": 199.68
    },
    {
     "strike": 50.0,
     "call_oi": 406087.0,
     "put_oi": 3258.0,
     "net_contracts": 409345.0,
     "call_minus_put": 402829.0,
     "share": 0.036526125399418755,
     "dist_pts": 34.15,
     "dist_pct": 215.46
    },
    {
     "strike": 55.0,
     "call_oi": 240776.0,
     "put_oi": 388.0,
     "net_contracts": 241164.0,
     "call_minus_put": 240388.0,
     "share": 0.02151922340770114,
     "dist_pts": 39.15,
     "dist_pct": 247.0
    },
    {
     "strike": 60.0,
     "call_oi": 695832.0,
     "put_oi": 184.0,
     "net_contracts": 696016.0,
     "call_minus_put": 695648.0,
     "share": 0.06210596854976082,
     "dist_pts": 44.15,
     "dist_pct": 278.55
    },
    {
     "strike": 65.0,
     "call_oi": 240505.0,
     "put_oi": 2.0,
     "net_contracts": 240507.0,
     "call_minus_put": 240503.0,
     "share": 0.02146059886266598,
     "dist_pts": 49.15,
     "dist_pct": 310.09
    },
    {
     "strike": 70.0,
     "call_oi": 292199.0,
     "put_oi": 143.0,
     "net_contracts": 292342.0,
     "call_minus_put": 292056.0,
     "share": 0.026085870235417256,
     "dist_pts": 54.15,
     "dist_pct": 341.64
    },
    {
     "strike": 75.0,
     "call_oi": 104668.0,
     "put_oi": 102.0,
     "net_contracts": 104770.0,
     "call_minus_put": 104566.0,
     "share": 0.009348696473871924,
     "dist_pts": 59.15,
     "dist_pct": 373.19
    },
    {
     "strike": 80.0,
     "call_oi": 144357.0,
     "put_oi": 97.0,
     "net_contracts": 144454.0,
     "call_minus_put": 144260.0,
     "share": 0.012889726070790253,
     "dist_pts": 64.15,
     "dist_pct": 404.73
    },
    {
     "strike": 85.0,
     "call_oi": 74915.0,
     "put_oi": 0.0,
     "net_contracts": 74915.0,
     "call_minus_put": 74915.0,
     "share": 0.00668471505526501,
     "dist_pts": 69.15,
     "dist_pct": 436.28
    },
    {
     "strike": 90.0,
     "call_oi": 127696.0,
     "put_oi": 103.0,
     "net_contracts": 127799.0,
     "call_minus_put": 127593.0,
     "share": 0.011403589392615807,
     "dist_pts": 74.15,
     "dist_pct": 467.82
    },
    {
     "strike": 95.0,
     "call_oi": 129806.0,
     "put_oi": 0.0,
     "net_contracts": 129806.0,
     "call_minus_put": 129806.0,
     "share": 0.011582675331558833,
     "dist_pts": 79.15,
     "dist_pct": 499.37
    },
    {
     "strike": 100.0,
     "call_oi": 128968.0,
     "put_oi": 3326.0,
     "net_contracts": 132294.0,
     "call_minus_put": 125642.0,
     "share": 0.011804681218997921,
     "dist_pts": 84.15,
     "dist_pct": 530.91
    },
    {
     "strike": 110.0,
     "call_oi": 16141.0,
     "put_oi": 60.0,
     "net_contracts": 16201.0,
     "call_minus_put": 16081.0,
     "share": 0.0014456259575565433,
     "dist_pts": 94.15,
     "dist_pct": 594.01
    },
    {
     "strike": 120.0,
     "call_oi": 26652.0,
     "put_oi": 305.0,
     "net_contracts": 26957.0,
     "call_minus_put": 26347.0,
     "share": 0.0024053909596846944,
     "dist_pts": 104.15,
     "dist_pct": 657.1
    },
    {
     "strike": 130.0,
     "call_oi": 20330.0,
     "put_oi": 102.0,
     "net_contracts": 20432.0,
     "call_minus_put": 20228.0,
     "share": 0.00182316088913001,
     "dist_pts": 114.15,
     "dist_pct": 720.19
    },
    {
     "strike": 140.0,
     "call_oi": 37593.0,
     "put_oi": 451.0,
     "net_contracts": 38044.0,
     "call_minus_put": 37142.0,
     "share": 0.0033946913109858113,
     "dist_pts": 124.15,
     "dist_pct": 783.28
    },
    {
     "strike": 150.0,
     "call_oi": 49834.0,
     "put_oi": 12.0,
     "net_contracts": 49846.0,
     "call_minus_put": 49822.0,
     "share": 0.00444779158572702,
     "dist_pts": 134.15,
     "dist_pct": 846.37
    },
    {
     "strike": 160.0,
     "call_oi": 20585.0,
     "put_oi": 0.0,
     "net_contracts": 20585.0,
     "call_minus_put": 20585.0,
     "share": 0.001836813180439568,
     "dist_pts": 144.15,
     "dist_pct": 909.46
    },
    {
     "strike": 170.0,
     "call_oi": 11517.0,
     "put_oi": 0.0,
     "net_contracts": 11517.0,
     "call_minus_put": 11517.0,
     "share": 0.001027669536027326,
     "dist_pts": 154.15,
     "dist_pct": 972.56
    },
    {
     "strike": 180.0,
     "call_oi": 4530.0,
     "put_oi": 2.0,
     "net_contracts": 4532.0,
     "call_minus_put": 4528.0,
     "share": 0.0004043933608818131,
     "dist_pts": 164.15,
     "dist_pct": 1035.65
    },
    {
     "strike": 190.0,
     "call_oi": 5778.0,
     "put_oi": 3.0,
     "net_contracts": 5781.0,
     "call_minus_put": 5775.0,
     "share": 0.0005158424579121275,
     "dist_pts": 174.15,
     "dist_pct": 1098.74
    },
    {
     "strike": 200.0,
     "call_oi": 12800.0,
     "put_oi": 62.0,
     "net_contracts": 12862.0,
     "call_minus_put": 12738.0,
     "share": 0.0011476847766244218,
     "dist_pts": 184.15,
     "dist_pct": 1161.83
    }
   ]
  },
  "track": [
   {
    "session": "2026-03-02",
    "spot": 21.440000534057617,
    "cog": 50.147,
    "total_contracts": 11091282.0,
    "pc_oi": 0.899261719521914,
    "top_center": 19.406,
    "top_share": 0.13564680800650455,
    "top_dist_pts": -2.034,
    "near_share": 0.2445548675076515,
    "n_expiries": 25,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 28.707,
    "call_cog_dist_pts": 28.528,
    "put_cog_dist_pts": 28.906,
    "share_above_spot": 0.6859973445810863,
    "share_below_spot": 0.3140026554189137,
    "call_share_otm": 0.7478921316637288
   },
   {
    "session": "2026-03-03",
    "spot": 23.56999969482422,
    "cog": 48.445,
    "total_contracts": 11461803.0,
    "pc_oi": 0.8551232596995464,
    "top_center": 18.963,
    "top_share": 0.23047421073281402,
    "top_dist_pts": -4.607,
    "near_share": 0.2647144607179167,
    "n_expiries": 25,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 24.875,
    "call_cog_dist_pts": 25.015,
    "put_cog_dist_pts": 24.711,
    "share_above_spot": 0.5969688189545747,
    "share_below_spot": 0.4030311810454254,
    "call_share_otm": 0.6816714329576355
   },
   {
    "session": "2026-03-04",
    "spot": 21.149999618530273,
    "cog": 43.744,
    "total_contracts": 11673805.0,
    "pc_oi": 0.5790673634842756,
    "top_center": 27.924,
    "top_share": 0.1261709442636741,
    "top_dist_pts": 6.774,
    "near_share": 0.3753024827808928,
    "n_expiries": 24,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 22.594,
    "call_cog_dist_pts": 20.853,
    "put_cog_dist_pts": 25.6,
    "share_above_spot": 0.6824802196027774,
    "share_below_spot": 0.3175197803972227,
    "call_share_otm": 0.7113865995892246
   },
   {
    "session": "2026-03-05",
    "spot": 23.75,
    "cog": 56.057,
    "total_contracts": 11984875.0,
    "pc_oi": 0.7993411205005118,
    "top_center": 47.353,
    "top_share": 0.10808264583485434,
    "top_dist_pts": 23.603,
    "near_share": 0.24815870002816048,
    "n_expiries": 32,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 32.307,
    "call_cog_dist_pts": 34.035,
    "put_cog_dist_pts": 30.145,
    "share_above_spot": 0.6872974478248626,
    "share_below_spot": 0.3127025521751374,
    "call_share_otm": 0.8011113543287179
   },
   {
    "session": "2026-03-06",
    "spot": 29.489999771118164,
    "cog": 51.658,
    "total_contracts": 12413622.0,
    "pc_oi": 0.8561309660338923,
    "top_center": 24.608,
    "top_share": 0.21236767157885103,
    "top_dist_pts": -4.882,
    "near_share": 0.2675621184534216,
    "n_expiries": 33,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 22.168,
    "call_cog_dist_pts": 18.512,
    "put_cog_dist_pts": 26.438,
    "share_above_spot": 0.4965352577998589,
    "share_below_spot": 0.5034647422001411,
    "call_share_otm": 0.5519648762795867
   },
   {
    "session": "2026-03-09",
    "spot": 25.5,
    "cog": 45.298,
    "total_contracts": 13027122.0,
    "pc_oi": 0.7902912071647259,
    "top_center": 18.628,
    "top_share": 0.2276436038597013,
    "top_dist_pts": -6.872,
    "near_share": 0.27789069604168903,
    "n_expiries": 31,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 19.798,
    "call_cog_dist_pts": 20.725,
    "put_cog_dist_pts": 18.627,
    "share_above_spot": 0.49888018243784005,
    "share_below_spot": 0.50111981756216,
    "call_share_otm": 0.5814586552011409
   },
   {
    "session": "2026-03-10",
    "spot": 24.93000030517578,
    "cog": 53.949,
    "total_contracts": 13270143.0,
    "pc_oi": 0.9659663338930425,
    "top_center": 20.123,
    "top_share": 0.2383428724166725,
    "top_dist_pts": -4.807,
    "near_share": 0.27055428114075336,
    "n_expiries": 33,
    "n_clusters": 14,
    "src": "archive",
    "cog_dist_pts": 29.019,
    "call_cog_dist_pts": 33.241,
    "put_cog_dist_pts": 24.648,
    "share_above_spot": 0.6006914921715614,
    "share_below_spot": 0.39930850782843863,
    "call_share_otm": 0.743143710738505
   },
   {
    "session": "2026-03-11",
    "spot": 24.229999542236328,
    "cog": 43.282,
    "total_contracts": 13529810.0,
    "pc_oi": 0.7804564980863443,
    "top_center": 27.522,
    "top_share": 0.129271438401574,
    "top_dist_pts": 3.292,
    "near_share": 0.3145693841968217,
    "n_expiries": 34,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 19.052,
    "call_cog_dist_pts": 23.293,
    "put_cog_dist_pts": 13.617,
    "share_above_spot": 0.5968579750935157,
    "share_below_spot": 0.40314202490648426,
    "call_share_otm": 0.673955937754472
   },
   {
    "session": "2026-03-12",
    "spot": 27.290000915527344,
    "cog": 44.9,
    "total_contracts": 13490687.0,
    "pc_oi": 0.8415691007812551,
    "top_center": 23.037,
    "top_share": 0.12685143462301068,
    "top_dist_pts": -4.253,
    "near_share": 0.33202845785392543,
    "n_expiries": 31,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 17.61,
    "call_cog_dist_pts": 22.164,
    "put_cog_dist_pts": 12.2,
    "share_above_spot": 0.49717423582653725,
    "share_below_spot": 0.5028257641734628,
    "call_share_otm": 0.5496986751206173
   },
   {
    "session": "2026-03-13",
    "spot": 27.190000534057617,
    "cog": 49.483,
    "total_contracts": 14023054.0,
    "pc_oi": 0.7199724422790976,
    "top_center": 28.984,
    "top_share": 0.09635347621138733,
    "top_dist_pts": 1.794,
    "near_share": 0.25213437814615847,
    "n_expiries": 33,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 22.293,
    "call_cog_dist_pts": 22.071,
    "put_cog_dist_pts": 22.6,
    "share_above_spot": 0.5677723269125257,
    "share_below_spot": 0.4322276730874744,
    "call_share_otm": 0.6304161046594847
   },
   {
    "session": "2026-03-16",
    "spot": 23.510000228881836,
    "cog": 45.386,
    "total_contracts": 14394386.0,
    "pc_oi": 0.8002505825581733,
    "top_center": 17.216,
    "top_share": 0.10231287392181924,
    "top_dist_pts": -6.294,
    "near_share": 0.2719315711000108,
    "n_expiries": 32,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 21.876,
    "call_cog_dist_pts": 28.899,
    "put_cog_dist_pts": 13.1,
    "share_above_spot": 0.5970176845334008,
    "share_below_spot": 0.4029823154665993,
    "call_share_otm": 0.7485543602565757
   },
   {
    "session": "2026-03-17",
    "spot": 22.3700008392334,
    "cog": 50.847,
    "total_contracts": 14771339.0,
    "pc_oi": 0.8752221943214228,
    "top_center": 47.916,
    "top_share": 0.1319864773261246,
    "top_dist_pts": 25.546,
    "near_share": 0.24527038476335827,
    "n_expiries": 31,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 28.477,
    "call_cog_dist_pts": 27.538,
    "put_cog_dist_pts": 29.55,
    "share_above_spot": 0.6658711847314587,
    "share_below_spot": 0.3341288152685413,
    "call_share_otm": 0.720187241164721
   },
   {
    "session": "2026-03-18",
    "spot": 25.09000015258789,
    "cog": 45.872,
    "total_contracts": 15260789.0,
    "pc_oi": 0.7656658003473068,
    "top_center": 30.475,
    "top_share": 0.15852810755721738,
    "top_dist_pts": 5.385,
    "near_share": 0.3253378970117469,
    "n_expiries": 32,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 20.782,
    "call_cog_dist_pts": 23.463,
    "put_cog_dist_pts": 17.281,
    "share_above_spot": 0.5878104991819231,
    "share_below_spot": 0.412189500818077,
    "call_share_otm": 0.6812871894379307
   },
   {
    "session": "2026-03-19",
    "spot": 24.059999465942383,
    "cog": 45.739,
    "total_contracts": 9902333.0,
    "pc_oi": 0.8124668707865498,
    "top_center": 29.241,
    "top_share": 0.13522873852050823,
    "top_dist_pts": 5.181,
    "near_share": 0.3556666898598542,
    "n_expiries": 31,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 21.679,
    "call_cog_dist_pts": 26.1,
    "put_cog_dist_pts": 16.238,
    "share_above_spot": 0.6847223780496979,
    "share_below_spot": 0.315277621950302,
    "call_share_otm": 0.8139007617156613
   },
   {
    "session": "2026-03-20",
    "spot": 26.780000686645508,
    "cog": 46.172,
    "total_contracts": 10236723.0,
    "pc_oi": 0.7500676145814991,
    "top_center": 32.303,
    "top_share": 0.12821993913481883,
    "top_dist_pts": 5.523,
    "near_share": 0.2620494859536592,
    "n_expiries": 32,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 19.392,
    "call_cog_dist_pts": 23.211,
    "put_cog_dist_pts": 14.301,
    "share_above_spot": 0.6269465335732929,
    "share_below_spot": 0.37305346642670706,
    "call_share_otm": 0.7177543410954759
   },
   {
    "session": "2026-03-23",
    "spot": 26.149999618530273,
    "cog": 42.456,
    "total_contracts": 10474695.0,
    "pc_oi": 0.520641623474106,
    "top_center": 30.459,
    "top_share": 0.12767980356468614,
    "top_dist_pts": 4.309,
    "near_share": 0.31450853700274806,
    "n_expiries": 31,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 16.306,
    "call_cog_dist_pts": 18.997,
    "put_cog_dist_pts": 11.137,
    "share_above_spot": 0.6271240355924445,
    "share_below_spot": 0.37287596440755555,
    "call_share_otm": 0.6644587323591362
   },
   {
    "session": "2026-03-24",
    "spot": 26.950000762939453,
    "cog": 44.833,
    "total_contracts": 10890223.0,
    "pc_oi": 0.7912564460883971,
    "top_center": 46.408,
    "top_share": 0.10655364908505546,
    "top_dist_pts": 19.458,
    "near_share": 0.23450135043148335,
    "n_expiries": 32,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 17.883,
    "call_cog_dist_pts": 21.648,
    "put_cog_dist_pts": 13.124,
    "share_above_spot": 0.6016350629367277,
    "share_below_spot": 0.39836493706327225,
    "call_share_otm": 0.7027808810235316
   },
   {
    "session": "2026-03-25",
    "spot": 25.329999923706055,
    "cog": 53.237,
    "total_contracts": 11119218.0,
    "pc_oi": 0.771121834514297,
    "top_center": 21.783,
    "top_share": 0.16918285080839318,
    "top_dist_pts": -3.547,
    "near_share": 0.3010867310992554,
    "n_expiries": 31,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 27.907,
    "call_cog_dist_pts": 31.297,
    "put_cog_dist_pts": 23.511,
    "share_above_spot": 0.5769148513861316,
    "share_below_spot": 0.42308514861386837,
    "call_share_otm": 0.6413406041511198
   },
   {
    "session": "2026-03-26",
    "spot": 27.440000534057617,
    "cog": 41.96,
    "total_contracts": 11088909.0,
    "pc_oi": 0.6742572790929313,
    "top_center": 17.451,
    "top_share": 0.11584890812973575,
    "top_dist_pts": -9.989,
    "near_share": 0.22815400505135355,
    "n_expiries": 31,
    "n_clusters": 13,
    "src": "archive",
    "cog_dist_pts": 14.52,
    "call_cog_dist_pts": 16.216,
    "put_cog_dist_pts": 12.004,
    "share_above_spot": 0.517752197263049,
    "share_below_spot": 0.48224780273695095,
    "call_share_otm": 0.5731472535629027
   },
   {
    "session": "2026-03-27",
    "spot": 31.049999237060547,
    "cog": 48.854,
    "total_contracts": 11528586.0,
    "pc_oi": 0.6323335704023466,
    "top_center": 22.296,
    "top_share": 0.10150030541473169,
    "top_dist_pts": -8.754,
    "near_share": 0.2717377482372947,
    "n_expiries": 31,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 17.804,
    "call_cog_dist_pts": 20.457,
    "put_cog_dist_pts": 13.609,
    "share_above_spot": 0.5149228188088287,
    "share_below_spot": 0.4850771811911712,
    "call_share_otm": 0.5589760261069479
   },
   {
    "session": "2026-03-30",
    "spot": 30.610000610351562,
    "cog": 45.943,
    "total_contracts": 11933108.0,
    "pc_oi": 0.7079073979930659,
    "top_center": 23.37,
    "top_share": 0.15787353973499613,
    "top_dist_pts": -7.24,
    "near_share": 0.312101675439458,
    "n_expiries": 30,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 15.333,
    "call_cog_dist_pts": 23.217,
    "put_cog_dist_pts": 4.194,
    "share_above_spot": 0.4535150440270883,
    "share_below_spot": 0.5464849559729117,
    "call_share_otm": 0.5814629962948206
   },
   {
    "session": "2026-03-31",
    "spot": 25.25,
    "cog": 43.395,
    "total_contracts": 12046969.0,
    "pc_oi": 0.6025693588269381,
    "top_center": 18.0,
    "top_share": 0.07330208951313812,
    "top_dist_pts": -7.25,
    "near_share": 0.296640673683148,
    "n_expiries": 29,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 18.145,
    "call_cog_dist_pts": 23.96,
    "put_cog_dist_pts": 8.494,
    "share_above_spot": 0.5587314950341451,
    "share_below_spot": 0.4412685049658549,
    "call_share_otm": 0.6626192385441337
   },
   {
    "session": "2026-04-01",
    "spot": 24.540000915527344,
    "cog": 47.384,
    "total_contracts": 12359561.0,
    "pc_oi": 0.7310134967826655,
    "top_center": 47.7,
    "top_share": 0.10263956786167405,
    "top_dist_pts": 23.16,
    "near_share": 0.28107066262304947,
    "n_expiries": 30,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 22.844,
    "call_cog_dist_pts": 26.268,
    "put_cog_dist_pts": 18.159,
    "share_above_spot": 0.5841294848579168,
    "share_below_spot": 0.4158705151420831,
    "call_share_otm": 0.7078967831136717
   },
   {
    "session": "2026-04-02",
    "spot": 23.8700008392334,
    "cog": 42.188,
    "total_contracts": 12746671.0,
    "pc_oi": 0.9680808176878939,
    "top_center": 19.069,
    "top_share": 0.13880871327109642,
    "top_dist_pts": -4.801,
    "near_share": 0.3458652851399397,
    "n_expiries": 28,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 18.318,
    "call_cog_dist_pts": 25.983,
    "put_cog_dist_pts": 10.399,
    "share_above_spot": 0.6397830460988598,
    "share_below_spot": 0.36021695390114017,
    "call_share_otm": 0.8039816875906423
   },
   {
    "session": "2026-04-06",
    "spot": 24.170000076293945,
    "cog": 46.213,
    "total_contracts": 12946803.0,
    "pc_oi": 0.69186044232363,
    "top_center": 71.723,
    "top_share": 0.1199181759388785,
    "top_dist_pts": 47.553,
    "near_share": 0.27579047893136244,
    "n_expiries": 29,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 22.043,
    "call_cog_dist_pts": 25.115,
    "put_cog_dist_pts": 17.603,
    "share_above_spot": 0.6796595267573006,
    "share_below_spot": 0.3203404732426994,
    "call_share_otm": 0.7228612804913905
   },
   {
    "session": "2026-04-07",
    "spot": 25.780000686645508,
    "cog": 40.678,
    "total_contracts": 13016173.0,
    "pc_oi": 0.7423930947748312,
    "top_center": 16.986,
    "top_share": 0.118489513008163,
    "top_dist_pts": -8.794,
    "near_share": 0.31713092627149314,
    "n_expiries": 29,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 14.898,
    "call_cog_dist_pts": 17.161,
    "put_cog_dist_pts": 11.851,
    "share_above_spot": 0.5351999393370079,
    "share_below_spot": 0.4648000606629921,
    "call_share_otm": 0.6292228475888135
   },
   {
    "session": "2026-04-08",
    "spot": 21.040000915527344,
    "cog": 52.05,
    "total_contracts": 13373543.0,
    "pc_oi": 0.6214344863039026,
    "top_center": 20.702,
    "top_share": 0.12340865842357557,
    "top_dist_pts": -0.338,
    "near_share": 0.2914750414306815,
    "n_expiries": 29,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 31.01,
    "call_cog_dist_pts": 40.205,
    "put_cog_dist_pts": 16.213,
    "share_above_spot": 0.724627722062882,
    "share_below_spot": 0.2753722779371181,
    "call_share_otm": 0.852866705383264
   },
   {
    "session": "2026-04-09",
    "spot": 19.489999771118164,
    "cog": 44.843,
    "total_contracts": 13642942.0,
    "pc_oi": 0.7055907559913459,
    "top_center": 20.71,
    "top_share": 0.10960612454410493,
    "top_dist_pts": 1.22,
    "near_share": 0.2956722237769537,
    "n_expiries": 28,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 25.353,
    "call_cog_dist_pts": 32.712,
    "put_cog_dist_pts": 14.924,
    "share_above_spot": 0.8161941903733081,
    "share_below_spot": 0.18380580962669196,
    "call_share_otm": 0.8858637016789945
   },
   {
    "session": "2026-04-10",
    "spot": 19.229999542236328,
    "cog": 50.068,
    "total_contracts": 13942709.0,
    "pc_oi": 0.6089166282690347,
    "top_center": 46.106,
    "top_share": 0.06370469325580846,
    "top_dist_pts": 26.876,
    "near_share": 0.2663706170730523,
    "n_expiries": 29,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 30.838,
    "call_cog_dist_pts": 31.986,
    "put_cog_dist_pts": 28.953,
    "share_above_spot": 0.819232546558922,
    "share_below_spot": 0.18076745344107806,
    "call_share_otm": 0.8935647646020338
   },
   {
    "session": "2026-04-13",
    "spot": 19.1200008392334,
    "cog": 44.665,
    "total_contracts": 14473057.0,
    "pc_oi": 0.8040973403474254,
    "top_center": 28.673,
    "top_share": 0.1328117480640061,
    "top_dist_pts": 9.553,
    "near_share": 0.24512637516731953,
    "n_expiries": 28,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 25.545,
    "call_cog_dist_pts": 28.01,
    "put_cog_dist_pts": 22.479,
    "share_above_spot": 0.8012158039590392,
    "share_below_spot": 0.1987841960409608,
    "call_share_otm": 0.8961890853101706
   },
   {
    "session": "2026-04-14",
    "spot": 18.360000610351562,
    "cog": 48.811,
    "total_contracts": 14806737.0,
    "pc_oi": 0.795822174182927,
    "top_center": 20.895,
    "top_share": 0.12124865863424197,
    "top_dist_pts": 2.535,
    "near_share": 0.2972577955561715,
    "n_expiries": 29,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 30.451,
    "call_cog_dist_pts": 38.937,
    "put_cog_dist_pts": 19.788,
    "share_above_spot": 0.809214278608447,
    "share_below_spot": 0.19078572139155306,
    "call_share_otm": 0.8803228874548793
   },
   {
    "session": "2026-04-15",
    "spot": 18.170000076293945,
    "cog": 47.455,
    "total_contracts": 15757869.0,
    "pc_oi": 0.762312130686406,
    "top_center": 26.105,
    "top_share": 0.19675096930936536,
    "top_dist_pts": 7.935,
    "near_share": 0.20333415641416996,
    "n_expiries": 29,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 29.285,
    "call_cog_dist_pts": 34.189,
    "put_cog_dist_pts": 22.852,
    "share_above_spot": 0.8525012487411845,
    "share_below_spot": 0.1474987512588155,
    "call_share_otm": 0.9136223901168339
   },
   {
    "session": "2026-04-16",
    "spot": 17.940000534057617,
    "cog": 47.791,
    "total_contracts": 10552184.0,
    "pc_oi": 0.6079540528131772,
    "top_center": 19.122,
    "top_share": 0.0972783454117176,
    "top_dist_pts": 1.182,
    "near_share": 0.26446458856289845,
    "n_expiries": 26,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 29.851,
    "call_cog_dist_pts": 32.329,
    "put_cog_dist_pts": 25.774,
    "share_above_spot": 0.8184572975603913,
    "share_below_spot": 0.1815427024396087,
    "call_share_otm": 0.86673779819279
   },
   {
    "session": "2026-04-17",
    "spot": 17.479999542236328,
    "cog": 43.135,
    "total_contracts": 11226037.0,
    "pc_oi": 0.43157347463518014,
    "top_center": 23.392,
    "top_share": 0.2096235741963081,
    "top_dist_pts": 5.912,
    "near_share": 0.1837698379223229,
    "n_expiries": 28,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 25.655,
    "call_cog_dist_pts": 28.186,
    "put_cog_dist_pts": 19.792,
    "share_above_spot": 0.8842794656743069,
    "share_below_spot": 0.11572053432569303,
    "call_share_otm": 0.9392131625771655
   },
   {
    "session": "2026-04-20",
    "spot": 18.8700008392334,
    "cog": 49.459,
    "total_contracts": 11474874.0,
    "pc_oi": 0.8188007575804406,
    "top_center": 14.178,
    "top_share": 0.11564832868753068,
    "top_dist_pts": -4.692,
    "near_share": 0.23670595424402918,
    "n_expiries": 28,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 30.589,
    "call_cog_dist_pts": 33.593,
    "put_cog_dist_pts": 26.919,
    "share_above_spot": 0.764734671596394,
    "share_below_spot": 0.235265328403606,
    "call_share_otm": 0.8427971449824403
   },
   {
    "session": "2026-04-21",
    "spot": 19.5,
    "cog": 50.245,
    "total_contracts": 11628252.0,
    "pc_oi": 0.677036192650766,
    "top_center": 27.373,
    "top_share": 0.20961508230127796,
    "top_dist_pts": 7.873,
    "near_share": 0.18224579240284783,
    "n_expiries": 27,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 30.745,
    "call_cog_dist_pts": 35.914,
    "put_cog_dist_pts": 23.11,
    "share_above_spot": 0.7686078698672852,
    "share_below_spot": 0.2313705447731955,
    "call_share_otm": 0.8466434980705416
   },
   {
    "session": "2026-04-22",
    "spot": 18.920000076293945,
    "cog": 48.817,
    "total_contracts": 11892619.0,
    "pc_oi": 0.655914273441378,
    "top_center": 20.28,
    "top_share": 0.11109453687198757,
    "top_dist_pts": 1.36,
    "near_share": 0.26785227038720405,
    "n_expiries": 27,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 29.897,
    "call_cog_dist_pts": 35.9,
    "put_cog_dist_pts": 20.746,
    "share_above_spot": 0.7353553493978071,
    "share_below_spot": 0.26464465060219283,
    "call_share_otm": 0.7762469706853544
   },
   {
    "session": "2026-04-23",
    "spot": 19.309999465942383,
    "cog": 45.067,
    "total_contracts": 11984203.0,
    "pc_oi": 0.7895334375318714,
    "top_center": 25.451,
    "top_share": 0.2206398706697475,
    "top_dist_pts": 6.141,
    "near_share": 0.2951252578081329,
    "n_expiries": 26,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 25.757,
    "call_cog_dist_pts": 30.895,
    "put_cog_dist_pts": 19.248,
    "share_above_spot": 0.8071294353074626,
    "share_below_spot": 0.19287056469253733,
    "call_share_otm": 0.9252477776428881
   },
   {
    "session": "2026-04-24",
    "spot": 18.709999084472656,
    "cog": 50.042,
    "total_contracts": 12151154.0,
    "pc_oi": 0.6367225178294891,
    "top_center": 60.665,
    "top_share": 0.14337699941914983,
    "top_dist_pts": 41.955,
    "near_share": 0.20974205412917982,
    "n_expiries": 25,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 31.332,
    "call_cog_dist_pts": 38.71,
    "put_cog_dist_pts": 19.745,
    "share_above_spot": 0.791176953234236,
    "share_below_spot": 0.20882304676576396,
    "call_share_otm": 0.9185859737176756
   },
   {
    "session": "2026-04-27",
    "spot": 18.020000457763672,
    "cog": 55.529,
    "total_contracts": 12459063.0,
    "pc_oi": 0.7821151722044649,
    "top_center": 35.713,
    "top_share": 0.09787991279922094,
    "top_dist_pts": 17.693,
    "near_share": 0.2600493311575678,
    "n_expiries": 26,
    "n_clusters": 14,
    "src": "archive",
    "cog_dist_pts": 37.509,
    "call_cog_dist_pts": 40.355,
    "put_cog_dist_pts": 33.87,
    "share_above_spot": 0.810734643528169,
    "share_below_spot": 0.189265356471831,
    "call_share_otm": 0.8667908901033103
   },
   {
    "session": "2026-04-28",
    "spot": 17.829999923706055,
    "cog": 50.03,
    "total_contracts": 12603502.0,
    "pc_oi": 0.783815242428853,
    "top_center": 19.734,
    "top_share": 0.11153582551897084,
    "top_dist_pts": 1.904,
    "near_share": 0.23295636403279024,
    "n_expiries": 25,
    "n_clusters": 13,
    "src": "archive",
    "cog_dist_pts": 32.2,
    "call_cog_dist_pts": 44.259,
    "put_cog_dist_pts": 16.815,
    "share_above_spot": 0.8319309188827042,
    "share_below_spot": 0.16806908111729582,
    "call_share_otm": 0.956932973366971
   },
   {
    "session": "2026-04-29",
    "spot": 18.809999465942383,
    "cog": 48.775,
    "total_contracts": 12742420.0,
    "pc_oi": 0.8051821839406131,
    "top_center": 53.878,
    "top_share": 0.15839879708877905,
    "top_dist_pts": 35.068,
    "near_share": 0.2764083274605609,
    "n_expiries": 24,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 29.965,
    "call_cog_dist_pts": 32.938,
    "put_cog_dist_pts": 26.273,
    "share_above_spot": 0.7373846569176028,
    "share_below_spot": 0.2626153430823972,
    "call_share_otm": 0.8379665098883663
   },
   {
    "session": "2026-04-30",
    "spot": 16.889999389648438,
    "cog": 48.522,
    "total_contracts": 12834925.0,
    "pc_oi": 0.7185980442815743,
    "top_center": 23.732,
    "top_share": 0.14605165203536444,
    "top_dist_pts": 6.842,
    "near_share": 0.2055261717540227,
    "n_expiries": 26,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 31.632,
    "call_cog_dist_pts": 36.644,
    "put_cog_dist_pts": 24.658,
    "share_above_spot": 0.8311057524683627,
    "share_below_spot": 0.16889424753163731,
    "call_share_otm": 0.8864426526525012
   },
   {
    "session": "2026-05-01",
    "spot": 16.989999771118164,
    "cog": 48.506,
    "total_contracts": 12994243.0,
    "pc_oi": 0.5178399511272619,
    "top_center": 22.02,
    "top_share": 0.2321305673597146,
    "top_dist_pts": 5.03,
    "near_share": 0.2099982276766719,
    "n_expiries": 26,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 31.516,
    "call_cog_dist_pts": 33.23,
    "put_cog_dist_pts": 28.207,
    "share_above_spot": 0.857637493773204,
    "share_below_spot": 0.14236250622679597,
    "call_share_otm": 0.8727952659791309
   },
   {
    "session": "2026-05-04",
    "spot": 18.290000915527344,
    "cog": 51.2,
    "total_contracts": 13261644.0,
    "pc_oi": 0.6605067749293058,
    "top_center": 101.056,
    "top_share": 0.08793133038407606,
    "top_dist_pts": 82.766,
    "near_share": 0.2367361844428941,
    "n_expiries": 26,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 32.91,
    "call_cog_dist_pts": 38.083,
    "put_cog_dist_pts": 25.077,
    "share_above_spot": 0.7965489044947972,
    "share_below_spot": 0.20345109550520282,
    "call_share_otm": 0.8772916159561179
   },
   {
    "session": "2026-05-05",
    "spot": 17.3799991607666,
    "cog": 44.192,
    "total_contracts": 13418367.0,
    "pc_oi": 0.8700021698567184,
    "top_center": 17.401,
    "top_share": 0.10441628254764533,
    "top_dist_pts": 0.021,
    "near_share": 0.26409465473704813,
    "n_expiries": 26,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 26.812,
    "call_cog_dist_pts": 31.951,
    "put_cog_dist_pts": 20.905,
    "share_above_spot": 0.8190081550161804,
    "share_below_spot": 0.18099184498381957,
    "call_share_otm": 0.8993626864637871
   },
   {
    "session": "2026-05-06",
    "spot": 17.389999389648438,
    "cog": 42.637,
    "total_contracts": 13530784.0,
    "pc_oi": 0.7401019591795477,
    "top_center": 37.291,
    "top_share": 0.14963338414093375,
    "top_dist_pts": 19.901,
    "near_share": 0.273968825457564,
    "n_expiries": 25,
    "n_clusters": 13,
    "src": "archive",
    "cog_dist_pts": 25.247,
    "call_cog_dist_pts": 31.467,
    "put_cog_dist_pts": 16.843,
    "share_above_spot": 0.7922521710493642,
    "share_below_spot": 0.20774782895063582,
    "call_share_otm": 0.8083982254303288
   },
   {
    "session": "2026-05-07",
    "spot": 17.079999923706055,
    "cog": 44.423,
    "total_contracts": 13248687.0,
    "pc_oi": 0.6172865638507589,
    "top_center": 19.022,
    "top_share": 0.09327429955889213,
    "top_dist_pts": 1.942,
    "near_share": 0.2318004795494074,
    "n_expiries": 25,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 27.343,
    "call_cog_dist_pts": 34.314,
    "put_cog_dist_pts": 16.05,
    "share_above_spot": 0.8768308134987264,
    "share_below_spot": 0.12316918650127368,
    "call_share_otm": 0.9429573495746969
   },
   {
    "session": "2026-05-08",
    "spot": 17.190000534057617,
    "cog": 50.074,
    "total_contracts": 13440301.0,
    "pc_oi": 0.5902742002010989,
    "top_center": 22.76,
    "top_share": 0.19073345157969304,
    "top_dist_pts": 5.57,
    "near_share": 0.17080153190021563,
    "n_expiries": 24,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 32.884,
    "call_cog_dist_pts": 35.877,
    "put_cog_dist_pts": 27.814,
    "share_above_spot": 0.865518488016005,
    "share_below_spot": 0.134481511983995,
    "call_share_otm": 0.9379945387610006
   },
   {
    "session": "2026-05-11",
    "spot": 18.3799991607666,
    "cog": 40.53,
    "total_contracts": 13691704.0,
    "pc_oi": 0.6199609246376513,
    "top_center": 23.93,
    "top_share": 0.10011018350966396,
    "top_dist_pts": 5.55,
    "near_share": 0.2803345734029891,
    "n_expiries": 24,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 22.15,
    "call_cog_dist_pts": 23.141,
    "put_cog_dist_pts": 20.553,
    "share_above_spot": 0.7805153397999256,
    "share_below_spot": 0.21948466020007443,
    "call_share_otm": 0.861524421864834
   },
   {
    "session": "2026-05-12",
    "spot": 17.989999771118164,
    "cog": 48.01,
    "total_contracts": 13927679.0,
    "pc_oi": 0.4509549666453936,
    "top_center": 20.817,
    "top_share": 0.14382583056372852,
    "top_dist_pts": 2.827,
    "near_share": 0.2677084961535946,
    "n_expiries": 24,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 30.02,
    "call_cog_dist_pts": 30.988,
    "put_cog_dist_pts": 27.874,
    "share_above_spot": 0.88403308261197,
    "share_below_spot": 0.11596691738802999,
    "call_share_otm": 0.95653764662765
   },
   {
    "session": "2026-05-13",
    "spot": 17.8700008392334,
    "cog": 44.016,
    "total_contracts": 14113423.0,
    "pc_oi": 0.6679762994443594,
    "top_center": 22.841,
    "top_share": 0.23070193531363722,
    "top_dist_pts": 4.971,
    "near_share": 0.30726032940414244,
    "n_expiries": 25,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 26.146,
    "call_cog_dist_pts": 34.103,
    "put_cog_dist_pts": 14.235,
    "share_above_spot": 0.8192388196683399,
    "share_below_spot": 0.18076118033166014,
    "call_share_otm": 0.9151339523400664
   },
   {
    "session": "2026-05-14",
    "spot": 17.260000228881836,
    "cog": 45.721,
    "total_contracts": 14104786.0,
    "pc_oi": 0.5165313021433143,
    "top_center": 49.342,
    "top_share": 0.12123785500893101,
    "top_dist_pts": 32.082,
    "near_share": 0.2239208024850572,
    "n_expiries": 23,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 28.461,
    "call_cog_dist_pts": 31.223,
    "put_cog_dist_pts": 23.112,
    "share_above_spot": 0.8810244976421479,
    "share_below_spot": 0.11897550235785215,
    "call_share_otm": 0.9315821655793458
   },
   {
    "session": "2026-05-15",
    "spot": 18.43000030517578,
    "cog": 44.152,
    "total_contracts": 14341058.0,
    "pc_oi": 0.434329698865993,
    "top_center": 24.975,
    "top_share": 0.24771338348955843,
    "top_dist_pts": 6.545,
    "near_share": 0.3178462146935045,
    "n_expiries": 23,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 25.722,
    "call_cog_dist_pts": 28.376,
    "put_cog_dist_pts": 19.611,
    "share_above_spot": 0.8508269055184073,
    "share_below_spot": 0.14917309448159263,
    "call_share_otm": 0.9353470076678969
   },
   {
    "session": "2026-05-18",
    "spot": 17.81999969482422,
    "cog": 46.255,
    "total_contracts": 14556765.0,
    "pc_oi": 0.6275824046076185,
    "top_center": 21.207,
    "top_share": 0.20879007114561512,
    "top_dist_pts": 3.387,
    "near_share": 0.29547416613512684,
    "n_expiries": 24,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 28.435,
    "call_cog_dist_pts": 34.256,
    "put_cog_dist_pts": 19.16,
    "share_above_spot": 0.847543255661543,
    "share_below_spot": 0.15245674433845707,
    "call_share_otm": 0.9302449429749963
   },
   {
    "session": "2026-05-19",
    "spot": 18.059999465942383,
    "cog": 42.154,
    "total_contracts": 14862388.0,
    "pc_oi": 0.7900670613254798,
    "top_center": 20.198,
    "top_share": 0.16968491200741093,
    "top_dist_pts": 2.138,
    "near_share": 0.3084259407034724,
    "n_expiries": 23,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 24.094,
    "call_cog_dist_pts": 28.03,
    "put_cog_dist_pts": 19.113,
    "share_above_spot": 0.8211864742058947,
    "share_below_spot": 0.17881352579410523,
    "call_share_otm": 0.9169112357318987
   },
   {
    "session": "2026-05-20",
    "spot": 17.440000534057617,
    "cog": 43.617,
    "total_contracts": 9973992.0,
    "pc_oi": 0.5006942258584237,
    "top_center": 23.921,
    "top_share": 0.16207773176477383,
    "top_dist_pts": 6.481,
    "near_share": 0.24101623502405056,
    "n_expiries": 21,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 26.177,
    "call_cog_dist_pts": 32.778,
    "put_cog_dist_pts": 12.995,
    "share_above_spot": 0.7952204092403523,
    "share_below_spot": 0.2047795907596477,
    "call_share_otm": 0.8739752871242318
   },
   {
    "session": "2026-05-21",
    "spot": 16.760000228881836,
    "cog": 47.226,
    "total_contracts": 11006802.0,
    "pc_oi": 0.43839546040656086,
    "top_center": 58.11,
    "top_share": 0.12216818291089455,
    "top_dist_pts": 41.35,
    "near_share": 0.1958627946609742,
    "n_expiries": 22,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 30.466,
    "call_cog_dist_pts": 31.863,
    "put_cog_dist_pts": 27.278,
    "share_above_spot": 0.8979833561101581,
    "share_below_spot": 0.10201664388984194,
    "call_share_otm": 0.9349112712144931
   },
   {
    "session": "2026-05-22",
    "spot": 16.700000762939453,
    "cog": 42.631,
    "total_contracts": 11209754.0,
    "pc_oi": 0.3838956443243478,
    "top_center": 22.991,
    "top_share": 0.2527824428618148,
    "top_dist_pts": 6.291,
    "near_share": 0.19732529366835347,
    "n_expiries": 23,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 25.931,
    "call_cog_dist_pts": 29.061,
    "put_cog_dist_pts": 17.78,
    "share_above_spot": 0.8880144916650268,
    "share_below_spot": 0.11198550833497327,
    "call_share_otm": 0.936911862307633
   },
   {
    "session": "2026-05-26",
    "spot": 17.010000228881836,
    "cog": 46.64,
    "total_contracts": 11463238.0,
    "pc_oi": 0.4751119436548019,
    "top_center": 17.144,
    "top_share": 0.11752438534382693,
    "top_dist_pts": 0.134,
    "near_share": 0.2318593577137629,
    "n_expiries": 23,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 29.63,
    "call_cog_dist_pts": 27.851,
    "put_cog_dist_pts": 33.376,
    "share_above_spot": 0.8641433598430042,
    "share_below_spot": 0.13585664015699578,
    "call_share_otm": 0.9176257869384464
   },
   {
    "session": "2026-05-27",
    "spot": 16.290000915527344,
    "cog": 45.153,
    "total_contracts": 11584488.0,
    "pc_oi": 0.6123843270151798,
    "top_center": 22.455,
    "top_share": 0.23332140358727982,
    "top_dist_pts": 6.165,
    "near_share": 0.18459382926547985,
    "n_expiries": 23,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 28.863,
    "call_cog_dist_pts": 33.234,
    "put_cog_dist_pts": 21.725,
    "share_above_spot": 0.90251472486311,
    "share_below_spot": 0.09748527513688995,
    "call_share_otm": 0.9438279486920389
   },
   {
    "session": "2026-05-28",
    "spot": 15.739999771118164,
    "cog": 40.667,
    "total_contracts": 10973446.0,
    "pc_oi": 0.4782065999720347,
    "top_center": 21.92,
    "top_share": 0.4053169806458245,
    "top_dist_pts": 6.18,
    "near_share": 0.19519656815188227,
    "n_expiries": 18,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 24.927,
    "call_cog_dist_pts": 31.849,
    "put_cog_dist_pts": 10.453,
    "share_above_spot": 0.9169460532270355,
    "share_below_spot": 0.08305394677296449,
    "call_share_otm": 0.9453343078979337
   },
   {
    "session": "2026-05-29",
    "spot": 15.319999694824219,
    "cog": 46.077,
    "total_contracts": 11262513.0,
    "pc_oi": 0.5034763804633866,
    "top_center": 21.448,
    "top_share": 0.27193389255133377,
    "top_dist_pts": 6.128,
    "near_share": 0.17125236614599246,
    "n_expiries": 22,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 30.757,
    "call_cog_dist_pts": 33.594,
    "put_cog_dist_pts": 25.123,
    "share_above_spot": 0.9085292953712906,
    "share_below_spot": 0.09147070462870942,
    "call_share_otm": 0.9334940243474119
   },
   {
    "session": "2026-06-01",
    "spot": 16.049999237060547,
    "cog": 44.734,
    "total_contracts": 11500132.0,
    "pc_oi": 0.7132601536314889,
    "top_center": 20.744,
    "top_share": 0.11675205119384717,
    "top_dist_pts": 4.694,
    "near_share": 0.2025627184105365,
    "n_expiries": 22,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 28.684,
    "call_cog_dist_pts": 34.219,
    "put_cog_dist_pts": 20.924,
    "share_above_spot": 0.8636091307473688,
    "share_below_spot": 0.1363908692526312,
    "call_share_otm": 0.9351805144667517
   },
   {
    "session": "2026-06-02",
    "spot": 15.770000457763672,
    "cog": 43.748,
    "total_contracts": 11630428.0,
    "pc_oi": 0.5962075613810489,
    "top_center": 16.649,
    "top_share": 0.1130692696777797,
    "top_dist_pts": 0.879,
    "near_share": 0.24272640697315698,
    "n_expiries": 21,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 27.978,
    "call_cog_dist_pts": 33.156,
    "put_cog_dist_pts": 19.295,
    "share_above_spot": 0.8688072356408552,
    "share_below_spot": 0.13119276435914481,
    "call_share_otm": 0.9240802724240381
   },
   {
    "session": "2026-06-03",
    "spot": 16.059999465942383,
    "cog": 44.025,
    "total_contracts": 11796529.0,
    "pc_oi": 0.4690946655549737,
    "top_center": 18.819,
    "top_share": 0.16600942531485322,
    "top_dist_pts": 2.759,
    "near_share": 0.24626938991969588,
    "n_expiries": 21,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 27.965,
    "call_cog_dist_pts": 30.946,
    "put_cog_dist_pts": 21.611,
    "share_above_spot": 0.8783801574174912,
    "share_below_spot": 0.12161984258250881,
    "call_share_otm": 0.9002750381547723
   },
   {
    "session": "2026-06-04",
    "spot": 15.399999618530273,
    "cog": 46.014,
    "total_contracts": 12125806.0,
    "pc_oi": 0.5422942751170889,
    "top_center": 17.874,
    "top_share": 0.21026338372888367,
    "top_dist_pts": 2.474,
    "near_share": 0.2335947812458817,
    "n_expiries": 21,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 30.614,
    "call_cog_dist_pts": 35.683,
    "put_cog_dist_pts": 21.268,
    "share_above_spot": 0.9074040933856273,
    "share_below_spot": 0.09259590661437268,
    "call_share_otm": 0.9347344447543667
   },
   {
    "session": "2026-06-05",
    "spot": 21.510000228881836,
    "cog": 40.757,
    "total_contracts": 12578072.0,
    "pc_oi": 0.7819062888125174,
    "top_center": 21.469,
    "top_share": 0.1619105058390507,
    "top_dist_pts": -0.041,
    "near_share": 0.3582416287647264,
    "n_expiries": 21,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 19.247,
    "call_cog_dist_pts": 26.625,
    "put_cog_dist_pts": 9.812,
    "share_above_spot": 0.6396794357672623,
    "share_below_spot": 0.36032056423273773,
    "call_share_otm": 0.7454380527607277
   },
   {
    "session": "2026-06-08",
    "spot": 18.920000076293945,
    "cog": 40.427,
    "total_contracts": 12733921.0,
    "pc_oi": 0.558063936322337,
    "top_center": 22.432,
    "top_share": 0.1853107931170611,
    "top_dist_pts": 3.512,
    "near_share": 0.3119440587074476,
    "n_expiries": 21,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 21.507,
    "call_cog_dist_pts": 27.005,
    "put_cog_dist_pts": 11.654,
    "share_above_spot": 0.7200560612870144,
    "share_below_spot": 0.27994393871298556,
    "call_share_otm": 0.8044161243365737
   },
   {
    "session": "2026-06-09",
    "spot": 19.8700008392334,
    "cog": 50.136,
    "total_contracts": 12826421.0,
    "pc_oi": 0.7489482588200291,
    "top_center": 18.212,
    "top_share": 0.20949008300912625,
    "top_dist_pts": -1.658,
    "near_share": 0.291019061357802,
    "n_expiries": 21,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 30.266,
    "call_cog_dist_pts": 37.589,
    "put_cog_dist_pts": 20.488,
    "share_above_spot": 0.7584602906765652,
    "share_below_spot": 0.2415397093234348,
    "call_share_otm": 0.8610133558482919
   },
   {
    "session": "2026-06-10",
    "spot": 22.219999313354492,
    "cog": 42.918,
    "total_contracts": 13025369.0,
    "pc_oi": 0.7028538237169376,
    "top_center": 56.63,
    "top_share": 0.190291269291488,
    "top_dist_pts": 34.41,
    "near_share": 0.35094506727602115,
    "n_expiries": 21,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 20.698,
    "call_cog_dist_pts": 28.591,
    "put_cog_dist_pts": 9.469,
    "share_above_spot": 0.6277324657750579,
    "share_below_spot": 0.37226753422494213,
    "call_share_otm": 0.762963579832036
   },
   {
    "session": "2026-06-11",
    "spot": 19.440000534057617,
    "cog": 45.675,
    "total_contracts": 13238604.0,
    "pc_oi": 0.5548447093648871,
    "top_center": 21.886,
    "top_share": 0.26328667282441565,
    "top_dist_pts": 2.446,
    "near_share": 0.3530968219912009,
    "n_expiries": 20,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 26.235,
    "call_cog_dist_pts": 29.233,
    "put_cog_dist_pts": 20.831,
    "share_above_spot": 0.7844216051783104,
    "share_below_spot": 0.21557839482168967,
    "call_share_otm": 0.8942454343935502
   },
   {
    "session": "2026-06-12",
    "spot": 17.68000030517578,
    "cog": 48.954,
    "total_contracts": 13435121.0,
    "pc_oi": 0.6380204843985897,
    "top_center": 19.581,
    "top_share": 0.1947486740164082,
    "top_dist_pts": 1.901,
    "near_share": 0.28910405793889016,
    "n_expiries": 20,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 31.274,
    "call_cog_dist_pts": 34.922,
    "put_cog_dist_pts": 25.555,
    "share_above_spot": 0.8610459109374601,
    "share_below_spot": 0.1389540890625399,
    "call_share_otm": 0.917653361410877
   },
   {
    "session": "2026-06-15",
    "spot": 16.200000762939453,
    "cog": 41.591,
    "total_contracts": 13641297.0,
    "pc_oi": 0.5732070258927101,
    "top_center": 21.065,
    "top_share": 0.28437420576650446,
    "top_dist_pts": 4.865,
    "near_share": 0.20166806719331748,
    "n_expiries": 19,
    "n_clusters": 5,
    "src": "archive",
    "cog_dist_pts": 25.391,
    "call_cog_dist_pts": 32.173,
    "put_cog_dist_pts": 13.561,
    "share_above_spot": 0.9193721828650164,
    "share_below_spot": 0.08062781713498357,
    "call_share_otm": 0.9511694828700502
   },
   {
    "session": "2026-06-16",
    "spot": 16.40999984741211,
    "cog": 42.704,
    "total_contracts": 13910315.0,
    "pc_oi": 0.41136503607472863,
    "top_center": 19.546,
    "top_share": 0.08480081148413965,
    "top_dist_pts": 3.136,
    "near_share": 0.22155781518966322,
    "n_expiries": 19,
    "n_clusters": 14,
    "src": "archive",
    "cog_dist_pts": 26.294,
    "call_cog_dist_pts": 31.837,
    "put_cog_dist_pts": 12.821,
    "share_above_spot": 0.8860212727030264,
    "share_below_spot": 0.1139787272969735,
    "call_share_otm": 0.9537200446837589
   },
   {
    "session": "2026-06-17",
    "spot": 18.440000534057617,
    "cog": 41.746,
    "total_contracts": 14453032.0,
    "pc_oi": 0.38580079414177576,
    "top_center": 21.063,
    "top_share": 0.37783559878646916,
    "top_dist_pts": 2.623,
    "near_share": 0.36489803661958264,
    "n_expiries": 20,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 23.306,
    "call_cog_dist_pts": 29.081,
    "put_cog_dist_pts": 8.336,
    "share_above_spot": 0.8434035847979856,
    "share_below_spot": 0.15659641520201437,
    "call_share_otm": 0.9443879267131329
   },
   {
    "session": "2026-06-18",
    "spot": 16.399999618530273,
    "cog": 44.544,
    "total_contracts": 9813759.0,
    "pc_oi": 0.5325270217196613,
    "top_center": 57.31,
    "top_share": 0.2954692488372702,
    "top_dist_pts": 40.91,
    "near_share": 0.1678845995708678,
    "n_expiries": 18,
    "n_clusters": 5,
    "src": "archive",
    "cog_dist_pts": 28.144,
    "call_cog_dist_pts": 32.322,
    "put_cog_dist_pts": 20.3,
    "share_above_spot": 0.9231440266670498,
    "share_below_spot": 0.0768559733329502,
    "call_share_otm": 0.9744528311610028
   },
   {
    "session": "2026-06-22",
    "spot": 17.280000686645508,
    "cog": 45.307,
    "total_contracts": 10095595.0,
    "pc_oi": 0.4313079994697596,
    "top_center": 22.592,
    "top_share": 0.20158445341755488,
    "top_dist_pts": 5.312,
    "near_share": 0.21168717643685192,
    "n_expiries": 17,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 28.027,
    "call_cog_dist_pts": 35.583,
    "put_cog_dist_pts": 10.508,
    "share_above_spot": 0.8613209028294023,
    "share_below_spot": 0.13867909717059768,
    "call_share_otm": 0.9170739522259107
   },
   {
    "session": "2026-06-23",
    "spot": 19.489999771118164,
    "cog": 52.18,
    "total_contracts": 10396280.0,
    "pc_oi": 0.41771772140333363,
    "top_center": 60.228,
    "top_share": 0.18919478890526226,
    "top_dist_pts": 40.738,
    "near_share": 0.2377252247919448,
    "n_expiries": 19,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 32.69,
    "call_cog_dist_pts": 36.129,
    "put_cog_dist_pts": 24.456,
    "share_above_spot": 0.8402036112917313,
    "share_below_spot": 0.15979638870826873,
    "call_share_otm": 0.9242553295941286
   },
   {
    "session": "2026-06-24",
    "spot": 18.6299991607666,
    "cog": 47.889,
    "total_contracts": 10593406.0,
    "pc_oi": 0.48470190562378146,
    "top_center": 20.063,
    "top_share": 0.15524440392447905,
    "top_dist_pts": 1.433,
    "near_share": 0.26471344532627183,
    "n_expiries": 18,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 29.259,
    "call_cog_dist_pts": 29.949,
    "put_cog_dist_pts": 27.836,
    "share_above_spot": 0.8503648401656653,
    "share_below_spot": 0.14963515983433467,
    "call_share_otm": 0.9544799965354078
   },
   {
    "session": "2026-06-25",
    "spot": 18.889999389648438,
    "cog": 42.664,
    "total_contracts": 10628771.0,
    "pc_oi": 0.42860766152895363,
    "top_center": 22.085,
    "top_share": 0.3378512906148792,
    "top_dist_pts": 3.195,
    "near_share": 0.32729503721549746,
    "n_expiries": 17,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 23.774,
    "call_cog_dist_pts": 24.914,
    "put_cog_dist_pts": 21.115,
    "share_above_spot": 0.8644930820317795,
    "share_below_spot": 0.1355069179682204,
    "call_share_otm": 0.951940543694441
   },
   {
    "session": "2026-06-26",
    "spot": 18.40999984741211,
    "cog": 44.772,
    "total_contracts": 10740339.0,
    "pc_oi": 0.38681344732735007,
    "top_center": 63.29,
    "top_share": 0.09270927109470195,
    "top_dist_pts": 44.88,
    "near_share": 0.3036689065401008,
    "n_expiries": 16,
    "n_clusters": 13,
    "src": "archive",
    "cog_dist_pts": 26.362,
    "call_cog_dist_pts": 30.02,
    "put_cog_dist_pts": 16.907,
    "share_above_spot": 0.8256148153237993,
    "share_below_spot": 0.17438518467620062,
    "call_share_otm": 0.9336349363693518
   },
   {
    "session": "2026-06-29",
    "spot": 17.649999618530273,
    "cog": 47.802,
    "total_contracts": 10843078.0,
    "pc_oi": 0.6890226777273517,
    "top_center": 20.555,
    "top_share": 0.2581266131259039,
    "top_dist_pts": 2.905,
    "near_share": 0.2716964684750954,
    "n_expiries": 16,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 30.152,
    "call_cog_dist_pts": 35.857,
    "put_cog_dist_pts": 21.871,
    "share_above_spot": 0.8391552656911626,
    "share_below_spot": 0.1608447343088374,
    "call_share_otm": 0.9146301210252448
   },
   {
    "session": "2026-06-30",
    "spot": 16.450000762939453,
    "cog": 41.126,
    "total_contracts": 11136991.0,
    "pc_oi": 0.4769293424602345,
    "top_center": 17.723,
    "top_share": 0.0939017549713383,
    "top_dist_pts": 1.273,
    "near_share": 0.26712044572901245,
    "n_expiries": 18,
    "n_clusters": 12,
    "src": "archive",
    "cog_dist_pts": 24.676,
    "call_cog_dist_pts": 28.719,
    "put_cog_dist_pts": 16.199,
    "share_above_spot": 0.8685312756380965,
    "share_below_spot": 0.1314687243619035,
    "call_share_otm": 0.9065926640965043
   },
   {
    "session": "2026-07-01",
    "spot": 16.59000015258789,
    "cog": 43.896,
    "total_contracts": 11381175.0,
    "pc_oi": 0.5570507141172434,
    "top_center": 22.54,
    "top_share": 0.22254424521193988,
    "top_dist_pts": 5.95,
    "near_share": 0.2159120653183876,
    "n_expiries": 17,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 27.306,
    "call_cog_dist_pts": 33.281,
    "put_cog_dist_pts": 16.58,
    "share_above_spot": 0.864832058201372,
    "share_below_spot": 0.135167941798628,
    "call_share_otm": 0.9648748933571418
   },
   {
    "session": "2026-07-02",
    "spot": 16.149999618530273,
    "cog": 42.91,
    "total_contracts": 11397425.0,
    "pc_oi": 0.5792108120016655,
    "top_center": 20.796,
    "top_share": 0.3611723700748195,
    "top_dist_pts": 4.646,
    "near_share": 0.23913691031088163,
    "n_expiries": 17,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 26.76,
    "call_cog_dist_pts": 33.018,
    "put_cog_dist_pts": 15.955,
    "share_above_spot": 0.9143430204629555,
    "share_below_spot": 0.08565697953704456,
    "call_share_otm": 0.9638355226740694
   },
   {
    "session": "2026-07-06",
    "spot": 15.569999694824219,
    "cog": 41.99,
    "total_contracts": 11529128.0,
    "pc_oi": 0.47949411077026133,
    "top_center": 20.443,
    "top_share": 0.3729073005347846,
    "top_dist_pts": 4.873,
    "near_share": 0.20466951186594512,
    "n_expiries": 15,
    "n_clusters": 5,
    "src": "archive",
    "cog_dist_pts": 26.42,
    "call_cog_dist_pts": 32.728,
    "put_cog_dist_pts": 13.264,
    "share_above_spot": 0.9327438293685351,
    "share_below_spot": 0.06725617063146493,
    "call_share_otm": 0.958011399254294
   },
   {
    "session": "2026-07-07",
    "spot": 16.1299991607666,
    "cog": 41.099,
    "total_contracts": 11716948.0,
    "pc_oi": 0.4667081924972605,
    "top_center": 35.912,
    "top_share": 0.10589105627165027,
    "top_dist_pts": 19.782,
    "near_share": 0.2517032592446429,
    "n_expiries": 15,
    "n_clusters": 11,
    "src": "archive",
    "cog_dist_pts": 24.969,
    "call_cog_dist_pts": 27.778,
    "put_cog_dist_pts": 18.951,
    "share_above_spot": 0.8318595422630535,
    "share_below_spot": 0.16814045773694652,
    "call_share_otm": 0.8498706031418263
   },
   {
    "session": "2026-07-08",
    "spot": 16.899999618530273,
    "cog": 42.02,
    "total_contracts": 12045002.0,
    "pc_oi": 0.45507134257701126,
    "top_center": 21.21,
    "top_share": 0.2753659152568011,
    "top_dist_pts": 4.31,
    "near_share": 0.28596749091448886,
    "n_expiries": 16,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 25.12,
    "call_cog_dist_pts": 31.268,
    "put_cog_dist_pts": 11.609,
    "share_above_spot": 0.8983471318643201,
    "share_below_spot": 0.10165286813567985,
    "call_share_otm": 0.9742438522792973
   },
   {
    "session": "2026-07-09",
    "spot": 15.84000015258789,
    "cog": 39.544,
    "total_contracts": 12252157.0,
    "pc_oi": 0.507495609653705,
    "top_center": 18.743,
    "top_share": 0.2551218532377605,
    "top_dist_pts": 2.903,
    "near_share": 0.21677097347022242,
    "n_expiries": 13,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 23.704,
    "call_cog_dist_pts": 29.422,
    "put_cog_dist_pts": 12.435,
    "share_above_spot": 0.943378949518848,
    "share_below_spot": 0.05662105048115201,
    "call_share_otm": 0.9721803444630083
   },
   {
    "session": "2026-07-10",
    "spot": 15.029999732971191,
    "cog": 45.663,
    "total_contracts": 12568786.0,
    "pc_oi": 0.4692177337330958,
    "top_center": 22.468,
    "top_share": 0.23760186544667083,
    "top_dist_pts": 7.438,
    "near_share": 0.1616584927136161,
    "n_expiries": 15,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 30.633,
    "call_cog_dist_pts": 33.382,
    "put_cog_dist_pts": 24.775,
    "share_above_spot": 0.9364630760679671,
    "share_below_spot": 0.06353692393203289,
    "call_share_otm": 0.948967631655267
   },
   {
    "session": "2026-07-13",
    "spot": 17.15999984741211,
    "cog": 40.269,
    "total_contracts": 12830769.0,
    "pc_oi": 0.5583402521274988,
    "top_center": 18.518,
    "top_share": 0.2377357896475262,
    "top_dist_pts": 1.358,
    "near_share": 0.2637032121769163,
    "n_expiries": 14,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 23.109,
    "call_cog_dist_pts": 29.656,
    "put_cog_dist_pts": 11.383,
    "share_above_spot": 0.875933702804563,
    "share_below_spot": 0.124066297195437,
    "call_share_otm": 0.9526487281645042
   },
   {
    "session": "2026-07-14",
    "spot": 16.5,
    "cog": 39.82,
    "total_contracts": 13206893.0,
    "pc_oi": 0.4885845145154228,
    "top_center": 21.114,
    "top_share": 0.34736739367843744,
    "top_dist_pts": 4.614,
    "near_share": 0.2642731337340281,
    "n_expiries": 15,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 23.32,
    "call_cog_dist_pts": 28.015,
    "put_cog_dist_pts": 13.712,
    "share_above_spot": 0.890853889707443,
    "share_below_spot": 0.099110214643217,
    "call_share_otm": 0.9485351576258874
   },
   {
    "session": "2026-07-15",
    "spot": 15.670000076293945,
    "cog": 44.041,
    "total_contracts": 13459968.0,
    "pc_oi": 0.5094781095995858,
    "top_center": 19.936,
    "top_share": 0.37140058579634067,
    "top_dist_pts": 4.266,
    "near_share": 0.22627044878561375,
    "n_expiries": 15,
    "n_clusters": 4,
    "src": "archive",
    "cog_dist_pts": 28.371,
    "call_cog_dist_pts": 30.564,
    "put_cog_dist_pts": 24.066,
    "share_above_spot": 0.9410856697430484,
    "share_below_spot": 0.05891433025695158,
    "call_share_otm": 0.9546318883279608
   },
   {
    "session": "2026-07-16",
    "spot": 16.729999542236328,
    "cog": 42.019,
    "total_contracts": 13588174.0,
    "pc_oi": 0.4734148956564962,
    "top_center": 22.308,
    "top_share": 0.20864304504784822,
    "top_dist_pts": 5.578,
    "near_share": 0.24204716542487606,
    "n_expiries": 14,
    "n_clusters": 9,
    "src": "archive",
    "cog_dist_pts": 25.289,
    "call_cog_dist_pts": 32.492,
    "put_cog_dist_pts": 10.072,
    "share_above_spot": 0.9082667766839018,
    "share_below_spot": 0.09173322331609825,
    "call_share_otm": 0.9847210523439445
   },
   {
    "session": "2026-07-17",
    "spot": 18.770000457763672,
    "cog": 39.368,
    "total_contracts": 13998561.0,
    "pc_oi": 0.37238304991527116,
    "top_center": 21.352,
    "top_share": 0.31623350428661917,
    "top_dist_pts": 2.582,
    "near_share": 0.32226476707141544,
    "n_expiries": 15,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 20.598,
    "call_cog_dist_pts": 24.488,
    "put_cog_dist_pts": 10.152,
    "share_above_spot": 0.8421345594022128,
    "share_below_spot": 0.15786544059778715,
    "call_share_otm": 0.9278023878978665
   },
   {
    "session": "2026-07-20",
    "spot": 18.649999618530273,
    "cog": 39.871,
    "total_contracts": 14363059.0,
    "pc_oi": 0.4834323196466961,
    "top_center": 19.375,
    "top_share": 0.27278819922691955,
    "top_dist_pts": 0.725,
    "near_share": 0.35799845979884926,
    "n_expiries": 15,
    "n_clusters": 7,
    "src": "archive",
    "cog_dist_pts": 21.221,
    "call_cog_dist_pts": 29.247,
    "put_cog_dist_pts": 4.62,
    "share_above_spot": 0.779233518430858,
    "share_below_spot": 0.22076648156914205,
    "call_share_otm": 0.9396309663546373
   },
   {
    "session": "2026-07-21",
    "spot": 17.049999237060547,
    "cog": 40.871,
    "total_contracts": 14502181.0,
    "pc_oi": 0.44744580704576525,
    "top_center": 20.829,
    "top_share": 0.33041188770158086,
    "top_dist_pts": 3.779,
    "near_share": 0.2932998146968377,
    "n_expiries": 14,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 23.821,
    "call_cog_dist_pts": 26.885,
    "put_cog_dist_pts": 16.973,
    "share_above_spot": 0.8535238251405082,
    "share_below_spot": 0.14647617485949183,
    "call_share_otm": 0.9467912107939663
   },
   {
    "session": "2026-07-22",
    "spot": 16.639999389648438,
    "cog": 38.719,
    "total_contracts": 14852971.0,
    "pc_oi": 0.4449133609657056,
    "top_center": 20.727,
    "top_share": 0.15041616926337498,
    "top_dist_pts": 4.087,
    "near_share": 0.27489005398313915,
    "n_expiries": 14,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 22.079,
    "call_cog_dist_pts": 27.284,
    "put_cog_dist_pts": 10.38,
    "share_above_spot": 0.879190701981442,
    "share_below_spot": 0.12080929801855804,
    "call_share_otm": 0.9518226051898105
   },
   {
    "session": "2026-07-23",
    "spot": 18.700000762939453,
    "cog": 43.182,
    "total_contracts": 10691629.0,
    "pc_oi": 0.48574086735147637,
    "top_center": 21.619,
    "top_share": 0.3003611517010177,
    "top_dist_pts": 2.919,
    "near_share": 0.33205866009753987,
    "n_expiries": 12,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 24.482,
    "call_cog_dist_pts": 30.638,
    "put_cog_dist_pts": 11.808,
    "share_above_spot": 0.824463231935938,
    "share_below_spot": 0.17553676806406207,
    "call_share_otm": 0.9489591671113483
   },
   {
    "session": "2026-07-24",
    "spot": 18.579999923706055,
    "cog": 38.861,
    "total_contracts": 10960110.0,
    "pc_oi": 0.37289425375616214,
    "top_center": 21.225,
    "top_share": 0.38631646945149273,
    "top_dist_pts": 2.645,
    "near_share": 0.35071564062769445,
    "n_expiries": 14,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 20.281,
    "call_cog_dist_pts": 26.739,
    "put_cog_dist_pts": 2.96,
    "share_above_spot": 0.844214702224704,
    "share_below_spot": 0.15578529777529604,
    "call_share_otm": 0.9695174187341816
   },
   {
    "session": "2026-07-27",
    "spot": 18.670000076293945,
    "cog": 39.018,
    "total_contracts": 11264862.0,
    "pc_oi": 0.3468137511308771,
    "top_center": 20.364,
    "top_share": 0.39863843871323057,
    "top_dist_pts": 1.694,
    "near_share": 0.35760660006309886,
    "n_expiries": 14,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 20.348,
    "call_cog_dist_pts": 26.591,
    "put_cog_dist_pts": 2.348,
    "share_above_spot": 0.8349849292428083,
    "share_below_spot": 0.1650150707571917,
    "call_share_otm": 0.9793238541511364
   },
   {
    "session": "2026-07-28",
    "spot": 18.209999084472656,
    "cog": 42.475,
    "total_contracts": 11397930.0,
    "pc_oi": 0.4976592852818003,
    "top_center": 21.903,
    "top_share": 0.44311975946509585,
    "top_dist_pts": 3.693,
    "near_share": 0.3292715431661714,
    "n_expiries": 12,
    "n_clusters": 5,
    "src": "archive",
    "cog_dist_pts": 24.265,
    "call_cog_dist_pts": 27.688,
    "put_cog_dist_pts": 17.386,
    "share_above_spot": 0.8073727422435477,
    "share_below_spot": 0.19262725775645226,
    "call_share_otm": 0.9497216738567368
   },
   {
    "session": "2026-07-29",
    "spot": 20.65999984741211,
    "cog": 38.74,
    "total_contracts": 11529819.0,
    "pc_oi": 0.38890657005282503,
    "top_center": 18.328,
    "top_share": 0.27436224280710736,
    "top_dist_pts": -2.332,
    "near_share": 0.41033436864880535,
    "n_expiries": 13,
    "n_clusters": 8,
    "src": "archive",
    "cog_dist_pts": 18.08,
    "call_cog_dist_pts": 23.079,
    "put_cog_dist_pts": 5.225,
    "share_above_spot": 0.6964281919776885,
    "share_below_spot": 0.30357180802231154,
    "call_share_otm": 0.8517494233477776
   },
   {
    "session": "2026-07-30",
    "spot": 17.09000015258789,
    "cog": 40.133,
    "total_contracts": 11649816.0,
    "pc_oi": 0.4298461596241642,
    "top_center": 17.65,
    "top_share": 0.2082824312418325,
    "top_dist_pts": 0.56,
    "near_share": 0.2774740819940847,
    "n_expiries": 13,
    "n_clusters": 10,
    "src": "archive",
    "cog_dist_pts": 23.043,
    "call_cog_dist_pts": 27.454,
    "put_cog_dist_pts": 12.78,
    "share_above_spot": 0.8609698213259334,
    "share_below_spot": 0.1390301786740666,
    "call_share_otm": 0.9630440911379926
   },
   {
    "session": "2026-07-31",
    "spot": 15.989999771118164,
    "cog": 39.296,
    "total_contracts": 11662692.0,
    "pc_oi": 0.39569041828377605,
    "top_center": 19.947,
    "top_share": 0.4059606478504277,
    "top_dist_pts": 3.957,
    "near_share": 0.23685389273762866,
    "n_expiries": 13,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 23.306,
    "call_cog_dist_pts": 29.315,
    "put_cog_dist_pts": 8.121,
    "share_above_spot": 0.9210336687275974,
    "share_below_spot": 0.07896633127240263,
    "call_share_otm": 0.9393194312689582
   },
   {
    "session": "2026-08-03",
    "spot": 15.859999656677246,
    "cog": 37.686,
    "total_contracts": 11987087.0,
    "pc_oi": 0.39988179276994973,
    "top_center": 20.711,
    "top_share": 0.46228145336727766,
    "top_dist_pts": 4.851,
    "near_share": 0.22912355603992862,
    "n_expiries": 13,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 21.826,
    "call_cog_dist_pts": 29.341,
    "put_cog_dist_pts": 3.034,
    "share_above_spot": 0.9501963237607268,
    "share_below_spot": 0.04980367623927314,
    "call_share_otm": 0.9881686497889507
   },
   {
    "session": "2026-08-04",
    "spot": 16.5,
    "cog": 37.618,
    "total_contracts": 12055608.0,
    "pc_oi": 0.3736817223174363,
    "top_center": 20.283,
    "top_share": 0.4218439252503897,
    "top_dist_pts": 3.783,
    "near_share": 0.28501424399333486,
    "n_expiries": 13,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 21.118,
    "call_cog_dist_pts": 28.255,
    "put_cog_dist_pts": 2.021,
    "share_above_spot": 0.9204217655384946,
    "share_below_spot": 0.07015880078383438,
    "call_share_otm": 0.9933208593447065
   },
   {
    "session": "2026-08-05",
    "spot": 15.8100004196167,
    "cog": 37.471,
    "total_contracts": 12067774.0,
    "pc_oi": 0.37632321619502457,
    "top_center": 20.289,
    "top_share": 0.431327517402961,
    "top_dist_pts": 4.479,
    "near_share": 0.2242760761015246,
    "n_expiries": 13,
    "n_clusters": 6,
    "src": "archive",
    "cog_dist_pts": 21.661,
    "call_cog_dist_pts": 28.8,
    "put_cog_dist_pts": 2.692,
    "share_above_spot": 0.9620743643359579,
    "share_below_spot": 0.0379256356640421,
    "call_share_otm": 0.9958049183833487
   },
   {
    "session": "2026-08-06",
    "spot": 15.149999618530273,
    "cog": 36.73,
    "total_contracts": 12626850.0,
    "pc_oi": 0.385989409189613,
    "top_center": 20.46,
    "top_share": 0.4578577396579511,
    "top_dist_pts": 5.31,
    "near_share": 0.1898292131450045,
    "n_expiries": 13,
    "n_clusters": 6,
    "src": "forward",
    "cog_dist_pts": 21.58,
    "call_cog_dist_pts": 28.646,
    "put_cog_dist_pts": 3.273,
    "share_above_spot": 0.9654721486356455,
    "share_below_spot": 0.03452785136435453,
    "call_share_otm": 0.995320268121393
   },
   {
    "session": "2026-08-10",
    "spot": 15.460000038146973,
    "cog": 36.625,
    "total_contracts": 12726774.0,
    "pc_oi": 0.3846694664461659,
    "top_center": 20.434,
    "top_share": 0.4595037988417175,
    "top_dist_pts": 4.974,
    "near_share": 0.22806329396593356,
    "n_expiries": 13,
    "n_clusters": 6,
    "src": "forward",
    "cog_dist_pts": 21.165,
    "call_cog_dist_pts": 28.164,
    "put_cog_dist_pts": 2.971,
    "share_above_spot": 0.9648435652271345,
    "share_below_spot": 0.03515643477286546,
    "call_share_otm": 0.9947174471233353
   },
   {
    "session": "2026-08-11",
    "spot": 15.279999732971191,
    "cog": 36.522,
    "total_contracts": 12952203.0,
    "pc_oi": 0.38172100938301023,
    "top_center": 20.414,
    "top_share": 0.46056798214172523,
    "top_dist_pts": 5.134,
    "near_share": 0.23054139901914755,
    "n_expiries": 13,
    "n_clusters": 5,
    "src": "forward",
    "cog_dist_pts": 21.242,
    "call_cog_dist_pts": 28.154,
    "put_cog_dist_pts": 3.135,
    "share_above_spot": 0.9644897474198019,
    "share_below_spot": 0.03551025258019813,
    "call_share_otm": 0.9944171963963164
   },
   {
    "session": "2026-08-12",
    "spot": 14.550000190734863,
    "cog": 36.512,
    "total_contracts": 13152617.0,
    "pc_oi": 0.3758810948035099,
    "top_center": 20.429,
    "top_share": 0.45451334894036677,
    "top_dist_pts": 5.879,
    "near_share": 0.1731088953628012,
    "n_expiries": 12,
    "n_clusters": 6,
    "src": "forward",
    "cog_dist_pts": 21.962,
    "call_cog_dist_pts": 28.763,
    "put_cog_dist_pts": 3.868,
    "share_above_spot": 0.9896028296117799,
    "share_below_spot": 0.010397170388220078,
    "call_share_otm": 0.9974791341812375
   },
   {
    "session": "2026-08-13",
    "spot": 14.630000114440918,
    "cog": 36.363,
    "total_contracts": 13488864.0,
    "pc_oi": 0.3755398224782136,
    "top_center": 20.381,
    "top_share": 0.4545634087496175,
    "top_dist_pts": 5.751,
    "near_share": 0.1771949068505695,
    "n_expiries": 13,
    "n_clusters": 5,
    "src": "forward",
    "cog_dist_pts": 21.733,
    "call_cog_dist_pts": 28.488,
    "put_cog_dist_pts": 3.748,
    "share_above_spot": 0.9891525335269152,
    "share_below_spot": 0.01084746647308476,
    "call_share_otm": 0.9973540298298031
   },
   {
    "session": "2026-08-14",
    "spot": 14.25,
    "cog": 36.211,
    "total_contracts": 13652423.0,
    "pc_oi": 0.37469262444675927,
    "top_center": 20.124,
    "top_share": 0.4376802564643653,
    "top_dist_pts": 5.874,
    "near_share": 0.14552457098641025,
    "n_expiries": 13,
    "n_clusters": 5,
    "src": "forward",
    "cog_dist_pts": 21.961,
    "call_cog_dist_pts": 28.644,
    "put_cog_dist_pts": 4.126,
    "share_above_spot": 0.9924639018290013,
    "share_below_spot": 0.007536098170998657,
    "call_share_otm": 0.9976425940125392
   },
   {
    "session": "2026-08-17",
    "spot": 15.1899995803833,
    "cog": 36.204,
    "total_contracts": 14104838.0,
    "pc_oi": 0.37387551307851,
    "top_center": 20.091,
    "top_share": 0.4366380528439958,
    "top_dist_pts": 4.901,
    "near_share": 0.20545319272720466,
    "n_expiries": 13,
    "n_clusters": 5,
    "src": "forward",
    "cog_dist_pts": 21.014,
    "call_cog_dist_pts": 27.705,
    "put_cog_dist_pts": 3.116,
    "share_above_spot": 0.95847992015222,
    "share_below_spot": 0.04152007984777989,
    "call_share_otm": 0.991736002477972
   },
   {
    "session": "2026-08-18",
    "spot": 15.84000015258789,
    "cog": 35.928,
    "total_contracts": 14599675.0,
    "pc_oi": 0.3670903867247699,
    "top_center": 20.183,
    "top_share": 0.4440293362694718,
    "top_dist_pts": 4.343,
    "near_share": 0.25166114999135253,
    "n_expiries": 13,
    "n_clusters": 5,
    "src": "forward",
    "cog_dist_pts": 20.088,
    "call_cog_dist_pts": 26.581,
    "put_cog_dist_pts": 2.4,
    "share_above_spot": 0.9478527432973679,
    "share_below_spot": 0.05214725670263208,
    "call_share_otm": 0.9908550853804406
   },
   {
    "session": "2026-08-19",
    "spot": 14.890000343322754,
    "cog": 37.059,
    "total_contracts": 10036792.0,
    "pc_oi": 0.3704035845050115,
    "top_center": 20.075,
    "top_share": 0.45660226893214484,
    "top_dist_pts": 5.185,
    "near_share": 0.19501300814044967,
    "n_expiries": 12,
    "n_clusters": 6,
    "src": "forward",
    "cog_dist_pts": 22.169,
    "call_cog_dist_pts": 29.139,
    "put_cog_dist_pts": 3.351,
    "share_above_spot": 0.9854465450713734,
    "share_below_spot": 0.014553454928626598,
    "call_share_otm": 0.9969216140758671
   },
   {
    "session": "2026-08-20",
    "spot": 16.010000228881836,
    "cog": 37.12,
    "total_contracts": 10438586.0,
    "pc_oi": 0.3675145619417355,
    "top_center": 20.063,
    "top_share": 0.4520970560572093,
    "top_dist_pts": 4.053,
    "near_share": 0.31877009012523344,
    "n_expiries": 12,
    "n_clusters": 6,
    "src": "forward",
    "cog_dist_pts": 21.11,
    "call_cog_dist_pts": 28.067,
    "put_cog_dist_pts": 2.181,
    "share_above_spot": 0.9053277905647374,
    "share_below_spot": 0.0946722094352626,
    "call_share_otm": 0.9874328824902198
   },
   {
    "session": "2026-08-21",
    "spot": 15.130000114440918,
    "cog": 36.835,
    "total_contracts": 10916571.0,
    "pc_oi": 0.35800558773400454,
    "top_center": 20.089,
    "top_share": 0.457796133969174,
    "top_dist_pts": 4.959,
    "near_share": 0.19573252443464162,
    "n_expiries": 12,
    "n_clusters": 6,
    "src": "forward",
    "cog_dist_pts": 21.705,
    "call_cog_dist_pts": 28.377,
    "put_cog_dist_pts": 3.068,
    "share_above_spot": 0.9544304708868746,
    "share_below_spot": 0.04556952911312536,
    "call_share_otm": 0.9934443208890416
   },
   {
    "session": "2026-08-24",
    "spot": 15.850000381469727,
    "cog": 36.375,
    "total_contracts": 11206910.0,
    "pc_oi": 0.36445547294461644,
    "top_center": 20.037,
    "top_share": 0.4641443537960062,
    "top_dist_pts": 4.187,
    "near_share": 0.2479306070986561,
    "n_expiries": 12,
    "n_clusters": 5,
    "src": "forward",
    "cog_dist_pts": 20.525,
    "call_cog_dist_pts": 27.161,
    "put_cog_dist_pts": 2.318,
    "share_above_spot": 0.9485492432793696,
    "share_below_spot": 0.051450756720630396,
    "call_share_otm": 0.9931804681263101
   }
  ],
  "shift": {
   "windows": [
    {
     "key": "5s",
     "label": "the last 5 sessions (about a week)",
     "n_sessions": 5,
     "from_session": "2026-08-18",
     "to_session": "2026-08-24",
     "spot_from": 15.84000015258789,
     "spot_to": 15.850000381469727,
     "cog_from": 35.928,
     "cog_to": 36.375,
     "cog_move": 0.447,
     "top_from": 20.183,
     "top_to": 20.037,
     "top_dist_from": 4.343,
     "top_dist_to": 4.187,
     "top_move": -0.146,
     "toward_spot_pts": 0.156,
     "direction": "holding its distance",
     "near_share_from": 0.25166114999135253,
     "near_share_to": 0.2479306070986561,
     "near_share_move": -0.0037,
     "expiries_rolled": [
      "2026-08-19"
     ],
     "n_expiries_from": 13,
     "n_expiries_to": 12
    },
    {
     "key": "21s",
     "label": "the last 21 sessions (about a month)",
     "n_sessions": 21,
     "from_session": "2026-07-24",
     "to_session": "2026-08-24",
     "spot_from": 18.579999923706055,
     "spot_to": 15.850000381469727,
     "cog_from": 38.861,
     "cog_to": 36.375,
     "cog_move": -2.486,
     "top_from": 21.225,
     "top_to": 20.037,
     "top_dist_from": 2.645,
     "top_dist_to": 4.187,
     "top_move": -1.188,
     "toward_spot_pts": -1.542,
     "direction": "away from spot",
     "near_share_from": 0.35071564062769445,
     "near_share_to": 0.2479306070986561,
     "near_share_move": -0.1028,
     "expiries_rolled": [
      "2026-07-29",
      "2026-08-05",
      "2026-08-12",
      "2026-08-19"
     ],
     "n_expiries_from": 14,
     "n_expiries_to": 12
    },
    {
     "key": "all",
     "label": "the whole per-strike history",
     "n_sessions": 121,
     "from_session": "2026-03-02",
     "to_session": "2026-08-24",
     "spot_from": 21.440000534057617,
     "spot_to": 15.850000381469727,
     "cog_from": 50.147,
     "cog_to": 36.375,
     "cog_move": -13.772,
     "top_from": 19.406,
     "top_to": 20.037,
     "top_dist_from": -2.034,
     "top_dist_to": 4.187,
     "top_move": 0.631,
     "toward_spot_pts": -2.153,
     "direction": "away from spot",
     "near_share_from": 0.2445548675076515,
     "near_share_to": 0.2479306070986561,
     "near_share_move": 0.0034,
     "expiries_rolled": [
      "2026-03-03",
      "2026-03-11",
      "2026-03-18",
      "2026-03-25",
      "2026-04-01",
      "2026-04-15",
      "2026-04-29",
      "2026-05-13",
      "2026-05-19",
      "2026-05-27",
      "2026-06-17",
      "2026-07-01",
      "2026-07-15",
      "2026-07-22",
      "2026-07-29",
      "2026-08-05",
      "2026-08-19"
     ],
     "n_expiries_from": 25,
     "n_expiries_to": 12
    }
   ],
   "refused": []
  }
 },
 "chart": {
  "sessions": [
   "2026-01-02",
   "2026-01-05",
   "2026-01-06",
   "2026-01-07",
   "2026-01-08",
   "2026-01-09",
   "2026-01-12",
   "2026-01-13",
   "2026-01-14",
   "2026-01-15",
   "2026-01-16",
   "2026-01-20",
   "2026-01-21",
   "2026-01-22",
   "2026-01-23",
   "2026-01-26",
   "2026-01-27",
   "2026-01-28",
   "2026-01-29",
   "2026-01-30",
   "2026-02-02",
   "2026-02-03",
   "2026-02-04",
   "2026-02-05",
   "2026-02-06",
   "2026-02-09",
   "2026-02-10",
   "2026-02-11",
   "2026-02-12",
   "2026-02-13",
   "2026-02-17",
   "2026-02-18",
   "2026-02-19",
   "2026-02-20",
   "2026-02-23",
   "2026-02-24",
   "2026-02-25",
   "2026-02-26",
   "2026-02-27",
   "2026-03-02",
   "2026-03-03",
   "2026-03-04",
   "2026-03-05",
   "2026-03-06",
   "2026-03-09",
   "2026-03-10",
   "2026-03-11",
   "2026-03-12",
   "2026-03-13",
   "2026-03-16",
   "2026-03-17",
   "2026-03-18",
   "2026-03-19",
   "2026-03-20",
   "2026-03-23",
   "2026-03-24",
   "2026-03-25",
   "2026-03-26",
   "2026-03-27",
   "2026-03-30",
   "2026-03-31",
   "2026-04-01",
   "2026-04-02",
   "2026-04-06",
   "2026-04-07",
   "2026-04-08",
   "2026-04-09",
   "2026-04-10",
   "2026-04-13",
   "2026-04-14",
   "2026-04-15",
   "2026-04-16",
   "2026-04-17",
   "2026-04-20",
   "2026-04-21",
   "2026-04-22",
   "2026-04-23",
   "2026-04-24",
   "2026-04-27",
   "2026-04-28",
   "2026-04-29",
   "2026-04-30",
   "2026-05-01",
   "2026-05-04",
   "2026-05-05",
   "2026-05-06",
   "2026-05-07",
   "2026-05-08",
   "2026-05-11",
   "2026-05-12",
   "2026-05-13",
   "2026-05-14",
   "2026-05-15",
   "2026-05-18",
   "2026-05-19",
   "2026-05-20",
   "2026-05-21",
   "2026-05-22",
   "2026-05-26",
   "2026-05-27",
   "2026-05-28",
   "2026-05-29",
   "2026-06-01",
   "2026-06-02",
   "2026-06-03",
   "2026-06-04",
   "2026-06-05",
   "2026-06-08",
   "2026-06-09",
   "2026-06-10",
   "2026-06-11",
   "2026-06-12",
   "2026-06-15",
   "2026-06-16",
   "2026-06-17",
   "2026-06-18",
   "2026-06-22",
   "2026-06-23",
   "2026-06-24",
   "2026-06-25",
   "2026-06-26",
   "2026-06-29",
   "2026-06-30",
   "2026-07-01",
   "2026-07-02",
   "2026-07-06",
   "2026-07-07",
   "2026-07-08",
   "2026-07-09",
   "2026-07-10",
   "2026-07-13",
   "2026-07-14",
   "2026-07-15",
   "2026-07-16",
   "2026-07-17",
   "2026-07-20",
   "2026-07-21",
   "2026-07-22",
   "2026-07-23",
   "2026-07-24",
   "2026-07-27",
   "2026-07-28",
   "2026-07-29",
   "2026-07-30",
   "2026-07-31",
   "2026-08-03",
   "2026-08-04",
   "2026-08-05",
   "2026-08-06",
   "2026-08-07",
   "2026-08-10",
   "2026-08-11",
   "2026-08-12",
   "2026-08-13",
   "2026-08-14",
   "2026-08-17",
   "2026-08-18",
   "2026-08-19",
   "2026-08-20",
   "2026-08-21",
   "2026-08-24"
  ],
  "ndx_close": [
   25206.169921875,
   25401.3203125,
   25639.7109375,
   25653.900390625,
   25507.099609375,
   25766.259765625,
   25787.66015625,
   25741.94921875,
   25465.939453125,
   25547.0703125,
   25529.259765625,
   24987.5703125,
   25326.580078125,
   25518.349609375,
   25605.470703125,
   25713.2109375,
   25939.740234375,
   26022.7890625,
   25884.30078125,
   25552.390625,
   25738.609375,
   25338.619140625,
   24891.240234375,
   24548.689453125,
   25075.76953125,
   25268.140625,
   25127.640625,
   25201.259765625,
   24687.609375,
   24732.73046875,
   24701.599609375,
   24898.869140625,
   24797.33984375,
   25012.619140625,
   24708.939453125,
   24977.0390625,
   25329.0390625,
   25034.369140625,
   24960.0390625,
   24992.599609375,
   24720.080078125,
   25093.6796875,
   25020.41015625,
   24643.01953125,
   24967.25,
   24956.470703125,
   24965.009765625,
   24533.580078125,
   24380.73046875,
   24655.33984375,
   24780.419921875,
   24425.08984375,
   24355.279296875,
   23898.150390625,
   24188.58984375,
   24002.44921875,
   24162.98046875,
   23586.990234375,
   23132.76953125,
   22953.380859375,
   23740.189453125,
   24019.990234375,
   24045.529296875,
   24192.169921875,
   24202.369140625,
   24903.169921875,
   25082.08984375,
   25116.33984375,
   25383.720703125,
   25842.0,
   26204.580078125,
   26333.0,
   26672.4296875,
   26590.33984375,
   26479.470703125,
   26937.279296875,
   26782.630859375,
   27303.669921875,
   27305.6796875,
   27029.009765625,
   27186.98046875,
   27452.119140625,
   27710.359375,
   27651.8203125,
   28015.060546875,
   28599.169921875,
   28563.94921875,
   29234.990234375,
   29320.66015625,
   29064.80078125,
   29366.939453125,
   29580.30078125,
   29125.19921875,
   28994.369140625,
   28818.83984375,
   29297.69921875,
   29357.26953125,
   29481.640625,
   30001.3203125,
   29973.5703125,
   30223.890625,
   30333.1796875,
   30513.859375,
   30660.599609375,
   30571.240234375,
   30407.810546875,
   28957.599609375,
   29414.259765625,
   29084.5,
   28508.029296875,
   29446.1796875,
   29635.94921875,
   30543.919921875,
   29968.130859375,
   29670.94921875,
   30406.189453125,
   30347.080078125,
   29347.26953125,
   29220.060546875,
   29440.3203125,
   29118.240234375,
   29774.75,
   30276.349609375,
   29809.130859375,
   29329.2109375,
   29697.869140625,
   29173.01953125,
   29252.560546875,
   29727.099609375,
   29825.109375,
   29264.099609375,
   29586.2890625,
   29502.599609375,
   29025.76953125,
   28592.66015625,
   28604.23046875,
   29155.1796875,
   28998.099609375,
   28454.810546875,
   28128.33984375,
   28039.2109375,
   27763.130859375,
   27192.310546875,
   28106.349609375,
   28274.19921875,
   28776.80078125,
   29733.16015625,
   29487.7890625,
   29373.330078125,
   29722.30078125,
   29621.80078125,
   29525.48046875,
   29742.599609375,
   30084.5,
   30046.140625,
   29995.380859375,
   29490.9609375,
   29426.01953125,
   29213.16015625,
   29308.859375,
   29023.1796875
  ],
  "spx_close": [
   6858.47021484375,
   6902.0498046875,
   6944.81982421875,
   6920.93017578125,
   6921.4599609375,
   6966.27978515625,
   6977.27001953125,
   6963.740234375,
   6926.60009765625,
   6944.47021484375,
   6940.009765625,
   6796.85986328125,
   6875.6201171875,
   6913.35009765625,
   6915.60986328125,
   6950.22998046875,
   6978.60009765625,
   6978.02978515625,
   6969.009765625,
   6939.02978515625,
   6976.43994140625,
   6917.81005859375,
   6882.72021484375,
   6798.39990234375,
   6932.2998046875,
   6964.81982421875,
   6941.81005859375,
   6941.47021484375,
   6832.759765625,
   6836.169921875,
   6843.22021484375,
   6881.31005859375,
   6861.89013671875,
   6909.509765625,
   6837.75,
   6890.06982421875,
   6946.1298828125,
   6908.85986328125,
   6878.8798828125,
   6881.6201171875,
   6816.6298828125,
   6869.5,
   6830.7099609375,
   6740.02001953125,
   6795.990234375,
   6781.47998046875,
   6775.7998046875,
   6672.6201171875,
   6632.18994140625,
   6699.3798828125,
   6716.08984375,
   6624.7001953125,
   6606.490234375,
   6506.47998046875,
   6581.0,
   6556.3701171875,
   6591.89990234375,
   6477.16015625,
   6368.85009765625,
   6343.72021484375,
   6528.52001953125,
   6575.31982421875,
   6582.68994140625,
   6611.830078125,
   6616.85009765625,
   6782.81005859375,
   6824.66015625,
   6816.89013671875,
   6886.240234375,
   6967.3798828125,
   7022.9501953125,
   7041.27978515625,
   7126.06005859375,
   7109.14013671875,
   7064.009765625,
   7137.89990234375,
   7108.39990234375,
   7165.080078125,
   7173.91015625,
   7138.7998046875,
   7135.9501953125,
   7209.009765625,
   7230.1201171875,
   7200.75,
   7259.22021484375,
   7365.1201171875,
   7337.10986328125,
   7398.93017578125,
   7412.83984375,
   7400.9599609375,
   7444.25,
   7501.240234375,
   7408.5,
   7403.0498046875,
   7353.60986328125,
   7432.97021484375,
   7445.72021484375,
   7473.47021484375,
   7519.1201171875,
   7520.35986328125,
   7563.6298828125,
   7580.06005859375,
   7599.9599609375,
   7609.77978515625,
   7553.68017578125,
   7584.31005859375,
   7383.740234375,
   7405.72998046875,
   7386.64990234375,
   7266.990234375,
   7394.2998046875,
   7431.4599609375,
   7554.2900390625,
   7511.35009765625,
   7420.10009765625,
   7500.580078125,
   7472.7900390625,
   7365.4599609375,
   7358.22021484375,
   7357.490234375,
   7354.02001953125,
   7440.43017578125,
   7499.35986328125,
   7483.22998046875,
   7483.240234375,
   7537.43017578125,
   7503.85009765625,
   7482.7099609375,
   7543.64013671875,
   7575.39013671875,
   7515.33984375,
   7543.58984375,
   7572.39990234375,
   7533.77001953125,
   7457.68994140625,
   7443.27978515625,
   7509.2001953125,
   7498.9599609375,
   7408.2998046875,
   7411.97998046875,
   7413.18017578125,
   7428.77978515625,
   7316.14990234375,
   7437.6298828125,
   7489.72021484375,
   7600.5,
   7736.52001953125,
   7723.5498046875,
   7709.9599609375,
   7757.64013671875,
   7753.10986328125,
   7728.2001953125,
   7748.5,
   7798.990234375,
   7785.759765625,
   7745.06005859375,
   7691.759765625,
   7707.97998046875,
   7641.16015625,
   7674.3701171875,
   7652.85986328125
  ],
  "qqq_close": [
   613.09,
   617.95,
   623.47,
   624.06,
   620.43,
   626.67,
   627.19,
   626.13,
   619.65,
   621.66,
   621.04,
   608.04,
   616.12,
   620.78,
   622.78,
   625.48,
   631.08,
   632.97,
   629.36,
   621.81,
   626.24,
   616.45,
   605.62,
   597.04,
   609.63,
   614.33,
   611.48,
   613.0,
   600.56,
   601.78,
   601.2,
   605.7,
   603.5,
   608.79,
   601.46,
   607.8,
   616.52,
   609.26,
   607.45,
   608.08,
   601.67,
   610.55,
   608.9,
   599.81,
   607.755,
   607.65,
   607.73,
   597.34,
   593.69,
   600.31,
   603.4,
   594.78,
   592.99,
   582.11,
   588.18,
   583.93,
   587.74,
   573.69,
   562.5,
   558.29,
   577.14,
   584.26,
   585.0,
   588.52,
   588.69,
   605.89,
   610.04,
   611.02,
   617.32,
   628.57,
   637.365,
   640.41,
   648.73,
   646.8,
   644.3,
   655.08,
   651.41,
   663.93,
   664.28,
   657.57,
   661.61,
   667.6,
   674.16,
   672.88,
   681.53,
   695.575,
   694.93,
   711.11,
   713.38,
   707.21,
   714.47,
   719.73,
   708.9,
   705.71,
   701.54,
   713.07,
   714.45,
   717.43,
   730.21,
   729.49,
   735.54,
   738.25,
   742.69,
   746.1,
   744.24,
   740.5,
   705.26,
   716.02,
   707.88,
   693.72,
   716.44,
   721.27,
   743.84,
   729.76,
   722.5,
   739.66,
   738.001,
   713.69,
   710.57,
   716.26,
   705.84,
   723.95,
   735.76,
   725.16,
   712.74,
   722.63,
   709.495,
   711.3,
   723.19,
   725.54,
   711.77,
   719.65,
   717.7,
   706.02,
   695.3,
   696.0,
   708.94,
   705.22,
   691.99,
   684.22,
   682.06,
   675.5,
   661.53,
   683.6,
   687.92,
   700.06,
   723.68,
   717.24,
   714.57,
   722.98,
   720.805,
   718.33,
   723.66,
   732.06,
   731.03,
   729.85,
   717.62,
   716.13,
   710.95,
   713.41,
   706.28
  ],
  "vix": [
   14.510000228881836,
   14.899999618530273,
   14.75,
   15.380000114440918,
   15.449999809265137,
   14.489999771118164,
   15.119999885559082,
   15.979999542236328,
   16.75,
   15.84000015258789,
   15.859999656677246,
   20.09000015258789,
   16.899999618530273,
   15.640000343322754,
   16.09000015258789,
   16.149999618530273,
   16.350000381469727,
   16.350000381469727,
   16.8799991607666,
   17.440000534057617,
   16.34000015258789,
   18.0,
   18.639999389648438,
   21.770000457763672,
   20.3700008392334,
   17.360000610351562,
   17.790000915527344,
   17.649999618530273,
   20.81999969482422,
   20.600000381469727,
   20.290000915527344,
   19.6200008392334,
   20.229999542236328,
   19.09000015258789,
   21.010000228881836,
   19.549999237060547,
   17.93000030517578,
   18.6299991607666,
   19.860000610351562,
   21.440000534057617,
   23.56999969482422,
   21.149999618530273,
   23.75,
   29.489999771118164,
   25.5,
   24.93000030517578,
   24.229999542236328,
   27.290000915527344,
   27.190000534057617,
   23.510000228881836,
   22.3700008392334,
   25.09000015258789,
   24.059999465942383,
   26.780000686645508,
   26.149999618530273,
   26.950000762939453,
   25.329999923706055,
   27.440000534057617,
   31.049999237060547,
   30.610000610351562,
   25.25,
   24.540000915527344,
   23.8700008392334,
   24.170000076293945,
   25.780000686645508,
   21.040000915527344,
   19.489999771118164,
   19.229999542236328,
   19.1200008392334,
   18.360000610351562,
   18.170000076293945,
   17.940000534057617,
   17.479999542236328,
   18.8700008392334,
   19.5,
   18.920000076293945,
   19.309999465942383,
   18.709999084472656,
   18.020000457763672,
   17.829999923706055,
   18.809999465942383,
   16.889999389648438,
   16.989999771118164,
   18.290000915527344,
   17.3799991607666,
   17.389999389648438,
   17.079999923706055,
   17.190000534057617,
   18.3799991607666,
   17.989999771118164,
   17.8700008392334,
   17.260000228881836,
   18.43000030517578,
   17.81999969482422,
   18.059999465942383,
   17.440000534057617,
   16.760000228881836,
   16.700000762939453,
   17.010000228881836,
   16.290000915527344,
   15.739999771118164,
   15.319999694824219,
   16.049999237060547,
   15.770000457763672,
   16.059999465942383,
   15.399999618530273,
   21.510000228881836,
   18.920000076293945,
   19.8700008392334,
   22.219999313354492,
   19.440000534057617,
   17.68000030517578,
   16.200000762939453,
   16.40999984741211,
   18.440000534057617,
   16.399999618530273,
   17.280000686645508,
   19.489999771118164,
   18.6299991607666,
   18.889999389648438,
   18.40999984741211,
   17.649999618530273,
   16.450000762939453,
   16.59000015258789,
   16.149999618530273,
   15.569999694824219,
   16.1299991607666,
   16.899999618530273,
   15.84000015258789,
   15.029999732971191,
   17.15999984741211,
   16.5,
   15.670000076293945,
   16.729999542236328,
   18.770000457763672,
   18.649999618530273,
   17.049999237060547,
   16.639999389648438,
   18.700000762939453,
   18.579999923706055,
   18.670000076293945,
   18.209999084472656,
   20.65999984741211,
   17.09000015258789,
   15.989999771118164,
   15.859999656677246,
   16.5,
   15.8100004196167,
   15.149999618530273,
   14.899999618530273,
   15.460000038146973,
   15.279999732971191,
   14.550000190734863,
   14.630000114440918,
   14.25,
   15.1899995803833,
   15.84000015258789,
   14.890000343322754,
   16.010000228881836,
   15.130000114440918,
   15.850000381469727
  ],
  "vote_daily": [
   5.434,
   2.008,
   3.912,
   0.611,
   -0.147,
   3.531,
   5.665,
   1.255,
   0.368,
   -2.312,
   2.644,
   -0.277,
   8.129,
   4.394,
   2.612,
   3.89,
   3.681,
   2.468,
   0.275,
   -2.223,
   -0.008,
   0.607,
   -0.376,
   -6.294,
   7.349,
   10.0,
   2.442,
   0.738,
   -7.951,
   -2.79,
   -5.185,
   -4.911,
   -8.534,
   -0.527,
   -1.767,
   -1.09,
   2.599,
   -6.029,
   -3.386,
   -8.034,
   -8.56,
   1.678,
   -4.381,
   -5.004,
   -5.772,
   -3.174,
   -3.405,
   -8.281,
   -7.88,
   4.434,
   -5.189,
   -9.044,
   -0.112,
   -9.189,
   2.82,
   -6.697,
   -5.576,
   -5.661,
   -10.0,
   -10.0,
   1.237,
   -6.092,
   -7.94,
   -4.82,
   -2.789,
   -0.155,
   2.323,
   1.099,
   4.223,
   9.99,
   10.0,
   7.363,
   10.0,
   5.858,
   0.919,
   7.375,
   0.569,
   10.0,
   10.0,
   5.851,
   -3.796,
   10.0,
   10.0,
   0.163,
   6.939,
   10.0,
   10.0,
   10.0,
   10.0,
   4.229,
   10.0,
   10.0,
   4.397,
   5.304,
   -0.162,
   10.0,
   10.0,
   10.0,
   10.0,
   9.876,
   10.0,
   10.0,
   10.0,
   10.0,
   4.777,
   10.0,
   -10.0,
   4.565,
   -5.329,
   -7.558,
   5.531,
   10.0,
   10.0,
   1.99,
   1.486,
   4.375,
   3.89,
   -0.514,
   3.442,
   2.838,
   1.602,
   10.0,
   10.0,
   9.242,
   6.583,
   10.0,
   1.595,
   4.506,
   10.0,
   10.0,
   0.762,
   9.125,
   7.366,
   0.078,
   -2.003,
   1.586,
   2.033,
   8.425,
   -2.618,
   -0.705,
   1.444,
   3.337,
   -1.841,
   8.502,
   7.101,
   10.0,
   10.0,
   8.574,
   4.512,
   10.0,
   5.922,
   2.062,
   5.611,
   10.0,
   8.341,
   -3.074,
   -7.406,
   7.807,
   -10.0,
   6.383,
   -1.231
  ],
  "vote_weekly": [
   {
    "week": "2026-W02",
    "first": "2026-01-05",
    "last": "2026-01-09",
    "score": -0.031
   },
   {
    "week": "2026-W03",
    "first": "2026-01-12",
    "last": "2026-01-16",
    "score": -0.152
   },
   {
    "week": "2026-W04",
    "first": "2026-01-20",
    "last": "2026-01-23",
    "score": 2.839
   },
   {
    "week": "2026-W05",
    "first": "2026-01-26",
    "last": "2026-01-30",
    "score": -0.227
   },
   {
    "week": "2026-W06",
    "first": "2026-02-02",
    "last": "2026-02-06",
    "score": 0.099
   },
   {
    "week": "2026-W07",
    "first": "2026-02-09",
    "last": "2026-02-13",
    "score": -1.458
   },
   {
    "week": "2026-W08",
    "first": "2026-02-17",
    "last": "2026-02-20",
    "score": -5.536
   },
   {
    "week": "2026-W09",
    "first": "2026-02-23",
    "last": "2026-02-27",
    "score": -5.717
   },
   {
    "week": "2026-W10",
    "first": "2026-03-02",
    "last": "2026-03-06",
    "score": -8.171
   },
   {
    "week": "2026-W11",
    "first": "2026-03-09",
    "last": "2026-03-13",
    "score": -5.058
   },
   {
    "week": "2026-W12",
    "first": "2026-03-16",
    "last": "2026-03-20",
    "score": -3.352
   },
   {
    "week": "2026-W13",
    "first": "2026-03-23",
    "last": "2026-03-27",
    "score": -2.064
   },
   {
    "week": "2026-W14",
    "first": "2026-03-30",
    "last": "2026-04-02",
    "score": -1.435
   },
   {
    "week": "2026-W15",
    "first": "2026-04-06",
    "last": "2026-04-10",
    "score": -0.121
   },
   {
    "week": "2026-W16",
    "first": "2026-04-13",
    "last": "2026-04-17",
    "score": 5.181
   },
   {
    "week": "2026-W17",
    "first": "2026-04-20",
    "last": "2026-04-24",
    "score": 1.313
   },
   {
    "week": "2026-W18",
    "first": "2026-04-27",
    "last": "2026-05-01",
    "score": 1.559
   },
   {
    "week": "2026-W19",
    "first": "2026-05-04",
    "last": "2026-05-08",
    "score": 1.368
   },
   {
    "week": "2026-W20",
    "first": "2026-05-11",
    "last": "2026-05-15",
    "score": -0.482
   },
   {
    "week": "2026-W21",
    "first": "2026-05-18",
    "last": "2026-05-22",
    "score": -0.621
   },
   {
    "week": "2026-W22",
    "first": "2026-05-26",
    "last": "2026-05-29",
    "score": 2.123
   },
   {
    "week": "2026-W23",
    "first": "2026-06-01",
    "last": "2026-06-05",
    "score": -3.089
   },
   {
    "week": "2026-W24",
    "first": "2026-06-08",
    "last": "2026-06-12",
    "score": 1.768
   },
   {
    "week": "2026-W25",
    "first": "2026-06-15",
    "last": "2026-06-18",
    "score": 4.833
   },
   {
    "week": "2026-W26",
    "first": "2026-06-22",
    "last": "2026-06-26",
    "score": 0.08
   },
   {
    "week": "2026-W27",
    "first": "2026-06-29",
    "last": "2026-07-02",
    "score": 6.154
   },
   {
    "week": "2026-W28",
    "first": "2026-07-06",
    "last": "2026-07-10",
    "score": 2.849
   },
   {
    "week": "2026-W29",
    "first": "2026-07-13",
    "last": "2026-07-17",
    "score": -1.497
   },
   {
    "week": "2026-W30",
    "first": "2026-07-20",
    "last": "2026-07-24",
    "score": -3.15
   },
   {
    "week": "2026-W31",
    "first": "2026-07-27",
    "last": "2026-07-31",
    "score": 5.378
   },
   {
    "week": "2026-W32",
    "first": "2026-08-03",
    "last": "2026-08-07",
    "score": 9.113
   },
   {
    "week": "2026-W33",
    "first": "2026-08-10",
    "last": "2026-08-14",
    "score": 3.542
   },
   {
    "week": "2026-W34",
    "first": "2026-08-17",
    "last": "2026-08-21",
    "score": -2.856
   }
  ],
  "episodes": [
   {
    "start": "2026-01-02",
    "end": "2026-01-12",
    "dir": "up",
    "cls": "middle",
    "pct": 2.31,
    "n_sessions": 7,
    "open": false
   },
   {
    "start": "2026-01-12",
    "end": "2026-01-20",
    "dir": "down",
    "cls": "middle",
    "pct": -3.1,
    "n_sessions": 6,
    "open": false
   },
   {
    "start": "2026-01-20",
    "end": "2026-01-28",
    "dir": "up",
    "cls": "middle",
    "pct": 4.14,
    "n_sessions": 7,
    "open": false
   },
   {
    "start": "2026-01-28",
    "end": "2026-02-05",
    "dir": "down",
    "cls": "middle",
    "pct": -5.66,
    "n_sessions": 7,
    "open": false
   },
   {
    "start": "2026-02-05",
    "end": "2026-02-09",
    "dir": "up",
    "cls": "short-lived",
    "pct": 2.93,
    "n_sessions": 3,
    "open": false
   },
   {
    "start": "2026-02-09",
    "end": "2026-02-12",
    "dir": "down",
    "cls": "short-lived",
    "pct": -2.3,
    "n_sessions": 4,
    "open": false
   },
   {
    "start": "2026-02-12",
    "end": "2026-02-25",
    "dir": "up",
    "cls": "middle",
    "pct": 2.6,
    "n_sessions": 9,
    "open": false
   },
   {
    "start": "2026-02-25",
    "end": "2026-03-30",
    "dir": "down",
    "cls": "sustained",
    "pct": -9.38,
    "n_sessions": 24,
    "open": false
   },
   {
    "start": "2026-03-30",
    "end": "2026-05-14",
    "dir": "up",
    "cls": "sustained",
    "pct": 28.87,
    "n_sessions": 33,
    "open": false
   },
   {
    "start": "2026-05-14",
    "end": "2026-05-19",
    "dir": "down",
    "cls": "short-lived",
    "pct": -2.57,
    "n_sessions": 4,
    "open": false
   },
   {
    "start": "2026-05-19",
    "end": "2026-06-02",
    "dir": "up",
    "cls": "middle",
    "pct": 6.39,
    "n_sessions": 10,
    "open": false
   },
   {
    "start": "2026-06-02",
    "end": "2026-06-10",
    "dir": "down",
    "cls": "middle",
    "pct": -7.02,
    "n_sessions": 7,
    "open": false
   },
   {
    "start": "2026-06-10",
    "end": "2026-06-15",
    "dir": "up",
    "cls": "short-lived",
    "pct": 7.14,
    "n_sessions": 4,
    "open": false
   },
   {
    "start": "2026-06-15",
    "end": "2026-06-17",
    "dir": "down",
    "cls": "short-lived",
    "pct": -2.86,
    "n_sessions": 3,
    "open": false
   },
   {
    "start": "2026-06-17",
    "end": "2026-06-18",
    "dir": "up",
    "cls": "short-lived",
    "pct": 2.48,
    "n_sessions": 2,
    "open": false
   },
   {
    "start": "2026-06-18",
    "end": "2026-06-26",
    "dir": "down",
    "cls": "middle",
    "pct": -4.24,
    "n_sessions": 6,
    "open": false
   },
   {
    "start": "2026-06-26",
    "end": "2026-06-30",
    "dir": "up",
    "cls": "short-lived",
    "pct": 3.98,
    "n_sessions": 3,
    "open": false
   },
   {
    "start": "2026-06-30",
    "end": "2026-07-07",
    "dir": "down",
    "cls": "short-lived",
    "pct": -3.64,
    "n_sessions": 5,
    "open": false
   },
   {
    "start": "2026-07-07",
    "end": "2026-07-10",
    "dir": "up",
    "cls": "short-lived",
    "pct": 2.24,
    "n_sessions": 4,
    "open": false
   },
   {
    "start": "2026-07-10",
    "end": "2026-07-29",
    "dir": "down",
    "cls": "middle",
    "pct": -8.83,
    "n_sessions": 14,
    "open": false
   },
   {
    "start": "2026-07-29",
    "end": "2026-08-13",
    "dir": "up",
    "cls": "middle",
    "pct": 10.64,
    "n_sessions": 12,
    "open": false
   },
   {
    "start": "2026-08-13",
    "end": "2026-08-24",
    "dir": "down",
    "cls": "middle",
    "pct": -3.53,
    "n_sessions": 8,
    "open": true
   }
  ],
  "fwdvol": [
   {
    "exp": "2026-08-26",
    "dte": 1,
    "atm_iv": 19.40742441734639,
    "fwd_vol": null,
    "kink": false
   },
   {
    "exp": "2026-08-27",
    "dte": 2,
    "atm_iv": 20.358679960037513,
    "fwd_vol": 21.26239868321943,
    "kink": false
   },
   {
    "exp": "2026-08-28",
    "dte": 3,
    "atm_iv": 20.897642893066052,
    "fwd_vol": 21.93301065305205,
    "kink": false
   },
   {
    "exp": "2026-08-31",
    "dte": 6,
    "atm_iv": 17.480341564952752,
    "fwd_vol": 13.215918178800157,
    "kink": false
   },
   {
    "exp": "2026-09-01",
    "dte": 7,
    "atm_iv": 17.844760106191536,
    "fwd_vol": 19.88973042309092,
    "kink": false
   },
   {
    "exp": "2026-09-02",
    "dte": 8,
    "atm_iv": 18.14489909450257,
    "fwd_vol": 20.119382685106736,
    "kink": false
   },
   {
    "exp": "2026-09-03",
    "dte": 9,
    "atm_iv": 18.465587703400384,
    "fwd_vol": 20.8527227317197,
    "kink": false
   },
   {
    "exp": "2026-09-04",
    "dte": 10,
    "atm_iv": 19.094439960078397,
    "fwd_vol": 24.02168607310222,
    "kink": false
   },
   {
    "exp": "2026-09-08",
    "dte": 14,
    "atm_iv": 17.568191592695527,
    "fwd_vol": 12.993451565353073,
    "kink": false
   },
   {
    "exp": "2026-09-11",
    "dte": 17,
    "atm_iv": 18.565309127699685,
    "fwd_vol": 22.643756778211145,
    "kink": false
   },
   {
    "exp": "2026-09-18",
    "dte": 24,
    "atm_iv": 19.13148771078556,
    "fwd_vol": 20.440887059543645,
    "kink": false
   },
   {
    "exp": "2026-09-25",
    "dte": 31,
    "atm_iv": 19.189760205789884,
    "fwd_vol": 19.388175479544035,
    "kink": false
   },
   {
    "exp": "2026-09-30",
    "dte": 36,
    "atm_iv": 19.028322055707225,
    "fwd_vol": 17.99530244619565,
    "kink": false
   },
   {
    "exp": "2026-10-02",
    "dte": 38,
    "atm_iv": 19.477099182129816,
    "fwd_vol": 26.274604834142863,
    "kink": false
   },
   {
    "exp": "2026-10-16",
    "dte": 52,
    "atm_iv": 19.889444773374947,
    "fwd_vol": 20.9676757293318,
    "kink": false
   },
   {
    "exp": "2026-10-30",
    "dte": 66,
    "atm_iv": 20.457277129082932,
    "fwd_vol": 22.440718866660532,
    "kink": false
   },
   {
    "exp": "2026-11-20",
    "dte": 87,
    "atm_iv": 21.175201697974806,
    "fwd_vol": 23.28372630887831,
    "kink": false
   },
   {
    "exp": "2026-11-30",
    "dte": 97,
    "atm_iv": 21.037586435953646,
    "fwd_vol": 19.79948854067809,
    "kink": false
   },
   {
    "exp": "2026-12-18",
    "dte": 115,
    "atm_iv": 21.73063801692134,
    "fwd_vol": 25.13980406641318,
    "kink": false
   },
   {
    "exp": "2026-12-31",
    "dte": 128,
    "atm_iv": 21.750019660210494,
    "fwd_vol": 21.920779609760014,
    "kink": false
   },
   {
    "exp": "2027-01-15",
    "dte": 143,
    "atm_iv": 22.001778869952556,
    "fwd_vol": 24.04368285886011,
    "kink": false
   },
   {
    "exp": "2027-02-19",
    "dte": 178,
    "atm_iv": 22.56737589317396,
    "fwd_vol": 24.744813933678305,
    "kink": false
   },
   {
    "exp": "2027-03-19",
    "dte": 206,
    "atm_iv": 23.072465859220866,
    "fwd_vol": 26.06018162409048,
    "kink": false
   },
   {
    "exp": "2027-03-31",
    "dte": 218,
    "atm_iv": 23.230391679295114,
    "fwd_vol": 25.791034710275333,
    "kink": false
   },
   {
    "exp": "2027-06-17",
    "dte": 296,
    "atm_iv": 24.14559223844008,
    "fwd_vol": 26.536540924182468,
    "kink": false
   },
   {
    "exp": "2027-06-30",
    "dte": 309,
    "atm_iv": 24.183153655024505,
    "fwd_vol": 25.023129858984593,
    "kink": false
   },
   {
    "exp": "2027-09-17",
    "dte": 388,
    "atm_iv": 24.78857574098964,
    "fwd_vol": 27.02662654507073,
    "kink": false
   },
   {
    "exp": "2027-12-17",
    "dte": 479,
    "atm_iv": 25.036259123891153,
    "fwd_vol": 26.065442055255954,
    "kink": false
   },
   {
    "exp": "2028-01-21",
    "dte": 514,
    "atm_iv": 24.985318588131687,
    "fwd_vol": 24.277368047810462,
    "kink": false
   },
   {
    "exp": "2028-06-16",
    "dte": 661,
    "atm_iv": 25.058128050341683,
    "fwd_vol": 25.311156051132244,
    "kink": false
   },
   {
    "exp": "2028-12-15",
    "dte": 843,
    "atm_iv": 25.639837160203243,
    "fwd_vol": 27.64932080650669,
    "kink": false
   }
  ],
  "lookahead_note": "the daily and weekly vote replays are scored against the FULL-2026 baselines, so an early-2026 session is measured against a baseline that contains its own future. Stated because it matters for reading the left side of this chart."
 },
 "freshness": {
  "futures": "2026-08-25 20:00-21:00 ET (~1 min lag) - LIVE",
  "options": "2026-08-25T15:52:16-04:00",
  "options_held_from_last_rth": true,
  "flow_interval": "2026-08-25 15:00-16:00 ET",
  "daily_session": "2026-08-24",
  "week": "2026-W34",
  "oi_settled": "2026-08-24",
  "note": "each tier carries its OWN clock and they are never averaged: futures run ~1 minute behind on a ~23-hour session, the options snapshot is ~5 minutes behind inside market hours and HELD at the last regular-hours reading outside them, open interest settles overnight so it is a day behind by market structure, and the weekly grain only advances once a week is complete."
 },
 "thresholds": {
  "min_voters_for_view": 2,
  "thin_below": 4,
  "neutral_band": 1.0,
  "quiet_contribution": 1.0,
  "bands": [
   {
    "key": "vlow",
    "lo": -99.0,
    "hi": -2.0,
    "label": "far below normal"
   },
   {
    "key": "low",
    "lo": -2.0,
    "hi": -0.5,
    "label": "below normal"
   },
   {
    "key": "mid",
    "lo": -0.5,
    "hi": 0.5,
    "label": "about normal"
   },
   {
    "key": "high",
    "lo": 0.5,
    "hi": 2.0,
    "label": "above normal"
   },
   {
    "key": "vhigh",
    "lo": 2.0,
    "hi": 99.0,
    "label": "far above normal"
   }
  ],
  "note": "these cut-points are CONVENTIONS chosen for this page, not values derived from the data or specified by Imran Lakha"
 },
 "registry": {
  "rules": {
   "R001": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Start with the environment, not with a trade idea.",
    "note": "The page is built environment-first for this reason: it never names a trade."
   },
   "R002": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Answer two boxes first: a view on SPOT, and a view on VOL.",
    "note": "THE SPINE of this dashboard: every timeframe resolves BOTH boxes, never just direction."
   },
   "R003": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Keep a suite of metrics so the environment picks the trade family.",
    "note": "Why the page votes across many measures rather than one indicator."
   },
   "R004": {
    "disposition": "COPY",
    "signal": null,
    "rule": "'No view' on an axis is a legitimate, informative answer.",
    "note": "Implemented mechanically: a box returns NO VIEW when voters are too few or too split."
   },
   "R005": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Prefer positions that do not kill you when wrong.",
    "note": "Framing only."
   },
   "R006": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Delta / theta / vega frameworks - pick the parameter you want exposure to.",
    "note": "He runs three literal book sleeves by this name."
   },
   "R007": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Price, implied vol, realised vol and time are separate axes.",
    "note": "Why spot and vol are scored separately here and never blended into one score."
   },
   "R008": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Trading options is trading volatility.",
    "note": "Framing only."
   },
   "R009": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Stocks trade straight lines; options trade curves.",
    "note": "Framing only."
   },
   "R010": {
    "disposition": "DETECTOR",
    "signal": "gamma_regime",
    "rule": "Gamma is NOT bullish or bearish - it suppresses or amplifies.",
    "note": "THE reason dealer gamma is on the magnitude axis here and casts no direction vote."
   },
   "R011": {
    "disposition": "DETECTOR",
    "signal": "gamma_regime",
    "rule": "Street short gamma => expect wilder moves.",
    "note": ""
   },
   "R012": {
    "disposition": "DETECTOR",
    "signal": "gamma_regime",
    "rule": "Street long gamma to the downside => dips tend to get bought.",
    "note": ""
   },
   "R013": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Hard to justify being short gamma when vol is already moving hard.",
    "note": ""
   },
   "R014": {
    "disposition": "DETECTOR",
    "signal": "vix_strike_position",
    "rule": "Prefer NET CONTRACT position by strike over dollar GEX by strike.",
    "note": "BUILT 2026-08-08 and now live. The per-contract OPRA open-interest purchase supplied the missing grain, and net contracts per strike is the PRIMARY series of the VIX strike-position detector. Dollar gamma per strike is deliberately not led with, and is not computed at all - that store carries no implied vol, so it would need an IV solve we did not buy."
   },
   "R015": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Dollar gamma at one strike is a moving target.",
    "note": "Carried as a caveat on the dealer-gamma tile, and it is the stated REASON the VIX strike-position detector leads with a contract count instead of a dollar figure."
   },
   "R016": {
    "disposition": "DETECTOR",
    "signal": "vix_strike_position",
    "rule": "Net calls and puts at the same strike - do not silo.",
    "note": "BUILT 2026-08-08. Calls and puts at one strike are ADDED, across both VIX roots and every expiry: once a dealer delta-hedges, a short call and a short put at one strike are the same gamma problem at the same price. Calls minus puts is carried as the COMPOSITION of that position, never as the headline."
   },
   "R017": {
    "disposition": "DETECTOR",
    "signal": "gamma_regime",
    "rule": "Trust AGGREGATE positioning, not 0DTE-only per-strike GEX.",
    "note": "Our GEX is aggregate across the chain, which is the construction he asks for."
   },
   "R018": {
    "disposition": "DETECTOR",
    "signal": "vix_strike_position",
    "rule": "Prefer stable position data over spot-distorted GEX.",
    "note": "BUILT 2026-08-08. The contract count at a strike does not move when spot moves, so it is the stable measure he asks for; our SPX/QQQ gamma tile remains the dollar kind he warns is noisier, and now says so beside a series that is not."
   },
   "R019": {
    "disposition": "DETECTOR",
    "signal": "gamma_regime",
    "rule": "Gamma is one factor - big moves overwhelm even a huge wall.",
    "note": "Rendered as a standing caveat wherever dealer gamma appears."
   },
   "R020": {
    "disposition": "VOTER",
    "signal": "gamma_breakeven",
    "rule": "CORRECTED: realised daily move vs the front-implied breakeven.",
    "note": "The file's absolute buckets were unverifiable; the relative breakeven rule is implemented."
   },
   "R021": {
    "disposition": "VOTER",
    "signal": "skew",
    "rule": "Each strike's IV is CONDITIONAL - vol if we actually get there.",
    "note": ""
   },
   "R022": {
    "disposition": "VOTER",
    "signal": "skew",
    "rule": "Equities crash down and grind up, so put skew is the default.",
    "note": "Why the skew vote is scored against its own 2026 normal, not against zero."
   },
   "R023": {
    "disposition": "VOTER",
    "signal": "skew_shift",
    "rule": "When skew SHIFTS the market is changing its mind.",
    "note": ""
   },
   "R024": {
    "disposition": "DETECTOR",
    "signal": "extreme_skew",
    "rule": "AMENDED: extreme put skew + vol bid - discriminator required.",
    "note": ""
   },
   "R025": {
    "disposition": "DETECTOR",
    "signal": "extreme_skew",
    "rule": "AMENDED: wait for vol off AND skew toward calls; or a fixed-strike plateau.",
    "note": ""
   },
   "R026": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Oversold prints can trap you while the surface is still bid for downside.",
    "note": ""
   },
   "R027": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Downside skew makes long-stock collars costly.",
    "note": "Structure copy."
   },
   "R028": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Upside-skew assets let you get PAID for a collar.",
    "note": "Structure copy."
   },
   "R029": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Example gold collar: sell call ~10% up, buy put ~5% down, near zero cost.",
    "note": "Structure copy - a named example, not a signal."
   },
   "R030": {
    "disposition": "DETECTOR",
    "signal": "wall_break",
    "rule": "Call-wall break + skew flipping to calls + stable vol => 'has legs'.",
    "note": "DETECTOR not VOTER: it leans on the settled-OI wall tier the owner demoted to context on 2026-08-07. Flagged for re-gating rather than quietly re-promoted."
   },
   "R031": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Call-frenzy regimes do not tend to last long.",
    "note": ""
   },
   "R032": {
    "disposition": "DETECTOR",
    "signal": "skew_divergence",
    "rule": "1-month skew diverging from price argues for lower levels.",
    "note": ""
   },
   "R033": {
    "disposition": "VOTER",
    "signal": "vix_atm_gap",
    "rule": "VIX is NOT ATM implied vol; skew pulls it above.",
    "note": ""
   },
   "R034": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Using VIX as ATM cost makes vol look dearer than it is.",
    "note": "Rendered as the explanation on the VIX-minus-ATM tile."
   },
   "R035": {
    "disposition": "VOTER",
    "signal": "vix_atm_gap",
    "rule": "The VIX-ATM gap is itself a signal - widens when tails are bid.",
    "note": ""
   },
   "R036": {
    "disposition": "DETECTOR",
    "signal": "vix_regime",
    "rule": "EXTENDED: three bands <22 / 22-32 / >32 (crisis ~38, trades off 32).",
    "note": ""
   },
   "R037": {
    "disposition": "DETECTOR",
    "signal": "vix_regime",
    "rule": "First 1-2 weeks after crossing into mid-vol from below = fade window.",
    "note": ""
   },
   "R038": {
    "disposition": "DETECTOR",
    "signal": "vix_regime",
    "rule": "No reversion by 3-4 weeks => regime change, not mean reversion.",
    "note": ""
   },
   "R039": {
    "disposition": "DETECTOR",
    "signal": "lowvol_cluster",
    "rule": "VIX pop sold + positive carry + seasonality => lower vol ahead.",
    "note": ""
   },
   "R040": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Only sell vol if you know how to do it safely.",
    "note": "Risk copy."
   },
   "R041": {
    "disposition": "COPY",
    "signal": null,
    "rule": "A ~4% SPX day can double VIX and destroy short-vol products.",
    "note": "Risk copy."
   },
   "R042": {
    "disposition": "DETECTOR",
    "signal": "fwd_vol",
    "rule": "Forward vol BETWEEN expiries shows where event windows are priced.",
    "note": ""
   },
   "R043": {
    "disposition": "NOT_COMPUTABLE",
    "signal": null,
    "rule": "Attribute a forward-vol kink to earnings vs Fed/macro.",
    "note": "We can LOCATE kinks but cannot mechanically attribute them: that needs an events calendar joined to expiries, which this stack does not hold. The kink is shown; the cause is not claimed."
   },
   "R044": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Calendars work better when back vol is low.",
    "note": "Structure copy."
   },
   "R045": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Avoid Friday-to-Monday calendars priced on a 3-calendar-day model.",
    "note": "Structure copy."
   },
   "R046": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Prefer distance between expiries, or a business-day vol model.",
    "note": "Structure copy."
   },
   "R047": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Plan long-vol VIX structures AFTER VIX makes a low.",
    "note": "Structure copy."
   },
   "R048": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Own hedges when they are boring.",
    "note": "Framing."
   },
   "R049": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Bullish + vol cheap is a different trade from bullish + vol rich.",
    "note": "THE structure matrix: rendered as the section-7 grid once both boxes resolve."
   },
   "R050": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Direction view + rich vol => build out of the expensive vol, do not buy naked.",
    "note": ""
   },
   "R051": {
    "disposition": "COPY",
    "signal": null,
    "rule": "High-vol name => bullish risk-reversal / collar-with-cap.",
    "note": "Structure copy."
   },
   "R052": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Only sell the put if you honestly want the stock there.",
    "note": "Structure copy."
   },
   "R053": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Size tenor longer than the view.",
    "note": "Structure copy."
   },
   "R054": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Calls -> bank -> ownership -> dip -> calls again.",
    "note": "Structure copy."
   },
   "R055": {
    "disposition": "COPY",
    "signal": null,
    "rule": "A 1x2 call ratio is usually a short-vol trade in disguise.",
    "note": "Structure copy."
   },
   "R056": {
    "disposition": "COPY",
    "signal": null,
    "rule": "If you wanted direction keep the delta; if vol, trade vol on purpose.",
    "note": ""
   },
   "R057": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Call spreads suit moderate views held toward expiry.",
    "note": "Structure copy."
   },
   "R058": {
    "disposition": "COPY",
    "signal": null,
    "rule": "To bank same-day moves prefer outrights.",
    "note": "Structure copy."
   },
   "R059": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Earnings calendars assume the implied move is roughly right.",
    "note": "Structure copy."
   },
   "R060": {
    "disposition": "COPY",
    "signal": null,
    "rule": "When realised >> implied, buying the expensive outright can win.",
    "note": "Structure copy."
   },
   "R061": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Short-dated options are the hardest to get right.",
    "note": "Risk copy."
   },
   "R062": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Naked put selling needs assignment capital.",
    "note": "Risk copy."
   },
   "R063": {
    "disposition": "DETECTOR",
    "signal": "grind_vs_rip",
    "rule": "Violent green days can be bear behaviour; healthy uptrends GRIND.",
    "note": ""
   },
   "R064": {
    "disposition": "DETECTOR",
    "signal": "vol_floating_up",
    "rule": "Vol floating up on the way up - respect the path.",
    "note": "Only the VOL half is computed. The BREADTH half is not: this stack holds no breadth feed."
   },
   "R065": {
    "disposition": "DETECTOR",
    "signal": "gamma_regime",
    "rule": "Long gamma downside + softer hike odds => dips still bought.",
    "note": "Only the gamma half is computed - we hold no rate-hike-odds series."
   },
   "R066": {
    "disposition": "NOT_COMPUTABLE",
    "signal": null,
    "rule": "IPO / supply flows can drag liquid tech.",
    "note": "Needs an IPO/supply calendar and cash-raising flow data. Not held."
   },
   "R067": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Do not add to a falling asset without an interim-low signal.",
    "note": "Framing."
   },
   "R068": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Patience on entries is underrated.",
    "note": "Framing."
   },
   "R069": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Do not run theta trades to the death.",
    "note": "Risk copy."
   },
   "R070": {
    "disposition": "DETECTOR",
    "signal": "lowvol_cluster",
    "rule": "Positive carry + VIX pops sold + summer OPEX => lower-vol base case.",
    "note": "The OPEX-week and carry components are computed; 'seasonality' is left as copy."
   },
   "R071": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Short vol without respect for risk can erase years in a session.",
    "note": "Risk copy."
   },
   "R072": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Mechanical rolling short-vol is uniquely fragile.",
    "note": "Risk copy."
   },
   "R073": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Know how to adjust retail P&L visualisers.",
    "note": "Tooling copy."
   },
   "R074": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Markets often sell the fear and rip on the event.",
    "note": "Framing."
   },
   "R075": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Design so luck is not required forever.",
    "note": "Framing."
   },
   "R076": {
    "disposition": "DETECTOR",
    "signal": "fwd_vol",
    "rule": "Daily scan of forward vols between expiries.",
    "note": "Implemented as the forward-vol curve panel - the scan, done for you on load."
   },
   "R077": {
    "disposition": "VOTER",
    "signal": "vrp",
    "rule": "Monitor fixed-strike vol, aggregate positioning, realised vs implied.",
    "note": "Realised-vs-implied and aggregate positioning ARE implemented and vote. FIXED-STRIKE vol is NOT computed yet - it is a deferred build, not a shipped one. The chain recorder banks the complete chain every 5 minutes, so differencing the SOLVED IV of the same (expiry, strike, right) between members would give it directly and with no new vendor data; that series has not been built. Because of that the R024/R025 discriminator is shown as PENDING rather than resolved."
   },
   "R078": {
    "disposition": "COPY",
    "signal": null,
    "rule": "Re-check that live P&L comes from the view you intended.",
    "note": "Position-level; this dashboard holds no positions."
   }
  },
  "counts": {
   "total_rules": 78,
   "VOTER": 7,
   "DETECTOR": 22,
   "COPY": 47,
   "NOT_COMPUTABLE": 2,
   "signals": 21,
   "detectors": 14,
   "missing_data": 4
  },
  "missing_data": [
   {
    "need": "Events calendar joined to option expiries",
    "for": [
     "R043"
    ],
    "why": "attributing a forward-vol kink to earnings versus a macro event",
    "status": "not in this stack"
   },
   {
    "need": "Market breadth",
    "for": [
     "R064"
    ],
    "why": "the breadth half of the respect-the-path rule",
    "status": "not in this stack"
   },
   {
    "need": "Fixed-strike volatility series",
    "for": [
     "R077",
     "R024",
     "R025"
    ],
    "why": "his discriminator for whether an extreme in skew means MORE downside (fixed-strike vol still rising) or a low (fixed-strike vol plateaued) - the single most useful unbuilt signal here",
    "status": "DEFERRED-COMPUTABLE, no new vendor data needed - the chain recorder banks the whole chain every 5 minutes, so differencing the solved IV of the same (expiry, strike, right) between members yields it directly. NOT BUILT, and the page says PENDING rather than pretending"
   },
   {
    "need": "Vanna and charm as signals (his OI-S17 / OI-S18)",
    "for": [],
    "why": "vanna supply into earnings from flattening call skew, and charm accelerating into the close",
    "status": "DELIBERATELY NOT SHIPPED, on measured evidence. Our own paired-session verification (verify_snapshot_greeks.py step A) found vanna and charm diverging by up to 5.6e-2 relative between our live solve and the recorder's own greeks, while delta/gamma/vega/theta agreed to 5e-4 - so they were never promoted out of that gate. The earnings half also needs an events calendar joined to expiries, which we do not hold. Shipping them would mean voting on the two greeks our own gate rejected"
   }
  ],
  "acquired": [
   {
    "need": "MOVE index (rates volatility)",
    "for": [
     "R036",
     "R037",
     "R038"
    ],
    "why": "the cross-asset validation layer of his VIX regime framework",
    "status": "ACQUIRED + WIRED - votes on the vol axis (1d/1w) and drives the validation detector. Posts late with ~9% of 2026 sessions missing, so it is daily-and-weekly only, never intraday"
   },
   {
    "need": "High-yield and investment-grade credit spreads",
    "for": [
     "R036",
     "R037",
     "R038"
    ],
    "why": "he calls credit the strongest signal of systemic stress; without it the regime cannot be validated",
    "status": "ACQUIRED + WIRED - hy_oas / hy_ig_spread / ig_oas / bbb_oas vote as ONE family on the spot axis (1d/1w). Capped at 3 years of history by ICE/FRED licensing, and T+1"
   },
   {
    "need": "Implied correlation (COR1M/3M/6M)",
    "for": [
     "R036"
    ],
    "why": "a low-vol regime only breaks when stocks start moving together",
    "status": "ACQUIRED + WIRED - cor1m/cor3m vote as one family on the vol axis (1d/1w); full 2026 coverage"
   },
   {
    "need": "VIX OPTION open interest",
    "for": [
     "R047"
    ],
    "why": "locating the dealer short-strike cluster in VIX options",
    "status": "ACQUIRED + WIRED - VOLUME runs through 2026 and votes; the PER-STRIKE open-interest book was purchased at per-contract grain (OPRA.PILLAR, VIX + VIXW) and now drives the strike-position detector, so the cluster is located rather than described. It is a FROZEN window, 2026-03-02 to 2026-08-05, so it is never voted"
   },
   {
    "need": "Net dealer contract position by strike",
    "for": [
     "R014",
     "R016",
     "R018"
    ],
    "why": "he prefers netted contract position over dollar GEX by strike",
    "status": "ACQUIRED + WIRED - built 2026-08-08 from the per-contract OPRA open-interest purchase as a new derived series (calls and puts added at each strike, both roots, all expiries). It renders as the strike-position detector: the position map, the cluster locations with their distance from spot, and how those clusters shifted across 109 sessions"
   },
   {
    "need": "Levered-ETF assets under management",
    "for": [],
    "why": "the stealth-gamma signal from levered-ETF rebalancing",
    "status": "ACQUIRED + WIRED - renders as the stealth-gamma detector on the magnitude axis; full 2026 coverage"
   },
   {
    "need": "Index futures open interest",
    "for": [],
    "why": "how much leveraged length is outstanding, alongside what that leverage costs",
    "status": "ACQUIRED + WIRED - renders as the futures-positioning context row; T+1 and currently 3 sessions behind, so it is context rather than a vote"
   }
  ],
  "detectors": [
   {
    "id": "gamma_regime",
    "rules": [
     "R010",
     "R011",
     "R012",
     "R017",
     "R019",
     "R065"
    ],
    "axis": "magnitude",
    "label": "dealer gamma regime - amplify or damp",
    "measures": "whether dealer hedging is currently adding to moves or absorbing them",
    "why_not_a_vote": "His R010 is explicit: gamma is NOT bullish or bearish by itself. It suppresses or amplifies volatility. So it sits on the magnitude axis here and is deliberately kept OUT of the direction vote - which is a departure from our own headline gauge, where net gamma does vote. Different lens, different answer, both stated."
   },
   {
    "id": "extreme_skew",
    "rules": [
     "R024",
     "R025",
     "R026"
    ],
    "axis": "context",
    "label": "extreme put skew - more downside, or peak panic?",
    "measures": "whether an extreme in the skew is still building or has plateaued",
    "why_not_a_vote": "AMENDED per the supplement. Extreme put skew ALONE is ambiguous in his own writing: with vol still bid on the way down it means more downside to come, but a skew spike in a crash is 'usually peak panic... often near the bottom'. The discriminator he gives is fixed-strike vol BEHAVIOUR - still rising means more downside, plateaued means near the low. It renders as a state with its discriminator, never as a one-way vote."
   },
   {
    "id": "vix_regime",
    "rules": [
     "R036",
     "R037",
     "R038"
    ],
    "axis": "vol",
    "label": "VIX regime band and how long it has held",
    "measures": "which of his three volatility regimes we are in, and how many sessions it has persisted",
    "why_not_a_vote": "A regime label plus a day-count, not a directional lean. The published framework also carries a CROSS-ASSET VALIDATION LAYER - HY credit spreads (which he calls the strongest signal of systemic stress) and the MOVE index - and this stack holds neither, so the layer is absent and said to be absent rather than approximated."
   },
   {
    "id": "fwd_vol",
    "rules": [
     "R042",
     "R076"
    ],
    "axis": "vol",
    "label": "forward vol between expiries",
    "measures": "what volatility is priced for the window BETWEEN two expiries, with the earlier path stripped out",
    "why_not_a_vote": "A curve to read, not a lean. Kinks are located; their CAUSE is not claimed (see R043)."
   },
   {
    "id": "grind_vs_rip",
    "rules": [
     "R063"
    ],
    "axis": "magnitude",
    "label": "grind or rip - how the move actually arrived",
    "measures": "whether the move arrived as a steady grind or as a single violent session",
    "why_not_a_vote": "It qualifies a move that the path vote has already counted; counting it again would double-count the same session."
   },
   {
    "id": "vol_floating_up",
    "rules": [
     "R064"
    ],
    "axis": "context",
    "label": "vol floating up while price rises",
    "measures": "whether volatility is being bid at the same time as price is rising",
    "why_not_a_vote": "Half the rule is missing: his version pairs floating vol with BREADTH, and this stack holds no breadth feed. Shown as the half we can measure, labelled as half."
   },
   {
    "id": "wall_break",
    "rules": [
     "R030"
    ],
    "axis": "context",
    "label": "call-wall break with skew rotating to calls",
    "measures": "whether price has broken through the call wall while skew rotates toward calls and vol stays stable",
    "why_not_a_vote": "It leans on the settled open-interest wall tier, which the owner DEMOTED to non-voting context at the 2026-08-07 gate. Implemented as a detector so the state is visible without quietly re-promoting a demoted tier - flagged for re-gating."
   },
   {
    "id": "skew_divergence",
    "rules": [
     "R032"
    ],
    "axis": "context",
    "label": "skew diverging from price",
    "measures": "whether skew is steepening while price rallies, or flattening while price falls",
    "why_not_a_vote": "A conditional qualifier on the skew vote rather than an independent measurement."
   },
   {
    "id": "lowvol_cluster",
    "rules": [
     "R039",
     "R070"
    ],
    "axis": "vol",
    "label": "the lower-vol cluster",
    "measures": "how many of his three lower-vol conditions are present at once",
    "why_not_a_vote": "A named cluster of conditions he uses as a base case, not a measurement with an orientation. Seasonality is left as copy - we do not model it."
   },
   {
    "id": "vix_validation",
    "rules": [
     "R036",
     "R037",
     "R038"
    ],
    "axis": "vol",
    "label": "cross-asset confirmation - is the volatility real or equity-only?",
    "measures": "whether rates volatility, credit spreads and implied correlation are moving WITH equity volatility, or leaving it on its own",
    "why_not_a_vote": "This is the missing LAYER of his VIX regime framework, not a fourth opinion on direction. Its job is to qualify the regime call: equity stress that credit and rates confirm is systemic; equity stress they ignore is a weaker, more fadeable animal. In his words, if credit and macro do not confirm the equity spike, the bias is to fade. It changes how much weight the regime deserves, not which way the market is leaning."
   },
   {
    "id": "stealth_gamma",
    "rules": [],
    "axis": "magnitude",
    "label": "levered-ETF rebalancing - the gamma nobody sees in options",
    "measures": "how much levered-ETF money must be traded at the close to stay levered",
    "why_not_a_vote": "Levered ETFs must buy into strength and sell into weakness EVERY day to keep their multiple - synthetic short gamma that never appears in options open interest. It amplifies whatever direction arrives, so by the same R010 logic that keeps dealer gamma off the direction axis, it sits on the magnitude axis. A BFM signal informed by his stealth-gamma writing, not one of his numbered rules."
   },
   {
    "id": "vix_option_positioning",
    "rules": [],
    "axis": "vol",
    "label": "VIX option positioning",
    "measures": "how much VIX option activity there is, and how it splits between calls and puts",
    "why_not_a_vote": "The VOLUME half votes (see the vix_opt_pc signal). The OPEN-INTEREST half now has its own detector - net contract position by strike - which is where the dealer strike cluster is actually located. That book is a FROZEN window (2026-03-02 to 2026-08-05, no live OPRA licence), and a frozen series cannot be baselined against a live one, so neither half of the open-interest read is voted."
   },
   {
    "id": "vix_strike_position",
    "rules": [
     "R014",
     "R016",
     "R018"
    ],
    "axis": "vol",
    "label": "net contract position by strike - where the VIX book actually sits",
    "measures": "how many VIX option contracts are open at each strike, calls and puts added together, and how far the heaviest clusters sit from the VIX itself",
    "why_not_a_vote": "It is a MAP, not a lean. Open interest at a strike says where positions are parked, not which way anyone expects the market to go - and by the same R010 logic that keeps dealer gamma off the direction axis, a position map suppresses or amplifies rather than points. It is also a FROZEN window with no live licence behind it, and a series that cannot advance must never be scored against live baselines as if it could."
   },
   {
    "id": "futures_positioning",
    "rules": [],
    "axis": "context",
    "label": "futures open interest - how much leveraged length is outstanding",
    "measures": "the number of index-futures contracts left open, alongside what that leverage costs",
    "why_not_a_vote": "Open interest is a SIZE, not a direction: contracts outstanding say how much leveraged exposure exists, not which way it leans. It is paired here with the basis, because 'a lot of it AND being paid for' reads differently from 'a lot of it and nobody paying'."
   }
  ],
  "audit": []
 },
 "notes_1h": {
  "ret_pct": "the live snapshot carries a SESSION-TO-DATE return, which is not an hour's return - replaced by the hour's own spot path where available",
  "hl_range_pct": "spot sampled at the recorder's 5-minute members, so the high-low range is a lower bound on the true hourly range"
 },
 "episodes": {
  "definition": {
   "method": "percentage zigzag on the Nasdaq-100 close: a run continues while the retracement from its running extreme stays below theta percent; exceeding theta closes the run AT the extreme and starts the next one there",
   "theta_swept": [
    2.0,
    2.5,
    3.0
   ],
   "theta_chosen": 2.0,
   "theta_chosen_why": "smallest swept theta that resolves BOTH owner reference moves as single sustained runs (April up-run and the Feb-March down-run)",
   "sustained": "at least 15 sessions AND at least 6% move",
   "short_lived": "at most 5 sessions",
   "middle": "everything between - deliberately NOT forced into a binary",
   "fingerprint_window": "the first 3 sessions of the run, in z of the 2026 DAILY baseline"
  },
  "caveats": [
   "The corpus is 2026 only - one regime, 161 sessions. Counts are reported raw; with fewer than ten episodes a percentage would imply precision that does not exist.",
   "Fingerprints are z-scores against the FULL-2026 daily baseline, so an early-2026 episode is scored against a baseline that contains its own future. Stated, not hidden.",
   "The current run is right-censored - its outcome is unknown - so it is SCORED against the corpus but never included IN it.",
   "A fingerprint fitted on a handful of runs DESCRIBES those runs. It is not a law, and nothing here is a forecast."
  ],
  "theta_sweep": {
   "2.0": {
    "theta_pct": 2.0,
    "n_runs": 22,
    "n_sustained": 2,
    "n_short": 9,
    "n_middle": 11,
    "sustained": [
     {
      "dir": "down",
      "start": "2026-02-25",
      "end": "2026-03-30",
      "n_sessions": 24,
      "pct": -9.38
     },
     {
      "dir": "up",
      "start": "2026-03-30",
      "end": "2026-05-14",
      "n_sessions": 33,
      "pct": 28.87
     }
    ],
    "resolves_april_pump": true,
    "resolves_march_dump": true
   },
   "2.5": {
    "theta_pct": 2.5,
    "n_runs": 14,
    "n_sustained": 3,
    "n_short": 3,
    "n_middle": 8,
    "sustained": [
     {
      "dir": "down",
      "start": "2026-02-25",
      "end": "2026-03-30",
      "n_sessions": 24,
      "pct": -9.38
     },
     {
      "dir": "up",
      "start": "2026-03-30",
      "end": "2026-05-14",
      "n_sessions": 33,
      "pct": 28.87
     },
     {
      "dir": "down",
      "start": "2026-06-30",
      "end": "2026-07-29",
      "n_sessions": 21,
      "pct": -10.19
     }
    ],
    "resolves_april_pump": true,
    "resolves_march_dump": true
   },
   "3.0": {
    "theta_pct": 3.0,
    "n_runs": 12,
    "n_sustained": 3,
    "n_short": 2,
    "n_middle": 7,
    "sustained": [
     {
      "dir": "down",
      "start": "2026-02-25",
      "end": "2026-03-30",
      "n_sessions": 24,
      "pct": -9.38
     },
     {
      "dir": "up",
      "start": "2026-03-30",
      "end": "2026-06-02",
      "n_sessions": 45,
      "pct": 33.58
     },
     {
      "dir": "down",
      "start": "2026-06-30",
      "end": "2026-07-29",
      "n_sessions": 21,
      "pct": -10.19
     }
    ],
    "resolves_april_pump": true,
    "resolves_march_dump": true
   }
  },
  "n_corpus": 21,
  "n_sustained": 2,
  "n_short": 9,
  "n_middle": 10,
  "open_episodes": [
   {
    "idx": 21,
    "dir": "down",
    "cls": "middle",
    "start": "2026-08-13",
    "end": "2026-08-24",
    "n_sessions": 8,
    "pct": -3.527797744685801,
    "start_px": 30084.5,
    "end_px": 29023.1796875,
    "open": true,
    "start_sessions": [
     "2026-08-13",
     "2026-08-14",
     "2026-08-17"
    ],
    "fingerprint": {
     "ret_pct": 0.12042859806657605,
     "hl_range_pct": -0.8503881181465898,
     "rv_intraday": -1.2741050428695395,
     "atm_iv_front": -1.3266210116868191,
     "atm_iv_30d": -1.3373316035068594,
     "term_slope": 0.9704713263516104,
     "skew_pct": -0.11544034539486987,
     "skew_25d": -1.2996252660111491,
     "pc_vol": -0.8030224468832745,
     "pc_premium": -0.6829878578893099,
     "delta_atm": -0.2224153305887195,
     "opt_vol_total": -0.025282946171737847,
     "zdte_vol": 0.24415644619040336,
     "gex": 0.6301924845413598,
     "local_gamma_at_spot": 0.10999196656200243,
     "vix": -1.2262782876170109,
     "vix_chg": 0.12474539105251342,
     "vxn": -1.283717415125612,
     "skew_idx": -1.0347256919995396,
     "dxy_chg": -0.3823312938615534,
     "ndx_ret_pct": 0.12424596831878583
    },
    "fp_missing": [
     "pc_oi",
     "vix_vix3m",
     "vix_term_slope",
     "es_basis_bp",
     "es_cal_ann"
    ]
   }
  ],
  "discrimination": [
   {
    "tell": "R030_skew_toward_calls",
    "rules": [
     "R030",
     "R023"
    ],
    "plain": "skew shifted toward calls at the start (25-delta put-minus-call below its 2026 normal)",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 1,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-05-14"
    ],
    "separation": 0.3888888888888889,
    "kept": true
   },
   {
    "tell": "R064_vol_floating_up",
    "rules": [
     "R064"
    ],
    "plain": "volatility floating UP while price rose (VIX change above normal on an up-run)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R063_grind_not_rip",
    "rules": [
     "R063"
    ],
    "plain": "the start GRINDED rather than ripped (first-sessions move below its normal size)",
    "sustained_hits": 2,
    "sustained_n": 2,
    "fizzle_hits": 9,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-02-25",
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-02-05",
     "2026-02-09",
     "2026-05-14",
     "2026-06-10",
     "2026-06-15",
     "2026-06-17",
     "2026-06-26",
     "2026-06-30",
     "2026-07-07"
    ],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R011_short_gamma",
    "rules": [
     "R011",
     "R013",
     "R019"
    ],
    "plain": "dealers were short gamma at the start (net gamma below its 2026 normal = moves amplified)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R012_long_gamma_downside",
    "rules": [
     "R012",
     "R065"
    ],
    "plain": "dealers were LONG gamma at the start (moves damped, dips tend to get bought)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 1,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [
     "2026-06-17"
    ],
    "separation": -0.1111111111111111,
    "kept": false
   },
   {
    "tell": "R024_extreme_put_skew_vol_bid",
    "rules": [
     "R024",
     "R025",
     "R026"
    ],
    "plain": "extreme put skew AND vol bid at the start - the surface still priced more downside",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-02-25"
    ],
    "fizzle_examples": [],
    "separation": 0.5,
    "kept": true
   },
   {
    "tell": "R020_wide_realised_range",
    "rules": [
     "R020",
     "R011"
    ],
    "plain": "wide realised daily range at the start (the short-gamma / amplification proxy)",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 3,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-06-10",
     "2026-06-26",
     "2026-06-30"
    ],
    "separation": 0.16666666666666669,
    "kept": true
   },
   {
    "tell": "R020_tight_realised_range",
    "rules": [
     "R020",
     "R012"
    ],
    "plain": "tight realised daily range at the start (the long-gamma / suppression proxy)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 0,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [],
    "separation": 0.0,
    "kept": false
   },
   {
    "tell": "R033_iv_term_upward",
    "rules": [
     "R042",
     "R044"
    ],
    "plain": "the IV term structure sloped UP at the start (no near-term panic bid)",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 1,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [
     "2026-06-30"
    ],
    "separation": -0.1111111111111111,
    "kept": false
   },
   {
    "tell": "vol_rich_vs_realised",
    "rules": [
     "R077",
     "R035"
    ],
    "plain": "implied vol sat rich to realised at the start",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 3,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-06-26",
     "2026-06-30",
     "2026-07-07"
    ],
    "separation": 0.16666666666666669,
    "kept": true
   },
   {
    "tell": "basis_rich",
    "rules": [],
    "plain": "S&P futures basis rich to cash at the start (leveraged long demand) - BFM signal, not a Lakha rule",
    "sustained_hits": 1,
    "sustained_n": 2,
    "fizzle_hits": 5,
    "fizzle_n": 9,
    "sustained_examples": [
     "2026-03-30"
    ],
    "fizzle_examples": [
     "2026-06-15",
     "2026-06-17",
     "2026-06-26",
     "2026-06-30",
     "2026-07-07"
    ],
    "separation": -0.05555555555555558,
    "kept": false
   },
   {
    "tell": "pc_vol_light",
    "rules": [],
    "plain": "put/call volume ran light at the start - BFM signal, not a Lakha rule",
    "sustained_hits": 0,
    "sustained_n": 2,
    "fizzle_hits": 2,
    "fizzle_n": 9,
    "sustained_examples": [],
    "fizzle_examples": [
     "2026-05-14",
     "2026-06-30"
    ],
    "separation": -0.2222222222222222,
    "kept": false
   }
  ],
  "tells_kept": [
   "R030_skew_toward_calls",
   "R024_extreme_put_skew_vol_bid",
   "R020_wide_realised_range",
   "vol_rich_vs_realised"
  ],
  "tells_dropped": [
   {
    "tell": "R064_vol_floating_up",
    "why": "fired on 0 of 2 sustained starts and 0 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R063_grind_not_rip",
    "why": "fired on 2 of 2 sustained starts and 9 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R011_short_gamma",
    "why": "fired on 0 of 2 sustained starts and 0 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R012_long_gamma_downside",
    "why": "fired on 0 of 2 sustained starts and 1 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R020_tight_realised_range",
    "why": "fired on 0 of 2 sustained starts and 0 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "R033_iv_term_upward",
    "why": "fired on 0 of 2 sustained starts and 1 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "basis_rich",
    "why": "fired on 1 of 2 sustained starts and 5 of 9 fizzles - does not separate the classes"
   },
   {
    "tell": "pc_vol_light",
    "why": "fired on 0 of 2 sustained starts and 2 of 9 fizzles - does not separate the classes"
   }
  ]
 },
 "abstract": "================================================================================================\nOMNIVERSE / ANALYSIS - LLM ANALYSIS BRIEF\nA measured positioning snapshot, laid out through Imran Lakha's options framework.\nBuilt 2026-08-25T21:07:36 (America/New_York)\nPayload   78250 characters \u00b7   46356 of them above the truncation marker\n\nAnalytical framework: Imran Lakha (@options_insight) - https://x.com/options_insight . Rules\nextracted from his public posts and articles, May-Aug 2026. He has no involvement in and no\nendorsement of this dashboard. Data and implementation are ours. Not financial advice.\n================================================================================================\n\n------------------------------------------------------------------------------------------------\n(a) YOUR TASK - read this before the numbers\n------------------------------------------------------------------------------------------------\n\n  You are the analyst. What follows is a MEASURED snapshot of how the US equity index option\n  market is positioned right now, organised under the named lenses of Imran Lakha's framework.\n  Analyse it, break it down, explain it, and produce four things.\n\n  1. LENS BY LENS. For each lens, state the current reading and explain the MECHANISM behind it\n  - why that number does what it does to the tape, in cause-and-effect terms. A number restated\n  in words is not an explanation. If a reading has no mechanism you can name, say so.\n\n  2. THE TWO BOXES, for each horizon: a view on SPOT and a view on VOL (section b). This is the\n  spine of the whole method - the structure follows the boxes, never the other way round.\n\n  3. A BIAS FOR THREE HORIZONS - 1 HOUR, 1 DAY, 1 WEEK - each carrying (i) the direction on\n  each of the two axes, (ii) a confidence you are willing to defend, and (iii) WHAT WOULD\n  FALSIFY IT: the specific observation that should make you drop the view. A bias with no\n  falsifier is a slogan, not a position.\n\n  4. COMPARE AND CONTRAST against the two archetype columns in section (d): where does today\n  sit between the most-bearish and the most-bullish session of the year, metric by metric?\n  Value, percentile and z are all given so that metrics in different units can be ranked\n  against each other for magnitude.\n\n  RULES OF ENGAGEMENT\n\n    - THE THREE HORIZONS ARE SCORED INDEPENDENTLY, against three different baselines - an\n    hourly baseline, a 2026 daily baseline and a weekly baseline. They are allowed to disagree,\n    and when they do that is a finding rather than an error: it is the short timeframes turning\n    against the long one. Never average them into a single number, and never resolve a\n    disagreement by picking the horizon you like.\n\n    - \"NO VIEW\" ON EITHER AXIS IS A LEGITIMATE, INFORMATIVE ANSWER. R004 says so in his own\n    words: admit when you have no view, then choose a structure that does not quietly bet on\n    the axis you have no opinion on. If the evidence below does not resolve an axis at a\n    horizon, say so, and say what would resolve it. A forced answer is worse than an honest\n    blank.\n\n    - WEIGHT THE RULES BY THE VERDICTS IN SECTION (e). Several of these rules were tested\n    against history and did not hold; two were contradicted outright. Applying a refuted rule\n    at full confidence because it carries a named framework's authority is the single most\n    likely way to get this wrong.\n\n    - NOTHING HERE IS A FORECAST. Every figure DESCRIBES what is currently priced or currently\n    held. The lens is his; the data and the arithmetic are ours; the judgement is yours.\n\n------------------------------------------------------------------------------------------------\n(b) THE TWO BOXES FIRST (R002) - a view on SPOT, a view on VOL, at each horizon\n------------------------------------------------------------------------------------------------\n\n  His method does not start from \"what trade?\" (R001). It starts by answering two questions,\n  and only then does a structure family follow. Both boxes are resolved separately at each of\n  the three horizons below, from independent readings, against that horizon's own baseline.\n\n  horizon   BOX 1 - VIEW ON SPOT               BOX 2 - VIEW ON VOL                   \n  --------- ---------------------------------- --------------------------------------\n  1 HOUR    spot SIDEWAYS (no clear direction) clearly vol CHEAP (options are unusually cheap)\n            -0.3 on -10..+10 \u00b7 6 readings      -4.1 on -10..+10 \u00b7 2 readings \u00b7 THIN  \n  1 DAY     leans spot DOWN (leaning lower)    leans vol CHEAP (options are unusually cheap)\n            -1.9 on -10..+10 \u00b7 9 readings      -2.5 on -10..+10 \u00b7 9 readings         \n  1 WEEK    clearly spot DOWN (leaning lower)  clearly vol CHEAP (options are unusually cheap)\n            -3.6 on -10..+10 \u00b7 8 readings      -4.5 on -10..+10 \u00b7 8 readings         \n\n  THE STRUCTURE THAT FOLLOWS - his section-7 matrix, in plain words\n\n    1 HOUR\n      spot SIDEWAYS (no clear direction) x vol CHEAP (options are unusually cheap) -> long\n      premium ONLY if it is genuinely cheap\n      No directional pull and movement is cheap - the only case where paying for premium in a\n      rangebound tape is defensible.\n\n    1 DAY + 1 WEEK\n      spot DOWN (leaning lower) x vol CHEAP (options are unusually cheap) -> lean short delta /\n      buy convexity on the bear side\n      Same discipline as the up case, mirrored: direction is down and movement is cheap.\n\n  DO THE HORIZONS AGREE?\n    spot: sideways / down / down\n        The timeframes are mixed (sideways / down / down): some resolved, some did not, and the\n        ones that did do not line up into a single read.\n    vol:  cheap / cheap / cheap\n        All three timeframes agree: cheap on the hour, the session AND the week. Alignment\n        across grains is the strongest form this page can report, because the three are scored\n        against three different baselines and had to agree independently.\n\n    A box resolves to a direction only when at least 2 independent readings agree beyond a\n    neutral band of 1.0 on the -10..+10 scale; with fewer than 4 readings it is flagged THIN\n    and should be discounted accordingly. Those cut-points are CONVENTIONS chosen for this\n    page. They are not numbers Imran Lakha specified, and they are not derived from the data.\n\n------------------------------------------------------------------------------------------------\n(c) THE LENSES - the current reading, the mechanism, and what each one does NOT tell you\n------------------------------------------------------------------------------------------------\n\n  LENS 1 - GAMMA / DEALER POSITIONING   [R010-R020]\n\n     R010 is why nothing in this lens votes on direction: gamma is not bullish or bearish by\n     itself. It decides HOW PRICE TRAVELS. When dealers are long gamma their hedging runs\n     AGAINST the move - they sell strength and buy weakness - which damps range and is the\n     mechanical backdrop to dips getting bought (R012). When they are short gamma the hedging\n     runs WITH the move and the same piece of news travels further (R011). R019 is the standing\n     limit on all of it: gamma is one factor, and a large enough directional move overwhelms\n     even a massive wall of it.\n\n   * dealers are positioned SHORT gamma   [R010,R011,R012,R017,R019]\n     Net dealer gamma is NEGATIVE (30% of 2026 readings sit below this one). Negative gamma\n     means hedging works WITH the move - dealers must sell into falls and buy into rallies to\n     stay hedged - so the same 1% move travels further. R011: expect wilder moves. His rule\n     R010 is the reason this does NOT vote on direction: gamma is not bullish or bearish by\n     itself - it suppresses or amplifies whatever direction arrives. R019 attaches the standing\n     caveat: gamma is one factor, and a big enough directional move overwhelms even a massive\n     wall of it.\n     LIMIT: Open interest settles overnight, so this tier is a day behind by market structure.\n     He also prefers NET CONTRACT position by strike to dollar GEX (R014/R018), and this tile\n     is the dollar kind he warns about. The netted contract-count series he asks for now exists\n     for the VIX book and renders as its own strike-position detector below; the equity book\n     still has no per-strike open-interest purchase behind it, so this figure stays a dollar\n     aggregate.\n     VERDICT (our 5-year study of his rules): R011 is NOT ESTABLISHED. Our gamma proxy was\n     volume-weighted and the open-interest archive is too short to test it - untested, not\n     refuted\n\n   * the market moved LESS than the breakeven   [R020]\n     Front implied vol of 16.9% implies a break-even daily move of about 1.06%. The market\n     actually moved 1.00%. In his words: the longs cannot monetise it - they are paying theta\n     they cannot make back from trading their gamma, so fixed-strike vol gets sold. That is\n     mechanical selling pressure on volatility, not a sentiment read.\n     LIMIT: CORRECTED from the owner's rules file. Its absolute buckets (0.5-0.6%/day = long\n     gamma, 2-3%/day = short gamma) could not be found in 60 articles or 70 posts; the relative\n     breakeven rule is what he actually states and his arithmetic checks exactly (12% front\n     implied gives 0.756%/day).\n     THE FORM IN USE IS daily_breakeven = front_ATM_IV / sqrt(252), compared against the\n     realised daily move. Say that explicitly, because the absolute buckets are the thing a\n     reader is most likely to reintroduce from memory: they are FALSIFIED as a quotation and\n     are deliberately not implemented here. What he actually states is relative and benchmarked\n     to front implied. Above the breakeven, a long-gamma holder monetises the movement by\n     trading around the position and volatility tends to stay bid; below it, they are paying\n     theta they cannot earn back, which is the condition in which fixed-strike vol gets sold.\n\n   * levered-ETF money sits at the high end of its 2026 range   [BFM]\n     Levered ETFs hold about $60.0bn net long exposure - higher than 75% of 2026 sessions.\n     These funds must buy into strength and sell into weakness EVERY single day to keep their\n     2x or 3x multiple, which is synthetic short gamma that never appears anywhere in options\n     open interest. The bigger the pot, the more mechanical end-of-day flow gets added to\n     whatever direction the session took - it amplifies moves rather than pointing one way,\n     which is why it sits on the magnitude axis and casts no direction vote.\n     LIMIT: A BFM signal informed by his stealth-gamma writing, not one of his numbered rules.\n     We hold the AUM total, not the per-fund leverage multiples, so the exact\n     dollar-per-1%-move rebalancing figure is not computed - only its scale.\n\n     AT A GLANCE              bearish 06-05        bullish 03-31        latest              \n     net dealer gamma ($)       -4.8bn z -1.2 p 11   +2.5bn z +0.6 p 70   -2.2bn z -0.6 p 30 \n     daily breakeven move %      1.616 z +0.5 p 71    1.621 z +0.6 p 73    1.064 z -0.8 p 25 \n     the session's own move %    -4.76 z -3.5 p  1     3.38 z +2.4 p100    -1.00 z -0.8 p 22 \n     realised minus breakeven    3.143 z +4.3 p100    1.755 z +2.6 p 99   -0.065 z +0.3 p 68 \n     every metric in this lens has a full row in section (d), below the truncation marker.\n\n  LENS 2 - SKEW / SURFACE   [R021-R032]\n\n     R021 is the load-bearing idea and the one most often lost: skew is not simply \"the cost of\n     downside puts\". Every strike's implied vol is a CONDITIONAL statement - what volatility\n     would look like IF we got there. A steep put skew says the market expects a decline to be\n     VIOLENT, not merely that it expects a decline. R023 then says the SHIFT matters more than\n     the level: when skew moves, the market is changing its mind about the shape of the world,\n     not just repricing option cost. R022 is the default that makes the whole shape make sense\n     - equities crash down and grind up, so put skew is the resting state, and a flat or\n     call-leaning surface is the unusual reading that deserves the explanation.\n     VERDICT (our 5-year study of his rules): R022 is SUPPORTED. Equity markets do crash down\n     and grind up, so put skew is the right default expression of the path\n\n   * skew is in its ordinary range   [R024,R025,R026]\n     Skew is lower than 85% of its 2026 readings (15th percentile) - inside its ordinary range,\n     so the extreme-skew rules simply do not apply right now. That is a real reading.\n     LIMIT: AMENDED from the owner's file, and DELIBERATELY LEFT UNRESOLVED. Extreme put skew\n     ALONE is ambiguous in his own writing - a skew spike inside a crash is 'usually peak\n     panic, often near the bottom'. His discriminator is FIXED-STRIKE vol behaviour: still\n     RISING means more downside to come, PLATEAUED means near the low. We do NOT compute\n     fixed-strike vol yet, so this page cannot apply the discriminator and does not pretend to:\n     the state is shown with its ambiguity intact. Building it needs no new vendor data - the\n     chain recorder banks the whole chain every 5 minutes, so differencing the solved IV of the\n     same strike between members would give it - it simply has not been built. He also notes\n     high vol PLUS high put skew is fuel for a violent bounce, which cuts the other way again.\n     R025 GIVES THE EXIT CONDITION for the extreme state, and it is a two-part test rather than\n     a level: wait for vol to come OFF and for skew to rotate toward CALLS before treating a\n     bounce as a real low. Early bounces inside a still-bid surface are the dead-cat case\n     (R026), and an oversold short-term print will trap you while the surface is still paying\n     for more downside.\n     VERDICT (our 5-year study of his rules): R024 is CONTRADICTED. Lift 0.44 - extreme put\n     skew was followed by the opposite of what the rule implies more often than it was followed\n     by the rule's own outcome\n\n   * skew and price are moving together   [R032,R023]\n     Skew and price moved in the ordinary, confirming directions this session - the surface is\n     agreeing with the tape rather than diverging from it. That is a real reading and it means\n     his divergence rule simply does not fire here.\n     LIMIT: One session of shift is a thin basis for a divergence claim; he watches the 1-month\n     skew over a longer window than this.\n\n   * call-wall break - deliberately not evaluated   [R030]\n     His R030 pattern is a call-wall break plus skew rotating toward calls plus stable vol,\n     which together can mean a move 'has legs'. Two of the three parts are available here, but\n     the wall itself comes from the SETTLED open-interest tier - which the owner demoted to\n     non-voting context on 2026-08-07 because its orientation was never validated and the tier\n     is a day stale. Rather than quietly re-promote a demoted input inside a compound signal,\n     this state is left unevaluated and flagged for re-gating.\n     LIMIT: Re-gating this needs the wall-distance orientation validated empirically against\n     the session matrix first - the same test the owner asked for before any wall metric votes.\n     R030's test is a compound one: a call-wall break PLUS skew rotating toward call premium\n     PLUS stable vol on the way up, which together are supposed to mean a move \"has legs\". Read\n     the verdict below before you apply it anywhere.\n     VERDICT (our 5-year study of his rules): R030 is NOT SUPPORTED. Lift 0.98 - zero edge. A\n     call-wall break plus a rotation toward call premium did NOT make a move more likely to\n     have legs\n\n     AT A GLANCE              bearish 06-05        bullish 03-31        latest              \n     25-delta skew (vol pts)     5.558 z +0.6 p 76    3.490 z -0.6 p 38    2.689 z -1.1 p 15 \n     CBOE SKEW index            152.25 z +1.7 p 93   145.45 z +0.3 p 69   145.64 z +0.4 p 70 \n     1-session SHIFT in skew     2.909 z +1.9 p 96    1.000 z +0.6 p 73    0.716 z +0.5 p 68 \n     every metric in this lens has a full row in section (d), below the truncation marker.\n\n  LENS 3 - VIX / VOL REGIME / TERM STRUCTURE   [R033-R048]\n\n     R033-R035: THE VIX IS NOT AT-THE-MONEY IMPLIED VOL. It blends the whole surface, and\n     equity put skew drags it ABOVE at-the-money - typically by around 3 to 5 vol points in\n     ordinary regimes. That 3-5 range is HIS stated figure and is carried here as a reference\n     only; it is not verified in our corpus, so what actually bands the reading below is our\n     own 2026 percentile. Reading the VIX as the price of an at-the-money option systematically\n     makes vol look DEARER than it is (R034). And the gap itself is the signal (R035): it\n     widens when people are paying up for the tail rather than for movement.\n\n     CURRENT GAP: 3.24 vol points, higher than 50% of its 2026 readings (50th percentile). On\n     the most-bearish day of 2026 it was 5.93 and on the most-bullish day 3.43 - so the gap is\n     a magnitude reading, not a direction reading, and it belongs beside the regime call rather\n     than inside it.\n\n   * VIX 15.9 - LOW-VOL regime, 51 sessions   [R036,R037,R038]\n     His framework splits volatility into three regimes: below 22, 22 to 32, and above 32 (the\n     crisis cluster sits near 38 but 32 is the level he trades off). VIX at 15.9 puts this in\n     the LOW band, and it has held there for 51 sessions, entered from above.\n     LIMIT: The published framework also carries a CROSS-ASSET VALIDATION layer - credit\n     spreads, which he calls the strongest signal of systemic stress, plus the MOVE index and\n     implied correlation. Those were acquired on 2026-08-08 and the layer is now LIVE - see the\n     cross-asset confirmation panel, which qualifies this regime call as systemic or\n     equity-only.\n     THE PERSISTENCE DAY-COUNT IS PART OF THE RULE, not decoration. His stated process on a\n     cross into the 22-32 mid-vol band FROM BELOW: days 1-2 are the fade window, with the\n     highest odds of vol being smashed back down; by days 3-5 size the fade down; from day 6\n     onward stop fading altogether, because at that point you are no longer trading mean\n     reversion, you are trading a regime change (R037/R038).\n     VERDICT (our 5-year study of his rules): R036 is SUPPORTED. The three VIX bands separate\n     outcomes - the strongest clean result in the study\n     VERDICT (our 5-year study of his rules): R037 is SUPPORTED. The fade window after a cross\n     into mid-vol holds up; same band test, same result\n     VERDICT (our 5-year study of his rules): R038 is STRONGLY SUPPORTED. 70.4% vs 25.9%. But\n     it CONFIRMS a regime that has already turned - it does not predict the turn, so it sizes a\n     position, it does not open one\n\n   * equity volatility is only PARTLY confirmed   [R036,R037,R038]\n     His VIX regime framework does not stop at the VIX. It asks whether OTHER markets confirm\n     what equity volatility is doing: rates volatility, credit spreads and implied correlation.\n     Equity volatility rose and rates volatility (MOVE) moved with it, while credit spreads,\n     implied correlation stayed calm. A single confirming market is a weak confirmation. (1 of\n     3 confirming.)\n     LIMIT: MOVE posts late and is missing on roughly 9% of 2026 sessions, and the credit\n     series are T+1 and capped at three years of history by licensing - so this layer is a\n     DAILY read and is never used as an intraday trigger.\n     THIS IS THE CROSS-ASSET VALIDATION LAYER, and it is the difference between a real\n     volatility event and one market having a bad day. Credit spreads are the leg he calls the\n     strongest signal of systemic stress; rates volatility (MOVE) and implied correlation are\n     the other two. An ISOLATED_MOVER state means equity vol is NOT being confirmed elsewhere -\n     which is his condition for fading it rather than respecting it. A CONFIRMED state is the\n     opposite.\n\n   * 1 of 2 lower-vol conditions present   [R039,R070]\n     He names a specific three-item cluster as a lower-vol base case: most assets in positive\n     carry so you are paid to be short vol, a VIX pop that gets sold instantly, and monthly\n     OPEX week. Right now the VIX move was NOT sold; it is monthly OPEX week. The cluster is\n     only partly formed, so it is not the configuration he means.\n     LIMIT: Seasonality is the fourth thing he mentions and we do not model it. Carry is\n     proxied by the S&P futures carry alone, not 'most assets'. And he attaches a standing\n     reminder that CPI and geopolitical tails override the whole cluster.\n\n   * VIX option flow is unusually call-heavy   [BFM]\n     The VIX put/call ratio is 0.268 - higher than 10% of 2026 sessions. Read it the OPPOSITE\n     way to an equity put/call ratio: on the VIX it is the CALL that is the crash hedge, so\n     call-heavy flow means protection against a volatility spike is being bought, and put-heavy\n     flow means people are positioning for calm. VIX option flow is normally call-heavy, so the\n     question is always whether it is MORE so than usual, not whether it is call-heavy at all.\n     LIMIT: This uses VOLUME (latest open interest: 11206910 contracts). Open interest - which\n     is what actually locates the dealer strike cluster he describes - is now held PER STRIKE\n     and drives its own detector below. That book is a frozen window with no live licence\n     behind it, so a frozen series is never scored against live baselines and neither\n     open-interest read is voted here.\n\n   * the heaviest VIX strike cluster STRADDLES the index   [R014,R016,R018]\n     This is net contracts by strike, across VIX and VIXW: 11,206,910 contracts open at 70\n     strikes as of the close of 2026-08-24, with the VIX itself at 15.85. Calls and puts at the\n     same strike are ADDED, not differenced (R016): once a dealer delta-hedges, a short call\n     and a short put at one price are the same gamma problem sitting at the same place. On that\n     netting the heaviest strike cluster runs from 15 to 25 with its centre of gravity at 20.04\n     - 5,201,624 contracts, 46.4% of the whole book, straddling spot, so the index is sitting\n     inside it. That block is TWO-SIDED - 2,672,026 calls against 2,529,598 puts - which is\n     exactly why the count is netted rather than differenced: calls minus puts would report\n     142,428 and hide a position holding 46% of everything open. The next cluster sits at 59.38\n     (50 to 70): 1,879,374 contracts, 16.8% of the book, +43.53 points from spot and almost\n     pure call - 1,875,399 calls against 3,975 puts, which is what an upside volatility hedge\n     looks like. Only 5.1% of the open contracts sit BELOW the index at all, and the book's\n     centre of gravity is 36.38 - +20.52 points above it. R014 and R018 are the reason this\n     leads with a contract count rather than a dollar gamma: the number of contracts at a\n     strike does not change when spot moves, so it keeps saying the same thing about where\n     positioning sits, which a dollar figure does not. HOW IT HAS SHIFTED. Over the last 5\n     sessions (about a week), 2026-08-18 to 2026-08-24, the heaviest cluster's centre moved\n     20.18 to 20.04 and its distance from the index went +4.34 to +4.19 points - holding its\n     distance; the share of the book sitting within 25% of spot either way went 25.2% to 24.8%;\n     the centre of gravity moved +0.45 points, to 36.38; 1 expiry cycle rolled off in between,\n     which moves clusters without a single contract having been traded. Over the last 21\n     sessions (about a month), 2026-07-24 to 2026-08-24, the heaviest cluster's centre moved\n     21.23 to 20.04 and its distance from the index went +2.65 to +4.19 points - away from\n     spot; the share of the book sitting within 25% of spot either way went 35.1% to 24.8%; the\n     centre of gravity moved -2.49 points, to 36.38; 4 expiry cycles rolled off in between,\n     which moves clusters without a single contract having been traded. Over the whole\n     per-strike history, 2026-03-02 to 2026-08-24, the heaviest cluster's centre moved 19.41 to\n     20.04 and its distance from the index went -2.03 to +4.19 points - away from spot; the\n     share of the book sitting within 25% of spot either way went 24.5% to 24.8%; the centre of\n     gravity moved -13.77 points, to 36.38; 17 expiry cycles rolled off in between, which moves\n     clusters without a single contract having been traded. The distance reading and the\n     near-spot share are reported together on purpose: the top cluster is a RANK, and an expiry\n     rolling off can demote the near-money block without anything moving, while the share of\n     the book near spot keeps reading correctly through that.\n     LIMIT: AS-OF, NOT PUBLISHED. The session label on this store is the as-of session - the\n     close whose positions it reflects - which is the OPPOSITE of the futures convention on\n     this stack. That was measured, not assumed: against the independently-sourced VIX\n     open-interest column in our own matrix, the put/call ratio agrees to 0.975 under the as-of\n     reading and is out by a factor of 1.91 under the published-date reading, and the\n     discriminator had to be the call/put mix because an expiry moves the composition far more\n     than the total. So each session's strikes are paired with the VIX close of the SAME date.\n     COVERAGE. Per-strike history begins 2026-03-02 and ends 2026-08-24 - 121 sessions. It is a\n     FROZEN window: OPRA history stops at 2026-08-07T13:30Z without a live licence, so unlike\n     the equity open-interest tier this one does NOT roll forward overnight, and every figure\n     above is dated for that reason. There is no intraday grain and none is offered. ONE\n     SESSION REJECTED. 2026-08-06 was dropped from every figure above: 7.6% of its open\n     interest is booked to expiries that had already passed, and an expired contract cannot\n     hold open interest as of a later close, so its instrument-to-strike mapping is not\n     trustworthy. It is the last session in the store and its broadcast day is truncated at the\n     opening bell. Dropped and named, not smoothed. NO DOLLAR GAMMA. It is not computed here,\n     and that is deliberate twice over: R015 says dollar gamma at one strike is a moving\n     target, and this purchase is open interest per contract with no implied vol in it, so a\n     per-strike gamma would need a solve we did not buy. NO PER-STRIKE CHANGES either - a\n     strike present one session and absent the next has UNKNOWN open interest, never zero, so\n     only per-session aggregates are compared across time. Finally, the cluster cut-points (a\n     strike joins at 2% of the book, neighbours within 10% in strike terms) are CONVENTIONS\n     chosen for this page, not numbers Imran Lakha specified.\n\n   * forward vol between expiries - his daily one-minute scan   [R042,R043,R076]\n\n     Forward vol strips out the path already priced by the NEARER expiry and shows what the\n     market charges for the window BETWEEN two dates. That is where event pricing actually\n     lives; a single expiry's headline implied vol blends it with everything that happens\n     before it. A kink - a forward vol standing well above its neighbours - marks a window the\n     market is charging extra for. 0 kinks stand out on the current curve.\n\n       expiry        days   ATM IV %  fwd vol % kink\n       2026-08-26       1      19.41          - \n       2026-08-27       2      20.36      21.26 \n       2026-08-28       3      20.90      21.93 \n       2026-08-31       6      17.48      13.22 \n       2026-09-01       7      17.84      19.89 \n       2026-09-02       8      18.14      20.12 \n       2026-09-03       9      18.47      20.85 \n       2026-09-04      10      19.09      24.02 \n       2026-09-08      14      17.57      12.99 \n       2026-09-11      17      18.57      22.64 \n\n     LIMIT: a kink marks WHERE the market prices an event window. This page does not claim WHAT\n     the event is: attributing a kink to earnings versus a macro date needs an events calendar\n     joined to expiries, which we do not hold.\n\n     AT A GLANCE              bearish 06-05        bullish 03-31        latest              \n     VIX                         21.51 z +0.7 p 84    25.25 z +1.8 p 93    15.85 z -0.9 p 19 \n     VIX minus SPX ATM IV         5.93 z +3.0 p 99     3.43 z +0.1 p 61     3.24 z -0.1 p 50 \n     MOVE (rates vol)            75.20 z +0.3 p 70    96.05 z +2.1 p 96    73.98 z +0.1 p 63 \n     high-yield OAS               2.76 z -0.6 p 41     3.28 z +2.4 p 99     2.70 z -0.9 p 14 @08-21\n     every metric in this lens has a full row in section (d), below the truncation marker.\n\n  LENS 4 - PATH / FLOW   [R063-R070]\n\n     R063: single-session violent green days in beaten-up names can be BEAR-market behaviour;\n     healthy uptrends grind. R064: when volatility floats UP alongside price and the path\n     supports continuation, respect the path until it changes. R012 and R065 together are the\n     mechanism behind \"dips still get bought\": dealers long gamma to the downside plus a\n     softening rate path means the hedging flow itself is the bid under a dip, rather than\n     sentiment being the bid. Read all three against their verdicts below - two of them did not\n     survive testing in the form they are stated.\n\n   * an ordinary-sized session   [R063]\n     The session moved -1.00%, an ordinary size (larger than 54% of 2026 sessions). Grinding is\n     what he associates with healthy trend rather than with a bounce inside a damaged one.\n     LIMIT: Size alone is the measurable half; 'beaten-up name' is a judgement we do not make.\n     VERDICT (our 5-year study of his rules): R063 is NOT SUPPORTED at the start. The\n     grind-versus-rip distinction does not separate runs at their first sessions, which is\n     exactly when you would need it\n\n   * price down, volatility bid   [R064]\n     Price fell and volatility rose - the ordinary shape of a down session in equities.\n     LIMIT: Half of his rule is missing: his version pairs floating vol with BREADTH, and this\n     stack holds no breadth feed. This is the half we can measure, labelled as half.\n     VERDICT (our 5-year study of his rules): R064 is PARTIAL, AND ON THE WRONG SIDE. Vol\n     floating with price is real for DECLINES, not for the uptrends he describes it in - so the\n     reading below is informative in the opposite direction to the rule's wording\n\n   * futures open interest not available   [BFM]\n     No index-futures open-interest value at this as-of, so the amount of leveraged length\n     outstanding cannot be shown.\n\n   * three prices of the same exposure - cash, futures, options-implied   [R007]\n     The same index quoted three ways. A gap between them is a genuine disagreement about the\n     cost of carrying the exposure, and it is one of the few places on this page where two\n     independent markets can be checked against each other rather than merely reported.\n       cash (QQQ)                 710.72\n       options-implied spot       710.82   from put-call parity, as time to expiry goes to 0\n       ES  futures basis         -4.3 bp over cash   -0.65% annualised\n       NQ  futures basis         -33.2 bp over cash   -5.05% annualised\n       options forward next day   710.90   2026-08-26, 1 days\n                                  straddle 0.81% = the market's own expected move\n       options forward one week   711.32   2026-09-01, 7 days\n                                  straddle 1.97% = the market's own expected move\n       options forward one month  712.54   2026-09-25, 31 days\n                                  straddle 4.46% = the market's own expected move\n\n     DIVERGENCE: options carry 2.85% against ES futures carry -0.65% - a gap of +3.50 points.\n     Two markets are pricing the cost of the same exposure differently, which is either a\n     financing signal or an arbitrage nobody is taking.\n\n     AT A GLANCE              bearish 06-05        bullish 03-31        latest              \n     Nasdaq-100 return %         -4.77 z -3.5 p  1     3.43 z +2.4 p100    -0.97 z -0.8 p 23 \n     put/call by volume          1.002 z -0.9 p 21    1.417 z +1.6 p 95    1.086 z -0.4 p 36 \n     net delta traded, chain   -246980 z -1.2 p 13  -302934 z -1.5 p  6   -57194 z -0.2 p 39 \n     every metric in this lens has a full row in section (d), below the truncation marker.\n\n  LENS 5 - MAGNITUDE AND PERSISTENCE - a wobble, or the start of a multi-week regime?\n\n     The four lenses above describe the CURRENT state. This one asks a different question: does\n     the shape of right now resemble the OPENING of runs that went on to be large and\n     sustained, or the opening of runs that fizzled within a few sessions? It is scored by\n     comparing today's standardised fingerprint against the first sessions of every 2026\n     episode, grouped by how those episodes actually ended. It is a resemblance measure, and\n     resemblance is not a forecast.\n\n   * current conditions most resemble the start of a MEDIUM down-move\n     Today's readings sit closest to the start of a MEDIUM down-move (0.70 similarity, over 23\n     shared measures, from 5 episodes) versus 0.31 for the start of a SHORT-LIVED DIP. The\n     analogue's own history: those runs ran a median -5.7% over a median 7 sessions. THAT IS A\n     DESCRIPTION OF THE ANALOGUE, not a statement about what happens next.\n\n     episode class   similarity      n    median %   sessions\n     middle_down          0.700      5       -5.66          7\n     short_down           0.308      4       -2.57          4\n     middle_up            0.201      5        4.14          9\n     sustained_down      -0.122      1       -9.38         24\n\n     SMALL-n, STATED RATHER THAN HIDDEN: the corpus is 21 episodes from 2026 alone, of which\n     only 2 are classed sustained. Counts are reported raw because with fewer than ten episodes\n     a percentage would imply a precision that does not exist.\n     - The corpus is 2026 only - one regime, 161 sessions. Counts are reported raw; with fewer\n     than ten episodes a percentage would imply precision that does not exist.\n     - Fingerprints are z-scores against the FULL-2026 daily baseline, so an early-2026 episode\n     is scored against a baseline that contains its own future. Stated, not hidden.\n     - The current run is right-censored - its outcome is unknown - so it is SCORED against the\n     corpus but never included IN it.\n     - A fingerprint fitted on a handful of runs DESCRIBES those runs. It is not a law, and\n     nothing here is a forecast.\n\n------------------------------------------------------------------------------------------------\n(e) FRESHNESS, LIMITS AND FAILED RULES - read before you weight anything above\n------------------------------------------------------------------------------------------------\n\n  TWO CLOCKS, NEVER AVERAGED\n    futures    2026-08-25 20:00-21:00 ET (~1 min lag) - LIVE\n    options    2026-08-25T15:52:16-04:00   HELD at the last regular-hours reading\n    flow       2026-08-25 15:00-16:00 ET\n    daily      2026-08-24\n    open int   2026-08-24   settles overnight - a day behind by market structure, not by neglect\n    week       2026-W34   advances only when a week completes\n\n    each tier carries its OWN clock and they are never averaged: futures run ~1 minute behind\n    on a ~23-hour session, the options snapshot is ~5 minutes behind inside market hours and\n    HELD at the last regular-hours reading outside them, open interest settles overnight so it\n    is a day behind by market structure, and the weekly grain only advances once a week is\n    complete.\n\n  END-OF-DAY ONLY, OR ON ITS OWN CLOCK - these cannot be read as live\n    metric                   last obs     sessions behind the latest daily close\n    pc_oi                    2026-08-04   14\n    es_basis_bp              2026-08-04   14\n    nq_basis_bp              2026-08-04   14\n    es_futoi                 2026-08-04   14\n    nq_futoi                 2026-08-04   14\n    hy_oas                   2026-08-21   1\n    ig_oas                   2026-08-21   1\n    hy_ig_spread             2026-08-21   1\n\n  COVERAGE GAPS - named, because a gap you cannot see is worse than one you can\n    - gex: the archive STARTS at 2026-03-02, not at the start of the year - it does not exist\n    before then, so 39 of the 161 2026 sessions have no value by construction rather than by\n    loss\n    - local_gamma_at_spot: the archive STARTS at 2026-03-02, not at the start of the year - it\n    does not exist before then, so 39 of the 161 2026 sessions have no value by construction\n    rather than by loss\n    - call_wall: the archive STARTS at 2026-03-02, not at the start of the year - it does not\n    exist before then, so 39 of the 161 2026 sessions have no value by construction rather than\n    by loss\n    - dist_callwall_pct: the archive STARTS at 2026-03-02, not at the start of the year - it\n    does not exist before then, so 39 of the 161 2026 sessions have no value by construction\n    rather than by loss\n    - vix_vix3m: 22 sessions inside its own covered span (2026-01-02 to 2026-08-24) carry no\n    value - it posts late, so it is a DAILY read and never an intraday trigger\n    - vix_term_slope: 22 sessions inside its own covered span (2026-01-02 to 2026-08-24) carry\n    no value - it posts late, so it is a DAILY read and never an intraday trigger\n    - vix_opt_pc_oi: only 12 observations in the whole of 2026 (2026-08-06 to 2026-08-24) - too\n    short to baseline, so it renders as context and is never scored or voted\n    - pc_oi: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest\n    close (2026-08-24). A sibling column may still be current; this one is not, and a value\n    read off it would be 14 sessions old.\n    - es_basis_bp: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the\n    latest close (2026-08-24). A sibling column may still be current; this one is not, and a\n    value read off it would be 14 sessions old.\n    - nq_basis_bp: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the\n    latest close (2026-08-24). A sibling column may still be current; this one is not, and a\n    value read off it would be 14 sessions old.\n    - es_futoi: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest\n    close (2026-08-24). A sibling column may still be current; this one is not, and a value\n    read off it would be 14 sessions old.\n    - nq_futoi: STOPPED UPDATING - last observation 2026-08-04, 14 sessions before the latest\n    close (2026-08-24). A sibling column may still be current; this one is not, and a value\n    read off it would be 14 sessions old.\n\n  WHAT THE CROSS-ASSET AND POSITIONING SERIES COST IN COVERAGE\n    - MOVE index (rates volatility) (for R036, R037, R038): ACQUIRED + WIRED - votes on the vol\n    axis (1d/1w) and drives the validation detector. Posts late with ~9% of 2026 sessions\n    missing, so it is daily-and-weekly only, never intraday\n    - High-yield and investment-grade credit spreads (for R036, R037, R038): ACQUIRED + WIRED -\n    hy_oas / hy_ig_spread / ig_oas / bbb_oas vote as ONE family on the spot axis (1d/1w).\n    Capped at 3 years of history by ICE/FRED licensing, and T+1\n    - Implied correlation (COR1M/3M/6M) (for R036): ACQUIRED + WIRED - cor1m/cor3m vote as one\n    family on the vol axis (1d/1w); full 2026 coverage\n    - VIX OPTION open interest (for R047): ACQUIRED + WIRED - VOLUME runs through 2026 and\n    votes; the PER-STRIKE open-interest book was purchased at per-contract grain (OPRA.PILLAR,\n    VIX + VIXW) and now drives the strike-position detector, so the cluster is located rather\n    than described. It is a FROZEN window, 2026-03-02 to 2026-08-05, so it is never voted\n    - Net dealer contract position by strike (for R014, R016, R018): ACQUIRED + WIRED - built\n    2026-08-08 from the per-contract OPRA open-interest purchase as a new derived series (calls\n    and puts added at each strike, both roots, all expiries). It renders as the strike-position\n    detector: the position map, the cluster locations with their distance from spot, and how\n    those clusters shifted across 109 sessions\n    - Levered-ETF assets under management (for context): ACQUIRED + WIRED - renders as the\n    stealth-gamma detector on the magnitude axis; full 2026 coverage\n    - Index futures open interest (for context): ACQUIRED + WIRED - renders as the\n    futures-positioning context row; T+1 and currently 3 sessions behind, so it is context\n    rather than a vote\n\n  WHAT IS NOT BUILT AT ALL - and would change a reading if it were\n    - NOT BUILT: Events calendar joined to option expiries (needed for R043). Why it matters:\n    attributing a forward-vol kink to earnings versus a macro event. Status: not in this stack\n    - NOT BUILT: Market breadth (needed for R064). Why it matters: the breadth half of the\n    respect-the-path rule. Status: not in this stack\n    - NOT BUILT: Fixed-strike volatility series (needed for R077, R024, R025). Why it matters:\n    his discriminator for whether an extreme in skew means MORE downside (fixed-strike vol\n    still rising) or a low (fixed-strike vol plateaued) - the single most useful unbuilt signal\n    here. Status: DEFERRED-COMPUTABLE, no new vendor data needed - the chain recorder banks the\n    whole chain every 5 minutes, so differencing the solved IV of the same (expiry, strike,\n    right) between members yields it directly. NOT BUILT, and the page says PENDING rather than\n    pretending\n    - NOT BUILT: Vanna and charm as signals (his OI-S17 / OI-S18) (needed for context). Why it\n    matters: vanna supply into earnings from flattening call skew, and charm accelerating into\n    the close. Status: DELIBERATELY NOT SHIPPED, on measured evidence. Our own paired-session\n    verification (verify_snapshot_greeks.py step A) found vanna and charm diverging by up to\n    5.6e-2 relative between our live solve and the recorder's own greeks, while\n    delta/gamma/vega/theta agreed to 5e-4 - so they were never promoted out of that gate. The\n    earnings half also needs an events calendar joined to expiries, which we do not hold.\n    Shipping them would mean voting on the two greeks our own gate rejected\n\n  RULE VERDICTS - HIS RULES, TESTED. WEIGHT EVERYTHING ABOVE BY THIS TABLE.\n\n    These verdicts are OUR OWN five-year study of his rules against history. It is our test of\n    his rules; he has not seen it and it does not speak for him. LIFT means how much more often\n    the rule's stated outcome followed the setup than it followed a comparable session picked\n    at random: 1.00 is no edge at all, above 1.00 is edge, and below 1.00 means the opposite\n    outcome happened more often than the rule's own.\n\n    R036   SUPPORTED\n           The three VIX bands separate outcomes - the strongest clean result in the study\n    R037   SUPPORTED\n           The fade window after a cross into mid-vol holds up; same band test, same result\n    R038   STRONGLY SUPPORTED\n           70.4% vs 25.9%. But it CONFIRMS a regime that has already turned - it does not\n           predict the turn, so it sizes a position, it does not open one\n    R022   SUPPORTED\n           Equity markets do crash down and grind up, so put skew is the right default\n           expression of the path\n    R064   PARTIAL, AND ON THE WRONG SIDE\n           Vol floating with price is real for DECLINES, not for the uptrends he describes it\n           in - so the reading below is informative in the opposite direction to the rule's\n           wording\n    R063   NOT SUPPORTED at the start\n           The grind-versus-rip distinction does not separate runs at their first sessions,\n           which is exactly when you would need it\n    R030   NOT SUPPORTED\n           Lift 0.98 - zero edge. A call-wall break plus a rotation toward call premium did NOT\n           make a move more likely to have legs\n    R024   CONTRADICTED\n           Lift 0.44 - extreme put skew was followed by the opposite of what the rule implies\n           more often than it was followed by the rule's own outcome\n    R011   NOT ESTABLISHED\n           Our gamma proxy was volume-weighted and the open-interest archive is too short to\n           test it - untested, not refuted\n    R013   NOT ESTABLISHED\n           Same gap as R011: the gamma series we could test with was not the one the rule is\n           about\n\n    An LLM handed his rules WITHOUT these verdicts will over-trust the refuted ones. R030 and\n    R024 in particular read as confident, mechanical patterns, and they are exactly the two\n    that failed. Treat R024 as an inversion warning rather than as a signal; treat R030 as not\n    evaluated here at all; and treat R011 and R013 as UNTESTED rather than as either supported\n    or refused - an untested rule is not a refuted one, and the difference matters when you\n    size anything off it.\n\n------------------------------------------------------------------------------------------------\n(f) ATTRIBUTION - this rides inside the payload, because a page header does not travel\n------------------------------------------------------------------------------------------------\n\n  Analytical framework: Imran Lakha (@options_insight) - https://x.com/options_insight . Rules\n  extracted from his public posts and articles, May-Aug 2026. He has no involvement in and no\n  endorsement of this dashboard. Data and implementation are ours. Not financial advice.\n\n  HIS: the LENS - which questions to ask, which states matter, how to read the surface\n  OURS: the DATA and the IMPLEMENTATION - every number on this page is computed by us, not by\n  him\n\n  - Rules were extracted and paraphrased from sampled public posts and articles (May-Aug 2026);\n  the extraction is not exhaustive and may misread him.\n  - His market calls in those posts are examples of reasoning, not standing orders.\n  - Rules can conflict by design - the two-question matrix (view on spot, view on vol) is what\n  resolves them.\n  - Imran Lakha has no involvement in, and has not endorsed, this dashboard.\n  - Nothing here is financial advice.\n\n  This brief DESCRIBES what the market is pricing and how it is positioned. It is not a\n  forecast, not a recommendation, and not financial advice.\n\n================================================================================================\n###  TRUNCATION MARKER - everything above is self-sufficient. Cut here if context is tight. ###\nBelow: (d) the full three-column metric table, then the per-signal reading behind every vote,\nthen the plain-English glossary for every term used anywhere in this payload.\n================================================================================================\n\n------------------------------------------------------------------------------------------------\n(d) MOST-BEARISH / MOST-BULLISH / LATEST - every metric named in this brief\n------------------------------------------------------------------------------------------------\n\n  HOW THE ARCHETYPE COLUMNS ARE DEFINED: MOST-BEARISH and MOST-BULLISH are the 2026 ARGMIN and\n  ARGMAX of the Nasdaq-100's daily return - the single worst and the single best session of the\n  year on that one measure, and nothing else. They are FROZEN: chosen once, never re-ranked by\n  a scheduled job, and they are the same two days the rest of the omniverse dashboard uses, so\n  a number here can be compared cell-for-cell with a number there. LATEST is each metric's OWN\n  freshest observation, which is not always the same session; a row whose clock differs carries\n  a trailing @MM-DD stamp.\n\n  A MULTI-DAY WINDOW WAS CONSIDERED AND NOT USED, and the choice is stated rather than left\n  silent. The episode census holds 2 SUSTAINED runs that would be the natural multi-day\n  archetypes - the decline 2026-02-25 to 2026-03-30 (-9.38% over 24 sessions) and the advance\n  2026-03-30 to 2026-05-14 (+28.87% over 33 sessions). They were rejected for two measured\n  reasons. FIRST, almost everything these lenses read is a SINGLE-SESSION surface state - the\n  skew level, the VIX-minus-ATM gap, whether the day beat its own breakeven - and averaging\n  those across 20-plus sessions blurs exactly the state the lens is built to detect. SECOND,\n  the frozen days are not in conflict with the multi-day view anyway, because each already sits\n  INSIDE a run of its own sign: the most-bearish day 2026-06-05 falls inside the 2026-06-02 to\n  2026-06-10 run (-7.02% over 7 sessions), and the most-bullish day 2026-03-31 falls inside the\n  2026-03-30 to 2026-05-14 run (+28.87% over 33 sessions). Using the single days therefore\n  keeps continuity with every other omniverse surface without losing the multi-day reading.\n\n  HOW TO READ A CELL: all three columns are read the same way - the QQQ option row for that\n  session, falling back to the market-level row, which is the identical join the frozen\n  archetype baselines were built from. z is against the 2026 DAILY baseline for that metric.\n  The percentile is that value's rank among every 2026 observation of the same metric. Both are\n  shown because they answer different questions, and because they are what lets a skew reading\n  and a dollar-gamma reading be compared for magnitude at all.\n\n                           MOST-BEARISH         MOST-BULLISH         LATEST              \n  metric                   2026-06-05           2026-03-31           2026-08-24          \n                           NDX -4.77%           NDX +3.43%           the freshest close  \n  ------------------------ -------------------- -------------------- --------------------\n  each cell is: value \u00b7 z against the 2026 daily baseline \u00b7 p = percentile of all 2026 readings\n  of that metric. A trailing @MM-DD on a LATEST cell means that row's own as-of session differs\n  from the daily close above.\n\n  == GAMMA / DEALER POSITIONING   [R010-R020] ==\n  net dealer gamma ($)       -4.8bn z -1.2 p 11   +2.5bn z +0.6 p 70   -2.2bn z -0.6 p 30 \n  dealer gamma at spot ($) -137.65m z -0.3 p 39 +916.43m z +0.6 p 83 -263.58m z -0.4 p 30 \n  front ATM implied vol %     25.66 z +0.5 p 71    25.74 z +0.5 p 73    16.90 z -0.8 p 25 \n  daily breakeven move %      1.616 z +0.5 p 71    1.621 z +0.6 p 73    1.064 z -0.8 p 25 \n  the session's own move %    -4.76 z -3.5 p  1     3.38 z +2.4 p100    -1.00 z -0.8 p 22 \n  realised minus breakeven    3.143 z +4.3 p100    1.755 z +2.6 p 99   -0.065 z +0.3 p 68 \n  realised intraday vol %     20.30 z +1.0 p 88    20.63 z +1.0 p 89    11.24 z -0.8 p 27 \n\n  == SKEW / SURFACE   [R021-R032] ==\n  25-delta skew (vol pts)     5.558 z +0.6 p 76    3.490 z -0.6 p 38    2.689 z -1.1 p 15 \n  skew as % of ATM vol         0.65 z +1.2 p 95    -0.77 z -0.9 p 16    -0.46 z -0.4 p 26 \n  CBOE SKEW index            152.25 z +1.7 p 93   145.45 z +0.3 p 69   145.64 z +0.4 p 70 \n  1-session SHIFT in skew     2.909 z +1.9 p 96    1.000 z +0.6 p 73    0.716 z +0.5 p 68 \n  options term slope          1.337 z +0.2 p 60   -0.516 z -0.2 p 38    3.046 z +0.5 p 73 \n  30-day ATM implied vol %    26.99 z +1.5 p 93    25.22 z +0.9 p 83    19.94 z -0.9 p 22 \n  call wall strike           745.00 z +1.2 p 98   577.00 z -1.9 p  2   720.00 z +0.7 p 64 \n  distance to call wall %      5.58 z +2.5 p 98    -0.04 z -0.7 p 15     1.87 z +0.4 p 73 \n\n  == VIX / VOL REGIME / TERM STRUCTURE   [R033-R048] ==\n  VIX                         21.51 z +0.7 p 84    25.25 z +1.8 p 93    15.85 z -0.9 p 19 \n  VIX 1-day change             6.11 z +3.6 p100    -5.36 z -3.2 p  1     0.72 z +0.4 p 76 \n  VIX minus SPX ATM IV         5.93 z +3.0 p 99     3.43 z +0.1 p 61     3.24 z -0.1 p 50 \n  VIX / VIX3M                 0.986 z +1.5 p 88    0.988 z +1.5 p 90    0.854 z -0.6 p 35 \n  VIX term slope              0.310 z -1.5 p 12    0.300 z -1.5 p 11    2.710 z +0.5 p 55 \n  VXN (Nasdaq vol)            30.47 z +1.6 p 95    28.24 z +0.9 p 84    22.69 z -0.8 p 24 \n  VVIX (vol of vol)          102.04 z +0.0 p 66   116.05 z +1.2 p 88    88.64 z -1.1 p 11 \n  implied minus realised       6.69 z -0.2 p 34     4.59 z -0.7 p 20     8.71 z +0.3 p 60 \n  MOVE (rates vol)            75.20 z +0.3 p 70    96.05 z +2.1 p 96    73.98 z +0.1 p 63 \n  MOVE 1-day change            4.04 z +0.8 p 88   -12.28 z -2.5 p  1     0.58 z +0.1 p 61 \n  high-yield OAS               2.76 z -0.6 p 41     3.28 z +2.4 p 99     2.70 z -0.9 p 14 @08-21\n  investment-grade OAS         0.74 z -1.0 p 16     0.90 z +2.2 p 96     0.81 z +0.4 p 79 @08-21\n  high-yield minus IG          2.02 z -0.4 p 49     2.38 z +2.4 p 99     1.89 z -1.3 p  2 @08-21\n  implied correlation 1m      14.52 z +0.1 p 78    28.11 z +1.7 p 90     9.28 z -0.5 p 40 \n  correlation term slope     -2.290 z -0.9 p 13   -0.670 z -0.4 p 19    1.540 z +0.2 p 40 \n  VIX opt put/call (vol)      0.441 z -0.2 p 48    1.062 z +2.8 p 98    0.268 z -1.1 p 10 \n  VIX opt put/call (OI)    null                 null                    0.364 z    - p  - \n      ^ no observation on the most-bearish day or the most-bullish day - this series covers\n      2026-08-06 to 2026-08-24, 12 of 161 sessions\n\n  == PATH / FLOW   [R063-R070] ==\n  Nasdaq-100 return %         -4.77 z -3.5 p  1     3.43 z +2.4 p100    -0.97 z -0.8 p 23 \n  S&P 500 return %            -2.64 z -3.1 p  1     2.91 z +3.2 p100    -0.28 z -0.4 p 31 \n  high-low range %             3.88 z +3.3 p 99     2.50 z +1.3 p 92     1.00 z -0.8 p 24 \n  put/call by volume          1.002 z -0.9 p 21    1.417 z +1.6 p 95    1.086 z -0.4 p 36 \n  put/call by premium         1.253 z +0.2 p 67    1.434 z +0.6 p 81    1.164 z +0.0 p 57 \n  put/call by open int        1.684 z +1.2 p 88    0.923 z -1.9 p  3    1.360 z -0.1 p 51 @08-04\n  net delta traded, chain   -246980 z -1.2 p 13  -302934 z -1.5 p  6   -57194 z -0.2 p 39 \n  at-the-money call delta     0.409 z -2.2 p  2    0.531 z +0.5 p 75    0.538 z +0.6 p 80 \n  total option volume       +12.43m z +4.4 p100   +8.10m z +1.1 p 90   +7.28m z +0.5 p 72 \n  0DTE option volume         +8.07m z +3.7 p100   +4.83m z +0.6 p 72   +5.23m z +1.0 p 84 \n  ES futures basis (bp)       22.36 z -1.0 p 19    62.39 z +0.8 p 83    35.84 z -0.4 p 38 @08-04\n  NQ futures basis (bp)       20.24 z -1.2 p 14    71.19 z +0.7 p 80    48.38 z -0.1 p 46 @08-04\n  ES futures open interest   +2.19m z +1.4 p 92   +1.95m z -0.5 p 34   +2.12m z +0.8 p 86 @08-04\n  NQ futures open interest   311989 z +1.8 p 97   245322 z -1.7 p  5   303624 z +1.3 p 90 @08-04\n  net levered-ETF assets $  +57.6bn z +0.6 p 61  +39.0bn z -1.7 p  3  +60.0bn z +1.0 p 75 \n  US dollar 1-day change      0.660 z +1.9 p 98   -0.550 z -1.6 p  8    0.200 z +0.5 p 72 \n\n------------------------------------------------------------------------------------------------\nFULL READING - every signal, its vote, and the mechanism behind it\n------------------------------------------------------------------------------------------------\n\n  This is the detail under section (b): each horizon, each axis, every reading that voted, what\n  it contributed in standard deviations, and what that reading MEANS at the level it is sitting\n  at. Readings that could not be scored are listed too, with the measured reason - a signal is\n  never dropped silently.\n\n  1 HOUR  ->  long premium ONLY if it is genuinely cheap\n    SPOT: sideways   -0.27 on -10..+10   (6 readings)\n      why: the readings agree and they agree on NOTHING MUCH - they average -0.3 with\n      individual size only 0.7 sigma. A genuinely quiet reading, not a missing one\n      -2.11 sigma  futures basis over cash                  [BFM]\n          Futures trade cheap to cash - or below it. Leveraged long exposure is being offered\n          rather than bid, which is what hedging pressure or funding stress looks like in the\n          basis.\n          caveat: A BFM signal, not one of his rules - included because it is the cleanest\n          futures-side read we hold.\n      +0.73 sigma  net delta traded across the chain        [BFM]\n          Net call-delta was bought across the chain - the option tape leaned long.\n          confidence: LOW-CONF (volume-weighted; the feed carries no buy/sell aggressor)\n      +0.40 sigma  put/call activity                        [BFM]\n          Puts and calls are trading in their usual proportion.\n          caveat: Volume carries no buy/sell aggressor in this feed, so this is participation,\n          not direction of intent.\n      +0.38 sigma  skew / tail-hedging                      [R021,R022,R023]\n          Puts carry their usual premium over calls. That standing put skew is the DEFAULT\n          state for equity indices, so at this level the surface is saying nothing unusual\n          about the path.\n          caveat: Direction here is genuinely two-sided at extremes: he also notes a steep skew\n          can SUPPORT the market into expiry, and that high vol plus high put skew is fuel for\n          a violent bounce. The extreme-skew detector below carries that discriminator; this\n          vote does not.\n      +0.38 sigma  at-the-money call delta                  [BFM]\n          At-the-money call delta sits about where it usually does.\n          confidence: LOW-CONF (indirect: it also moves with skew and with the forward)\n      +0.06 sigma  realised move (path)                     [R063,R064]\n          Price went essentially nowhere over the window - a flat path is a real reading about\n          this window, not an absence of one.\n          caveat: Size alone does not tell you health: he warns that violent green days in\n          beaten-up names can be BEAR behaviour, and that healthy uptrends GRIND. The\n          grind-vs-rip detector separates those.\n      UNAVAILABLE  skew SHIFT (change, not level)\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  futures curve shape\n          a 1h baseline for this metric does not exist, so there is nothing to standardise it\n          against at this grain - it is excluded rather than scored against a baseline\n          belonging to a different unit\n      UNAVAILABLE  US dollar direction\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  put/call open interest\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  credit spreads\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  VIX option put/call\n          this reading is not defined at the 1h grain\n    VOL: clearly cheap   -4.08 on -10..+10   (2 readings, THIN)\n      why: 2 readings average -0.41 sigma\n      -0.80 sigma  at-the-money implied vol                 [R049,R050]\n          Options are cheap against their own 2026 range - convexity is on offer rather than\n          being charged for.\n      -0.02 sigma  options term-structure slope             [R042]\n          The options curve carries its usual mild slope.\n      UNAVAILABLE  implied minus realised vol\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  realised move vs the front-implied breakeven\n          no value in the live tier at this as-of - outside market hours the options side is\n          held at the last regular-hours reading and the flow side needs the chain recorder's\n          members for a complete clock hour\n      UNAVAILABLE  VIX minus at-the-money implied vol\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  volatility direction\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  VIX term structure\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  bond-market volatility (MOVE)\n          this reading is not defined at the 1h grain\n      UNAVAILABLE  implied correlation\n          this reading is not defined at the 1h grain\n\n  1 DAY  ->  lean short delta / buy convexity on the bear side\n    SPOT: leans down   -1.94 on -10..+10   (9 readings)\n      why: 9 readings average -0.19 sigma\n      -1.09 sigma  VIX option put/call                      [BFM]\n          VIX CALLS dominate the flow - the crash hedge is being bought. That is demand for\n          protection against a volatility spike, which is a risk-off tell.\n          confidence: LOW-CONF (volume carries no buy/sell aggressor, so this is participation,\n          not intent)\n          caveat: This uses VOLUME, which runs back through 2026. The per-strike OPEN-INTEREST\n          book is a separate, frozen window (2026-03-02 to 2026-08-05) and drives the\n          strike-position detector rather than this vote.\n      -0.67 sigma  realised move (path)                     [R063,R064]\n          Price fell over the window. The path itself is the reading here - not a judgement\n          about whether the fall was orderly or violent, which the grind-or-rip detector\n          handles separately.\n          caveat: Size alone does not tell you health: he warns that violent green days in\n          beaten-up names can be BEAR behaviour, and that healthy uptrends GRIND. The\n          grind-vs-rip detector separates those.\n      +0.63 sigma  at-the-money call delta                  [BFM]\n          The at-the-money call delta sits high - spot is riding above the forward, or put-skew\n          is light.\n          confidence: LOW-CONF (indirect: it also moves with skew and with the forward)\n      -0.54 sigma  US dollar direction                      [BFM]\n          The dollar strengthened - historically a headwind for US equities and for risk\n          generally.\n      -0.45 sigma  skew SHIFT (change, not level)           [R023,R032]\n          Skew barely moved - no change of mind priced into the shape of the surface.\n          caveat: Needs a prior observation at the same grain; at 1h it renders unavailable\n          until history accrues.\n      +0.44 sigma  credit spreads                           [R036]\n          Credit spreads sit in their ordinary range - lenders are neither nervous nor\n          unusually relaxed.\n          caveat: ICE/FRED credit series are published daily but with a T+1 lag and are capped\n          at three years of history by licensing, so this votes at the daily and weekly grains\n          only - never intraday.\n      -0.23 sigma  net delta traded across the chain        [BFM]\n          Call and put delta traded roughly in balance.\n          confidence: LOW-CONF (volume-weighted; the feed carries no buy/sell aggressor)\n      +0.18 sigma  put/call activity                        [BFM]\n          Puts and calls are trading in their usual proportion.\n          caveat: Volume carries no buy/sell aggressor in this feed, so this is participation,\n          not direction of intent.\n      -0.01 sigma  skew / tail-hedging                      [R021,R022,R023]\n          Puts carry their usual premium over calls. That standing put skew is the DEFAULT\n          state for equity indices, so at this level the surface is saying nothing unusual\n          about the path.\n          caveat: Direction here is genuinely two-sided at extremes: he also notes a steep skew\n          can SUPPORT the market into expiry, and that high vol plus high put skew is fuel for\n          a violent bounce. The extreme-skew detector below carries that discriminator; this\n          vote does not.\n      UNAVAILABLE  futures basis over cash\n          no value within the staleness cap at this as-of\n      UNAVAILABLE  futures curve shape\n          no value within the staleness cap at this as-of\n      UNAVAILABLE  put/call open interest\n          no value within the staleness cap at this as-of\n    VOL: leans cheap   -2.53 on -10..+10   (9 readings)\n      why: 9 readings average -0.25 sigma\n      -0.85 sigma  at-the-money implied vol                 [R049,R050]\n          Options are cheap against their own 2026 range - convexity is on offer rather than\n          being charged for.\n      -0.83 sigma  VIX term structure                       [R042,R044]\n          Near-dated vol sits well below longer-dated - the calm, upward-sloping shape.\n      -0.54 sigma  implied correlation                      [R036]\n          Implied correlation is LOW: stocks are expected to move on their own stories. Index\n          moves get damped because the names cancel each other out - the classic quiet-index\n          backdrop.\n          confidence: LOW-CONF (describes the mechanical backdrop to index volatility, not the\n          price of options today)\n      -0.53 sigma  options term-structure slope             [R042]\n          The options curve slopes upward - the front is calm relative to a month out.\n      +0.43 sigma  volatility direction                     [R064]\n          Volatility was little changed over the window: the market did not re-rate the price\n          of movement in either direction, which is itself a statement about how settled the\n          tape is.\n      -0.33 sigma  realised move vs the front-implied breakeven [R020]\n          Realised movement is running close to the front-implied breakeven - gamma roughly\n          pays for its theta.\n          caveat: CORRECTED from the owner's rules file. The file's absolute buckets\n          (0.5-0.6%/day long gamma, 2-3%/day short gamma) could not be verified in 60 articles\n          and 70 posts; the relative breakeven rule is what he actually states, and his\n          arithmetic checks exactly (12% front implied => 0.756%/day).\n      +0.32 sigma  implied minus realised vol               [R077,R059,R060]\n          Implied sits at its usual premium to realised - the normal risk premium, nothing\n          stretched.\n      +0.15 sigma  bond-market volatility (MOVE)            [R036,R037,R038]\n          Rates volatility sits in its ordinary range.\n          confidence: LOW-CONF (a CROSS-ASSET reading: it measures the bond market, not the\n          price of equity options)\n          caveat: MOVE posts LATE and carries gaps (about 9% of 2026 sessions are missing), so\n          it is a daily-and-weekly signal only and is never used as an intraday trigger.\n      -0.09 sigma  VIX minus at-the-money implied vol       [R033,R034,R035]\n          The gap sits in its usual range - the ordinary wedge that equity put skew puts\n          between the two.\n          caveat: He gives one dated worked example - VIX 18 against 1-month at-the-money 14, a\n          4-point gap. The 'typically 3-5 points' range in the owner's file could NOT be\n          verified, so it is shown as a reference figure only; the banding here is our own 2026\n          percentile.\n\n  1 WEEK  ->  lean short delta / buy convexity on the bear side\n    SPOT: clearly down   -3.62 on -10..+10   (8 readings)\n      why: 8 readings average -0.36 sigma\n      -1.64 sigma  VIX option put/call                      [BFM]\n          VIX CALLS dominate the flow - the crash hedge is being bought. That is demand for\n          protection against a volatility spike, which is a risk-off tell.\n          confidence: LOW-CONF (volume carries no buy/sell aggressor, so this is participation,\n          not intent)\n          caveat: This uses VOLUME, which runs back through 2026. The per-strike OPEN-INTEREST\n          book is a separate, frozen window (2026-03-02 to 2026-08-05) and drives the\n          strike-position detector rather than this vote.\n      +1.05 sigma  US dollar direction                      [BFM]\n          The dollar weakened - the easier backdrop for equities.\n      -1.02 sigma  realised move (path)                     [R063,R064]\n          Price fell over the window. The path itself is the reading here - not a judgement\n          about whether the fall was orderly or violent, which the grind-or-rip detector\n          handles separately.\n          caveat: Size alone does not tell you health: he warns that violent green days in\n          beaten-up names can be BEAR behaviour, and that healthy uptrends GRIND. The\n          grind-vs-rip detector separates those.\n      -0.90 sigma  skew SHIFT (change, not level)           [R023,R032]\n          Skew steepened. His point is that a shift is the market CHANGING ITS MIND about the\n          shape of the world, not just repricing option cost - the surface is re-rating\n          downside as more violent than it did a moment ago.\n          caveat: Needs a prior observation at the same grain; at 1h it renders unavailable\n          until history accrues.\n      -0.57 sigma  net delta traded across the chain        [BFM]\n          Net put-delta dominated the option tape.\n          confidence: LOW-CONF (volume-weighted; the feed carries no buy/sell aggressor)\n      +0.31 sigma  credit spreads                           [R036]\n          Credit spreads sit in their ordinary range - lenders are neither nervous nor\n          unusually relaxed.\n          caveat: ICE/FRED credit series are published daily but with a T+1 lag and are capped\n          at three years of history by licensing, so this votes at the daily and weekly grains\n          only - never intraday.\n      -0.14 sigma  skew / tail-hedging                      [R021,R022,R023]\n          Puts carry their usual premium over calls. That standing put skew is the DEFAULT\n          state for equity indices, so at this level the surface is saying nothing unusual\n          about the path.\n          caveat: Direction here is genuinely two-sided at extremes: he also notes a steep skew\n          can SUPPORT the market into expiry, and that high vol plus high put skew is fuel for\n          a violent bounce. The extreme-skew detector below carries that discriminator; this\n          vote does not.\n      +0.02 sigma  put/call activity                        [BFM]\n          Puts and calls are trading in their usual proportion.\n          caveat: Volume carries no buy/sell aggressor in this feed, so this is participation,\n          not direction of intent.\n      UNAVAILABLE  futures basis over cash\n          not enough sessions in the last complete week carried this metric for the weekly\n          aggregation to accept it (the weekly build refuses a metric below 60% session\n          coverage rather than aggregating a partial week)\n      UNAVAILABLE  futures curve shape\n          not enough sessions in the last complete week carried this metric for the weekly\n          aggregation to accept it (the weekly build refuses a metric below 60% session\n          coverage rather than aggregating a partial week)\n      UNAVAILABLE  at-the-money call delta\n          this reading is not defined at the 1w grain\n      UNAVAILABLE  put/call open interest\n          not enough sessions in the last complete week carried this metric for the weekly\n          aggregation to accept it (the weekly build refuses a metric below 60% session\n          coverage rather than aggregating a partial week)\n    VOL: clearly cheap   -4.51 on -10..+10   (8 readings)\n      why: 8 readings average -0.45 sigma\n      -1.14 sigma  at-the-money implied vol                 [R049,R050]\n          Options are cheap against their own 2026 range - convexity is on offer rather than\n          being charged for.\n      -1.05 sigma  options term-structure slope             [R042]\n          The options curve slopes upward - the front is calm relative to a month out.\n      -0.97 sigma  VIX minus at-the-money implied vol       [R033,R034,R035]\n          The gap is narrow: the tail is priced close to at-the-money movement. Unusually\n          little is being paid for the wings.\n          caveat: He gives one dated worked example - VIX 18 against 1-month at-the-money 14, a\n          4-point gap. The 'typically 3-5 points' range in the owner's file could NOT be\n          verified, so it is shown as a reference figure only; the banding here is our own 2026\n          percentile.\n      -0.56 sigma  implied correlation                      [R036]\n          Implied correlation is LOW: stocks are expected to move on their own stories. Index\n          moves get damped because the names cancel each other out - the classic quiet-index\n          backdrop.\n          confidence: LOW-CONF (describes the mechanical backdrop to index volatility, not the\n          price of options today)\n      -0.50 sigma  realised move vs the front-implied breakeven [R020]\n          Realised movement is running close to the front-implied breakeven - gamma roughly\n          pays for its theta.\n          caveat: CORRECTED from the owner's rules file. The file's absolute buckets\n          (0.5-0.6%/day long gamma, 2-3%/day short gamma) could not be verified in 60 articles\n          and 70 posts; the relative breakeven rule is what he actually states, and his\n          arithmetic checks exactly (12% front implied => 0.756%/day).\n      +0.28 sigma  volatility direction                     [R064]\n          Volatility was little changed over the window: the market did not re-rate the price\n          of movement in either direction, which is itself a statement about how settled the\n          tape is.\n      +0.26 sigma  implied minus realised vol               [R077,R059,R060]\n          Implied sits at its usual premium to realised - the normal risk premium, nothing\n          stretched.\n      +0.09 sigma  bond-market volatility (MOVE)            [R036,R037,R038]\n          Rates volatility sits in its ordinary range.\n          confidence: LOW-CONF (a CROSS-ASSET reading: it measures the bond market, not the\n          price of equity options)\n          caveat: MOVE posts LATE and carries gaps (about 9% of 2026 sessions are missing), so\n          it is a daily-and-weekly signal only and is never used as an intraday trigger.\n      UNAVAILABLE  VIX term structure\n          not enough sessions in the last complete week carried this metric for the weekly\n          aggregation to accept it (the weekly build refuses a metric below 60% session\n          coverage rather than aggregating a partial week)\n\n------------------------------------------------------------------------------------------------\nPLAIN ENGLISH - every term used anywhere above\n------------------------------------------------------------------------------------------------\n\n  On the page each of these is a (?) you can hover or tap. A popup does not survive a\n  copy-paste into a chat, a post or a prompt, so the same table is written out here.\n\n  vol cheap                options are unusually cheap - protection and bets on movement cost\n                           little\n  right-censored           the run is still in progress, so we score it but never count it as a\n                           finished episode\n  put-call parity          a fixed arithmetic link between a call, a put and the price - no\n                           forecasting involved\n  term structure           how the price of options changes as you look further out in time\n  open interest            how many contracts are actually being held, not just traded today\n  forward vol              the movement priced for the gap between two future dates\n  long gamma               dealer hedging DAMPS moves - dips tend to get bought\n  short gamma              dealer hedging AMPLIFIES moves - the same move travels further\n  implied vol              how much movement options are pricing in\n  realised vol             how much the price actually moved\n  convexity                payoff that accelerates as the move gets bigger\n  straddle                 buying a call and a put together - a pure bet on movement either way\n  0DTE                     options that expire the same day\n  OPEX                     monthly options expiry week\n  implied correlation      whether stocks are moving as one herd instead of on their own stories\n  credit spreads           what risky companies pay to borrow over Treasuries - widening means\n                           lenders getting nervous\n  high-yield               bonds from the riskiest borrowers - the first place credit stress\n                           shows up\n  levered-ETF              funds that promise 2x or 3x the daily move, and must trade every close\n                           to keep that multiple\n  assets under management  the total pot of money a fund is running\n  net contracts by strike  how many option contracts are open at each price level, with calls and\n                           puts added together rather than kept apart\n  centre of gravity        the average strike of the whole book, weighted by how many contracts\n                           sit at each one\n  strike cluster           a run of neighbouring strikes that together hold an unusually large\n                           share of the open contracts\n  as-of session            the trading day whose closing positions a figure describes, which is\n                           not always the day the data was published\n  MOVE                     the bond market's fear gauge - the VIX of US Treasuries\n  OAS                      the extra yield a corporate bond pays over Treasuries, adjusted for\n                           early-repayment options\n  skew                     how much more puts cost than calls - the price of downside protection\n  basis                    the gap between the futures price and the actual index\n  carry                    the annualised cost or gain of holding the position to expiry\n  gamma                    how fast dealers' hedging needs change as price moves\n  theta                    the daily cost of owning an option as time passes\n  vega                     how much an option's value moves when volatility changes\n  delta                    how much an option moves for a $1 move in the underlying\n  dealers                  the market makers who take the other side of options trades\n  percentile               where this sits against every other reading of 2026\n  sigma                    standard deviations from normal - how unusual this is\n  spot                     the current cash price of the index itself\n\n================================================================================================\nAnalytical framework: Imran Lakha (@options_insight) - https://x.com/options_insight . Rules\nextracted from his public posts and articles, May-Aug 2026. He has no involvement in and no\nendorsement of this dashboard. Data and implementation are ours. Not financial advice.\nhttps://x.com/options_insight\n================================================================================================\n",
 "brief_meta": {
  "chars": 78250,
  "chars_above_truncation_marker": 46356,
  "structure": [
   "(a) task preamble",
   "(b) the two boxes, per horizon (R002)",
   "(c) the lenses: gamma, skew, VIX/regime, path/flow, magnitude",
   "(d) most-bearish / most-bullish / latest, every metric",
   "(e) freshness, coverage limits and the rule verdicts",
   "(f) attribution"
  ],
  "note": "the .txt on disk, the server-rendered mirror, the JSON `abstract` field and the copy-as-text modal are all THIS string - there is no second assembly path"
 }
}