The Money Angle

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.

editor

Share
Published by
editor

Recent Posts

hurst

In a random walk where trials are independent, variance scales linearly with time. Since standard…

2 hours ago

what new grads should focus on

In light of graduation season, this week’s material has been focused on a mix of…

2 hours ago

what I want my kids to know

I went to Catholic school for K-12. Public schools were less than good where I…

2 hours ago

face-ripper

If you reside in the quark-sized intersection of people who read this letter but don’t…

2 hours ago

get a mortgage from the option market

I sold a house in the DFW area in 2022. Instead of a mortgage, the…

2 hours ago

a guide to option margin

A few quick hits to start Welcome to Scamerica I remember on the NYMEX, when…

2 hours ago