Dynamic Hedging & Option P/L Decomposition

Plus some realized vol trickery

In Connecting Vol Surfaces To Option P/L, we showed how a position in the 6-month 25d put or 25d call in IWM would have performed if you:

  • bought the option and hedged the delta on the close of 7/10/24 with the stock at $202.97 and went on vacation
  • returned on 7/16/24 and liquidated both you stock and options position near the close with the stock at $224.32

With the stock up over 10% and IVs higher on the 185-strike put and 223-strike call you made money both on the vol expansion and because you were long gamma — although you started market-neutral, you had a net long delta when you looked at your account.

This week we will examine the same trade but instead of going on vacation we will see what happens if you hedge each day.

The most valuable part of this exercise will be the option p/l decomposition.

The 185 put and the 223 call have a negative and positive delta respectively. Since we are sterilizing the delta or directional p/l of the option with shares we want to ignore that portion of the p/l.

We care about the p/l that we don’t attribute to delta. That’s our vol p/l. We can decompose that p/l into 2 primary buckets:

  1. Vega: how much of the p/l is coming from the change in implied vol
  2. Realized p/l: what is p/l due to gamma or the change in delta which was not continuously hedged minus the cost of the optionality aka theta.

The p/l decomposition will contain some error. We will give that error a sense of proportion and discuss its source.

In the process, you will learn some trickery around the calculation of realized vol and the concept of “sampling”.

Onwards…

We start with the change in the Jan2025 vol surface from 7/10/24 to 7/16/24

moontower.ai backend

In both examples, we will buy an option on 7/10/24 and hedge its delta once per day until 7/16/24 (5 business days).

As a reminder this was IWM’s price chart for that period in which it rallied >10%:

Buying the 185 put delta-neutral

🕛Stepping through 1 day

7/10/2024

  • Near end of day we buy 100 Jan’25 185 puts for $4.75 or 20.7% IV.
  • We buy 2,440 shares of IWM for $202.97 to hedge the -.244 delta

7/11/2024

  • Stock rallies $8.15 to $211.12
  • Our put declines to $3.63, its delta falls to .183, and the strike vol increases 1.5 vol points to 22.2%
  • We sell 613 shares to re-establish a delta-neutral position. This is computed by:
    • Change in delta * contract quantity * 100 multiplier
    • -.061 * 100 lots * 100 ~ 613 shares (decimal rounding in the model gives us 613 not 610)

 

P/L Computation

  • Share p/l: You rode 2,440 shares up $8.15 = +$19,889
  • Option p/l: The put lost $1.12 in value = 100 lots * 100 multiplier * $1.12 ~ –$11,150

Net P/L on the hedged put position = +$8,739

At end-of-day on 7/11/24, you are once again delta-neutral. Long 1,827 shares against your .183 delta puts

 

📅Stepping through 4 days since initiation

Stepping through the same logic every day yields this table:

open in new window to zoom

Your cumulative p/l is $18,400 with the daily hedged strategy.

 

⚖️Comparison to only hedging once on 7/16

Had you simply bought the puts on 7/10 and hedged with 2,440 shares, then liquidated the puts on shares on 7/16 your p/l would have been:

Share p/l = 2,440 * $21.35 = $52,102

Option p/l = 100 contracts * 100 multiplier * -$2.24 = -$22,400

Net P/L on the hedged put position = +$29,702

It appears that hedging the delta every day incurred a cost. But it also reduced your risk. If the stock had tanked on 7/12 after the big rally you would have been thrilled that you delta-hedged by selling shares at the close of 7/11.

A better way to think about this is in terms of “what realized vol did you sample?”


💡A note on computing realized vol💡

Realized volatility computed from daily returns is the standard deviation of logreturns annualized by √251*

When computing a standard deviation, it’s common to square the distances of each observation from the sample mean. This will understate the volatility in a trending market. If a stock goes up 1% a day, you’ll compute a realized vol of zero.

In this example the logreturn stream is +3.94%, +1.18%, +1.69%, +3.20%. That stream has a standard deviation of 1.29%. Annualized, that’s 20.4% realized vol.

Does that return stream really feel like just 20.4% vol?

Of course not. The issue is the mean return is 2.50% so the deviations are not large.

If we instead skip the step of subtracting from the mean (which is equivalent of saying the mean is 0) then we get a realized vol of 50.1% which feels closer to reality. After all, if we moved 2.5% per day the realized vol would be approximately 2.5% * 16 = 40% vol.

*Don’t forget Juneteenth


In our daily hedging, we sampled a realized vol of 50.1%

(An idea that should be now hitting you over the head is if you hedge deltas at any cadence different than once a day at the close you will sample a different vol than what close-to-close vol readings claim the realized vol is. You created your own history. You’re a god, be careful with all that power!)

In the case, where you didn’t hedge (or close the position) for 4 days what realized vol did you effectively sample?

ln(224.32/202.97) * sqrt (251/4) = 79.2% vol

No wonder you made more money!


Vol P/L Decomposition

The 185 put lost value because of it’s delta. But some of the premium loss was offset by an increase in IV.

Options are about volatility. Write it on the chalkboard like Bart Simpson.

To understand options we need to “watch the film”. We need to map the p/l to the driver of the p/l.

We can strip out the delta. That leaves the option’s return a function of both implied and realized volatility. We will lump both of those under the cleverly named category “Vol P/L”.

The first thing we do is just look at the daily option p/ls in the red box from the condensed view of the table from earlier:

Part of those option losses stem from the mechanical truth that the stock went up and puts have a negative delta. The vol p/l is what’s left over when we remove the losses from the stock rallying.

For example when the stock goes from $202.97, the 185 put falls from $4.75 to $3.63. Since it had a .244 delta and the stock surged $8.15 we expect the option to lose $8.15 *.244 or $1.99 and fall to $2.76 by the end of Day 2 just due to delta.

But it doesn’t.

It only loses $1.12. The option appears to have made $.87 in vol profits! Multiplied by 100 contracts that’s $8,739.

Again the accounting…the actual option p/l was -$11,150. If we break that down, the option lost about $19,900 due to delta but made $8,700 due to vol.

Within this vol p/l there’s an implied vol portion and a realized vol portion.

Vega p/l = implied vol portion

Gamma + Theta p/l = realized vol portion

We estimate the p/ls with the following formulas:

Vega p/l = vega * vol change *contracts * multiplier

Theta p/l = theta * days elapsed * contracts * multiplier

Gamma p/l = 1/2 gamma * (change in stock)² * contracts * multiplier

💡See Moontower On Gamma for the derivation — it’s neat since it’s the same approximation for distance traveled in time t for a given acceleration

Let’s take inventory:

1) We start with the actual real-life option p/l

2) Subtract how much of that p/l comes should come from delta

3) The remainder should equal the sum of our estimated vegagamma, and theta p/ls

Again:

Now we can zoom in on the decomposition by day for the 185 put:

If we zoom in on the Error section we see that the the approximations for the p/l attributable to the greeks work very well as measured by the error/extrinsic value:


Buying the 223 call delta-neutral

You can test your understanding by following along the table for the 223 call hedged daily. When you initiate the position you buy the call and short the stock to hedge.


Unpacking the error term

The fact that you make more money on the 223 call hedging daily than the 185 put is also a clue as to why there is error at all between our greek-decomposed p/l attribution and the actual vol p/l.

Greeks come from snapshots of time, moneyness, vol, rates, and IV.

The error term is really the sum of minor greeks such as:

  • vanna (change in vega as spot changes or change in delta as vol changes)
  • volga (change in vega as vol changes)
  • charm (change in delta as time elapses)

The 223 call was about 50% more profitable to hedge every day than the 185 put because it “picked up” vega as vol increases and also picked up more gamma as it became closer to at the money.

[But the gamma increase was not as large as it would have been if the vol did not increase. A lot of cross-currents but they mostly fit under a reasonable error term. This is less true as moves and vol changes climb into crazy numbers.]


I’ll close with a final observation…whether you bought the put or call, once the stock started rallying you hedged by selling shares.

That’s long gamma.

Your position, regardless of the contract type, grows in the direction of the move. It’s only about vol because the delta can be whatever you want it to be.