stacking carry: an inflation hedge you get paid to own

US bond yields are rising as inflation re-enters the conversation. The 10-year yield is up to 4.65% and 30-year bonds have just crossed 5%, a nearly 20-year high.

This isn’t surprising. 6 weeks ago, in Trading As A Sudoku Puzzle With Prices As The Given Numbers, I talked about how 1-year gasoline futures were trading at a 1/3 discount to prompt pricing, but if gasoline prices remain high, this will roll up. If spot prices stay high for a year, those back-month futures will converge to current prices. Even though energy is only about 5% of CPI, the size of such a sustained move would easily transmit 1.5% to inflation indices and that is just due to direct energy effects and ignoring indirect effects on food, construction, and transport.

We’ll switch the conversation to crude oil just because it’s more widely tracked and the specifics of the contracts aren’t critical to where we’re going. Prompt oil is roughly in the same place vs 7 weeks ago, but the contract that was 12-months out and is now 11-months out has rolled up >6%. Meanwhile, another month of sustained high oil prices has pushed the 10-year yield up 30 bps from 4.3% to 4.6% with IEF price returning about -1.6% a bit better than what’s expected by its duration.*

*There’s some leeway since I’m using an index for the yield which may have a different set of weighted maturities than IEF holds. Also, IEF total return is closer to -1.1% because you earn interest for 7 weeks.

So far, so good. The reaction function in bonds makes sense. But my Sudoku post claimed that an inflation-induced yield bump would transmit to real equity risk premiums. In other words, I would expect equities to sell off with bonds, or heck, at least not have such a sharp rally.

This is not quite the puzzle it appears to be. The equity exuberance is actually quite limited if you look under the hood of the index.

From Shannon’s substack:

The internals are doing something the people who watch this for a living have never seen. The S&P is up 4.2% month-to-date with 209 stocks up and 295 down. The NASDAQ is up 8% month-to-date on a near-even split (51 up, 50 down). The index is 9% above its 50-day moving average while only roughly half the components are above their own 50-day; at that distance you’d normally expect 80% breadth. Four days running, more S&P stocks hit new 52-week lows than 52-week highs, with the index at all-time highs and up 30% year over year. Yesterday 9% of the index hit new lows. None of this happens together in a healthy tape.

I’ve noticed many market people interpret these “internals” as bearish. I’m not sure this is bearish for the index. It just is. A few companies are eating everything else. We get it. At this point, the low cross-correlation of the components is common knowledge (isn’t this what managers call a “stock pickers market”?).

Rather than use the term “bearish” which has a predictive slant I can’t justify, we can just accept that the sustained oil price, inflation jitters, and rise in yields are being reflected in prices broadly. SMH (semis ETF) is near 1-year highs while XHB (homebuilders) are near one-year lows.

The AI story is in a parallel vacuum, indifferent to relics like discount rates or identities such as spending = income, but stocks overall are not being indiscriminantly bid. SPY has returned nearly 2x RSP, the equal-weighted SP500 index, over the past year. So the loving arms of our cap-weighted benchmarks hold us tight, shielding our eyes from the turmoil within. Trepidation over supply-side inflation is confirmed by bond and non-AI stocks alike.

Concerned with inflation, I dust off some old posts, like What I Learned About TIPs which I wrote when I bought when breakevens shrunk to about 2.2% (green box).

(When breakevens are skinny, TIPs are relatively cheap compared to nominal bonds, and when they are fat, they are relatively expensive. The way to think of that is if you buy TIPs at say 2% breakevens, then you are better off with the TIPs if CPI realizes more than 2% and vice versa.)

Breakevens are currently matching 3-year highs so TIPs don’t look attractive on a relative basis, but that’s only one lens. The real driver of my decision to buy TIPs in Oct 2023 was the absolute real rate which was ~2.45% which still stands as the peak for most investors under age 40’s working life.

Remember that’s 245 bps of return above inflation for no risk and if you hold them in an IRA, no tax drag. Historically speaking, equity real returns have been in the range of 3-6%, but recent years have been quite a run of heads. Whether the coin is biased now is a question for someone smarter than I. But I digress.

The point is I’ve started once again to consider inflation-aware trades. 10-year TIPs don’t stand out as a bargain relative to nominal bonds. I’m wary on gold and silver because of how well they’ve performed recently, but also historically, they have not been great to own when real rates increase and we can see from the absolute TIPs rate that, despite breakevens not breaking out, real rates are crawling higher, approaching an 18-month high.

So I dust off yet another post, this one from 2 years ago: Inflation Replicator. I show how a portfolio of oil futures plus nominal bonds mimics the behavior of inflation-indexed bonds like TIPs. I constructed it in Composer using USL, which holds a strip of oil futures maturing within the next 12-months, plus TLH, a bond ETF holding bonds with 10-20 year maturities. The portfolio is inverse-vol weighted, rebalanced quarterly.

This is the out-of-sample performance since I published the post (green line).

That portfolio is a set-and-forget inflation hedge if you don’t like TIPs.

[Speaking of “tips”, here’s a general one. If you have a portfolio that rebalances, it is often selling winners to re-invest in losers. This keeps you diversified and avoids the volatility tax that comes from concentration, but it’s not tax-friendly unless you do it in a sheltered account. To do it in a regular account, you can consider a tax-loss overlay where instead of buying more of the losing position, you actually sell the losing position and another ETF that has a highly correlated exposure. So, for example, if TLH is the losing side and you need to add more on the rebalance, you actually tax-loss harvest the TLH and replace it with TLT length. It’s a similar exposure, but you can now use the TLH capital loss to offset the gain on the USL win you trimmed.]

The specific inflation replicator I composed was TLH + USL. But if we abstract it to “bonds + oil”, it invites us to think about risk premia that exist in both asset classes in the current market.

In the remainder of this post, I’ll narrate layering a couple of edges onto a core portfolio idea. By following along, you’ll get concrete ideas for measuring and managing risk and open your mind to the different Legos available to build the portfolio and ultimately express the trade while targeting the carry embedded in the asset’s pricing complex.

Inflation Replicator with positive carry

Let’s talk about our baseline exposures: oil + bonds

Instead of building the inflation replicator portfolio with the USL ETF, we want to isolate a carry-rich version of “oil”.

The oil leg

As I write on 5/20/26, the prompt WTI future, CLM6 (expires in May), is $98.

CLZ6, expiring in November, is $81.75.

If the spot oil market is unchanged over the next 6 months, CLZ6 will “roll up” nearly 17% (~34% annualized).

The bond leg

Long TLT shares. You collect the ~5% annual yield as carry. That’s the simplest expression and what we’ll size against.

Reiterating the core idea of the inflation-protected bond we are creating

We are pairing oil and bonds together because high oil prices are a major driver of inflation and the accompanying weakness in bonds. In other words, the bonds and the oil hedge each other if we own both.

They are coupled antagonistically. Look at the correlation of TLT (longer-dated bond ETF) and USO, which holds prompt WTI futures.

moontower.ai

Before the war, the rolling 21-day correlation of returns between TLT and USO ranged from about zero to -.50, spending the bulk of the time between 0 and -.25.

Since the war, the correlation range abruptly shifted lower, recovered a bit and has now collapsed to -.75.

💡Does it matter that we are comparing TLT with prompt WTI via USO when we want to express crude length with the deferred Z26 contract? The vol of the two contracts is very different, which matters for sizing reasons and would show up in the beta, which is vol ratio * correlation. But correlation alone is still tight across the futures strip with M1 to M6 easily above 0.90. It’s safe enough to infer the correlation of TLT to Z6 futures from its relationship with USO.

You will see how the inflation replicator portfolio benefits from the negative correlation when we get to sizing. Understanding the correlation range will also be key, as it’s a critical input to risk management.

Sizing the core portfolio

We begin with a risk target expressed as a fraction of a portfolio. We’ll choose $100k of annualized volatility allocated to this trade. Feel free to pick your own number, the method is what matters.

A $100k annual vol target is easier to reason about if I convert it to a daily number, because daily P&L swings are what I actually watch on the screen. Annual vol scales with the square root of time, so:

$6,300 of daily swings is for the portfolio of oil futures + TLT. We need to size the individual legs of the trade.

Step 1: convert each leg’s vol to a daily number

Again, we are converting annual vols to daily by dividing by √252

CLZ6 has 43% implied vol → daily vol ≈ 2.71%

TLT has 11.5% implied vol → daily vol ≈ 0.72%

Oil is about 3.7x as volatile as TLT on a same-dollar basis.

Step 2: inverse-vol weight the two legs

Inverse-vol weighting means I want each leg to contribute the same daily dollar volatility to the portfolio. Not the same notional, the same risk. The high-vol leg (oil) gets less notional, the low-vol leg (bonds) gets more, until they pull equal weight in risk terms.

Mechanically:

The daily dollar vol due to either asset should be equal. We’ll set that dollar vol equal to S.

Step 3: solve for the portfolio vol as a function of S and correlation

This is the two-asset portfolio variance formula:

 

The w’s are dollar weights, the vols are in daily percent, ρ is correlation.

Inverse-vol weighting forces w₁σ₁ = w₂σ₂ = S, therefore every term becomes a multiple of S²:

 

That’s the engine. Portfolio daily $ vol is just the per-leg $ vol scaled by √(2(1+ρ)).

Note how correlation has such a large impact on the portfolio vol. At today’s ρ = −0.75, the multiplier √(2(1−0.75)) = √0.5 ≈ 0.71. The portfolio is less volatile than a single leg.

Step 4: invert to find the leg size

I want σ_p = $6,300. Solving the formula above for S gives S = $6,300 ÷ √0.5 ≈ $8,900. So each leg should carry about $8,900 of daily dollar vol.

Convert that back to notional: oil notional = S ÷ daily oil vol = $8,900 ÷ 2.71% ≈ $328,000.

  • CLZ6 is $81.75 and each contract is 1,000 barrels, so one contract is ~$81,750 of notional. $328,000 ÷ $81,750 ≈ 4 contracts.
  • TLT is .72% daily vol, so we need $8,858/.72% or ~ $1.22mm of notional or about 14,500 shares because TLT is $84

[$8,858 instead of the $8,900 we solved for comes the fact that we need 4 contracts that are not divisible any further. Note how the bond notional is ~3.7x the oil notional, exactly the inverse of the vol ratio.]

And the resulting portfolio daily vol at ρ = −0.75 is σ_p = $8,858 × √0.5 ≈ $6,263. Right on our $6,300 daily risk target, which corresponds to $100k of annual vol.

The beauty and danger of correlation

Let’s appreciate what’s happening here by considering monthly risk and reward.

Let’s start with risk.

Scale daily risk to monthly:

$6,300 *√(252/12) = $28,870

Now for the expected reward.

Oil: 2.5% roll up * $327,000 notional = $8,175

TLT: 5% yield * $1.22mm / 12 months = $5,083

Total expected return = $13,258

Monthly sharpe ratio = $13,258/$28,870 = .46

Annualize the SR:

.46 * √12 = 1.59

This is possible because we get to be long quite a bit of assets in notional terms, but the volatility of the portfolio is small.

The reason it’s so small is that the correlation is very negative.

But ρ = −0.75 because the war pushing oil up is adding a risk premium to bonds (ie pushing their price lower).

To understand the risk, we must stress-test correlation. We fix S and vary ρ.

[Risk should really be treated like a matrix since changes in the correlation will coincide with the vol of the legs moving, thus changing the vol ratio between them. For example, if the war relaxes and the correlation heads back towards 0, oil prices likely fall, bonds likely rally. That’s ambiguous for the p/l, but since oil’s vol is the one that’s more stretched from “normal” you are underweight the falling asset which is good. However, the increased correlation means total portfolio risk is more than you intended]

Your portfolio risk doubles if corr goes back to 0.

Juicing the bond leg with options

So far the bond leg is plain-vanilla long TLT shares earning the ~5% yield. But given the sell-off and inflation fears, the bond option market is also offering risk premia as vols have increased and put skew has steepened.

Let’s talk about the vol first.

VRP

As I write on 5/20/26, the ATM 1-month put is around $1.20, corresponding to 11.5% IV. TLT’s realized vol has been running below its implied. 1m realized vol is ~8%, 1-week rv is closer to 9% and median 1-month rv for the past year is about 10.5%.

Call it a 15% vol risk premia:

  • Put premium: $1.20/share
  • Fair value: $1.20 ÷ 1.15 ≈ $1.043/share
  • VRP edge: $1.20 − $1.043 ≈ $0.157/share, or 15.7 cents per share

The practitioner’s way to carry that number in your head is per contract. Each contract is 100 shares, so the VRP per contract is $0.1565 × 100 = $15.65 per contract per month.

The bond leg’s delta target was the equivalent of +14,556 shares of TLT. An ATM put has a delta of about −0.50, so selling one put gives you +0.50 deltas per share, or +50 deltas per contract (100 shares × 0.50). To replicate the share position’s delta: contracts = 14,556 deltas ÷ 50 deltas/contract ≈ 291 contracts.

291 × $15.65 ≈ $4,555 per month, or ≈ $54,700 annualized.

If you sell ATM puts to express the same long-delta exposure. You collect the put premium, and the portion of that premium above fair value is vol risk premia stacked on top of the yield carry.

💡It’s never that simple when it comes to options. The yield carry is the yield * notional but as TLT moves around, you are short gamma so as the stock falls you are longer TLT and as it goes up, you become less long TLT, so the yield due to bond income is a moving target.

Be careful. 291 contracts on an $84 stock is $2.44mm of gross notional, even if it’s still $1.22mm share-equivalent notional. The local delta exposure is identical, but by swapping the expression to pick up VRP we added non-linear risk to the position.

Skew

TLT’s 1-month risk reversal is at the 94th percentile of the trailing year. The put skew is rich, call skew is depressed.

montower.ai skew percentiles (puts on x-axis, calls on y-axis)
moontower.ai

You can express the delta by selling OTM puts, which will make the risk non-linearities even more concave. You can also sell put/buy call on risk reversals to take advantage of the stretched skew in both directions. All of this is changing the shape of the p/l and risks dramatically. The best way to get your arms around it is to construct a matrix of scenarios.

Oil options

The bond leg harvests rich skew by selling puts but the oil leg can do the same thing in the opposite direction.

Oil call skew has a war premium. That makes a call spread an attractive way to express the long oil leg: buy a closer-to-the-money call and sell a further-OTM call at a stretched IV against it, financing part of your long with the fat skew you’re selling.

For example, instead of buying 4 Z26 futures, you could buy the Z26 88/98 call spread. With the underlying at $81.75 this OTM structure costs ~ $2.35. It has a .12 delta, so to get 4 contracts worth, you’d need to buy ~33 call spreads (4/.12).

You’re long the rollup-and-supply-scare upside, but you’ve capped your gain to $7.65 (about 3.2-1 odds on your premium), but your downside is limited to the debit if Hormuz de-escalates and oil pukes.

Trade management

It’s well understood that when it comes to options your risk is changing as assets move around, as time passes, and as implied vol fluctuates.

A more subtle risk is how your exposure changes on the oil leg even without options. The oil future becomes more volatile it approaches maturity ages. The 6-month oil future currently has a 43% implied vol but the near-dated future can be twice the vol in times of stress. So even if nothing moves, the oil leg’s daily dollar vol creeps up over the life of the trade. This might be partially mitigated by the roll-up amount becoming steeper as you approach the front of the curve.

The 1-month rollup from M2 to M1 is twice as steep as the 1-month rollup from M6 to M5.

CL futures via TradingView

 

The good news: the same risk framework that sized the trade also manages it. Re-run σ_p = S·√(2(1+ρ)) with fresh inputs whenever the market moves:

  • Oil vol rose? Each leg’s S is no longer balanced. Trim oil contracts (or tighten the option overlay) and add bonds to re-equalize the legs and pull portfolio vol back to the $6,300 daily target.
  • Correlation drifting toward zero? The shock table prescribes how to proportionally hold both legs to maintain the vol target.
  • If you use options and your total risk or relative leg risks get out of tolerance bands, you can reassess to see if you should roll, add, or even close.

Because the trade is a living position, you may want to treat the target risk as an upper bound, and initiate the trade at smaller sizing giving you wiggle room to rebalance less often.

A summary of stacked edges

The bond leg is long carry because the position has a net long delta (yield) and short rich puts (VRP).

The oil leg is long carry (rollup) and short rich calls (skew).

You’ve taken a simple “buy oil, buy bonds” inflation replicator and layered distinct edges onto it, each one sourced from a risk premium in the pricing complex:

  1. Oil rollup carry (term structure)
  2. Bond yield carry
  3. Bond VRP + put skew
  4. Oil call skew

On the carry side, you are monitoring VRPs, term structure, and coupons, while on the risk side you are monitoring the volatility of the legs as well as the correlation which has a major impact on the portfolio risk.

How big a portfolio does this need?

I sized everything to $100k of annual vol, but I never said what size account sits behind this trade. Vol targets don’t specify a portfolio on their own — they specify a portfolio once you decide what fraction of your risk budget the trade gets. If you want this to be a 10% vol sleeve, you’re implicitly running it against a $1mm book. A 5% sleeve implies $2mm.

You’ll immediately notice a problem if you consider the 10% / $1mm case. The bond leg alone is $1.22mm of TLT shares, which exceeds the entire account. You can’t fund it with cash, you need leverage. Futures are inherently levered as you only need to post initial and possibly variation margin. For the equity portion, portfolio margin can allow you to post even less than a 50% haircut.

But leverage introduces path risk. Your position is changing with market conditions, especially if you use options. But this portfolio sizing is resting on a large position in a low-vol asset as well as a negative correlation. The simplest way to appreciate the risk is to notice that a mere $100k of annual vol rests on ~$1.5mm gross exposure. If you run this portfolio at $100k annual vol with only a $1mm account, you are managing both risk and margin closely.

Recall the portfolio expected Sharpe was 1.59. So for $100k annual vol, we expect $159k in profits or 15.9% on a $1mm account. The expected return halves to ~8% if you run it in a $2mm account.

The best but most complicated choice is to run a strategy like this in a diversified account where the other moving parts interact with the portfolio margining computations such that the required haircut is small and therefore efficient.

Let’s leave it there for today.

A devilish question for option sellers: Which VRP is higher?

A well-supported and common belief in the options world is that there is a premium of implied volatility to realized volatility. The implication is that options, on average, are overpriced, so the structural edge in the options market comes from selling them to “harvest the VRP”.

If you put a gun to my head to confess where I stand, I’ll coldly chant “I have no quarrel with that belief” in the cadence of His name is Robert Paulson.

There’s enough evidence to not disagree with the belief. But as a trader who spent 2 decades being long gamma and vega more often than short and not being especially rare among professional option traders in that regard, it’s hard to bang on the VRP desk with fervor.


Aside

It is entirely possible that my trading profits made up for a persistent negative edge in my positioning. That’s plausible because I traded thousands of contracts a day for 20 years in a market-neutral way, but there are facts that cast doubt on the long vol bias being detrimental. My largest p/ls were in years that were most volatile like the late 2000s, 2018, and 2020, and driven by vega. Now vega is a funny thing because people will argue that it’s not real, it’s marks, etc. They are still on their option blue belt and failing to appreciate

a) that vega can be ported through time through calendars, but it’s almost impossible to do this efficiently unless you are organized to trade flow

b) vega is illiquid. You can manufacture a near-dated option through replication so even if the option is illiquid as long as you can trade an underlying against it there is an out. Deferred options can turn into Hotel California quickly, and when they do it’s good to have the keys to the rooms.

In fact, the market for vega (ie longer-dated options) and gamma (near-dated options) is different. Different players, motivations, and execution methods. For the pros reading, have you ever seen a market where one trader deals in the “fronts” and another trader is in charge of the “backs”. This is the most salient demonstration of this bifurcation, but it exists in subtler ways in many markets and there’s money in bridging the liquidity.


We can peel back assumptions about VRP all day. For example, what do you mean by “realized volatility”? But a highly tiresome unpacking would leave us in a predictably unsatisfying duality:

  1. Options are generally overpriced
  2. This is hard to translate into risk-adjusted, opportunity-cost-aware amounts of food on the table

Anyway, I’ve needled you enough. I’m not sorry about that. Part of my self-anointed duty is to test your armor before you march into your Robinhood options tab.

Let’s turn to the “V” in VRP.

I’ve seen it refer to “volatility” or “variance”. In the non-technical context that it’s used, this is fine. In our app, it refers to “volatility”.

But the distinction is absolutely critical when evaluating and sizing trades.

We can examine this by starting with a market observation that points to expensive options. When we pull it apart, there’s so much more than meets the eye. This lesson brings together fundamentally important themes we cover in this letter like:

  • The importance of proper measurement
  • how you want to approach the same idea from multiple angles, because it’s rare that a single measure sees all the facets
  • The math of option risk and p/l
  • Markets being smarter than they seem at first glance

Let’s start with this chart of 30d constant maturity implied vol vs trailing 30d realized vol in HYG.

We can see that absent the Liberation Day period last year and the current Iran stress, IV maintains a steady premium to RV. Also note that realized vol is typically below 5% annualized. This is a low-vol ETF.

Another way to look at this is to turn that relationship into a ratio representing the percent premium of IV to RV and call that the volatility risk premium (VRP). We do that below as a scatterplot with the 30-day RV percentiled over the past year.

It shows the premium is often around 40 to 100%, and it’s fattest when the realized vol is very low. This is indicative of IV’s habit of pricing in mean reversion. When realized vol gets very low, the IV doesn’t chase it all the way down. It’s stickier as the market doesn’t extrapolate the low vol periods to persist. Same when the market gets very volatile. The premium narrows as the market doesn’t bid the IV up “too high” as it expects the elevated realized vol to subside.

How you measure the VRP is a choice. We chose to measure it as a ratio because it makes cross-sectional comparison easier. If a name realizes 5% vol but trades for 6% vol, that is put on par with a 50% vol name trading for 60% IV.

We could have also chosen to measure the premium as a “spread” instead of a ratio. In that case, HYG could be said to have a VRP of 1 (ie 6% IV – 5% RV) and the higher vol name would have a spread of 10 (60% IV – 50% RV).

If HYG was 15% IV and 5% RV, that would also be a 10-point spread, so the spread approach just feels more wrong when you compare assets of different vols. The ratio offers a better comparison.

But remember:

how you want to approach the same idea from multiple angles, because it’s rare that a single measure sees all the facets

The plot is going to thicken considerably because putting on risk and screening are 2 different activities that are related via decision-making but divorced in execution.

Back to HYG. Whether you use a ratio or spread, implied vol is sitting well above trailing realized vol. The ratio is more flattering than the spread, but either way it appears like a structural risk premium. Sell the options, collect the premium, repeat. Right?

As you zoom in, the details start to hint at why this ratio or spread is just sitting there for the taking.


The Gamma-Theta Tug of War

If you are selling options to capture VRP, your intent or thesis is not about IV falling, just that your theta p/l, the option decay you collect as time passes, will outweigh the losses you incur from being short gamma as the stock moves around. We make allowances for path dependence, but on average, if the stock moves around less than what is implied by the option prices, you win.

The net P&L of the position due to realized vol makes the battle of gamma and theta visible. This is from the long option holder’s point of view. For them, if the RV is greater than the IV, this term is positive:

Although this comes back to that letter “V”.

σ² refers to variance not volatility. If you are short options, you make money when realized variance is below implied variance. The distinction between volatility and variance is critical. But we’ll get to that.

We also want to quickly review approximations for ATM options (technically ATF or “at-the-forward”).

This is the straddle and its gamma, respectively:

Focus on the following relationships that fall out of these approximations.

  1. First, the straddle price is proportional to σ. Which means daily theta decay is proportional to σ, since you can think of theta as the diff of the straddle formula on T vs the straddle formula on T-1. A 50-vol name bleeds twice as fast as a 25-vol name.
  2. Γ is inversely proportional to σ. A 50-vol name has half the gamma per dollar of notional as a 25-vol name.

You should notice…

A lower vol name has less theta AND more gamma


Theta-weighting position size

Say you want to sell the same dollar amount of daily theta across two names, a 50-vol name and a 10-vol name. Since theta scales proportionally with vol, you need 5x more contracts in the 10-vol name to collect the same daily premium. That’s the theta-neutral scalar: σ_high / σ_low.

We start with a question:

If both names trade at the same ratio premium, say IV is 20% above RV for each ,does theta-neutral sizing give you the same variance edge?

Holding that ratio premium fixed at 20%, look at what the variance edge (IV² − RV²) does as we down the vol spectrum from our baseline 50% RV name:

[example of variance edge per contract for baseline is 60² − 50² = 1,100 units]

The variance edge per contract collapses as vol falls. When you scaled notional by 5x in the 10-vol name to match theta, you are capturing much less variance edge for the same risk.

To fully equalize variance edge at theta-neutral sizing, you’d need to scale by (σ_high / σ_low)² or the square of the theta-neutral ratio.

Theta-neutral means 5×. Variance-edge-neutral means 25×. If we use theta as a proxy for risk, which is a common and sensible barometer (but again, like all measures, incomplete) for understanding position size, we would need to take far more risk in the low vol name to capture the same amount of edge.


How Rich Does The Low-Vol Name Need To Be?

So a 50-vol name trades at 60 vol for a 20% ratio premium. Variance edge per contract: 60² − 50² = 3600 − 2500 = 1,100 variance units.

You want to find the IV for a 10-vol name such that theta-neutral sizing (5× contracts) delivers the same 1,100 variance units.

Working through the algebra (see appendix), the answer is:

 

Plugging in: IV_low = 10 × √(1 + 1100 / (10 × 50)) = 10 × √(1 + 2.2) = 10 × √3.2 = 17.9

So the 10-vol name needs to trade at 17.9 vol or a 79% ratio premium to RV to deliver the same theta-neutral variance edge as the 50-vol name at a 20% premium.

 

A 10-vol name trading at 12 vol (20% premium) looks identical to the 50-vol name on a ratio chart. In variance-edge terms, it’s delivering less than a tenth of the expected profit, even after upsizing to theta-neutral scaling.


Spread Gets You Closer

Screening by vol ratio might offer sensible comparisons but fails to compare opportunity in a risk-aware way. At the end of the day, a 40% vol premium on a 5-vol name is still just 2 points. You can get a feels for this when you look at selling options on fixed income ETFs. That IEF vol looks high, and then when you look at the premium it just feels like the juice isn’t worth the squeeze.

So what about vol-point spread?

It works quite well for comparing edge, at least until you get to much lower vol names.

The table shows the spread needed for variance-edge equivalence across the vol spectrum. It’s pretty constant from 25 to 100 vol names.

The ratio needed to equate the variance edge went from 20% to 79% to 132%. It makes low-vol names look rich when they’re structurally disadvantaged in variance-edge terms.


Back To HYG

The ratio VRP in HYG looks persistently fat, often 50% or more above realized vol. But even the spread measure doesn’t quite put it on par with the variance edge in higher vol names. A stock priced at 60 vol that moves at a 50 vol has a 10 point spread, which is equivalent variance edge to HYG moving 5 vol but being priced at 11.6. But that kind of differential is extreme. HYG’s median spread in recent data is around 2-3 vol points, not 6 or more, equivalent to say a name that moves 50 vol trading 55 vol.

HYG options really are persistently rich relative to realized vol. But the ratio charts can make hide the fact that on a relative basis, HYG vols at a 2-3 point premium are actually cheap compared to a 50 vol name priced at 60% IV!

Additional consideration on low vol names

The cost of harvesting that variance edge premium in low vol names can be more expensive since theta-equivalence means trading far more contracts of the lower vol name (assuming stock prices are the same).

And of course, for a given level of theta, the lower vol name has far more gamma, which means more trading costs because you will be trading more shares.

If you are selling options to capture VRP, be aware that the V that matters is variance and that the scaling properties of risk and edge make ranking opportunities a bit unintuitive when looking at ratios. Spreads are a more solid footing, but selling a 20 vol name at 30 vol is still better than selling a 120 vol name at 130 vol, even if ratios can be misleading.


Appendix: Deriving the “Required IV” Formula

You provide 3 inputs:

  • RV_low
  • RV_high
  • IV_high

It returns the minimum IV the low-vol name needs to trade at for the trade to be economically equivalent on a theta-neutral variance-edge basis. Anything below that number is a relatively worse trade than the baseline you are comparing against.

I was only able to do the algebra myself until step 6. It was fun to do, like a little puzzle. But then it was depressing to be old and stuck and not even remember quadratic form.

how to get arbed with perfect information (again)

In this issue:

  • cross the “bridge of asses”
  • scaling laws of risk reduction
  • “research collector” skill

The “Bridge of Asses”

📺Option Pricing Explained: No Arbitrage + Financial Mathematics from a Quant | 52 min watch

Doug Costa (SIG quant, former math professor, and the teacher I learned Black-Scholes from 25 years ago) builds no-arbitrage derivatives pricing from scratch using a binomial tree. No calculus, pure replication.

The thing I want to point you to is the profound role of the no-arbitrage axiom. It is the basis of derivatives replication and, by my assertion, represents the “bridge of asses” in investing education.

As a reminder, since nobody clicks links, Wikipedia says the pons asinorum or “bridge of asses” is:

used metaphorically for a problem or challenge which acts as a test of critical thinking, referring to the “ass’ bridge’s” ability to separate capable and incapable reasoners

The notion of replication is the pons asinorum of investing education because it is:

the conceptual rails of looking at a web of branching future payoffs, seeing how they could be replicated, and measuring the cost of that replicating portfolio today. It is the formalization of finance’s deepest truth — you cannot eradicate risk, but only change its shape.

You could make an even stronger claim that it lies at the core of decision-making itself, as it formalizes opportunity cost.

And I say this without being able to appreciate its deeper impact. Doug pauses for a moment in the video to marvel: when you add no-arbitrage condition to the standard axioms of mathematics, he says, the entire field of financial engineering “blossoms” out.

His colleague frames the no-arbitrage axiom joyfully:

Either we get a formula [so we win mathematically]. Or it’s violated and we make free money. Either way, we win.

Towards the end of the video, Doug discusses reflexive pushbacks he’s encountered after teaching this.

“One piece of pushback is typically, well, maybe it’s just that with stock prices, you don’t really know the probabilities. So it’s just a matter of knowing the right probabilities— if you could really discover somehow what the true probabilities were, then it would be better to use them [than the risk neutral probabilities].”

Doug’s rebuttal shows how you would still be arbed.

“I’m going to give you an example to debunk that idea. And I call this example the coin flip contract. So I’m going to postulate that there’s a company, a corporation, that finances itself, not by selling stock, but by selling what they call coin flip contracts. And the corporation has gone to great trouble and expense to manufacture a perfect coin, meaning a coin that is exactly 50% to be heads and 50% to be tails every time it’s flipped. So the probabilities are always 1 half and 1 half guaranteed…

You can watch the video, but I paraphrased it here as well. Here’s how it works.

A company issues coin-flip contracts based on a provably fair coin. The contract pays $150 on heads, $75 on tails. These trade in a secondary market at $100. Interest rate is 0%.

So we know everything. The probabilities aren’t hidden or estimated. They’re printed on the coin: p = ½.

Now: what’s the no-arbitrage price of a 110-strike call on this contract?

p̂ = (100 − 75) / (150 − 75) = ⅓

Call value = ⅓ × $40 + ⅔ × $0 = $13.33

Delta = (40 − 0) / (150 − 75) = 8/15 of a contract

Now suppose you say: I know better. The real probabilities are ½ and ½, and I’m not going to ignore them. Expected payoff is ½ × $40 = $20. So you buy the call from me at $20.

Here’s what I do next. I’m short the call. I immediately buy 8/15 of a contract to hedge.

Heads: My 8/15 position gains 8/15 × $50 = $26.67. Plus your $20 premium, I have $46.67. I owe you $40 (I have to buy the contract at $150 and sell it to you at $110). Net: +$6.67.

Tails: My 8/15 position loses 8/15 × $25 = $13.33. But I have your $20 premium. Net: +$6.67.

Every time. Both states. Guaranteed $6.67. I haven’t predicted anything. I don’t care what the coin does.

What did you get? Heads: gain $40 on the option, paid $20, net +$20. Tails: lose your $20 premium, net −$20. You’ve turned a coin flip into a coin flip — a $20 bet where you win or lose based on what the coin does.

If you try to hedge back? Doesn’t matter how you move delta. Win more on heads, lose more on tails. Move it down: vice versa. The best you can do is lock in a guaranteed $6.67 loss.

You had perfect information about the true probability….and you still got arbed buying the calls (you should have bought the contract!).

The market-maker doesn’t need a view on the coin, just the ability to trade the underlying and the derivative simultaneously. And acquiring the knowledge to cross the “bridge of asses.”


A random personal thought:

I suspect is kind of triggering for some people. It offends one’s sensibilities to think

that understanding derivative pricing ends up trumping knowledge about the true odds of things.

It’s like you spend all this time researching and learning and at the end of the day some market-maker knows just enough to not trade at the wrong price with you anyway. I’m overstating that reality, getting picked-off is real and market-makers are rightfully paranoid. But I guess that’s why I’m drawn to replication as a way of thinking. A trader is just looking for some free money when your bid or offer presents a contradiction. And that hunt makes all prices a little smarter, which, is a public good (but also a frustrating result for traders themselves, which is why the job is always uphill. A byproduct of your success is a smaller TAM).

Just to be thorough, this replication thing applies mostly to derivatives. The arb needs to be able to trade the derivative and the underlying and all advantage comes from the relationship between the two. The arb is useless without relative value.

Related learning:

🔗 Understanding Risk-Neutral Probability | Moontower

🖥️Moontower Presentation on Black Scholes “As a Trading Strategy” | Slides

  • The slides for that presentation are based on this post: The Intuition Behind The Black-Scholes Equation
  • There’s also a video where I do this as a presentation for the Moontower Community. This is an unlisted vid so please don’t share widely:

The Scaling Laws of Risk-Reduction

In a misconception about harvesting volatility, you learn that you do NOT need to scalp the gamma to isolate the vol of an option trade.

If you buy options implying a daily vol of 2% per day and it moves 4% per day, your expectancy is positive regardless of whether you hedge or not. That doesn’t mean you will win any more than it means you will win if you flip a fair coin and receive 2-1 odds. You have made Sklansky bucks, not necessarily real bucks.

RIP Sklansky

Hedging reduces the p/l variation around the expectancy.

In Financial Hacking, Philip Maymin explains

The inability to hedge perfectly continuously impacts your trading by introducing random risk. This risk decreases if you hedge more frequently, but only as fast as the square root. Therefore, if you want to halve your risk, you have to hedge four times as often.

He makes this tangible and practical when he says:

Noise from hedging a one-year option on a daily basis instead of continuously is about the same as one volatility point. If you make one volatility point in expected profit and the standard deviation of your profit is one volatility point, then your Sharpe ratio is about one.

His final point echoes my argument that a requirement to hedge to isolate vol is a misconception:

The risk from not hedging continuously can be diversified away.

I built a simulator so you can see this scaling law in action.

An oblique insight can be witnessed if you set up the simulation with negative expectancy, ie pay 24% vol for a stock that realizes 20%. The more you hedge the more certain you lock in negative expectancy.

Doug Costa actually showed that happen in the toy example above. The investor who bought the 110 calls based on the real-world probability but then hedged by shorting the mispriced security actually assured themselves of a loss.

If you have no edge, variance is your friend. Not financial advice.

🎮Moontower Discrete Hedging Simulator


Research Collector Skill

With LLMs lowering the effort on info-gathering I figured why not include citations to literature on this topic for those who think purely in math.

I had Claude devise a Research Collector Skill.

Its purpose:

When building an interactive tool or educational artifact that demonstrates a quantitative concept, this skill gathers the academic and practitioner literature behind the concept and produces a research lineage panel — not a flat bibliography, but a structured narrative showing how ideas built on each other.

This is what it produced and what you can find in the dropdown at the end of the tool:

Foundation — The 1/√n Result

When Is Time Continuous?

Bertsimas, Kogan & Lo — Journal of Financial Economics, 2000

The foundational paper. Characterizes the asymptotic distribution of replication errors from delta-hedging in discrete time. Introduces “temporal granularity” — a measure of how well discrete hedging tracks a derivative’s payoff. Proves that for European options under GBM, the hedging error standard deviation scales as 1/√n where n is the number of rebalancing intervals. Derives closed-form expressions for calls and puts.

web.mit.edu/lkogan2/www/Papers/WITC.pdf (free PDF)

Extensions — Generalization & Irregular Payoffs

Evaluating Hedging Errors: An Asymptotic Approach

Hayashi & Mykland — Mathematical Finance, 2005

Generalizes Bertsimas et al. (2000) from one-dimensional diffusions to continuous Itô processes driven by multidimensional Brownian motion — covering stochastic volatility models, non-Markovian settings, and data-driven hedging strategies where the true model is unknown. Shows the hedging error converges to a time-changed Brownian motion.

galton.uchicago.edu/~mykland/paperlinks/hedgeerrors.pdf (free PDF)

↳ addresses a limitation of the foundation paper…

Discrete Time Hedging Errors for Options with Irregular Payoffs

Gobet & Temam — Finance and Stochastics, 2001

Shows the convergence rate depends on payoff smoothness. For standard European calls/puts (smooth payoff), the L² error converges at rate 1/√n. But for digital options (discontinuous payoff), the rate drops to n^(1/4). This matters practically — hedging binary options is fundamentally harder than hedging vanillas, and more frequent hedging buys you less improvement.

↳ extends to delta-gamma hedging…

The Tracking Error Rate of the Delta-Gamma Hedging Strategy

Gobet & Makhlouf — Mathematical Finance, 2012

Shows that adding gamma hedging (hedging with a second option) can improve the convergence rate from 1/√n to 1/n for smooth payoffs. The tracking error is driven by the third derivative of the price function rather than the second (gamma). Gives conditions on trading dates to achieve optimal convergence.

hal.science/hal-00401182/document (free PDF)

Practitioner — Volatility Arbitrage P&L

Which Free Lunch Would You Like Today, Sir?

Ahmad & Wilmott — Wilmott Magazine, 2005

The practitioner bridge. Derives closed-form expected profit and variance of profit for delta-hedging mispriced options. Key insight: hedging with implied vol gives path-dependent but always-positive daily P&L when on the right side (RV > IV for longs). Hedging with realized vol gives path-independent total P&L but wild daily swings. Also covers optimal portfolio construction across multiple mispriced options.

spekulant.com.pl/…/DeltaHedgingVolatility.pdf (free PDF)

Trading Volatility

Colin Bennett — Santander, 2014

Comprehensive practitioner reference. Page 95 states the normalization coefficient for the hedging error formula is √π, giving the full result: σ(P&L) ∝ ½ S² σ² T Γ × √(1/N). Covers the full landscape of volatility trading — skew, term structure, and practical hedging mechanics. The standard desk reference for vol traders.

trading-volatility.com/Trading-Volatility.pdf (free PDF)

Hedging Errors & Options PnL

Lihong — The Logbook (Substack), 2024

Clear, modern walkthrough of the hedging error framework. Connects the discrete hedging variance to the diffusion scaling intuition (price variance ∝ √time, so hedging error ∝ √(1/frequency)). Also covers the impact of return autocorrelation on optimal hedge frequency — negative correlation (mean-reversion) reduces the benefit of frequent hedging, while positive correlation increases it. References Ahmad & Wilmott and Bennett.

freeportlogbook.substack.com/p/hedging-errors

Code — Open Source Implementation

QuantLib: DiscreteHedging Example

QuantLib Project (C++)

Production-grade C++ implementation of the discrete hedging Monte Carlo in the QuantLib open source library. Simulates replication error across random scenarios, directly implementing the Bertsimas-Kogan-Lo framework. Useful reference for verifying simulation logic against an independent codebase.

github.com/lballabio/QuantLib/…/DiscreteHedging.cpp

a cleaner way to compute seasonal vol

Vivek emailed me a simple question after reading yesterday’s does revenue seasonality translate to vol seasonality? post:

Why not just compute volatility from the daily returns within each calendar month instead of using a trailing 20-day window?

Um, well, eh. I don’t know. I guess just had a blind spot. I think of rolling realized vol instinctively. But for a seasonality study, it has a problem I already flagged in the post: a big earnings move in August gets recounted ~20 times as the window slides over it, smearing that vol into September.

It’s just unnecessary. So I added a section to the notebook that computes calendar-month realized vol directly: take each month’s daily log returns, compute √(mean(r²)) × √252, and you get one clean RV number per month per year without overlap.

Did the calendar month realized vol (CMRV) method change the story?

The earnings effects and their seasonal patterns does look sharper.

 

  • May, June, August, and November are now the clear relative-vol peaks. Feb earnings are not important as the May and Aug earnings are capturing the bulk of the year’s revenue recognition.
  • September, which looked like a peak in the rolling version, drops to a trough. It was borrowing August’s earnings move through the sliding window. Once you measure September’s own returns, it’s quiet.
  • The late-year volatility surge now concentrates in November, an earnings month, where the rolling method showed strong effects in December.
  • August is now the single largest effect size, the only month exceeding the “medium” threshold. June is close.
  • September flips to a quiet month once you stop smearing.
  • The scatter plot confirms it’s not one wild year: August dots are consistently elevated across the sample. All 3 of these charts are controlling for IWM.

A few more charts just to round it out:

 

The updated notebook is here: 👉 HRB Seasonality Study

Thanks again to Vivek for the feedback. Vivek was one of the senior quants at SIG when I was there. He’s also a chess genius if you’re into that.

does revenue seasonality translate to vol seasonality?

Last month H&R Block (NYSE: HRB) sold off hard on AI fears.

Implied volatility soared to a new 1-year high.

I wouldn’t have noticed if I wasn’t prepping materials for the kids’ Investment Beginnings Class. In the class, we learn how growth expectations as embodied by P/E multiples combined with what earnings materialize to generate a return that is some mix of reality and how those expectations are revised as investors “see the flop”.

HRB is a low P/E, high earnings yield company whose growth days are a distant memory. It doesn’t have a lot of upside but if it can maintain its current earnings and multiple its earnings yield of 16% (P/E ~ 6) looks like a super, super distressed bond. I know bonds and stocks have different hockey stick diagrams, but stay with me.

Selling a cash-secured put has similar risk characteristics as buying a bond. You collect some yield, your upside is capped at the yield, and you risk the notional amount of the strike if the stock zeroes. With the implied vol jacked, my thinking is all that vol belongs to the left of the distribution. I’m not bullish on the company. I’m not really anything as I’m not studying the company in any fundamental depth but my sling-from-the-hip trading attitude is:

This company has survived every existential threat thrown at it — the transition from brick-and-mortar to internet filing, the rise of TurboTax, and a significant increase in the standard deduction. Looks like a cockroach.

And they don’t fancy themselves more than that. Between buybacks and dividends, their shareholder yield is similar to their earnings yield. They are distributing all the cash back to shareholders so those earnings aren’t trapped inside a melting ice cube.

With implied vol jacked, I decided instead of buying the stock outright I’d skim the yield by “selling my own version of a bond”. I sold some 40 delta puts and sized it such that if I were assigned on them, it would not amount to more than 1% of my portfolio.

That’s all storytime background. I’ve written about seasonality in the context of commodities and futures spreads but HRB is a dramatic example of seasonality in an equity.

Today:

  • We’ll explore how to even observe the pattern and consider how it influences option pricing.
  • The post will include 2 Jupyter notebooks you can fork and let Codex or Claude Code run the same analysis on any tickers you like. They will automatically pull yfinance. One notebook is focused on stocks and another is focused on commodity ETFs.

 

A seasonal business

For as long as I can remember, I’ve heard that there are many retailers that make most of their earnings during the holidays. I’ve never verified the numbers but it makes sense. This suggests to me that much of a retailer’s annual volatility should be concentrated around Q4 results.

I never thought about how a company like HRB would also have extremely lumpy earnings. HRB’s fiscal year ends June 30. FQ3 (Jan–Mar) and FQ4 (Apr–Jun) together account for roughly 90% of annual revenue. FQ3 alone, peak tax season, is about 60% while FQ1 (Jul–Sep) is a rounding error.

 

Revenue has been stable around $3.4B since recovering from a 2022 restructuring. Net income sits around $554M. EPS has grown from $3.08 to $3.51 over the last few years despite flat earnings (shrinking share count).

The natural question: does the stock’s realized volatility reflect this extreme business seasonality?

Vol Has A Tax Season Too

I computed 20-day realized volatility (annualized) for HRB from 2016–2025 and broke it out by calendar month. I used SPY and IWM as control groups.

The green-shaded bands are tax season. I only show that chart for larger context but I find it hard to see clearly in that view.

Instead, I will show charts with more granular groupings with the observations that pertain to each.

  • Not suprising, but HRB’s median RV20 runs about 10 to 20 points above IWM in every month. This stock is always noisier than the market.
  • The most excess vols occur in May/Jun, Sep, Nov/Dec. This makes sense. Earnings are reported in Feb, May, Aug, Nov and the subsequent realized vol is much higher than non-earnings months.

What about March? This one is curious. Perhaps there are possibly real-time tea leaves that fundamental PMs might look at during the heart of tax prep that can lead them to trade. Or maybe this is when analysts write about tax season. For now it’s a puzzling observation.

The IQR band widens in June, Sep, and Dec meaning not only is the ratio higher, but the variance of the ratio is higher. More uncertainty about the uncertainty. Dec isn’t explained by earnings, so that’s another strange observation to note.

We can observe higher volatility related to earnings. But I would expect this for any stock. I’m suprised the earnings/post-earnings period in May-Jun doesn’t stand out as far more volatile since that report contains the bulk of the year’s earnings information.

I asked Claude for some statistical treatment even though I don’t really think “doing stats” on this little data beyond casual inspection provides marginal informational warrants raising your confidence. Turns out just asking the question did lead to some education but not how I intended.

I asked Claude to hypothesis test and generate z-scores for each month vs the mean mean log ratio of HRB to IWM vol for the entire sample. It went off and performed a t-test that generated 5 sigma z-scores in the most volatile months.

From what we’ve seen so far, that just sounds ridiculous. When I pushed back on Claude it explained that the standard error denominator in the z-scores as shrunk by √n.

Do you see the problem?

For 10 years of data, if you compute 20d trailing RV for each day in the month you will have about 200 observations per month which shrinks the denominator by a factor of √200 ~ 14. But 19/20 days overlap in the data from one day to the next. You really only have about 10 samples. Basically, one month per year when your window is 20 days.

Instead of totally putting the breaks on a statistical output, I was curious how Claude would deal with this.

  • It computed a stat called Cohen’s d which treats N as 10 for each month.
  • June (d = 0.50) is the only month approaching a “medium” effect size. December (d = 0.42) is close.
  • The percentile chart: a typical June sits at the 69th percentile of all month-medians. September at the 67th.
  • The scatter plot is a sanity check. Each dot is one year. June and September have consistently elevated dots, not one crazy year pulling the mean.

Finally, we use a heatmap to look under the surface. We can visually inspect trends or outliers, and can even be a launch point for specific inquiries like “Gee, what happened in Spring of 2020?”

The first chart, which doesn’t control for IWM, shows the impact of Covid. The second chart invites you to say, “Let’s toss 2016 and 2017, and see how the seasonality would reveal itself”. Small sample size, but May through Sep, Nov and Dec do seem more volatile.

That said, I’m not sold on May earnings being even more significant than later earnings, which is to say seasonality embedded in HRB’s revenue calendar does NOT seem to bleed into one of its earnings being that much more special than the others.

As December goes, I sparred a bit with ChatGPT on possible causes for elevated HRB volatility, even controlling for benchmarks and it gave 5 reasons that me groan. This was the best one and it feels meh:

Tax names can be unusually sensitive in December because investors are thinking about rule changes, credits, deductions, IRS readiness, and filing complexity for the coming season. Even when nothing dramatic happens, the possibility of change can raise uncertainty around demand for assisted prep versus DIY.

Wrapping up with stock seasonality

As promised, here’s the notebook to replicate the study or apply to another ticker of your choice

👉 HRB Seasonality Study

It pulls data from yfinance, computes 20-day realized vol, and generates all the charts you’ve seen here.

It also partitions return analysis by month. Example charts:

I didn’t go into that here since my bias is that seasonal features of volatility are more reliable than return seasonality, but you’re free fork it and play around.

Extensions

  • I measured realized vol, not implied vol. None of this pretends the option market isn’t aware of the seasonality. I didn’t study IV at all so the questions are green space.
  • The title of this post is “does revenue seasonality translate to vol seasonality?” I looked at one relatively small company in the grand scheme of things. Lots of cross-sectional green space to examine. Hopefully, there’s some inspiration in this post that you can extrapolate to broader studies.
  • Commodity ETF seasonal volatility

I forked and modified the notebook into one more tuned for ETFs (for example, it doesn’t control for equity benchmark volatility).

👉 ETF Seasonality Study

The US Natural Gas Fund (UNG) regales us with its wildly seasonal behavior:

Go run it on WEAT.

It makes sense. Commodities make sense. I don’t know what to make of stocks. Maybe that makes me crazy for being short those HRB puts.

They were originally May puts, but I rolled them forward to April. Don’t want the earnings risk and because giant sell-off was recent the April’s still had a fat bid.

Let’s leave it there.

high implied vol can work for or against you

Here’s how high vol works against you

It’s too expensive to buy puts to trade directionally once an asset has already made a giant move higher.

When you are 100+ vol, it’s not surprising the market puts your odds of getting cut in half at 1 in 3 proposition.

It’s hard to make money in a reasonable risk-adjusted away once an asset is already high vol since it’s hard to size it without risking your neck.

It is well within the meat of the distribution for SNDK to get cut in half this year. That’s just a good baseball player’s chance of getting a hit or a typical NBA player hitting a 3 in a game (or missing a 3 in practice).

How high vol works for you

The high vol is a gift to the natural holders. Millennial employees can lock in their unborn grandkids’ inheritance.

A non-technical way to appreciate how high vol creates this opportunity in upside call vs downside put differentials:

Imagine a stock starts at $100. It gets to $125. From $125 to $150 is only 20%

But if the stock fell to $75 the distance from $75 to $50 is 33%

Both $50 and $150 are 50% from the initial price, but in a compounding sense 150 is much “closer” to the starting value than $50. The higher the vol the less “distance” a fixed dollar move represents. As implied vol increases OTM calls grow faster in value than OTM puts. This is the source of the attractive pricing you see in the risk reversal (ie option collar).

That tweet comes from Dean Curnutt of The Alpha Exchange Podcast. He’s a partner in an option brokerage firm I’ve known for a long time. I told him he needs to buy an SF realty company, since risk reversal-financed $10mm SF Victorian pipeline is unmanned!

Speaking of, if you wanted to bet on AI without access to private shares, real estate on leverage would have worked. See Redfin economist Daryl Fairweather’s Is the Bay Area in an AI Housing Bubble?. I hear from locals who own a bunch of SF RE that the bid is mostly in single-family and multi-family rental units are not getting the hockey stick treatment. The rents have been exploding higher, however. And to think coming out of COVID, you couldn’t give away an SF condo. Super high vol asset. They need options!

appreciating diversification

This week, I hosted class #4 of the Investment Beginnings for local kids aged 12+.

The series’ materials are here:

https://notion.moontowermeta.com/investment-beginnings-course

This is the specific material for class #4:

I also created a web version of the game:

☀️🌧️Sun/Rain Game

While I’ve been doing the series for kids, I think a lot of adults could even benefit. The overall arc of the presentation:

  1. Last class’s game ended with a humbling but common result, hinting at a key pillar of investing.
  2. We use a few facts to dispel the recency bias that all investors carry with them.
  3. They learn what the fundamental nature of stocks predicts about their individual and group behavior.
  4. We widen the meaning of diversification beyond stocks, which was extremely easy to do in light of March 2026.
  5. We play a game that makes the implications for portfolios concrete.

While moontower readers span a wide range of investment experience (although overall quite interested in investing and money), here are a few ideas that I hope are presented in ways that might augment even your understanding or at least help you explain to learners in your life.

The most naive strategy is hard to beat

The kids spent Class 3 picking stocks based on a bunch of variables they could sift through, only for the equal-weight benchmark to beat everyone except the team that contrarily concentrated in the highest momentum company that is very much still an enigma to the market (TSLA).

The equal-weight strategy which I just called a monkey (although it’s not random, just dumb) beat 2/3 of the 15 individual stocks themselves.

The reason you shouldn’t be surprised that the naive strategy is hard to beat

Companies eventually die, but indexes shed them before they are in hospice.

Only 17% of the original S&P 500 companies from 1957 survived 50 years. The average company lifespan on the index was 33 years in 1964 — it’s now under 20. Kodak invented the digital camera in 1975 and buried it because of the innovator’s dilemma.

In a crash, stocks remember they’re all stocks.

Diversification works differently in good years than bad ones. In the class data, stocks spread widely in bull years. Then we looked at Jan 2022 to Jan 2023: 13 of 15 stocks fell together, the spread collapsed.

I didn’t want to lean into the word correlation, but I noticed a different way to convey the same idea. The inter-quartile range (IQR) of annual returns was smallest in the worst years. This chart is rich with insight. Notice the IQR’s visually but also how the equal-weight portfolio performed relative to the individual stock and median stock returns each year:

These observations are non-CAPM ways to arrive at the familiar language of diversifiable risk (company-specific stuff you can eliminate for free) and systematic risk (market-wide stuff you can’t diversify away but do get paid to carry). The crash revealed which was which.

If we zoom out from stocks alone, we see a race where the leaders change each year

The Novel Investor quilt shows 15 years of annual returns ranked best to worst across 9 asset classes. The diversified portfolio, that gray-ish bar, never wins a year nor comes in last. Note commodities, gold and BTC are absent from the series.

How do you think they would influence the gray portfolio?

The Sun/Rain Game

This leads to a game where we can build some intuition about the role of non-stock assets in a portfolio.

If you look at the sheet you can see how the kids actually did (I changed the kids names to letters):

The game’s punchline is that owning the anti-correlated asset despite it having a worse expected return than the “good” asset leads to a better long-term portfolio.

But this is so unintuitive that I got a student’s question wrong during the discussion!

I’ll explain the mistake here.

A student asked if we played the game for 100 years instead of just 20 years, if owning the good asset ONLY would have led to the best return. I initially said no, then corrected myself and said yes because it has the higher expected return.

But I was right the first time. The answer is definitely NO.

It comes down to the fact that the good asset has an expected arithmetic return of +5%, BUT it has a negative expected CAGR or geometric return.

The math:

The company is 50/50 to return+40% or -30% in any given year.

.5 x 40% + .5 x -30% = +5%

But over 2 years, you expect 1 up, 1 down. Compounding math:

1.4 x .7 = 98%

You expect to lose 2% over a 2-year sequence of about 1% per year.

Formally, we compute the expected CAGR by multiplying (note how the arithmetic or single period return is added):

1.4^(1/2) * .7^(1/2) – 1 = .9899 -1 = -1%

[The exponents represent the probability of each outcome. If there were 3 outcomes, you’d have 3 terms and the exponents sum to 1.]

In the long run, the good asset destroys value. So you do not want to concentrate in it despite its superior expected arithmetic return.

The CAGR is being killed by volatility drag, which is the asymmetry of the fact that if you lose 30% you need to return 42.9% to get back to even, but the “up” years only return 40%. You are falling behind over time.

The bad asset returns -10% half the time and +8% half the time. It’s a “worse” asset, but it’s less volatile. Taking this quality to its extreme, isn’t this what cash is?

In arithmetic terms, our average return if we allocate to each asset equally is +2% (50% x 5% + 50% x -1%). But that portfolio is less volatile because one stock zigs when the other zags. The diversification cuts the volatility MORE than it cuts the expected return, leading to a better risk/reward!

If we rebalance each year back to an equal-weight portfolio, we “pull” the expected CAGR closer to the expected arithmetic return. It’s the only way we can get close to eating those expected arithmetic returns. Otherwise, they don’t really exist for you over time.

This table is worth staring at:

Here’s a message one of the dads sent me after the class:

Measure Your Own Diversification

I made you a tool to compute your portfolio vol and see how much the cross-correlations between your holdings have been reducing total vol from the vol that the individual assets contain. You can tinker by adding ETFs of other asset classes to your equities (ie GLD or USO or TLT etc) to see how they affect the volatility.

If you just want inspiration for an idea, use the tool to compare the Mag 10 index (MGTN) realized volatility with the average realized volatility of its holdings. The index is conveniently equal-weighted, 10% in each name.

Two ways to try this on your own portfolio:

🌐To run in your browser

https://colab.research.google.com/github/Kris-SF/data-pipelines/blob/main/portfolio-vol/portfolio_analysis.ipynb

⚠️Just push through the warning it spits off

The output will includes metrics and charts:

 

🖥️To run locally

git clone <https://github.com/Kris-SF/data-pipelines.git>
cd data-pipelines/portfolio-vol
pip install -r requirements.txt
jupyter lab portfolio_analysis.ipynb

Either way, edit the WEIGHTS dict and the START / END dates, then Run All.

how a high implied vol can be cheap

EWY, the South Korea ETF, was an interesting source of disagreement in our Discord about whether the vol was expensive or not. This is the IV vs trailing RV:

Based on realized vol calcs using daily sampling, IV approaching 50% looks rich.

But EWY had been grinding up since the beginning of the year. (It tanked along with the dollar this week after the Iran strikes.)

 

It was up 25% in February alone.

If we annualize that to a vol:

25% * √12 = 87% vol

More than 2x the realized vol and significantly higher than the “rich”IV.

The posts below discuss this sampling issue from several angles.

  • Risk Depends On The Resolution | 4 min read
  • Volatility Depends On The Resolution | 5 min read
  • The Option Market’s Point Spread (Part 2) | 11 min read
  • Thinking In N not T | 6 min read
  • A Misconception About Harvesting Volatility | 3 min read
  • The Coastline Paradox in Financial Markets | 11 min read

There’s no single “realized” volatility. Every time you delta hedge you sample a unique volatility such that is possible for a long delta hedger and a short delta hedger to both make or both lose money depending on the timing and size of their hedges.

Because we are cursed with memories, every good trade we do, we wish we did bigger, and every bad one we wish we did none of. Our memories, combined with the noise inherent in delta hedging is a recipe for madness. That’s why all option traders are unpleasant and wish they had chosen a career where they can simply clip a fee from the collective net worth of society, which has been steadily levitating for the past generation, raising (good) but compressing (boring) the fortunes of the clever and the dimwitted alike.😉

Since realized volatility is sensitive to how we sample it, it’s worth looking a bit closer to how it accumulates. This exploration is likely to inspire your own research or even guide your thinking on how to get your head around return behavior that, despite being common and familiar, remains, as my kids say, confuzzling.

In this post:

  • The Trend Ratio — what the ratio of weekly-sampled to daily-sampled vol tells you about trending vs choppy regimes
  • The Variance Contribution Ratio — a single number that tells you whether a trend was a slow grind or a one-day event
  • Broad patterns across 35 liquid ETFs over a decade (~97K observations)
  • What TR implies for delta hedging — the tradeoff between rebalancing noise and sampling bias
  • What happens to forward vol after grinding trends, and what that means for pricing
  • A self-contained Jupyter notebook that fetches from yfinance and reproduces everything

 

the shape of volatility

EWY had a grinding rally. You can describe this as momentum, autocorrelation, trend. These are all ways to say the stock went on a quite a run. These descriptions mask something even more fundamental that we should make explicit. The notability of this run, even before describing its steady behavior, is that it was volatile.

Even if it’s 1% per day for 20 days this is volatile in the sense that the movement in the stock was unusual. We do not expect EWY to find itself over 20% away from where it was a month ago. Plain and simple. If we tallied all monthly returns, a move of that size would stand out as an outlier.

If a dog is wearing a dress, we would acknowledge that unusual observation before describing the color or material of the garment. Similarly, before describing the shape EWY’s move, we take it in, “That’s pretty remarkable.” You’d need to have a narrow definition of volatility, a definition that is divorced from an honest view of reality, to think otherwise.

It’s settled then, EWY was volatile. Great. Now we can think about the shape of the volatility. I’m going to introduce 2 measures that we can use in conjunction to classify volatile moves.

Trend Ratio

A common way to compute a realized vol for say 20 trading days is to average the sum of squared daily returns, take the square root, then annualize by √251. We’ll call this 20d RV sampled daily or 20d_RV for short.

Now compute the same realized vol but sample weekly instead of daily. The method is the same except for 2 variables:

  • 5-day returns instead of daily returns. Note that means only 4 data points, not 20.
  • Since you sampled every 5 days, you annualize by √251/20

We will call this 20d RV sampled weekly or 20d_RV_w

The ratio of weekly-to-daily vol captures how much “trend” was present relative to chop. We can call this Trend Ratio (TR).

TR = 20d_RV_w / 20d_RV

When TR > 1, the market has been trending. The point-to-point displacement exceeds what you’d expect from the daily noise. When TR < 1, daily returns have been partially canceling or mean-reverting within the window.

As of the last day of February 2026:

EWY

20d_RV_w = 49.9%

20d_RV = 40.6%

TR = 1.23

Variance Contribution Ratio

Imagine 2 stocks.

Stock A: Moves 1% every day. Its vol annualizes to 16% if you sample daily

Stock B: Moves .60% 19 days, and 3.6277% on 1 day. Its vol also annualizes to 16% sampled daily

Both A and B accumulated the same amount of variance, but for A, each day contributed 1/20 of the variance. Stock B’s most volatile day contributed 65.8% of the total variance!

💡Variance is the square of returns. We care about variance because realized p/l in options is proportional to variance. If you are short gamma, a 6% move costs you more than 2x a 3% move.

We will define a Variance Contribution Ratio (VCR) as the fraction of total variance explained by the single largest squared daily return. Hence, the VCR for a 20d window:

VCR20 = max(r²) / Σ(r²)

If all 20 days contributed equally to variance, VCR would be 1/20 = 5%.

Snooping ahead for a moment, the median VCR across 35 liquid ETFs for the past decade is about 25%. This means one day typically explains a quarter of the whole month’s variance. A major departure from the uniform case. The real world is lumpy.

 

Boiling vs jumpy frogs

A high TR reading tells you the market trended, but not necessarily how. By filtering TRs by VCR or vice versa, we can distinguish grinding or frog-boiling trends versus a trend characterized by larger jumps. From there, we can study subsequent realized volatility behavior.

I grabbed 10 years of daily return data for 35 ETFs spanning equities, fixed income, fx, and commodities from yfinance (~97,000 observations)

The details of all the calcs and code are in this notebook:

🔗https://github.com/Kris-SF/public_projects/blob/main/vol_ratio_vcr_study1.ipynb

Here’s a high-level summary:

Across all tickers, we can see that the median trend ratio is ~95%. In other words, volatility sampled weekly is about 5% less than if you sample daily. More frequent sampling over the same time window generally leads to higher vol computations, so this is not a surprising result.

If VRPs are typically 10-15%, then VRPs are about 1/2 to 1/3 larger if you sample weekly. An interesting observation for someone debating how often to hedge. The trade-off, of course, is noise. We can see the distribution of trend ratios in the blue histogram. Again, that’s across all tickers. For individual tickers, you can look up the standard deviation of the Trend Ratio. We will look at them graphically below in a bit. The distribution of TR appears well-balanced.

On the other hand, we can see that VCRs have a strong positive skew. The median VCR is ~25%, meaning it’s normal for 1 out of 20 days to comprise 25% of the total variance! It’s never the case that the distribution is truly uniform, but there’s about a 1 in 20 chance that a single day can comprise 50% of the variance. Remember, there are no single stocks in this universe, so earnings are not a factor. If interested, you could change the tickers in the notebook to study single stocks.

What’s normal at the ticker level?

Trend Ratios by ticker:

Commodities seem to exhibit more trending behavior than equities, but the overall feels compact with a range of TRs from .9 to 1

VCRs by ticker:

It seems like SLV and FXY have had about 10 to 20% higher VCRs than the typical name suggesting they are more prone to a single jumpy move in their return stream. Because we are looking at the median VCR I don’t think the recent SLV chaos is skewing the data. If I exclude SLV data from June 2025 until now, the median VCR only drops from 29.5% to 29.4%.

 

Classification

Split TR and VCR at their medians to get a blunt classification framework:

Summary:

Grinding Trend: 20,744 (21.3%)
Spike Trend : 21,605 (22.1%)
Choppy Grind : 28,046 (28.8%)
Spike Revert : 27,150 (27.8%)
TOTAL : 97,545

EWY’s move was textbook upper-left quadrant grinding trend. High TR, low VCR.

Let’s set VCR aside for a moment. It’s nice that the recent VCR confirms that the variance was not especially lumpy, but we can see that with our eyes. The question that prompted this whole post was whether the elevated TR, the fact that the less frequently sampled vol was much higher than the daily vol, meant anything for future volatility? Is the high IV actually expensive, or does the option’s market somehow balance both measures of realized vol?

Phrased generally:

Does the elevated TR tell you anything about subsequent realized vol?

For every observation, I computed both the current TR and VCR, then looked at what happened to daily realized vol over the next 20 trading days. To be clear, this is the window that is 20 days hence, so there are no overlapping days between the TR reading and the subsequent volatility.

I’m specifically interested if daily sampled vol exhibits any tendencies. I sorted all observations into TR quintiles and measured the median percent change (technically the log change) in RV20d from the current window to the next window.

The pattern is monotonic and the direction of change is what I’d expect.

In Q1 (lowest TR, most choppy) forward daily RV declines. To be fair, I had no expectation about whether it would increase or decline, merely that as we increase the TR, the subsequent RV would increase.

[To articulate the logic: there’s additional information in the less frequently sampled vol at the margin, perhaps uncovered by splitting the data into quintiles. We are looking for benefit in the margins as we accept that there is less total information than more frequently sampled vol. After all, daily vol sample would converge to a good estimate of an asset’s true vol faster than once a year observations. This is also why you would prefer daily data about a trading strategy versus monthly.]

As we ascend quintiles, Q5 (highest TR, most trending) precedes a median increase of +3.4% in RV20d.

The daily estimator was understating the expectation of the next period’s vol if we assume it would be unchanged. The next period, daily RV partially “catches” up.

3.4% isn’t a huge number, but it’s material. If you thought 50% vol is fair, now you might pad that to 51.7% but…it’s highly variable and positively skewed. The mean vol increase is 14.9%, which would mean raising your fair vol from 50% to 57.5%!

This is the histogram of the percent vol increase in the subsequent period for the 5th quintile of trend ratio:

Be careful, the standard deviation of that vol change is huge. This is all the quintiles:

 

That EWY elevated IV over daily-sampled RV starts making a lot more sense because its trend ratio of 1.23 is in its top quintile.

 

VCR adds independent information

High VCR predicts vol decline, holding TR constant. This is partly mechanical. To take an extreme example, when one day accounts for half your variance budget, vol drops when it rolls out of the next window. But it’s also real: spike regimes tend to cluster and then subside.

To examine how VCR may interact with TR, we construct a heatmap. Each cell shows the median percent change in daily RV from the current 20-day window to the next, broken out by TR (columns) and VCR (rows).

Reading left to right (TR axis): Higher TR predicts vol increase, and this holds within nearly every VCR row. Look at the 15-20 VCR row: it goes from roughly flat at low TR to +11% at high TR. The pattern repeats row by row.

Reading top to bottom (VCR axis): High VCR predicts vol decline across every TR bin. The bottom row (VCR > 50) is negative across the board, ranging from -30% to -3%.

We would find EWY in the upper right corner (high TR, low VCR) the grinding trend zone. Subsequent vol rises from +8 to +12%.

Recall from the four quadrants that grinding trend is the least common, showing up about 21% of the time. But this is still frequent enough that you can easily bid an IV equivalent to the trailing daily-sampled vol.

I just doubt that the market will give it to you. But at least you know to screen for this and at the very least not be tricked into selling an insufficiently high IV.

It’s trivial to compute a VCR as well, so you can add this filter as confirmation that the trend is boiling a frog not just a jump.

The Notebook

Again, I’ve open-sourced the full Jupyter notebook behind this analysis.

🔗https://github.com/Kris-SF/public_projects/blob/main/vol_ratio_vcr_study1.ipynb

It fetches data directly from Yahoo Finance, constructs all the variables from scratch, and reproduces every chart above. You can change the ticker universe, the window length, or the sampling frequency and re-run the whole thing.

Note the code computes TR and VCR using a zero-mean estimator for realized vol (dividing by N, not N-1). This is deliberate, we’re measuring total quadratic variation including drift so the zero-mean formulation is standard in the vol trading world

options policework

A moontower user sent this [paraphrased] message in our Discord the morning of Jan 9th:

NLR [VanEck Uranium and Nuclear ETF] had a price shock on Jan 2 and has been ‘fast grinding up’ since then. Did I “lose” here because RV climbed up faster than RV and my losses are ‘gamma’ driven?

Now the most important part — what can I learn / what should I do as part of my process?

We are going to do the post-mortem in steps. The first task is to take inventory of the scene. Basic policework. “What happened?”

Once that’s established, we can at least start to disentangle bad luck from decision quality and finally wrap up with risk management/hedging/whether we should close the position or not.

Arriving at the scene of the crime

What do we know? Our friend sold a small amount of 1-month NLR at-the-money straddles in December. To be discreet, I’m going to guess the date to be December 15th and the strike to be the 126 line and IV was ~41%

Below is a simple time series of:

constant maturity 30d IV LAGGED vs 30d realized vol

By lagging IV, we align it with the 30-day realized vol that was experienced in the subsequent month. We can see that the RV (faint green line) our friend experienced far exceeded the IV (dark blue line) of the straddle they sold.

A chart like that is a handy compression, but since it is:

  1. using constant maturity vols (ie interpolated) and
  2. floating (the IV is taken from the .50 delta call each day)

…the chart is not high-resolution to discuss p/l, but can only gesture roughly to its direction. It’s a blurry picture of a license plate as the driver speeds away.

We will get down to the contract level, but first, we want to develop a sense of proportion about notable move sizes.

Realized vol

✅Jan 2nd was the steepest one-day move: 7.1% or about 112% vol annualized. Nearly 3 standard devs.

✅ Over 8 days, there was a 13% cumulative rally, or 73% annualized vol.

The calculation: 13% *sqrt(251/8) = 73% annualized vol move

Any funny business under the hood?

  • NLR’s largest component, CCJ, is ~9% of the basket. It rallied a bit over 7% as well which is frankly underperforming the basket since CCJ is a higher vol than the ETF.
  • Its second largest component is DNN ~6% but lots of names in the basket are close to that size. DNN was up 14%…but its normally twice the vol of the ETF already.

In z-score space, the ETF and its 2 largest holdings all moved about the same amount.

All these clowns are riding in the same car. Its a 1-corr move, in a beginning-of-the-year inflow to this sector.

💡For those of you who trade around rebalancing and calendar anomalies, perhaps this is a thread to pull on?

Drilling down to the option contract level

The NLR option volume in the month preceding Jan 9th was not notable. There was a spike in puts traded on Jan 5th, but this was already after the largest single-day move happened

The largest component, CCJ, did not have any noteworthy volume in the prior month either.

What stands out in NLR is how small the open interest is in general. This is not a liquid option name.

Price and P/L

From December 15th to Jan 9th, the Jan 126 straddle expanded from $12.75 —> $15.50 as the stock went to $140. No surprise, the call went to >.90 delta.

So the short straddle position lost $2.75, assuming you did not hedge any of the delta on the way up.

If you’re intent is to trade vol, allowing the delta to ride like that is introducing a lot of noise into your trade expression that was supposed to be about vol.

What if you sold the straddle and hedged the negative gamma daily by bringing your deltas back to neutral? In other words, buying shares after they rallied and selling them as they fell in opposition to the changing straddle delta.

Our service includes an attribution visualizer which allows you to decompose your daily and cumulative p/l due to realized and implied vol changes as the option and stock price move around. It is from the perspective of an option buyer. In this case, we are selling, so just flip the signs. We also need to double the numbers since we are assuming a straddle hedged daily, not a single call or put as the tool assumes.

The total ACTUAL delta-hedged p/l as of January 8, the day before the friend messaged the group, would have been -$.51 per contract or -$1.02 for the straddle. The loss would have been less than letting the straddle ride, since the stock trended up and each rebalance would have forced the hedger to buy on the way up.

If the stock chopped around at 70 vol but still landed on the strike, hedging would have locked in a bunch of negative gamma scalps while the straddle decayed.

Hedging makes your p/l reflect the vol that was realized but whether this is good or bad for you, ex-post, depends on whether the stock chopped or trended.

Ex-ante, you want your hedging to be aligned with the reason for your trade, which in this case is presumably the expectation that IV would have a risk premium above realized, since the trade was selling 1-month atm straddles.

A note on attribution

The chart doesn’t track the sum of unexplained p/l although it is displayed in the summary (not shown). The “unexplained p/l” is the balancer which makes the theoretical attribution tie out with the actual p/l. It is a catch-all for the higher-order greeks, mostly vanna and volga, which reflect the fact that your gamma and vega, respectively, are not constant during a single day’s move.

The bulk of the p/l on that big day is due to realized. It’s fair to say from the summary that realized p/l explains most of the result. This is what we’d expect from an option with only a few weeks until expiry.

No smoking gun

Given the lack of notable action in the option volume in either NLR or its components, the uniform behavior of the moves in the complex, a boring IV chart to close out 2025, and the fact that the move happened on the first business day of the year, that this result was a bunch of methodical but unanticipated sector flow. Approximately 2.8 sigma move in one day, or about 1/200 probability, a bad beat with roughly the same probability of being dealt pocket aces (1/221 because 4/52 * 3/51).

[Stock moves are fat-tailed, so the probability is actually larger than 2.8 sigma would predict, but the fact pattern here still suggests a bad beat. The IV wasn’t suspiciously high in December, there wasn’t any telegraphing flow].

An opportune time to remember one of the reasons gambling and poker experience is helpful…from why poker is used to train traders:

This is one of the great teachings of poker. Short-term results are noise. He explains that in Limit Hold’em, even a high edge hand has only .02 big bets worth of expectancy vs a standard deviation of 2.5 bets.

[Kris: In investing language, a .008 Sharpe for one trial. The SP500 has a daily expectancy of about 3 bps and 100 bps standard deviation for a daily Sharpe of .03. The poker hand has almost 4x the noise of the daily SP500 return.]

Since poker teaches that you will make the right decision and still lose money, it trains you to emotionally decouple decision quality from result quality.

This is a ceaselessly profound concept. Not because it’s so clever, but because of how it resists internalization. It’s easy to understand, it’s hard to apply the understanding to how we receive the world.

As police work goes, there will be no verdict or even charges brought as to whether the decision to sell the straddle was sound. We do get research inspiration. Is sector dispersion especially high on the first of the year? First of the month? Is there more volatility in general on those days? If so, is the median volatility higher or the mean (ie is it being driven by outlier-type moves)? We don’t know if selling the straddle was bad, but we do get new questions. This is what a career in trading looks like. If you don’t like this type of problem, then hooray, I’ve saved you a bunch of time compounded over your life. You’re welcome.

Regardless of the outcome, we still have this business of risk management.

Should our friend have hedged or closed the trade?

We don’t get to snoop forward in time.

The following is true but unknowable in advance:

  • If the stock is trending, you want to hedge aggressively. Buy delta as it rallies, sell it as it falls.
  • If the stock is mean-reverting, you want to sit on your hands.

Your risk approach cannot depend on what you don’t know. And it must depend on what you consider tolerable.

The combination of these constraints will dictate how big your position can be. We’ll call this your limit. From there, you are simply monitoring how big your position is under various scenarios to that limit. If it is greater than the limit, you must reduce it.

I’ll give a simple example, but know this is a vast topic and a chief concern (and unsolved problem…there’s no single answer to this) of any risk-taking outfit.

Let’s say you are willing to tolerate 1% volatility in your total portfolio due to a particular trade on your average day. If you have a $1mm portfolio, that’s $10k. To a first approximation, that means keeping your swings due to delta below $10k. Call NLR a $140 stock with a 48% vol. For a typical day, that corresponds to 3% moves or $4.20.

$10k/4.2 is the daily swings associated with ~2,400 shares or 24 100 delta options. Or 48 50 delta options.

So what is NOT conservative about this risk-based sizing:

  1. “Typical day” is being proxied by 1 standard dev (ie the 3% daily vol). If moves are normally distributed, that means about 1/3 will be greater than that or more than a week out of every month will be composed of bigger moves. And that’s ignoring fat-tailedness
  2. We aren’t accounting for adverse vol changes. If you are short options, trades are negatively skewed so we’ll want to be more conservative still.

What IS conservative about this risk-based sizing:

  1. If you hedge your deltas even once a day, you will not have as much daily variance in your p/l due to delta, which is effectively what we’re describing above.

How does this shake out?

A good starting point!

In the case we’ve been following, if our friend used a rule like this, it woud have prescribed 48 50 delta options or 24 straddles.

The straddle went from $12.75 to $15.50 on a bad beat with no hedging.

The loss = 24 straddles * -$2.75 * 100 = -$6,600

If our friend hedged daily, mirroring the attribution visualizer recipe, the loss would have been:

The loss = 48 contracts * $-.51 * 100 = -$2,448

Notice the constraint:

This makes sure delta is positive for the sake of the calculation AND doesn’t allow you to oversize a position just because you chose a skinny option.

I came to this example from the perspective an option seller. If you are a buyer the most you can lose is your premium if you DON’T delta hedge. You can use your risk tolerance for losing money as your premium spend limit.

If you do delta hedge, you can lose many multiples of your premium. For example, if you buy an OTM put and the stock grinds down slowly to your strike, you will be buying shares all the way down. You will lose not only on your stock trades but also on the premium going to zero. T

I’m going to pause for a second to level with you because I do feel some almost paternal responsibility stemming from the privilege of many smart but also young readers who come to this letter to hear from me because of my gray hair and specifically because I won’t treat options like the next house-flipping get-rich trend.

This topic of risk is so vast that its discovery is an ongoing project throughout your career. You are shaping and being shaped by the rules you create and their feedback, so to think there’s an “answer” is to not appreciate how many facets there are to managing risk across a portfolio of non-linear instruments.

To recap…this was a “3 standard deviation” move and the loss was comfortably below our tolerance. You can season to taste, but this is overall a conservative approach that you can experiment with. This is a point-to-point p/l, so the rule is providing some flex for tough marks along the path. Like I said, a starting point.

🔗If interested, my treatise on hedging If You Make Money Every Day, You’re Not Maximizing

What the risk management decision is NOT about

Whether you should have the trade on in the first place is not the realm of risk management. That’s the alpha signal or whatever you want to call it in your approach. Risk management is concerned with sizing, which is the last layer of defense. (The prescribed size might be tiny, in which case, presumably, you are doing lots of trades.)

I’m saying this because the fact that you already have a trade on is not a reason to keep it on. If you don’t want to put the trade on fresh, you should get out. There’s an opportunity cost to your capital.

If a trade you have on is not bad but just fair, then the decision comes down to whether the variance is acceptable. If there are costs to getting out of a coin flip that you can sweat the risk on, then it’s ok to save the transaction costs. You can refine that a bit to “is the coin flip’s expectancy the same as my cost of capital” yadda yadda, but you get the gist. There’s a cost to reducing variance (ie hedging or closing) and it’s perfectly fine tto avoid it if the risk is tolerable. There are a lot of risks in life you don’t bother hedging.

Finally, rules aside, if you are regularly running risk that makes you lose sleep, impairs your judgement, or threatens to blow you up even 1% of the time, the size is wrong. 1 in a 100 is inevitable if you plan on doing this for awhile.

the bias of hedging on implied delta

Tweets

Before we get to today’s meat, here are 2 threads spurred by oil’s advance yesterday.

 

Delta is God

If you’re reading a Thursday Moontower, “you’ve heard the expression vega wounds but gamma kills.” It’s not quite so cut-and-dry. My pushback to that trope is the recent article vega’s finishing move. However, I’m sympathetic to “gamma kills” mantra. The running joke I’ve used to say on the desk has a similar energy:

“delta is the only greek”

I wouldn’t take this literally, the joke is bowing to the idea that if you have your hard deltas, ie your shares, pointing in the right direction, you tend to win. The Freudian reading of that statement is I’d rather be good at directional trading than a vol monk.

Today, we give delta its due. Delta is god.

No matter what you think it is, you never quite understand it. The best we can do is understand how it will harm or help us based on the thing we can’t know in advance, but know will affect our p/l — path.

While I’ve been meaning to write about this for awhile, this paraphrased question from a moontower user, bumped this post up the editorial queue:

“I’m backtesting delta-hedged straddles and I’m worried the vol I use to compute my hedge delta is ‘wrong.’ Does the choice of hedge vol bias my P&L, and if so, how?”

Pull up a chair, young Padawan.

I’m going to offer 3 perspectives.

  1. The quant answer.
  2. The quant who speaks “trader” answer
  3. The Moontower treatment

Finally, we’ll see how this idea applies to traders and investors who try to structure an options-like payoff to a trade without using options at all.

So much trader mindshare is fixated on delta-hedging for the same reason we are never happy with the quantity we trade in hindsight. The goal here is to create enough clarity that you can not only make better ex-ante decisions but make your peace with them regardless of the outcome.

Onwards.

The Quant Perspective

We’ll start with the mathematical approach. This is not my wheelhouse, so I’ll save my words for later sections, but if you can’t wait to curl up with notation, then this post is for you (h/t to the Moontower Discord where it surfaced).

I couldn’t help but print the acknowledgements section below. I don’t know stochastic calculus, but I suspect the people involved in this paper might.

Which Free Lunch Would You Like Today, Sir?: Delta Hedging, Volatility Arbitrage and Optimal Portfolios by Paul Wilmott & Riaz Ahmad

ABSTRACT

In this paper we examine the statistical properties of the profit to be made from hedging vanilla options that are mispriced by the market and/or hedged using a delta based on different volatilities. We derive formulas for the expected profit and the variance of profit for single options and for portfolios of options on the same underlying. We suggest several ways to choose optimal portfolios.

ACKNOWLEDGMENTS

We would like to thank Hyungsok Ahn and Ed Thorp for their input on the practical application of our results and on portfolio optimization and Peter Carr for his encyclopedic knowledge of the literature.

A Quant Who Talks Like A Trader

The next perspective is a bridge. In the incomparable book, Financial Hacking, quant Philip Maymin breaks things down in terms that your common option flow trader will understand.

On hedging to model (forecast) delta vs implied delta

The short-form intuition is this: you bought a call and hedged it. So you are betting on higher volatility. When volatility ends up higher, even if only for random reasons, you benefit, and when it ends up lower, you lose.

That intuition continues to hold even if you hedge at the wrong vol. If, for example, the true vol is 30 but you hedge to 20, you are just introducing noise. The slope between your P&L and the realized vol is still positive, but not as sharply defined.

Philip brings in the practical concerns of, well, having an employer to answer to who doesn’t like loud “noise”.

If you want to minimize your mark-to-market P&L, you may choose to hedge to the market even if you think the market volatility is wrong.

How do you trade-off these two risks, the mark-to-market risk versus the at-maturity risk? Ultimately, you probably will decide based on the maturity of the option you are hedging.

  • If the option will expire in a month or two, you will almost surely be able to weather any intermittent mark-to-market volatility, so you will lean towards hedging to model.
  • If the option will expire in many years, you will likely lean towards hedging to market, at least until the expiry gets closer.

And what do people do in practice? They hedge their bets on how to hedge. One common rule of thumb is to hedge halfway between the model and the market delta. Then you’re never exactly hedged, but you’re never too far away either.

The inability to hedge perfectly continuously impacts your trading by introducing random risk. This risk decreases if you hedge more frequently, but only as fast as the square root. Therefore, if you want to halve your risk, you have to hedge four times as often.

This is a fantastic observation to give a sense of proportion:

Noise from hedging a one-year option on a daily basis instead of continuously is about the same as one volatility point. If you make one volatility point in expected profit and the standard deviation of your profit is one volatility point, then your Sharpe ratio is about one.

And remember…the risk from not hedging continuously can be diversified away.

His final point here echoes what I wrote in a misconception about harvesting volatility.

Which brings us to…

The Moontower Treatment

The original paraphrased question once again:

“I’m backtesting delta-hedged straddles and I’m worried the vol I use to compute my hedge delta is ‘wrong.’ Does the choice of hedge vol bias my P&L, and if so, how?”

My dead-leg-on-the-toilet response:

Here’s the quick answer…the vol that generates your delta introduces bias that you discover after the fact but you can understand how the bias is correlated to your p/l in different scenarios.

For example, if you are long vol and the stock trends, you will wish you hedged on whatever delta was the “lowest” of the reasonable options you could have chosen from…so if the option is ITM you will have wanted to hedge deltas on a high vol, but if it was OTM you will have wish you hedged on a low vol!

I’ve never done this, but you could create a little cheatsheet matrix with:

  • option ITM or OTM
  • market trends or chops
  • preferred vol i wish i would have hedged on = “high” or “low”

By comparing that matrix to your strategy you can see which biases cause you to double down on your implicit exposure vs hedge it (for example, if you are long ITM options and vol expands in a trending market you will hedge on that desirable light delta…but you are already winning on vega so maybe this codependancy is too much “doubling” down which hurts extra if you were short that option)

Of course, I had to make the cheatsheet now that I got a moment to focus on the question. To start, I fed my response to Claude and it whipped something up. I did have to re-work some of its understanding.

[These are Gell-Mann amnesia moments, where it stumbles on things you know well, and wonder about what it tells you in domains you are less equipped to discern.]

Let’s begin with the cheatsheet, memorialized at https://delta-hedging.moontowermeta.com/:

The sheet is self-explanatory, but there are biases we can anticipate. It’s what I referred to as “the doubling-down” in my response to the reader.

Suppose you follow the rule:

“Hedge On Implied Delta”

IF:

[You buy an OTM option because you think IV < forecasted realized]

AND:

[Your vol signal is correct]

THEN:

[Your hedge ratios will be “light”…I buy OTM calls and sell too few shares]

THEREFORE:

If we trend, you will make “extra” p/l beyond the fact that you bought underpriced volatility. This is “doubling-down”.

If we chop, you will make less gamma scalping p/l than you would have with a heavier delta. The forgone p/l will be buffered by the fact that you were right on the vol being cheap.

In this case, hedging on the delta of the implied vol, is doubling down on your vol forecast in the event that we trend, and offsetting some p/l in the event that we chop.

💡Your choice of delta to hedge on begs you to wonder if a high realized vol forecast is more likely to coincide with trend or chop.


Most of the time, options embed a risk premium above the realized vol.

[The bridge between this idea and making money on selling options sways wildly and has a few missing planks. Many have died trying to find the treasure on the other side so take it easy Indiana Jones.]

That said, it’s understandable if you never want to buy an option. But sometimes you want an option like exposure, just like you might want an insurance policy. You want protection against a high-impact event even if you don’t think it will happen.

I discuss this in the Moontower community, where I prefer to hold BTC exposure as options rather than as a hard delta allocation (I actually use a blended approach, but the reasons aren’t germane to this post).

I pick my spots when I buy the options. My most recent call purchases feel validating because I thought the vol was cheap, so despite losing on direction, they were much better buys than the counterfactual of owning hard deltas.

[Welcome to vol trader cope. This is literally what life is like as a vol trader. I lost money but made the right decision. Yay. You only hope that your career lasts long enough to realize the sum of all the right decisions. The alternative of just guessing in a high-variance game and trying to get lucky is good too. If we focus on survivors. And we do. This is America after all.]

But what if you wanted to replicate the call exposure without actually buying the calls?

Replicating a Call When You Think It’s Overpriced

The closest neighbor to the term “portfolio insurance” in a database of vector embedding is “1987” (Did I put those fancy words in the right sequence? Who cares, you get the joke).

Don’t let that taint your mood going into this next section. You know that I know about that history. Calm down, we’ll extract the fruit from replication and point out the poison you can’t eat.

Step-by-step here.

You want BTC call exposure. You look at the options and think they’re overpriced. So you decide to skip the call and instead replicate it dynamically.

How?

You will be delta hedging in reverse. You’re assuming the posture of someone who sold a call and now needs to replicate it. An option market-maker who sells you a call must go out and manufacture it. If they can manufacture it for less than the price they sold it, they make a profit.

In this case, you are taking the role of call buyer, but instead of buying the call, you are going to try to manufacture it yourself, just like the market maker would have if you bought a call from them.

Mechanically, you’ll hold some BTC, intermittently rebalancing your position as spot moves, synthetically tracing the call’s payoff without paying the upfront premium.

How much is some?

You look up the delta of the call you would have bought, and you hold that much BTC.

How does intermittently rebalance work?

As BTC rises, delta increases, you buy more. As BTC falls, delta decreases, you sell some. You’re manufacturing the call’s convex payoff with a series of linear trades.

How often?

How often does a market-maker hedge? This is the question we’ve tackled many times. It’s a trade-off between the “noise” Maymin alludes to as you sample volatility. If you are a market-maker hedging a short option and the market trends, you’ll wish you hedged often (sampling a lower vol than experience from point-to-point).

If it chops, you’ll wish you hedged weekly, sampling a much lower vol than the daily ranges suggest. Both you and the market-maker face the same problem. You are both trying to manufacture an option whereby each time you trade you “sample” a realized volatility. The more you sample, the closer you get to the real vol. The less you sample, the more likely your replication strategy will differ from the real vol and you could get lucky or unlucky to the platonic (and non-existent) continuous vol.

The cost of this replication comes from the adjustments. To replicate a call, you buy more as the market rallies because the option for the strike you’re trying to mimic increases. You sell as the market falls. You are always buying high and selling low. The sum of those round-trips is your premium. You’re just paying it in installments instead of upfront. If you think these installments net of all transaction and slippage costs would exceed the call premium, you should just buy the call.

To feel good about this strategy, you’re rooting for the options to have been overpriced. If realized vol comes in lower than implied, your rebalancing costs less than the call premium would have. You built the same payoff for cheaper.

To determine how much stock you need to buy, you’re computing your delta at some vol, and that choice determines whether your delta is heavy or light. If you hedge at a high vol (say, the implied you think is too rich), you’re holding more BTC than you “should” — heavy delta. If you hedge at a lower vol (your realized estimate), you’re holding less — light delta.

The cheatsheet as an aid to your hedging strategy

The sheet has the posture of someone long an option, who by replicating is manufacturing an equivalent short option. They paid a premium upfront, but hope the sum of their gamma scalp stream exceeds the premium they paid. In other words, their replication posture is the opposite of yours. You are trying to replicate a long option because you think it will cost less than actually buying a call.

So you invert the logic of the sheet!

If BTC chops you want a light delta. Fewer round-trips means less friction eating into the savings you’re generating by not paying the full premium. If you are right about the IV being overpriced but you hedged using the implied delta, then you will suffer a bit because your delta will have been heavy. But this will partially offset the profitable decision to not buy the call outright. If you hedge on your “model” delta (ie the vol based on your realized forecast), then you are doubling down on your prediction that the vol is cheap in the event we chop.

Again, the idea of vol and its coincidence with trending or chopping is lurking beneath but now you are aware of it.

Restriking Your Synthetic Call

Say BTC has run from 70k to 90k. You’ve been replicating a 100k-strike call, but you want to “roll” it up, taking profit and starting fresh with a 130k-strike call.

You can just look up the 130k call at your chosen vol and adjust the delta to match. That will result in monetizing some of your BTC as the 130k call will have a lower delta than the 100k call.

Notice that if you don’t roll your 100k call is closer to ATM with the spot BTC now up to 90k. It has more gamma than your old deep ITM 90k call. More gamma means your rebalancing is more frequent and more costly. You’re “long” a more expensive option. There’s no free lunch. If you substitute your replicated call for a real call, that call’s theta will reflect the higher rebalancing costs you tried to avoid.

So….

What Makes You Wish You’d Just Bought The Call?

This question strikes at the heart of the Black-Scholes assumption of continuity.

Gaps.

The call buyer pays implied vol upfront and owns the path, for better or worse, for the duration of its life. If a stock gaps up 20% over the weekend, the call captures the full move. The gamma which you prepaid for, ensures your delta adjusts automatically.

The synthetic call you tried to manufacture missed buying deltas in the gap. You are not as long as you should be and to make it up you need to buy all your shortfall deltas up 12% as opposed to prices along the way.

Hard optionality is valuable and impossible to replicate. This is why Option Market Maker 101 class teaches you that the only way to hedge an OTM option is with another OTM option. Nobody knows what the SPX down 25% put is actually worth.* You can reason about a relatively tight put spread only because the error is bounded in proportion to the risk you know you are taking beforehand.

(Although we can reason that it commands a premium and likely trades for more than its actuarial value which is not really known. It’s all a bit circular. And you are still left to contend with the fact that the people, as a category, who buy those teenies know a lot more about vol trading than you. There is no non-vol trader buying that option. Also, this paragraph was written in invisible ink to reveal the VIX basis traders on the mailing list.)

Portfolio insurance failed because it was crowded thus blowing up the cost of put replication by feeding on itself. Meanwhile, the owners of the actual puts went on to start the trading firms you know of today.