The S&P's Put Skew Forecasts Volatility at 0.4833 and Direction at 0.0166
The 25-delta put trades 6.50 volatility points above the 25-delta call across 1,848 sessions of our own SPY chain. Against the next ES session's direction that skew scores r = 0.0166 at p = 0.4762; against the realised volatility of the following 21 sessions it scores 0.4833 with p rounding to zero. The term structure behaves the same way: r = −0.5742 against the next session's range, and no tradeable split, with backwardation sessions paying $2.56 at t = 0.02 and contango sessions $58.65 at t = 1.27. Both shapes are volatility forecasts sold as direction warnings.
The 25-delta put on SPY trades 6.50 volatility points above the 25-delta call. Both the steepness of that skew and the slope of the volatility term structure are sold as warnings about what the market is going to do next. On 1,848 sessions of our own option chain against the next ES cash session, neither one predicts direction, and both predict volatility.
Skew against the next session’s move scores r = 0.0166. Skew against the realised volatility of the following 21 sessions scores 0.4833. That gap is the whole article.
This is the second piece from the same test run. The first covered the variance risk premium and found it was not there: the S&P’s variance risk premium is zero. This one takes the other two shapes of the surface.
The data
The options half of this series runs on our own OPRA recording, one row per contract per session, with the exchange’s greeks, open interest and volume. The chain store starts in 2019, so this is a seven-year test against the twelve and a half years of ES ticks the rest of the series uses. Where the extra five years carry a finding in this series we say so. Here they do not exist, and no claim below reaches back past 2 January 2019.
Two limits are load-bearing and both are repeated in the method line.
- Open interest is a daily OCC figure, so anything derived from it describes the state at the start of a session, not intraday.
- Sessions after 29 May 2026 are excluded. The recorder’s last snapshot of the day is sometimes a truncated post-close chain, which breaks the ATM reference. Those rows are dropped rather than quietly averaged in.
The rule
- Skew is the implied volatility of the 25-delta put minus that of the 25-delta call, from the recorded chain, in volatility points.
- Term structure is three-month ATM implied minus one-week ATM implied. Positive is contango, negative is backwardation.
- Both are measured at the session’s chain snapshot and correlated against the next ES cash session: its open-to-close move, its absolute move, its high-low range, and the realised volatility of the following 21 sessions.
- For the traded versions, sessions are sorted into five equal skew buckets and, separately, split on the sign of the term structure. Each bucket is simply long the next ES cash session, open to close, one contract.
- Every traded line carries costs. Nothing below is a gross number.
Skew predicts one thing, and it is not the thing it is sold for
Three correlations, same variable, same 1,848-session window.
| Skew against | r | p | n |
|---|---|---|---|
| Next session’s move (signed) | 0.0166 | 0.4762 | 1,848 |
| Next session’s absolute move | 0.2512 | 0.0000 | 1,848 |
| Realised volatility, next 21 sessions | 0.4833 | 0.0000 | 1,828 |
The first row is the claim everybody makes, and it is a coin. A p-value of 0.4762 means the sign of that 0.0166 is not stable enough to name.
The third row is the one worth keeping. Skew explains a real share of the volatility of the following three weeks, which is a longer horizon than most of what this series measures and a more honest one for an option-derived number. A skew reading is, after all, a price for a three-week hedge. It should know something about three weeks of volatility. It has no business knowing which way the index goes, and it does not.
This is now the fourth quantity in this series to behave exactly this way. Dealer gamma did it, ATM implied volatility did it, session volume did it, and now skew does it. Each was presented to us as a direction tool, each turned out to be a decent volatility forecast, and each scored somewhere between −0.02 and 0.02 against direction. The pattern deserves a name, so here it is: on a daily bar, almost everything that appears to work is a volatility signal. Volatility is persistent and direction is not. Any measurement that picks up persistence will look impressive against an absolute-value target and will look like noise the moment you restore the sign.
The traded version of the skew warning
If a steep skew warns of a drop, the steepest bucket should lose money on a long. Five buckets, each long the next session, costs in.
| Bucket | Sessions | Mean skew | Win rate | Average | Total | PF | Sharpe | t |
|---|---|---|---|---|---|---|---|---|
| Flattest | 370 | 3.20 pts | 53.2% | +$0.87 | $322.50 | 1.002 | 0.01 | 0.01 |
| 2 | 369 | 4.71 pts | 55.0% | +$22.80 | $8,414.50 | 1.040 | 0.22 | 0.26 |
| 3 | 370 | 6.01 pts | 52.7% | +$89.18 | $32,997.50 | 1.149 | 0.82 | 0.99 |
| 4 | 369 | 7.44 pts | 52.6% | −$34.21 | −$12,623.00 | 0.948 | −0.30 | −0.36 |
| Steepest | 370 | 11.14 pts | 55.7% | +$58.03 | $21,472.50 | 1.062 | 0.33 | 0.40 |
There is no ordering here. The averages go up, up, up, down, up. The best bucket is the middle one, which is where nobody claims an edge lives, and even that is t = 0.99. Not one of the five is significant.
The steepest bucket is the interesting failure. Mean skew there is 11.14 volatility points, roughly three and a half times the flattest bucket, and those are the readings that get screenshotted with a warning attached. Being long into the next session after those readings paid +$58.03 a session at t = 0.40. The market went slightly up after the scariest skew prints, and t = 0.40 says that slight rise is a coin. Both halves of that sentence matter. The warning is not merely weak. It is not even pointing the right way.
The term structure, same story, larger number
One-week implied against three-month implied, on 1,592 sessions with a next session to measure. The curve is in contango 66.0% of the time, which is the expected shape and matches what index-level VIX term data has always shown.
| Term structure against | r | p | n |
|---|---|---|---|
| Next session’s range | −0.5742 | 0.0000 | 1,592 |
| Next session’s move (signed) | −0.0494 | 0.0487 | 1,592 |
The first is the largest single correlation in this test run, and its sign is the intuitive one. A negative term reading is backwardation, near-dated implied above far-dated, and it comes with a wider next session. That is a good volatility forecast and we will treat it as one.
The second number needs care rather than celebration. It sits at p = 0.0487, just under the conventional threshold, and it is one of roughly a dozen correlations we ran across this article and its companion. At that count, one result landing just inside 0.05 is what chance produces on its own, and a magnitude of 0.0494 explains under a quarter of one percent of the variance in the next session’s move. We do not treat it as a finding, and we would not size a position on it if it were three times larger.
The traded version of the curve
Long the next session, split on the sign of the curve, against the baseline of being long regardless.
| Backwardation | Contango | Every session | |
|---|---|---|---|
| Sessions | 540 | 1,051 | 1,592 |
| Win rate | 53.3% | 54.5% | 54.1% |
| Average | +$2.56 | +$58.65 | +$39.43 |
| Total | $1,382.50 | $61,645.50 | $62,773.50 |
| Median | $170.50 | $120.50 | $126.75 |
| Profit factor | 1.003 | 1.114 | 1.060 |
| Max drawdown | $47,855.00 | $37,284.00 | $45,291.50 |
| Sharpe | 0.02 | 0.62 | 0.32 |
| t | 0.02 | 1.27 | 0.79 |
| p | 0.9824 | 0.2032 | 0.4285 |
Read honestly, that table says one thing: contango sessions look better than backwardation sessions, and neither clears significance. Contango at t = 1.27 is not a result. Backwardation at t = 0.02 is a flat line with a drawdown of $47,855.00 attached.
The baseline finishes the argument. Long every session made $62,773.50, and the contango-only version made $61,645.50 of it. Contango is two thirds of all sessions, so the “signal” version is very nearly the baseline with a third of the sample removed. The Sharpe does improve, 0.62 against 0.32, and that improvement is exactly what you would expect from dropping the noisier third of a mildly positive drift. It is not evidence that the curve told you when to be in.
We have been here before with the index version of the same idea. We concluded a while ago that the VIX against VIX3M ratio is a stress indicator rather than a timing signal, and we stopped using it for entries. This is that conclusion measured a second time, on our own chain instead of on an index of an index, with 1,592 sessions and costs deducted. The answer did not change.
What both shapes are actually good for
Neither of these is a null result in the useless sense. They are misfiled tools.
Skew’s 0.4833 against three weeks of realised volatility is a genuinely useful number. If you are sizing a position over the next month, pricing a hedge, or setting a stop distance that should scale with conditions, a variable that explains that much of the coming volatility earns a place in the model. Term structure’s −0.5742 against the next session’s range is a better single-day number than most things on a screen, and it survives against the same benchmarks that have beaten most of what we tested this year.
So we keep both, and we keep them in the right drawer. Skew and term structure go into the volatility feature set, next to dealer gamma, ATM implied volatility and yesterday’s range, where they can inform how large a position is. Neither becomes a signal. Neither gets a sleeve. Neither is allowed to tell anyone which way to lean, because on 1,848 sessions of measurement neither one knows.
The same conclusion, arrived at from three different directions, sits in the dealer gamma test and in the entropy test.
The ES archive this ran against is for sale — ticks back to 2014, from which every cash session here was built — in the historical data packages.
Methodology: SPY option chains from our own OPRA recording, one row per contract per session with the exchange’s greeks, open interest and volume, joined to ES cash sessions built from our own tick archive, 09:30–16:00 New York. The chain store starts in 2019, so the window is 2 January 2019 to 29 May 2026 — seven years, against the twelve and a half years of ES ticks the rest of this series uses. 1,848 sessions carry a skew reading and a next session; 1,592 carry a term-structure reading and a next session. Skew is 25-delta put implied minus 25-delta call implied; term structure is three-month ATM implied minus one-week ATM implied. Two limits apply: open interest is a daily OCC figure, so anything derived from it describes the state at the START of each session and not intraday; and sessions after 29 May 2026 are excluded because the recorder’s last snapshot of the day is sometimes a truncated post-close chain from which the ATM reference cannot be built. Correlations are Pearson, two-sided p. Traded lines mark the next session’s open-to-close move at $50 per ES point on one contract, with the series cost convention of $4.50 commission plus two ticks per round trip, $29.50, deducted from every trade.
Frequently asked questions
Does a steepening put skew warn that the market is about to fall?
No. Across 1,848 sessions the correlation between skew and the next ES cash session's open-to-close move is 0.0166 at p = 0.4762, which is nothing. Traded directly, the steepest-skew quintile made +$58.03 a session at t = 0.40 — the market drifted slightly up after the scariest readings, not down.
So is skew useless?
It is useful, but for a different job. Skew correlates 0.4833 with the realised volatility of the following 21 sessions, and 0.2512 with the next session's absolute move, both at p rounding to zero. That makes it a volatility forecast worth carrying in a sizing or hedge-pricing model.
How often is the S&P volatility curve in contango, and does it matter?
The one-week against three-month curve is in contango on 66.0% of the 1,592 sessions measured. Contango sessions returned +$58.65 a session at t = 1.27 and p = 0.2032; backwardation sessions returned +$2.56 at t = 0.02 and p = 0.9824. Neither clears significance, so there is no timing rule in the split.
Does an inverted volatility curve predict a wider day?
Yes, and strongly. Term structure correlates −0.5742 with the next ES cash session's range at p rounding to zero, so a curve in backwardation comes with bigger ranges. Against the next session's direction the same variable scores −0.0494, which we do not treat as a finding.
Would trading the curve have beaten simply being long?
No. Long every one of the 1,592 sessions made $62,773.50 at Sharpe 0.32. The contango-only version made $61,645.50 at Sharpe 0.62 while sitting inside that same result, because contango is two thirds of all sessions. Costs of $29.50 a round trip are deducted from every line.