The hook
“The most you can lose when you buy an option is the premium”
True or False?
- The Series 7 answer is True
- The volatility trader who delta hedges will say False
Moontower says…let’s see how much mileage we can get from such a simple question. How will we measure success?
Nothing less than completely changing how you think of options.
Intro
Newcomers to options see
- buying them as:
- a source of leverage
- a “cheap” way to express directional views.
- selling them as:
- coupons to be clipped. If they go in-the-money they rationalize “I’ll be happy if it gets there” because it’s a cash-secured put or a covered call.
In both cases, these investors are fixated on “hockey stick diagrams”.
The diagrams are important in the same way that knowing the location of a race is important — you have to start somewhere. The diagrams represent the payoff of a long or short put/call at expiration. And to be clear, where the stock rests when expiration arrives is important, but the diagrams are a woefully incomplete story in the context of how options are used in practice.
[I’d argue that the most important insight from the diagrams is a visual proof of put-call parity — and the core insight of p/c parity is options have nothing to do with direction since calls and puts are substitutes for each other.]
My one line description of this post:
What vol traders understand that regular option users don't...and why they should
Prerequisites
- Math: basic probability namely computing expected value. Suppose I offer you the chance to bet on the roll of a die. I’ll pay you $1 if you roll a 5 or 6. What is the maximum amount you’d pay to play this game? If you can handle that, this post is for you.
- Conceptual familiarity with delta hedging an option. Option prices have a sensitivity to the underlying stock price. Call options have positive deltas, put options have negative deltas.
- If a stock price increases, a call option goes up in value. For example, a call option might have a .50 delta per 1% move in the stock. That means a 1% increase in the stock price causes the option value to increase by $.50, all else equal. The key insight is that delta represents a hedge ratio — if you own this call and are short .50 shares of the stock, then the p/l of the option position should offset the p/l from the share position. You are delta-neutral.
- If you are short a call or long a put you need to buy stock in proportion to the option’s delta to hedge
- If you are long a call or short a put you must sell short stock in proportion to the delta to hedge. Deltas are typically computed using an option model like Black-Scholes but in this post, we are going to compute them numerically. No fancy models. Just expected value.
If this sounds like alien talk, the insights and concepts covered are not going to make sense. With love and earnestness, I urge you to go enjoy your well-adjusted life.
Clues About The Nature of Options
For an options novice, the following statements about risk are familiar and uncontroversial:
- If you buy an option, the most you can lose is the premium
- If you sell a call, your potential loss is unlimited
- If you sell a put, you can lose as much as the strike price (ie the case where the stock goes to zero)
If you delta hedge an option, the situation changes:
When you buy an option, you can lose way more than the premium
Numerical Examples
Assume:
- A stock is trading for $100
- You buy 50 105-strike calls for $.90 expiring in 3 days and hedge the option on a .25 delta.
[Remember: 1 call option references 100 underlying shares]
“Stock goes to your long strike”
Day 1 Portfolio
- Long 50 105-calls
- Short 1,250 shares marked at $100/share
Why 1,250?
50 option contracts x 100 share multiplier x .25 delta = 1,250
The stock rallies $2 to $102 and the option now has a .30 delta
Day 2 Portfolio
- Long 50 105-calls
- Short 1,500 shares
- Because the calls now have .30 delta you needed to short an additional 250 shares to be hedged. You sell those shares at the new closing price of $102
The stock rallies $3 to $105 and the option expires worthless and you cover your 1,500 short shares for $105
What’s your total P/L?
- Lose the full premium on the call options: 50 contracts x -$.90 premium x 100 multiplier = -$4,500
- Lose on your short share hedges:
1,250 shares x -$5 = -$6,250
250 shares x -$3 = -$750
Total P/L = -$11,500
Instead of just losing $4,500 in option premium, you also lost $7,000 on the hedge!
If this is the first time you’re seeing an example of that and found it surprising or provocative, then sit with it for a bit. It’s a basic, common situation but for an options learner, it is a justifiable Keanu Reeves “whoaaa” moment.
We will use the same starting portfolio to witness another example.
“Stock goes far away from your long strike”
Day 1 Portfolio
- Long 50 105-calls
- Short 1,250 shares marked at $100/share
Why 1,250?
50 option contracts x 100 share multiplier x .25 delta = 1,250
The stock tanks $10 to $90 and the 105-call with 2 days to expiration now has only a .01 delta because it’s $15 out-of-the-money
Day 2 Portfolio
- Long 50 105-calls
- Short 50 shares
- Because the calls now have .01 delta your target delta hedge is short 50 shares (your option delta is computed as 50 contracts x .01 delta x 100 share multiplier = 50). So you must buy back 1,200 shares to rebalance your portfolio to delta neutral.
The next day the stock is unchanged and the option expires worthless and you cover your remaining short shares for $90.
What’s your total P/L?
- Lose the full premium on the call options: 50 contracts x -$.90 premium x 100 multiplier = -$4,500
- Win on your short share hedges:
-1,250 shares x -$10 = +$12,500
Total P/L = +$8,000
Despite losing $4,500 in option premium, the hedged portfolio made a tidy profit overall.
Let’s do one more.
“Stock blows through your long strike”
Day 1 Portfolio
- Long 50 105-calls
- Short 1,250 shares marked at $100/share
Why 1,250?
50 option contracts x 100 share multiplier x .25 delta = 1,250
The stock rallies $2 to $102 and the option now has a .30 delta
Day 2 Portfolio
- Long 50 105-calls
- Short 1,500 shares
- Because the calls now have .30 delta you needed to short an additional 250 shares to be hedged. You sell those shares at the new closing price of $102
The stock rallies $8 to $110. You exercise your 50 105-calls allowing you to buy 5,000 shares for $105.
You deliver 1,500 of those shares to cover your 1,500 share short position and sell the remaining shares at the closing price of $110
What’s your total P/L?
You can do the accounting a few different ways but I’ll just show how I’d do it.
- Earn $5 from the call options minus $.90 in option premium 50 contracts x $4.10 profit x 100 multiplier = $20,500
- Lose on your short share hedges:
1,250 shares x -$10 = -$12,500
250 shares x -$8 = -$2,000
Total P/L = +$6,000
The Key Observations
Basic
- For a delta-hedged portfolio, you can lose far more than your option premium
- The p/l seems to be better if the stock expires far away from the strike
More advanced
- Path dependence is important.
- If the stock was unchanged for 2 days, the delta of the call would have collapsed which means you would be holding very few short shares against the calls
- In the case where the stock then rips to $110, you make a killing because you ride very few short shares higher but the calls still pay off $4.10 (ie $5 minus $.90 premium)
- In the case where the stock tanks $10, you lose $4,500 in option premium but have only a few short shares to ride down $10. If the delta of the calls, after 2 unchanged days was .09 you would have ridden 450 shares down $10 and broke even. If the calls had only a .04 delta you would have only made $2,000 on 200 short shares.
- The variable we haven’t discussed is revealing itself anyway — volatility. For the option to be worth $.90, some volatility was implied. These large gap moves exceeded the volatility implied and so a long option position hedged won. The case where the shares grind up to the long strike on a relatively low vol move to the worst possible destination is a special kind of hell.
If the ground covered thus far is new to you, this is a totally reasonable place to take a break from this post. Sleep on it. Make examples and tinker. Look up delta-hedging videos to immerse yourself in some repetition.
Let your mind consolidate the new knowledge before taking the next leg.
“Short Where She Lands, Long Where She Ain’t”
In the thousands of conversations I’ve had about options trading in-person or online I’ve dropped the following line, in context, a handful of times:
Option trading is about being short the options where she lands and long where she ain't.
It’s an insight that didn’t crystallize for me until maybe 5 years into option trading. Of course, I understood that if a stock expires on my long long strike or blows throws my short strike I’ll get crushed. But it’s one thing to observe this dynamic, and another to internalize it to guide how you want to express trades.
For example, if I’m directionally bullish it’s rare that I’d want to buy OTM calls. I’m more inclined to buy synthetic in-the-money calls by buying the stock and OTM puts with the full hope that those puts would expire worthless. In fact, if I expect the stock to rally I might sell OTM calls, buy puts and buy stock. The shares are hard deltas.
I think of options as insurance to let me position my hard deltas aggressively in the direction I expect the stock to move.
Note
This idea sounds simple as I’ve laid it out, but understanding the shape of your hard deltas when you run a book with thousands of line items requires quick intuition. A market-maker must quickly anticipate how the risk of next big trade, which they have but a few seconds to make, will combine with an existing position.
Fair warning — I have found this thinking to be deeply unintuitive. You can explain it to others, even experienced traders, and a week later their case for selling an option is “the stock will never get there”. That’s the exact kind of option I want to own. More on that in the concluding discussion.
There’s wood to chop before we get there.
One more time — the essence of effective option trading:
Being short the options where she lands and long where she doesn’t
Lemon gets it.
Simulations
While there are useful insights from understanding the simulations, you can still get plenty of value from skipping ahead to the Discussion if you prefer
Overview
- We will use binomial trees to model a random walk of a stock
- We will allow the user to choose an option position
- The position will be hedged at every step until expiration
- We will track the p/l for every path and terminal (expiration) stock price
- The user can specify how many times they want to run these simulations to build intuition for how a delta-hedged position behaves
In closer detail:
1) The user can specify the following parameters to build the tree
- Initial stock price: I chose $100
- Up/down probabilities: I used 50/50
- Up/down move sizes: I used 10% whether it goes up or down (Who doesn’t love a volatile stock!)
- The number of steps until expiration: Let’s start with 3
Considerations when choosing parameters
- When setting up the stock process you want to be cognizant that the probabilities sum to 1. Depending on how you assign probabilities and move sizes you can embed an expected return. For example, if you make the probabilities 50/50 but make the up move 10% and the down move 5% you are embedding an expected positive return of 2.5% in your process. For this post I assume the stock is like a fairly priced coin flip. 50/50 probabilities, symmetrical moves sizes —> therefore the expected return of the stock is zero.
- When you consider the number of steps until expiry, you can think of this as days until expiry with each flip of the coin or draw from the distribution if you chose something other than 50/50 being a single day.
- If you have 3 steps until expiry this is like flipping a coin 3 times. That means there are:
- 3 heads
- 3 tails
- 2 heads & 1 tail
- 2 tails & 1 heads
- HHH
- HHT
- HTT
- HTH
- TTT
- TTH
- THH
- THT
4 possible outcomes:
This generalizes: For N flips, there are N+1 possible outcomes. Since we are talking about a stock, we can say there are N+1 or 4 possible terminal prices.
There are 2ᴺ possible paths
If you flip a coin 3 times, there are 2³ or 8 possible paths:
2) The user specifies the desired option position that will be delta-hedged until expiry
- The option type (call or put)
- The option position (long or short)
- The option strike price
3) The beauty of a binomial tree is we can price the option at any node of the tree
We already know:
- how many steps remain until expiration
- the possible terminal prices
- the probability of those prices
- the payoff of the option at those prices
We do not need to use an option model. The variables above are enough to let us price the option using expected value computations.
Code snippets if you are impatient
def create_tree(start_price, steps, up_probability, up_return, down_probability, down_return): tree = {} for i in range(steps+1): tree[i] = binomial_return(i, up_return, up_probability, start_price, steps) return tree def option_value(tree, strike,callput): in_the_money =[] for i in range(len(tree)): if callput == "c" and tree[i][0]>strike: in_the_money.append(tree[i][1]*(tree[i][0]-strike)) elif callput == "p" and tree[i][0]<strike: in_the_money.append(tree[i][1]*(strike - tree[i][0])) return round(sum(in_the_money),3)
If you don’t want to look at code…
I use the same technique in prior posts based in Excel:
What about the delta of the option?
Besides knowing the fair value of the option, we need to know its delta because that is what we will use as a hedge ratio. At each step we will compute the option delta to know how many shares we must buy or sell to rebalance the portfolio back to delta neutral.
Good news...we don’t need an option model to compute the delta either!
We simply:
- toggle the stock up and down one increment and reprice the option
- recall the definition of delta: change in option price / change in stock price. That means we know the “up delta” and the “down delta”
- probability-weight the up and down deltas by the probabilities of an up move and down move and voila you have an option delta at each node!
- Lessons From The .50 Delta Option
code snippet
def option_delta(current_spot_price, up_probability, up_return, down_probability, down_return, steps_til_expiry, strike, callput, current_option_value): option_up_tree = create_tree(current_spot_price*(1+up_return), steps_til_expiry, up_probability, up_return, down_probability, down_return) option_up_value = option_value(option_up_tree, strike, callput) option_down_tree = create_tree(current_spot_price*(1-down_return), steps_til_expiry, up_probability, up_return, down_probability, down_return) option_down_value = option_value(option_down_tree, strike, callput) option_up_delta = ((option_up_value-current_option_value)/(current_spot_price*(1+up_return)-current_spot_price)) option_down_delta = ((option_down_value-current_option_value)/(current_spot_price*(1-down_return)-current_spot_price)) option_delta = option_up_delta*up_probability + option_down_delta*down_probability return option_delta
If you don’t want to look at code…
I give a numerical example of how delta is used as a hedge ratio:
Screenshot
[Note: the option software I used in practice computed delta this way. It toggled the underlying price up/down a penny and repriced the options]
4) An example of a path and the accounting for rebalancing and p/l
The stock starts at 100 and has the following return stream:
-10% to $90
+10% to $99
-10% to $89.10 [expiration]
Assume you short the 100-strike call and delta hedge at each step. This is the accounting table (you can download the image to see it better):
The portfolio loses $37…or in option terms — 37 cents. The initial option premium was $7.48 or $748 per contract.
5) You can run many sims and view charts and distributions of the various paths to see what affects the p/l
Below are examples of sims of 3-step trees
- Stock starting at $100
- 50/50 chance of moving up or down 10% at each node
- You are short the 110-strike call at its fair value of $2.89
- Your initial delta hedge is to short 35 shares at $100 because the 110 call has a .35 delta.
Keep in mind, this is the theoretical distribution of terminal prices:
So what happens when we simulate a random walk…
where N = 1000 for a 3-step tree
In this batch of 1000, the stock terminal distribution differed from the theo distribution above:
The most notable difference was the stock expired at $89.10 more frequently than expected and at $108.90 less than expected.
In other words, the stock expired further away from our long strike of 110 more often than the fairly priced distribution predicts.
The stock experienced the same volatility that we priced the options on — 10% per move — but the final price’s frequency differed.
If the simulations lined up perfectly with the theo distribution we would expect the mean p/l over al simulations to be zero. But look what happened with this distribution where the stock didn’t expire near the long strike quite as often as expected:
On average we made $7.34 per trial or about 7 cents per option!
What the Python output will show
- The Python output shows the actual distribution and what p/l corresponds to each of the 4 terminal prices:
If you had instead sold that option and delta-hedged your p/l would have just flipped the sign. If you are short the 110 call you are rooting for the stock to expire close to the strike…in this case $108.90.
- Every path that was actually realized in the 1000 trials When you run 1000 trials and there are only 8 possible paths this is not surprising — you will witness every possible route.
where N = 1000 for a 15-step tree
If run a 15-step random walk there are 32,768 possible paths (ie 2¹⁵).
If I only simulate that walk 1000x I don’t expect to see every path.
Let’s try it.
Can you see the missing paths?
While we’re at it, let’s see the distribution from a 15-step (16 possible terminal prices) random walk simulated 1000x:
We expect to see the 102.53 outcome (closest expiry to the 110-strike) occur 19.6% of the time according to the binomial distribution.
Why?
The 102.53 outcome corresponds to 8 up moves and 7 down moves. In code:
def binomial_return(qty_ups, up_return, up_probability, start_price, steps): qty_downs = steps - qty_ups down_probability = 1- up_probability down_return = ((down_probability/up_probability)*up_return) paths = math.factorial(steps)/(math.factorial(qty_downs) * math.factorial(qty_ups)) probability = (up_probability**qty_ups)*(down_probability**qty_downs)*paths price = start_price * ((1+up_return)**qty_ups) * ((1-down_return)**qty_downs) return price, probability
binomial_return(8, .1,.5,100,15) returns:
102.53, 19.6%
The python output includes the theoretical distribution like this:
I can see the following output from Python:
Mean_profit_for_all_simulations: 2.5
St_dev_for_all_simulations: 53.0
This means on average we made 2.5 cents per option and the standard deviation of P/L was 53 cents per option.
Since on average we made a small profit over 1000 trials, we can presume that the stock expired at $102.53 a bit less often than expected!
We can confirm this from the output showing that the stock expired at 102.53 only 17.6% of the time instead of 19.6%.
The graphical output:
Bonus observation
Can you see the evidence of the volatility drag?
The most common outcome was the stock returned -16% but the mean return for the sample was -2.1%.
This is not shocking — you have a stock moving up and down 10% at each step over 15 steps.
Observations from running simulations
How the number of simulations influences the outcome
Set up the process to have an expected return of zero (ie the balanced coin flip) so the mean expected return is zero. There will be less variation around that the more times you flip the coin. This is the “law of large numbers”. If I flip a coin just 2 times, I expect the proportion of heads to be 50%. But if I end up with 0 or 2 heads yielding proportions of 0% and 100% I’m not surprised.
There are 4 possible paths (HH, TT, HT, TH) and I’m only sampling 1.
If I flip a coin 1000x I’d be surprised if the proportion of heads were not close to 50%. And I expect each of the 4 paths to be realized in equal proportions which would result in the expected terminal price distribution.
Here’s the output from 1000 2-step price paths:
The 1 up, 1 down scenario occurred 51.5% of the time, slightly higher than expected. It corresponds to a final price of $99 (remember volatility drag: +10% then -10% results in a 1% loss. Order of the moves doesn’t matter).
The mean stock return was -.4% (close to zero) and the modal and median return was -1% (which is expected).
The option p/l will tend towards expected — zero.
How the quantity of steps influences the outcome
By adding more steps to the random walk, we add more time until expiry. This of course increases the range of the stock’s final return and therefore the option will be worth more.
It also reduces how fast the delta changes. The rate at which the delta changes for a given change in the stock price is known as gamma.
All else equal, an option that has more time (ie steps) to expiry has less gamma. This is intuitive. If a stock moves 10% per day and the at-the-money option expires tomorrow, then no matter what that option is going from about .50 delta to 1.00 delta.
If the stock has a month until expiry that first 10% move may only change from a .50 to .60 delta.
The most intuitive way to say it:
The more time there is until expiry, the less impactful a given moves size is to the delta of the option.
If a call option had infinite time to expiry, then it would have a 1.00 delta no matter what.
Why
A call option with infinite time to expiry goes to the maximum value a call can have — the stock price itself (this is an arbitrage bound because if you bought a stock for say $40 if you could sell any call for >$40 you’d have a riskless profit. another way to say this is you sold the 0 strike put for a difference between the call price and the stock price. Do some paper and pen scenarios to prove it.)
If the delta is always 1.00 that means it has zero sensitivity to the stock price and therefore zero gamma!
Here’s the insight we can impose on the simulation:
The more steps there are until expiration, the less gamma the options have — therefore every delta hedge approximates the transition from discrete hedging to continuous hedging.
We are using a binomial tree with discrete prices because it’s simpler than dealing with the calculus of continuous math so, to be clear, we are not actually hedging continuously. We are just tending towards more continuous by adding steps to the random walk.
This leads us to a key insight that is born out by the simulations:
The more steps there are, the more we delta hedge, the more our delta-hedged option p/l approaches expectancy
[In this case, the expectancy is zero because the options and deltas are calculated at their exact fair values based on the underlying binomial tree]
Running these simulations yourself
Inputs
#These are the variables you seed as a user #Inputs num_of_simulations = 500 sets_of_sims = 1 up_probability = .5 down_probability = .5 up_return = .1 down_return = .1 callput = "c" strike = 110 option_position = 1 initial_stock_price = 100 total_steps_til_expiry = 8
Explanation
These inputs are saying:
- There is 1 set of 500 simulations, each comprising of an 8-step binomial tree.
- The stock starts at $100.
- It has a 50/50 chance of going up 10% at each step.
- You are long 1 contract 110 strike call delta-neutral. (You automatically rebalance back to delta-neutral at each step)
Outputs
There are 2 levels of output. The batch level referenced by sets_of_sims and the summary level which aggregates all simulations.
In addition to the above output there are charts. You can find more detail:
Sets_of_sim summaries
- The simulation numbers range from 1 to 5 because there was 5 sets_of_ sims. You can think of this as a batch. I included this functionality in case you want to run a X bundles of Y sims. Since it’s confusing to think of loops within loops you could make it relatable by :
- running sims in multiples of 12
- and thinking of sets_of_sims as years.
- Set num_of_simulations = 600
- Set sets_of_sims = 5
- In this batch of 600 trades:
- There was a mean loss of -.2 cents per option (basically zero)
- The standard deviation of the p/l per trade is 89 cents an option
- The standard deviation represented 11.5% of the fair value of the 110-strike call at the inception of the trade (this stat might be useful if you run simulations of different moneyness and want to compare)
- Note that you lose when the stock expires at the price closest to the 110 long strike.
- The output includes a chart like this for each of the 5 sets_of_sims
For example:
This will be like doing 50 trades per month for 5 years. The output will group the stats by “simulation number” (ie the year). Let’s zoom in on Simulation number: 5 or “year 5”:
This Simulation Number or year is accompanied by this chart:
Full summary
- The Summary of all simulations is a header. The stats beneath aggregate the full 600x5 or 3000 simulations. From the example, the key stats include:
- Mean profit across all sets of sims: -.1
- Standard Dev of profit across all sets of sims: 1105.6
- Mean_stock_return: 0.003
- Modal_stock_return: 0 -0.039
- Summary level charts:
- Every path that was realized is mapped:
- The actual vs realized distribution is displayed for all 3000 sims
Useful dataframes from the output
When examining the output, there were a few dataframes I’d commonly look at in the variable explorer:
path_table
This table will allow you to audit every step of every trial for every pack of simulations. You’ll see the stock price changes and change in total portfolio p/l
simulation_table
This table will provide the final portfolio p/l, share price, and stock return for every trial
portfolio
This table allows you to audit a single random walk. You can verify the stock and option price changes for each node in a single random walk simulation. So an 8-step tree will have 9 rows including the initial portfolio.
The initial portfolio is where you can find the theoretical price of the option on the first day.
In this example, with a $100 stock moving up or down 10% per day for 8 days, the initial value of the 110-call is 7.735 and has a delta of .43
Discussion
High level insights
- You want the stock to land near your short strike or away from your long strike. Over a large sample of trades, if the stock expires near your long strike more often than the theoretical distribution then you will lose. If it lands there less often than theoretical, you’ll win on average. For short options, the opposite is true. Even though the options in these sims are perfectly priced, there is still noise because we are still drawing a sample.
- Put-call parity is iron-clad. You are either long options or short options. These sims let you see that whether you delta hedge a call or put the outcome distribution is the same. All that matters is whether you are long or short an option, not the type! [My professional risk software didn’t even display calls vs puts at the high level. It just summed total options per strike. You could drill down to see if your exposure was calls vs puts because it mattered for funding and pin risk reasons.]
- “Pay me $10k up front and I’ll flip a million-dollar coin with you” That’s options market-making in one line. Remember these sims are perfectly priced options. Now imagine you have a trading business and net a penny of option per trade (this is a very generous assumption — margins are often smaller than this). In the example of the 110-call with 8-steps until expiry you’d be making a penny of edge with a standard deviation of 88 cents! Of course the Sharpe ratio at the trade level isn’t the same as the Sharpe ratio at the strategy level. Because edge scales by N and risk scales by square root(N) you can have a great business if you do LOTS of trades while maintaining that edge. The flip side: if you don’t do lots of trades your results are noise. Welcome to epistemological nihilism.
- managing risk so it remains in proportion to expected edge. This is also why they delta-hedge. If they didn’t, directional risk would totally swamp the edge they capture on options contracts. This is a lesson you can port to life — if you earn $100k a year and have a net worth of $1mm does taking a risk with a small, but not tiny, risk of losing $500k make sense?
- avoiding adverse selection which chips away at the theoretical edge in the first place
Note
Since market makers are capturing edge on long and short options, they are targeting a book of offsetting risks which creates convergence to the theoretical p/l much faster. This requires:
Enter Socrates
If you are not a delta-hedger, but trading the options outright for direction does this matter?
Sure does.
If you buy a call because your bullish, your alternative could have easily been to buy the equivalent delta worth of stock. If the stock then goes to your long strike, you lost not only your premium but the foregone return on the shares you would have owned!
This reinforces the point that options require you to be right on direction and timing/volatility (time and volatility are intricately linked).
Remember, options are priced for specificity. The leverage is amazing if you call the outcome and timing correctly, but like a parlay, you will often lose if you get any part of the bet wrong.
Remember the put-call parity insight — no matter what you do, you are trading volatility. Without a view on that, you shouldn’t touch the options. If this doesn’t make sense, you don’t understand options. The house is more than happy to have you delude yourself in the noise I described above.
You are a market-maker and see a giant flurry of call buying in the context of bullish news. You decide the buyers are overpaying — the prices are implying a volatility your process has deemed as “excessive”. Do you hope the call buyers are right?
As a market maker, you try to understand your counterparties. The prices people are paying (which imply a volatility) and strikes they are chasing give you a sense of how much conviction and how far they think the stock can run. If you suspect they are bidding “too much” for these calls you will sell them and you will buy the stock yourself to hedge the calls.
What am I rooting for and what am I worried about?
Let’s start with my 2 primary fears:
- The stock acts like GME and just explodes higher. No vol that I sell is high enough. It rips thru my short strike, it keeps going, it’s hard to buy, gamma squeeze, you know the drill. That’s the obvious risk.
- The stock gaps down through a trap door. No liquidity. I collect the option premium but I ride my long shares into the grave.
What am I rooting for?
The stock continues to go higher, but slowly. The call owners feel the theta breathing down their necks and are anxious to monetize. They got the trade thesis right but…they overpayed for the options. The market makers have them just where they want them. If they are aggressive, they will understand that there is a supply of calls being held by weak (as opposed to diamond) hands and start offering the volatility down themselves, accelerating the losses felt by the option longs. It’s a game of chicken and the first option owner that offers is the tell. They’re going to throw in the towel.
As the market maker this is fun. I win on my long shares and I will get to cover my vol shorts hopefully at cheap levels.
The way I think about trades where the counterparty is using the options for direction is whether their being correct on direction is stabilizing or destabilizing.
In 2021, GME going up further was highly destabilizing. It didn’t make sense. It was “irrational”, “forced squeeze”, etc. A destabilizing move is a liquidity vacuum. Once something doesn’t make sense, there is a phase shift in sentiment from logical thought to the next print is going to be driven by the most desperate account. Death spirals are divergent, not mean-reverting processes.
An example from Corey Hoffstein’s interview with vol manager Benn Eifert:
Notice how Benn’s discretion is identifying a potentially destabilizing phase change which would increase the chance that the sell signal on expensive calls should be treated as a false positive.
Corey: Are there any examples that come to mind where either an opportunity was systematically identified and you had a discretionary override? How about the opposite, where you thought there was an opportunity and the systems were not flagging it?
Benn: Back in the early days of Abenomics, in Japan, when the Nikkei was incredibly depressed, there was an interesting dynamic showing up in skew on Japanese equity indices. So skew is the relative price of an implied volatility spread between upside call options versus downside put options.
In Japan, it actually started to go positive, which is very unusual. In other words, upside call options were trading at a higher implied volatility than downside put options. A lot of folks in the volatility community got really excited about how silly it was, that an upside call option would trade at a higher implied probability than a downside put option, and really aggressively sold upside call options. But the key thing to remember back then was the Japanese equity market had just been incredibly depressed for a long time. There was a tremendous macro narrative building around big structural reforms and a great unconventional monetary policy. What followed was a very volatile rally! It was really a sucker’s trap to look at skew based on the historical data set because you were selling an upside crash scenario.
On the other hand, a stabilizing move is one that occurs in the direction of consensus and makes sense. Think early 2022. Hedge funds had actually degrossed ahead of the sell-off and option skew notoriously underperformed going from expensive to multi-year lows during the sell-off. Fund managers were well positioned for the sell-off. Here’s Financial Times quoting Benn…
Option manager called the sell-off the most telegraphed:
There are always some people caught unawares, but the central bank pivot from “it’s transitory” to “we’re going to nuke inflation” was petty well-telegraphed, and the impact widely expected.
My discretionary sense of whether a move is stabilizing or destabilizing plays a large role in how I manage an option position for the name. That sense comes from the semi-conscious process of pattern-matching how the market is positioning, how aggressively and what the broader news context is.
I’ll add one bit.
If I have a sizeable short call position, my experience tells me that I should be nervous about the downside. If the market is smart (and it is), it will bid for calls when it understands that the distribution has a more positive skew. The counterbalance to a more positively skewed distribution is that the underlying is more likely to go down in price. And if the options are bid because the market understands the distribution then that is usually how I’m going to get hurt. Owning long deltas on a sharp down move. And here’s the salt in the wound:
When I sold the expensive calls I likely bought some other option to hedge the vega. If the skew shifts to the calls, that means I probably own puts which would have begun to screen cheaply. The problem with this is the down move is expected and stabilizing. which means the implied volatility will fall.
This is diabolical.
The stock is going away from my short calls, towards my long puts and I'm carrying long deltas against both types of options. Pain parade.
I have seen traders blow out in these scenarios. Long vol and getting longer vol as a name collapses on a stabilizing move. And every time that vol compresses on a downtick, this position “decays longer” (vanna for the nerds out there).
If you take anything away from this — your assessment for how vol will react is heavily dependent on how far and fast a move can be before it phase shifts from stabilizing to destabilizing or vice versa.
[Whisper voice] The kinks in the skew are a clue which means the right way to iron them out is with a butterfly not a vertical spread. Unless you haven’t been trading options for years, that will mean nothing to you and it also means you are doing life correctly. Take a bow.
How can I use this knowledge to shape trade expressions?
If you’re bearish, consider buying calls to replace part of your long position. If the market falls and they expire worthless, you are happy.
You can then scoop hard deltas at the lower price.
In other words, you were bearish which is highly correlated with the idea that volatility is going to increase. Remember you want to own options where the stock ain’t going. Think of a very expensive 2021 type market — if the expensive stock keeps going up it’s a surprise. It’s destablizing. So the calls will hold up well.
But if the market does tank, you’ll be happy you switched your long shares (or what I call “hard deltas”) to calls (ie “soft deltas”)
You want your hard deltas pointing in the direction of the most likely scenario and your options pointing in the direction of the destabilizing scenario that probably isn’t going to happen.
This thread harps on this a bit more:
I have a hunch my boss doesn’t really understand options but he trades them a lot. Is there a way to tell?
Does he like to say “I’m selling this strike because it’ll never get there”?
That’s a dead giveaway that he’s trading options without understanding their nature. This misunderstanding leads to decisions that are 180 degrees opposite from their thesis.
Why? conditional probability — a cheap option that hits is nitroglycerine because the cheapness signified that its the seller used “it’ll never get their logic”. Their false confidence in that assertion means they underestimated the scenario when sizing their risk. The move is deeply destabilizing because they are offsides in a big way and need to cover.
A short-circuit in Bayesian reasoning displays itself when put-sellers say “I’ll be happy to buy the stock if it gets there”. They are projecting a state of the world where only this one asset changed in price and everything else stayed the same. Or the investor who sold bond puts assuring us they’d “be happy to buy bonds if they hit a 7% yield.”
Well what if they only hit a 7% yield when inflation is 9%?
I’ll be repetitive — this boss is the same guy who sells calls because he’s bearish.
Bro, you don’t want to be short options away from where you think the stock is going — you want to use hard deltas to point that way and own that option as insurance to put the trade on with conviction.
Parting thought
In real life, we don’t know the true distribution of asset returns. In this exercise we used fair option values and perfectly calibrated deltas. It’s an even more stylized model than Black-Scholes and I chose to do it this way because it’s relatable to anyone who has thought about coin-flipping.
The real world is messy because even if you trade an option at the vol that ends up being realized, the path guarantees you will not hedge on the correct delta every time.
You can find an exceptional discussion of these topics in the god-tier book Financial Hacking.
It takes an intuitive/simulation approach like this but hems closer to practice by using implied & realized volatility and option models propagated over simulated paths generated by a continuous finance stock process.