how an option trader extracts earnings from a vol term structure

a subject that encompasses many vol topics

Earnings are a highly concentrated source of volatility for public companies because besides reporting results they give guidance on the future, discuss what they are seeing across business lines, as well as risks and opportunities for growth. Earnings reports are a rich source of information and in the Claude Shannon sense of the word, information is volatility.

As expected, option prices that include the earnings date command a premium implied volatility as the market expects the stocks to move on the burst of new information. The observation of a premium earnings IV leads investors and traders to important questions.

  • How much is the premium? In other words, how do I disentangle the amount of volatility that is “normal” vs the amount coming from the market’s expectation of how much the stock will move?
  • If I am a volatility trader focused on the relative value of options between names or I am a dispersion trader who cares about the relative vol levels between and index and its components how do I compare the volatility between a name with earnings (or a event specific to the name) to other names?

Our task is beckons. We must extract earnings from the vol surface.

That probably sounds like a tedious, quanty operation. But it’s not. It’s actually a pretty simple procedure once you understand the building blocks. In fact, the procedure is an implicit review of 2 main topics. Because this topic encompasses* the prior topics it acts as a test of your knowledge as well as a step forward.

Prerequisite Building Blocks

I won’t review the building blocks here but I’ll point you directly to the relevant calculators which document the procedures.

1) Implied forward volatility

Given 2 expirations we can effectively subtract the volatility of the near dated expiry from the later dated expiry to imply a forward volatility or the amount of volatility implied in between the 2 expirations.

2) Event Volatility Extractor

When the market anticipates events like a stock's earnings date, it often factors increased volatility into the affected option expirations.

Traders analyze this implied volatility by separating it into the volatility for the event day itself and the typical daily volatility.

To do this, a trader estimates an expected move size for the event.

The unintuitive impact of events

It’s worth emphasizing how important events to understanding an option surface. It’s one of those things that intuition is a poor guide to. The arithmetic is worthwhile.

Consider this situation.

A straddle has 40 business days until expiry. The name typically moves 1.5% per day. We’ll just use trader math to estimate a fair annualized volatility of 24% (1.5% x 16 because 16 is approximately √251).

However we get 2 new pieces of info.

  1. The IV is actually 36%
  2. Earnings occur in 35 business days.

We can estimate an earnings vol by acknowledging that term vol includes 39 “regular” days and 1 “event” day.

We presume that a regular day has 24% annualized vol. So what “event vol” makes the term vol worth 36%?

We are basically solving for what event vol reconciles these facts given that we know the average vol (the term vol) and the “regular” vol.

[Keep in mind variances are additive but not volatility. Variance is simply vol squared.]

Term variance = regular variance + event variance

.36² * 40 days = .24² * 39 days + X² * 1 day

Solve for X.

x = event vol = 171%

The event is a 171% vol event for a single day but this is in units of annualized volatility.

Convert back to daily volatility by going in reverse — divide by 16. (I’m resisting a reference to the Spaceballs vacuum scene).

171%/16 = 10.7%

Remember that’s now a daily vol (aka standard deviation). We should convert it to a straddle as a percent of the underlying because that corresponds to the what people actually talk about — “expected move size” on earnings.

Just multiply by .8 since a straddle is the same as the mean absolute deviation.

.8 * 10.7% = 8.6%

[To review, see 😈The MAD Straddle]

Let’s take inventory.

  • The stock moves 1.5% per day which would correspond to a 24% vol name.
  • However, the vol is 36% implying that on earnings it’s expected to move 8.6% on that single day.

The variance coming from all regular days is 39 * .24² ~ 2.25 (unitless, unintuitive number)

Event variance is 1 * 1.71² ~ 2.94

Despite earnings being 1/40 or 2.5% of the weight in day terms, it’s 2.94/(40 x .36²) ~ 57% of the total variance until expiry. That day has more option premium associated with it then all the other days combined. The bulk of the straddle decay occurs on that day.

This also means the theta of the preceding days is lower than you think. In practice, what happens is the vol creeps up every day offsetting some of the model theta. You can think of a glide path where as you get closer to earnings the average vol per day increases as “low vol days” peel off and the earnings day drives bulk of the straddle. This same mental image can help you understand why an event very far in the future doesn’t show up so strongly in the terms structure — its impact is diluted by the sheer quantity of regular days before it.

[These concepts underpin the trading strategy known as Renting the Straddle.]

* See educator and MathAcademy architect Justin Skycak’s explanation of encompassing vs prerequisite graphs as well as Principles of Learning Fast


Now you are convinced that this is some part important, some part interesting and you already have a taste of the most complicated math it requires (6th grade). We just need to pull it together.

Extracting earnings from a term structure of implied volatility (as opposed to a single expiry) requires using our building blocks in conjunction. The same technique can be extended to multiple earnings as well as any kind of event.

This is a good time to remind you that much of the trading is about making apples-to-apples comparisons. Normalizing data so that the comparisons are relevant is so much of the work to be done. It’s more grindy than sexy. But it also shifts the focus from what novices think investing is about to the work that actually needs to be done — measurement not prediction or “seeing the present clearly”.

As we step through an earnings extraction, I will point to real-life examples of what I mean by measurement not prediction.

A few selling points on this post:

  1. The building blocks do the heavy lifting so this won’t take long.
  2. The yield is insane — this is one of those topics that opens lots of mental doors.
  3. I provide a link to a spreadsheet so you can play with the ideas yourself or extend them as desired.

An “ugly” term structure

I fetched .50d IV’s for NVDA at end-of-day 1/17/25.

This is an ugly term structure.

There are 2 primary reasons.

  1. Market widths and leans in option bid-ask will shop up as artifacts in your surface fits.
  2. There are events in the option surface. Most notably there is an event embedded in the 2/28/25 expiry. We know that because the IV jumps 10 points from the prior week.

Option market makers are like blue-collar household help. Their job is to “iron out the kinks”. Buy the cheap IV and sell the expensive IV when they see a wrinkled term-structure.

But if you did this by looking at the graph, you’d be selling the following expiries:

  • 2/28/2025*
  • 6/20/2025*
  • 9/19/2025*
  • 1/31/2025

You’d be buying:

  • 2/21/2025
  • 1/24/2025

Here’s the term structure again but we simply change the x-axis to DTE instead of expiry and annotate our naive buy and sell axes.

The forward vol matrix is a granular way to get the same idea.

I’m obviously using leading words like “naive” to indicate something important is missing which is creating all these kinks.

We are going to address the most glaring kink, the 2/28 expiry which jumps 10 vols from the prior expiry and showing up as a 1 week forward vol of 80%. The other kinks are naturally handled from the transitive logic of how he handle the big kink. Always handle your big kinks first ;-P

Accounting for events

Your reflex when you see a bump in the term structure is “what known event is happening between the expiry dates?”

In this case, NVDA report earnings on Wednesday, 2/26/2025. The 2/28 expiry “captures” earnings most acutely. The earnings vol is embedded in every expiry from 2/28 and beyond it’s impact is attenuated as DTE grows. That earnings even becomes a smaller percentage of the total variance in the term. If you are looking at a 5 year option, the earnings vol will be invisible whereas the 2/28/2025 expiry has the bulk of its variance coming from that single day.

Here’s the plan.

1) We use the event volatility extraction formula which takes in DTE, IV and a guess for the event straddle (ie move size) to translate all the vols with earnings into “ex-earnings” vols. I’ll use the terms “ex-earnings vols” and “base vols” interchangeably.


💡A note on nomenclature

I’ve heard “ex-earnings vols” called:

  • clean vol
  • base vol
  • regular day vol
  • non-event vol
  • non-earnings vol

The point is that you are looking at a surface where known events have been removed. This allows higher fidelity comparisons between names. The event that is extracted is an implied or consensus move size. If you buy a vol with an event inside it you might be betting on the base vol being too low OR you believe the consensus move size is “too cheap”. Isolating what your betting on comes down to trade structuring. Maybe it’s a calendar spread, maybe it’s a “rent the straddle” glide path trade.

Depending on your trading lineage, even this nomenclature can be confusing. In my background I also referred to vols using a 365-day tenor as “dirty vols” and vols implied from a custom tenor as “clean”. For example, if you treat holidays and weekends as a 25% variance day your tenor will be about 280 days. I don’t want this post to encompass too much, but if you’re a glutton see Understanding Variance Time.


2) We can now chart the term structure of the base vols and feed them back into the forward vol matrix!

The goal of the guess is to see a smoother chart and matrix. Smoother. Real science-y stuff here.

Based on simple guess-and-test (which is easy to do with the spreadsheet I’ll provide) I came up with an earnings straddle of 6.5%.

The matrix looks much better (the smaller kinks are still present since we only dealt with one, albeit large event, but I’ll address that later. It’s easier to focus on one major thing at a time.)

Notice how the 2/28 expiry, stripped of earnings, now follows a gentle up-sloping term structure instead of stickin’ up like a sword from a stone.

[Bonus observation: power law functions handle vol term structures well. Remember a power function can be converted to a line using a log-log transformation where your variable Y is vol and X is DTE so you can fit a linear regression. You can start to imagine a wider infra where you have a well-defined event calendar, extract implied events sizes everywhere, and fit base vol term structures to identify kinks, ie buy and sell signals. As it dawns on the reader what relative value vol trading looks like. Throw in layers of execution topics and you can see the basic truth — there isn’t any magic sauce it’s just fastening a thousand submarine doors before the thing can go anywhere. And every day the state of the art of little door details inches up.]

Let’s see the chart if we try 5% and 8% earnings move respectively. The first chart keeps the dirty earnings curve and ex-6.5% earnings curves for reference.

The second chart zooms in.

And the matrices:

If you assume an 8% earnings move, the 2/28 expiry looks cheap. If you assume 5%, it looks rich. The first step is to find what makes the curve look well-behaved and then based on your view on base vol, earnings vol, or both you can isolate how you should trade it.

Beyond a single event

Even with the adjustment, I’d readily admit the term structure is pretty kinky. But the ugliness is useful because it’s an opportunity to step-through what actually happens in practice. Let’s talk about how to iron the kinks that remain and see what’s left over.

Let’s step through some notable points on this chart. I’ll be clear in my explanation but I’ll do them a bit out of order.

Point #1: This doesn’t stand out as being too cheap relative to the rest of the curve because there’s no reason to assume that upward sloping-term structures are “wrong”. But there’s a technical reason it might appear so low…these vols use a 365 day model. This snapshot is taken on Friday. Vols “appear” to go down on Fridays and shoot up on Mondays but its a sawtooth artifact of a model which treats every day equally. This is explained thoroughly in Understanding Variance Time.

Point #2, a thru c: The 1/31/2025 expiry is a busy macro week — inflation data, jobless claims AND an FOMC meeting. If we extract event straddles from this expiration the base vol will fall to line up much better with the power function. The expiries behind it (b and c) also contain that busy week but its effect will be diluted while contains the brunt of it. So will be higher than a but less than c which will fall the least. See how it’s creating upward steps!

We’ll come back to #3 and #5.

Points #5 and #6: June and September expiries. Notice June has a bigger bump than September. Have a guess?

Earnings! Although the earnings dates are in May and August they fall AFTER those expiries and are captured by the following month!

via Wall Street Horizon

September has a smaller bump than June is because it’s further out in time. The impact of a single day move is proportionally smaller for a longer-dated option than a shorter-dated one.

Back to #3: This is the 2/21 expiry. This one is interesting. If we impose a lump of variance for FOMC week while it definitively has a larger impact on #2 a thru c, it will still have some impact in the 34 DTE 2/21 expiry which means as low as it looks, it’s even cheaper than it looks. If the snapshot is accurate, 2/21 looks like a candidate to buy vol. If you thought earnings vol looked “expensive”, you could sell 2/28, buy 2/21, then cover your 2/28 short as 2/21 expired. When I say “you” this is pros who’d kick their grandma down a flight of stairs for a tick of edge. You can throw trades like this onto the pile of tiny edges. I doubt the juice is worth the squeeze for retail. However, if you are looking to buy or sell options outright, then understanding this can help you on the margin. It’s a “I’d go for it on 4th and 3 but not 4th and 5” type of knowledge.

[An alternative thought…does the week before earnings structurally deserve a lower vol because the chance of the company saying anything material is close to zero? It’s good hygiene to wonder what you’re missing whenever something looks cheap or expensive. If you cleaned up all surfaces for events would you find the week preceding earnings to look cheap across the board?]

And finally #4: The 3/21 expiry looks expensive even after adjusting for earnings. Again, you’d want to doublecheck the vol returned by your snapshot.

If you thought earnings were expensive, a more oblique way to express it would be to buy #3 (2/21 expiry) and sell #4 (3/21 expiry) which corresponds to a 51.5% forward vol NET of adjusting for earnings. Most of that “value” does seem to be driven by 2/21’s cheapness rather than 3/21’s expensiveness (something you can notice by observing how the 2/28-2/21 forward is more stretched than the 3/21-2/28 forward despite us thinking when we anoint 2/28 as fair. This can inform your weighting of a calendar — you sell 3/21 maybe you buy twice as much 2/21 if you think that’s the best leg. This is where having additional info about the flows that are pushing options around and the general “art” of trading is apparent.)

Pretty pictures

If you clean every event, iron out all the kinks you might just find a well-behaved curve. “Listen” to the market carefully It’s a call and response:

You: “Look a kinky opportunity”

Market: “Nah, there something coming up. This is what people expect.”

You: “Ah, thanks for the heads up, I’ll incorporate it”

Market: “Aren’t you gonna cast your vote?”

The response is up to you, but see the present clearly. Remember, measurement not prediction.

I’ll leave you with a spreadsheet so you can play with an event size and see how it propagates through the term structure. Smooth curves = smooth forward vol matrix.

💾Moontower Event Vol Matrix

Spreadsheet screenshots:

Final thoughts

Trading vol around events is a major topic.

At scale, quants will have more “proper” methods for doing this but I can tell you that a significant portion of my career earnings have come from understanding this stuff. (It was 20 years ago, about 2005, that I was starting to build this infra. All in Excel by the way.)

The techniques improve. I’m not a quant as I’ve said many times. I don’t know the state-of-the-art but with some simple math and yea a lot endurance, observing, noticing you can go quite far.

Is this gonna turn you into SIG or Jane? Hell no, but these are the ant trails that take you to the questions. To a frame of mind that measures for and seeks contradiction. Notice how little broad opinions matter. Instead, you are trying to turn market prices into mini-hypothesis. Trades are tests against hypothesis.

But it starts with measurement.

Here’s a few questions that option traders are asking every day.

How does the surface/consensus synthesize knowledge about:

  • prior earnings moves?
  • seasonal earnings moves?
  • time-series of implied earnings moves?
  • how earnings vol is cross-sectionally priced broadly and by sector?
  • how implied correlation is priced during earnings season?
  • how VRP’s look ahead of earnings? after earnings? if we clean implieds to get to base vols, do we clean realized vols after known events have passed to have base realized vols?

These are all active areas of inquiry. They are not solved problems. They will be eventually but then the conditions of their solving will have meant another set of opportunities will emerge.

If you are an aspiring pro, insert yourself somewhere and just start chopping wood.