tracking your portfolio and its risk

I’m working on a protype for a new tool called Moontower Portfolio. (It needs a better name, I know)

 

You input your assets. Everything. Primary home, angel investment, VTI. Whatever.

You decide if you want to proxy a holding by something that liquid. For example, you can proxy your bond cusip with TLT.

Then we can use our volatility and market data to estimate the risk and performance of the portion of your portfolio deemed “measurable”.

Some portion of your portfolio has unmeasurable risk. That angel investment or loan to a friend. But just getting a handle on your measurable risk with current data is enlightening and satisfying (possibly addicting).

 

I made a screenshare that walks you through it…but even better — it’s really an educational video that gets into understanding portfolio volatility.

You’ll learn how to go from the formula to actually computing it step by step for a portfolio of N assets.

In the process, you’ll find the entire idea of implied index correlation demystified.

[If you prefer a blog version of that, you’re covered. See Dispersion Trading For The Uninitiated]

Let’s just get to it. I hope you dig it and learn a lot!

I had to record this 4x so if you like moontower in video format feel free to tell me but I can’t say I’ll make a habit of it.

(if the embed isn’t working here’s the link to the Youtube video directly)

“How did you solve that math problem?”

The last few issues I’ve talked about mathacademy.com (no less than 7 readers are now doing it for themselves and/or for their kids!).

My mother was visiting this week and was doing the diagnostic over my shoulder while I was working on it. It really bugged her to realize how out of practice she was in elementary math so we went through some refreshers.

We reviewed a bunch of exponents stuff, for example, why 1/2 of 2²⁰ is 2¹⁹.

This is apparent when you think about it. But one of the things I noticed about how she and I do math is how methodical she is with trying to find the formula and how that’s not my first instinct at all. My first reach is always “what’s a simpler analogy and then extrapolate”. If that doesn’t work then get the pencil. I mean a lot of my motivation for retaking math ed is because my only mode is ‘trader math’. Formulaically, I reminded her that multiplying by 1/2 is the same as 2⁻¹ which is how she relates to the problem — she knows the rule for multiplying exponents with the same base is to add the exponents.

[My mom reads moontower believe it or not so it’s nice to share this in print even if a bit corny— we’ve always bonded over math. She went back to school in her 50s to get a college degree. She even took Java and C++. She is a determined learner at heart even if formal education took a backseat to more urgent pragmatism. She cut her college days short to work and get married back in the 70s. I was born the week she turned 24. Meanwhile, my eldest was born hours after my 35th birthday. Just acknowledging the change in norms in a single generation makes me feel like a flea in the sweep of time — no need to invoke cosmic proportion or even geographic birth lottery to think of how lucky I am to feel even remotely resourced while my kids are still kids.]


 

If you want a similar math problem to practice I shared Barclays quant question back in July:

Lily pad

You start with a single lily pad sitting on an otherwise empty pond. You are told that the surface area of the lily pad doubles every day and that it will take 30 days for the single lily pad to cover the surface of the pond.

If instead of one lily pad you start with eight lily pads (each identical in characteristics to the original single lily pad), how many days will it take for the surface of the pond to become covered?


A thought on the Lily Pad question and more:

[My son Zak solved it just like I did — by realizing the answer is the same as if you started after Day 3. My mother preferred the 2³⁰ / 8 = 2³⁰ / 2³= 2²⁷. The different ways we reason through a problem show up yet again.

I suspect my son is railroaded into my method because it wasn’t natural for him to see that representing 8 as 2³ was desirable for the purpose of doing exponent division (which follows a mechanical rule of subtracting exponents).

But getting to the formulaic version is what my mom searches for first.

Even when I was on the trading floor where you had to do mental math quickly to make markets, I enjoyed asking the people standing next to me how they priced the structure. There was a lot of variation. It’s a fun thing to ask others and, as I discovered, people usually like explaining how they mental math so it’s an all-around feel-good exercise.

One of the things I like about common core math is the emphasis on seeing numbers in different ways. My 8-year-old reflexively turns numbers into “friendly numbers” ie ending in 0s before doing operations, then undoing the adjustments before finalizing his answer. They are taught to do this. People my age usually landed on this method organically. But it’s good to teach it.

That said, Nate Bargatze owns the best common core bit:

 


 

Money Angle

Here’s a question I made for my mother to drill the exponent stuff that doubles as an investment problem.

For a fixed tax rate and rate of return is it better to have your return taxed every year or wait to be taxed on the gains all at once at the end?

Knowing the answer to the question is useful in itself but I also want to mention a collateral benefit. The meta-process for approaching the question can help organize your numerical intuition.

Think of what is required to answer:

1) recognition

What kind of problem is this?

Well, it’s a compounding problem.

What does that tell us about the function?

It’s exponential. It takes the form y = abˣ

2) ask yourself where the variable in question (in this case the tax rate) makes the largest impact

Is it as part of the a or the b?

Since the b gets exponentiated (the historical term for this is “involution” or “involuted”) the tax term will have its largest impact there.


I gotta run — I only have hours to secure my spot in mathacademy’s Iron League. I can’t not be gamified.

☮️

a riddle related to American-style options

Friends,

I saw a fun riddle this week. To get you in the right mindset before sharing it I’ll introduce the so-called secretary problem. I first came across this concept when I was a trainee at SIG from John Allen Paulos’ Innumeracy in the context of choosing a mate.

From Wikipedia:

The basic form of the problem is the following: imagine an administrator who wants to hire the best secretary out of n rankable applicants for a position. The applicants are interviewed one by one in random order. A decision about each particular applicant is to be made immediately after the interview. Once rejected, an applicant cannot be recalled. During the interview, the administrator gains information sufficient to rank the applicant among all applicants interviewed so far, but is unaware of the quality of yet unseen applicants.

The question is about the optimal strategy (stopping rule) to maximize the probability of selecting the best applicant. If the decision can be deferred to the end, this can be solved by the simple maximum selection algorithm of tracking the running maximum (and who achieved it), and selecting the overall maximum at the end. The difficulty is that the decision must be made immediately.

The shortest rigorous proof known so far is provided by the odds algorithmIt implies that the optimal win probability is always at least 1/e or about 37%

The reason the secretary problem has received so much attention is that it’s the optimal policy for the problem, the stopping rule is simple and selects the single best candidate about 37% of the time, irrespective of whether there are 100 or 100 million applicants.

Key Insights

[These are a mix of my thoughts and Llama 3.1, the LLM you can chat with from Whatsapp]

  • 37% provides sufficient information about the distribution of quality.
  • Maximizes probability of selecting the best option.
  • Balances exploration and exploitation

    (this should remind you of the multi-armed bandit problem — a problem so diabolical that the Allies considered “dropping” it on German scientists as the ultimate nerdsnipe — to distract them from the more urgent matter of developing weapons. See my notes from Algorithms To Live By author Brian Christian)

Real-World Applications

  • Job Searching: Interview 37% of candidates before making an offer.
  • Dating: Meet 37% of potential partners before committing.
  • Shopping: Research 37% of options before purchasing.
  • Recruitment: Screen 37% of applicants before inviting for interviews.

Assumptions

  • Random arrival: Options arrive randomly and independently.
  • No recall: Previously rejected options cannot be revisited.
  • No additional information: No new information becomes available after observing an option.

Limitations

  • Small sample size: With few options, the 37% Rule may not provide accurate results.
  • Non-uniform distribution: If options are not uniformly distributed (e.g., clustered), the rule may fail.
  • Correlated options: If options are correlated (e.g., similar), the rule may not account for this.

Practical Considerations

  • Difficulty in estimating 37%: Real-world applications may make it challenging to determine the exact 37% mark.
  • Time constraints: The rule assumes unlimited time for observation and decision-making.
  • Multiple criteria: The rule focuses on a single criterion; real-world decisions often involve multiple factors.

Contextual Limitations

  • Irreversible decisions: The rule may not apply to irreversible decisions (e.g., marriage).
  • High-stakes decisions: The rule may not suffice for critical decisions (e.g., life-or-death).
  • Dynamic environments: The rule assumes a static environment; changing circumstances may require adjustments.

 

Application to financial options

With that background, you can see how American-style options are a specific instance of “optimal stopping time problems”. That’s because they can be exercised any time before expiration, unlike European options, which can only be exercised at expiration. The holder of the option must decide the best time to exercise, if at all, to maximize their payoff.

This is why American-style options are priced by simulations such as tree methods while European-style options have closed-form equations.

In the simulations, the value of the option is computed by looking at the value at the next time step (i.e., whether to exercise now or wait). A backward induction process unravels from the expiration date back to the present. The model calculates the optimal decision at each point in time based on the payoff of immediate exercise versus the expected value of holding the option.

 

With ALL that said, you are ready for the riddle!

Flip 100 coins, labeled 1 through 100.

Alice checks the coins in order (1, 2, 3, …) while Bob checks the odd-labeled coins, then the even-labeled ones (so 1, 3, 5, …, 99, 2, 4, 6, …)

Who is more likely to see two heads first?

  • Alice
  • Bob
  • Equally likely

The riddle is neat because it works the same muscles as pricing an option. In fact, the riddle doesn’t even require math!

🔓See my reasoning and the original thread


Welcome to 2024…

The cost to learn is COLLAPSING if your eyes are open. Culturally I can sense (and anticipate much more) hand-wringing over what this means for society but right now I cannot emphasize enough how you should at least be taking advantage of all the consumer surplus LLMs are dumping in your lap. Earlier this week I mentioned that I screenshotted a spreadsheet of futures data and asked ChatGPT to write the formulas I’d need to arrange it the way I wanted. It spelled out exactly what helper column I needed and where to place all the formulas. It even stepped through the method so I can understand why its solution works.

Now consider that riddle.

  • I prompted ChatGPT to give me the Python code to simulate the question many times to so I could validate my answer.
  • I ran the code in Google Colab (cloud-based Jupyter notebook)

This entire process takes seconds not minutes.

Here are the steps you follow upon seeing the riddle on twitter:

  1. open 2 tabs — ChatGPT & Google Colab
  2. ctrl-c from twitter
  3. ctrl-v into ChatGPT
  4. type “what code that simulates this”
  5. ctrl-c the response
  6. ctrl-v into Google Colab
  7. ctrl-enter to run the script

[And yes I use a PC…loving my new Surface laptop btw]

In 5 years, an AI agent implanted in your reading glasses will know you wanted to do that when you scrolled over the tweet and a tooltip will simply be projected over the tweet with the simulation results.

Just kidding.

Twitter will be gone by then.

If interested here’s my Google Colab link:

🔗coin-checking script.ipynb

[Not to get into the weeds but I had to have a couple back-and-forths with the LLM because it made the mistake of thinking that the position that the head is found in determines if Alice or Bob won but it’s actually which ordinal observation that determines the winner. The process took more like 5 minutes as I had to prompt a specific debug and explanation. It doesn’t take away from the point — we are talking about orders of magnitude decreases in the time to code up this simulation for someone whose coding skills are as soft as mine.]

crossing the commodity chasm

I was planning to publish a follow-up to last week’s derivative “income” bumhunting where I look closer at various ETF performances. I started data-wrangling and then got distracted with yesterday’s trade idea. I will circle back to the ETFs in an upcoming issue.

As far as the trade idea this is what I ended up doing:

  • Liquidated most of my railroad shares (economic activity play that has held up well in contrast to commods)
  • Shorted .54 delta calls in November expiry options in WTI. I used Z24 NYMEX crude options which are “Dec” options but expire in November. The nomenclature comes from the commodity delivery window as opposed to the last trading day of the options. Confusing if you are coming from equity land.
  • Bought Dec2025 WTI futures

On balance, I added overrall risk-on length via the total quantity of Dec25 futures.

The oil legs assumed a .50 beta between Z25 and Z24 so I bought 2x as much Z25 as I sold in Z24 oil delta, which brings me to…commodity analytics. Like where did I get .50 beta from?

For some background, I spent 2005-2021 managing commodity options businesses. Despite moontower.ai being equity focused and the start of my career being in equities, ETFs, and equity options, commodity futures and options are my binkie.

One of my favorite periods of my professional career was building out the analytics for commodities. It was also a clue that I enjoyed building as much as trading. The career is most rewarding when you can not only drive the racecar but drive the one you built.

The analytics were similar to moontower.ai in the sense that they are volatility-centric and ignore fundamental data. But there is a tremendous amount of translation required to think about vol and term structure in the commodity markets.

A non-exhaustive list of features (or bugs) in commodity futures:

  • Physical delivery and cash delivery nuances
  • A single order book instead of multiple exchanges
  • A large, opaque OTC market whose contracts are cleared by exchanges but not traded on them
  • No insider trading rules
  • Different rebate mechanisms for volume traders
  • Less restrictions on market makers taking a “show” in voice markets
  • Even the underlying is highly levered — and exchanges can change margin requirements on a whim
  • Cross margining of look-alike products (ICE vs NYMEX WTI)
  • Options on spreads, Asian options, “new crop”, short-dated ag options, and 0DTE has existed in these markets for almost 20 years already (but were not traded electronically)
  • Close to 24 hour trading
  • Early exercise of calls and puts in a world without dividends or corporate actions
  • CFTC not SEC
  • Different arbitrage bounds — a time spread can trade for a credit because each option expiry is tied to its own underlying. This gets very hairy in commodities that are hard to store (ie nat gas or electricity) or highly seasonal ones such as ags which have “new crop”/”old” crop” dynamics that can actually have negative correlations (the performance of an old crop will affect planting decisions for the next season — high prices one year can lead to oversupply the next. Forward vols in commodity markets are a fun topic.

Infrastructure-wise you need a totally different “security master” or database mapping between financial instruments.

  • Underlyings can be referenced by many types of options in various combinations. Crack spreads, crush spreads, spark spreads. Options on all of them.
  • Every commodity has different expiration schedules, trading hours, last trading time, settlement procedures, naming conventions.
  • The markets pool liquidity in bespoke ways — October options in cotton are listed but never traded. If you trade nat gas you care a lot about 2 spreads in particular — H/J (March/April) and V/F (Oct/Jan). In RBOB, the gasoline spec for delivery changes in the North American summer.

Your security master needs to be flexible enough to accommodate all this variation. Your front-end analytics are going in the other direction — tuned for the idiosyncrasies of the markets you’re focused on. And then all the risk needs to be reported to central command in a way that fits with the overall portfolio risk while not losing the details when they matter. It is essential for the risk management layer to understand the drivers in these markets to devise appropriate shock scenarios and aggregations.

My first home in commodity trading was the oil complex. WTI, Brent, heating oil and gasoline (RBOB but I started trading it when HU was listed in parallel as the market was migrating to the RBOB spec). In that world you have American-style options expiries spanning from 1 day to many years into the future. You have calendar spread options (CSOs), crack options (I stood next to an independent trader that was long so many gas crack calls when Katrina hit that it was a noble percentage of a day’s worth of refining capacity in the US), Asian options, and European look-alike options that settled to swaps.

There were active markets in American vs European “switches”. You could exercise an American option for an hour after the market officially closed while the Europeans were cash-settled. If you were long Europeans on a strike, and short the Americans going into a pin…well, the market was gonna help you discover what that switch is worth.

If you trade WTI-Brent “arb” options, you are trading options on the spread between the 2 oil benchmarks. WTI and Brent have their own supply/demand dynamics because they are in different locations and vary by spec. This means different buyers and suppliers. Refineries optimize their throughput based on what end products are demanded and where (diesel, gasoline, jet fuel, bunker oil, etc). Throw in transportation costs, technicalities, and legality/tariff/sanctions on exports and you have a pair of highly liquid individual markets only loosely tethered by the wire of “arbitrage”. The arb options are a way to directly trade the spread. And then nerds can then relative value trade the vanilla options on each commodity vs the arb options. There’s no boxed arbitrage embedded in the math but the concept of implied pairwise correlation is a tradeable, albeit, messy parameter. And with the different expiration dates and times for the “same” month you will find yourself long or short a pile of unmatched option greeks for a string of days in between expirations (which also suggests that getting your volatility calendar correct is paramount).

(This implied correlation idea also exists in the context of calendar spread options. In 2007/2008 there were giant discounts in the WTI option forwards. The time spreads were incredibly attractive. The risk was you were inherently short spread vol so if you believed that the spread vol was highest conditional on the front month futures collapsing, then CSO puts were a clever hedge. The trade set-up was caused by the SEM Group blowout. I feel like I owe their desk a thank you for effectively buying my first apartment for me.)


An aside

The natural gas futures and options world is (was?) the king of cruft. It felt like a racket for churning exchange fees and broker commissions.

Expirations were so cumbersome because the liquid underlying was a physical future but the options that referenced them barely traded — instead the cash-settled options were traded but the cash-settled underlying swaps were not. They weren’t even listed, they were only cleared by the exchange! I can still remember being worried that I’d have an error, outtrade, or unreconciled position contaminate the grid I used to project how many futures I needed to buy/sell above/below each strike to replace the cash-settled deltas that were “going away”.

Oh yeah, and the swaps themselves had a different expiry than the futures so there were highly active markets in TAS (“trade at settlement”) futures, pen/LD swaps (“penultimate mini vs last day” swap spread), “futures/pen” (physical futures vs full penultimate swap), and the EFS (“exchange for swap” — last day futures vs last day swap). All of these things are tied together by algebraic relationships so you can triangulate the implied market in one from the legs of the others. Except none of this trades on a screen so you were still doing mock trading math based on quotes you are seeing on AOL IM or YM…in the 2010s!

I don’t remember the full history of how the markets eased into these conventions but I believe it was the marriage of disjointed OTC, exchange-traded, and physical markets. I’m not even getting into how the multipliers on these contracts work — if you trade X mmBTUs in the physical market that’s a size per # of days in the month which is how pipeline operators think and to which the financial players need to adapt.

And just like the oil market, there’s a NYMEX version and ICE version and sometimes you didn’t find out what you got until after the deal was consummated.

Hence venting on my Lost Xtranormal Video (Fonz, remember when we scripted this?)

It remains true that the number of commodities you can trade is much smaller than the number of equities, but there are loads of futures expirations, futures option expirations, strikes, and instruments.

A basic infrastructure starts with the futures chain and term structure. While I don’t currently have a proper infra I did grab several years of simple end-of-day WTI futures prices prompted by my oil trade idea.

I got distracted from writing the ETF post into creating a bunch of charts that demonstrate things I like to look at in futures. I’ll share them below and the reason a vol trader should care.

A quick comment on infrastructures.

You should be able to examine futures data in at least 2 ways:

  1. Fixed expiration (ie a history of the Dec24 contract)This is especially useful for seasonal charts (ie X-axis is Jan thru Dec and the lines are contracts for various years)
  2. Relative expiration (ie M1 or CL1)The ordinal number 1 refers to the first contract listed. This is the basis for “continuous” contracts. It’s also important because of the Samuelson effect which I mention in the interview with Dean — a contract with 12 months until expiry is less volatile than the same contract with 1 month until expiry. Which is another way of saying the M1-M12 spread has volatility and that volatility has its own properties.

The importance of having both views compounds when we layer in option analysis.

We’ll keep to a tight format. A chart and its relevance. All data is WTI futures settlement on the NYMEX.

[LLM note: To organize the data there was one instance where I wasn’t sure the easiest way to do it in Excel. I figured I’d need a helper column but instead of trial-and-error I just gave ChatGPT a screenshot of the spreadsheet and a description of my desired output. Abracadabra. Even the explanation for how the formula worked was perfect. I don’t know how long until it’s here but I feel like sometime shortly, organizing the data, laying out the charts, and the blog post will all be done by autonomous parallel AI agents. Come to think of it, why would I even prompt it…the LLM will just prompt better questions than I’m bothering to answer just by knowing what data is in front of me and the history of my blog posts.

The movie Fight Club makes more sense to me now than it ever did before.

Nerds being the victim of their own success is the own goal the Colosseum has been waiting for]

Alright, let’s get to it.

We start with a couple high level charts. They are useful when inspecting a commodity for the first time to get a sense of its nature.

Term structure time series chart

  • To keep it legible, I just chose 3 ordinal months — M1, M8, M15. You can see how steep the contango was in April 2020 when the front month went negative!
  • You can also see how for the past 5 years, the oil price has been backwardated (descending term structure) whenever the prompt price has been at least $45. I didn’t load the data from the 2010s but the last few years have been regime. Perhaps reflecting the idea that oil-demand in the future is uncertain with the focus on alternative fuels. (Personally I keep my core oil length in the deferred futures incentivized by an implied positive roll return and because the mandate also comes with a lowered incentive to invest in supply. In other words, vibes. I don’t know anything about the future but energy is part of my asset allocation. Hedgers sell the back so that’s where there should be a compensation for providing liquidity which manifests in a roll return. If I have to pick a spot on the curve to fill that bucket, that’s where I’m going.)

Term structure cloud chart

  • I group term structures by month and average them. Looks like a vol cone doesn’t it.
  • The back end has a tighter range than the front. It’s less volatile. Supply and demand are more elastic with a year to go than with a month to go.

Volatility term structure is one of the most important tradable concepts for option traders. Time spreads, straddle swaps, implied forward vols. So here’s the kind of riddle I might give in an interview:

There’s 3 contracts listed — M1, M2, M3

They each have their own option chains and the ATM implied vols are 30% across the board.

1) Is the option term structure flat, ascending, or descending?

2) Give me a framework for computing the forward vol.

Instead of an answer, I’ll offer a clue:

The vol ratio cloud

  • This is a chart of 1 month realized volatility for each contract divided by M1’s realized volatility (grouped by month)
  • Notice how some periods of time the back months are far less volatile than the near months. I think of this as volatility in the futures spread absorbing the volatility from the back months as the near month is being driven by some current concern that is not propagating to the backs. May 2020 being the archetypical example as we were running out of near term storage during COVID.
  • How does this idea inform your thinking about the riddle above?

Zooming in on spread volatility

To reduce the noise from M1 a tad we focus on the M2/M12 futures behavior from Jan2021 until last week.

In the top panel we see:

  • Time series of both futures prices. This is not a continuous roll return display so at each expiry as M2 inherits M3’s price there’s a small bump in futures prices that you would adjust for if you were working in a returns context.
  • The green time series of the futures spread defined as M2 – M12 (front – back is a commodity convention but the equity market defines it the opposite way. Another source of confusion and “Texas” hedging for traders who cross the chasm from commods to equities or vice versa). Notice that the spread has been positive (a backwardated market) for almost the entire period.
  • The silver time series just normalizes the spread value by the M2 price into percent terms.

In the bottom panel:

  • The red line is the rolling 21d standard deviation of the spread price changes. The spike is the Ukraine invasion where the near-dated futures skyrocketed relative to the backs. Inelastic demand in the front meets supply concerns. We don’t compute percent volatility (what if a spread price is zero or negative) but instead measure the price volatility directly.
  • The white line is the MAD or “mean absolute deviation”. This measure of volatility tends to be lower since we don’t amplify large moves by squaring them as we do with standard deviation.
  • The army green line (right axis) is the MAD/St Dev ratio. An MAD less than .80 typically signifies a skewed or fat-tailed distribution of moves. See the [👿MAD Straddle for more color on this idea.]

Spread “delta”

This is a scatterplot of spread price vs M2 price.

The slope of the regression tells us the “spread delta”. For example in 2022 (yellow), a $1 change in M2, meant a $.44 change in the spread.

If you are long the futures spread (long M2 and short M12), you are inherently long the market. If you want to isolate your trade to just betting on the slope between the 2 prices you must weight the position by the spread delta. So for each M12 you sell, you buy only .44 M2.

This comes in handy if you are trading a large options book with deltas in each month. You normalize them all to M1 deltas as a quick, liquid hedge. The r2 of the regressions give you a sense of how volatile that delta estimate is. A lower r2, a worse fit. If the fit is relatively poor, you will likely delta hedge your spreads directly and more often to reduce the noise.

A few observations:

  • 2021 & 2022: the underlying had a wide range of M2 prices
  • 2021 and 2023 had the lowest r2 indicating more variation in the spread “delta”
  • Spread delta is highest in 2024 ($.57 change per $1 move in M2)

This observation brings us to the last chart. A high spread delta typically means a wider divergence between contracts as M2 moves around. The spread is volatile. If the front month goes up a dollar, the back month “lags” more than if the spread delta were lower.

Say it however you like:

  • More volatile spreads mean that the volatility ratio between the back and front is lower.
  • The beta is lower.
  • The back is not “keeping” up with the front.

We can observe this directly by looking at each of those years’ M12/M2 realized vol ratio.

Notice that the high spread delta of 2024 corresponds to a low M12/M2 vol ratio.

In 2021, when the spread delta is a mere .18, the vol ratio between the 2 months spends plenty of time above 80% and even goes above 100% as the futures curve moved in parallel rather than flattening/steepening.

Can you see how spread volatility and vol ratio would have profound influence on how to interpret the options term structure on these contracts?

If the spread volatility is high, meaning the realized vol ratio of M12 to M2 is low, then if you are long time spreads you are going to be short options on the thing that moving a lot, and long options on the thing that’s lagging. You want to make sure you are getting the appropriate vol discount to hold that! Measuring what that is will get you to a proper understanding of the vol term structure and implied forward vol.

If you are coming from equity vol land, where the options are struck on the same underlying this is a new frontier for you.

We close with the bottom panel which simply shows the rolling correlation and beta (beta is vol ratio * correlation). This is the correct number to use for weighting your future positions not just the aforementioned vol ratio. The beta can change due to the vol ratio or the correlation and it’s worth decomposing it to see what’s driving the inevitable mismatch between your hedge ratios and realized p/l.


Trading commodity vol after trading equity vol can feel like a foreign world at first. But trading equity vol from trading delta one is an even bigger leap. Once you get used to commodities they actually feel cleaner. I’m super rusty on thinking about early exercise, dividends, rev/cons, and merger-arbish math because all those muscles atrophied from a life in commods.

Even the strange commodity trades I talk about with Dean in the interview revolve around USO and UNG — commodity trades that got tangled with SEC wrappers.

Commodities have their own language and their own grammar. But they are globally pertinent and tell their own gripping stories of history. I’ve recommended it before, but Javier Blas and Jack Farchy’s book World For Sale is an absolute banger. The best book I’ve read in my last 20.

Let’s leave it there.

a winner that’s really a loser

The Earth rotates around the Sun at a speed of 67,000mph. When I go out for my occasional run, my own speed is in the tens of thousands of miles per hour. Should I take credit for this amazing performance? I wouldn’t be completely lying if I bragged about this with friends (which I do); but it would be more transparent if I mentioned that my speed record is in the frame reference of the Sun. In this frame of reference, my speed is indistinguishable from Usain Bolt’s. This factoid obscures the vast difference in skill between the two of us. To really understand the difference, we need to change the frame of reference. Another way to interpret the decomposition of returns is a method to change the frame of reference in investing. Total returns – and a portfolio’s total PnL – live in the Sun’s frame of reference. It is easy to fool ourselves with the belief that we beat birds, airplanes and supermen at their own game. Idiosyncratic returns and PnL live in the Earth’s frame of reference. If we want to compare our performance to that of our peers, or to our very own past performance, we need to move to this frame. Factor-based performance attribution makes it possible.

– Giuseppe Paleologo (via Advanced Portfolio Management)

When I think of the “heyday” of hedge funds in the early 2000s I picture a bunch of cowboys who became generationally rich riding a steed named Greenspan. “Hedge” funds? How about beta boys?

I’m writing in between sips of hatorade because I remember the contrast of working in trading vs seeing peers in asset management. They had “points” in the bonus pool. Meanwhile traders had “I know you made all this extra money but we think your pit was more lucrative then expected. We don’t pay extra for good luck”. And to be fair, I also saw the flipside where traders got paid well despite having a tough year because they made good decisions that had a lot of noise (an amount of noise the firm was willing to underwrite and not penalize you for — the whole “not resulting” thing isn’t just marketing — it’s load-bearing).

[Side note: cultures like that are hard to build and rest on constant communication and buy-in for situations where the opportunities might outsize your specific trading assignment and you need to “recruit” the mothership’s approval either implicitly or literally by storing some of the trade in an account whose p/l you don’t need to stare at every day. The old-school “back book” except you know about it because you were the one who alerted management to the situation.

The other thing such cultures rest on is “permanent capital”.]

The triumph of pod shops has been to operationalize trading firm epistemology, then maximize the fee they charge for blue meth. The job of a PM is now as hard as Walter White’s life for the same $10mm in comp you could have gotten 20 years ago.

When it comes to the retail investor, the conventional wisdom gets it pretty correct — almost everyone should be using low cost indices to construct diversified portfolios and get back to the competitive advantages in their daycrafts.

The retail world can be further divided into retail traders (the more sophisticated ones are sometimes called “prosumers”) and retail investors who “sin” by trading in haphazard ways as if NVDA earnings was the point-spread of the big game on Sunday. In both categories, there are no external demands for retail to be honest with themselves about their returns on effort in trading.

Which is basically, well, fine.

I don’t want my tone to be misconstrued — I’m not here to wag a finger at anyone. Serious traders, the ones who depend on edge to eat, get this. If you trade actively but less seriously then presumably you have some other means to knock out the rent so it’s hard to muster solemn concern for you.

But you can still upgrade your thinking massively by stepping through attribution.

On Sunday, I published a slutty post-mortem on a GLD trade that worked (and continues to work this week). I also promised to step through a trade that was not flattering because I think it’s loaded with lessons.

Let’s go through an option trade I did in IWM back on 7/17/24, a few days after the “small cap rotation” pushed the Russell up 10%.

a winner that’s really a loser

The setup

On July 17th, with IWM trading about $222.50 after a 10% rally over the prior days, I got a hankering to rebalance out of my shares. I consulted the mowing lines the gardener left in the grass and their pattern said “no need to buy something just trim net portfolio length.”

I pulled up moontower.ai and several views told me the vol seemed high.

Cross-sectionally:

The 30-day IV was elevated and with 1m-6m term slope “in line” other names with high implied vols I simply zero’d in on the 3m or October expiry.

Now I wanted to look cross-sectionally at how the options were “carrying”. I was looking for high VRP.

Cross-sectionally or relative to other names, the VRP didn’t stand out as excessive. It’s smack dab in the center of the chart. But there are 2 pieces of context swirling in my head:

  1. The entire VRP map is elevated. The mean VRP shows that on average IVs are trading at a 25% premium to realized vols. If you look at a chart like this every day, you know it’s more typical for that premium to be closer to 10%. If IVs were clustered towards the low end then a fatter VRP for the market could be expected but this isn’t that kind of clustering (toggle summer 2023 vols to see what low vol world looks like).
  2. This IWM VRP already incorporates the large move from the prior week in the denominator

On a relative basis I’m satisfied that IWM vol looks rich.

Let’s now examine IWM compared to its own history:

Getting confirmation.

That VRP is on the high end not just absolutely but also relative to the RV percentile.

Let’s look at the time series:

The 90d vol was a tad high relative (the October options were about 21% vol even a bit higher than what you see in this snapshot) to the realized vol sustained over rolling 3-month periods over the past year. This is not strongly confirming but it definitely doesn’t detract from the case we’ve built thus far.

One last check…what about if we zoom out to a 3-year lookback:

Selling vol at 21% is not attractive from this view with the IV being below the median rolling 3-month realized vol since 2021.

The trade looks good on 1 year lookbacks but not on a 3 year look. Insert the Larry David indecision meme.

Well, I never buried the lede…I told you I sold October IWM options. This tells you my bias is to discount old info heavily. 2021 might as well have been a different decade. I’m more inclined to look further back if I’m considering a high duration trade but we’re talking a 3-month option here.

Pulling the trigger

Instead of selling my IWM shares, I fully covered them by shorting the Oct24 220 strike calls at $11.82 on 7/17/24 (94 DTE). The stock was trading $222.22

On 8/23/24, 37 days later, I revisited the trade and that’s what inspired this post.

The calls were marked at $7.94 and the stock was at $220.38.

A walk in the park, right? $3.88 of profit and the stock is only down $1.84

Let’s really understand how to think about this.

Reviewing the trade

First, looking at what I call the unhedged version of the trade — sell the calls, go on vacation.

$1.07 of the p/l is due to delta. It’s not pertinent to evaluating an option trade because you could have generated directional or delta p/l by selling shares.

$2.81 of the p/l comes from the fact that 37 days have elapsed and the option is worth less. Implied vol was basically unchanged point-to-point from 7/17 to 8/23.

So this $2.81 gain is due to theta purely. But this is naive way to look at the trade because are inspecting the result when the stock happens to close to the price it was back at the start. If we chose a different time, and we will, you can see the folly in resulting from point-to-point outcome. And even the “different” snapshot we choose will be arbitrary, it will just show a totally different result. The point is this entire approach of opening our account and looking at the p/l teaches us nothing about whether an option trade was “good” or not.

The chassis for properly understanding vol p/l is laid out by platonic example in:

Dynamic Hedging & Option P/L Decomposition

and by simulation in:

Simulating Dynamically Hedged Option Positions.

But here we will simulate daily delta-hedged p/l for the trade IWM calls I actually sold and the daily prices that ensued.

This table is straightforward.

  • stock and option marks come from the market
  • option greeks and vols come from moontower.ai
  • p/l data assumes you hedge daily based on the marks and greeks

General observations before we discuss p/l

  • The IV on the 220 strike started and ended very close to 21%
  • The sample realized vol is 1.82% per day or 28.9% annualized (nearly 50% higher than the implied vol that was sold). This is based on 27 daily return observations.
  • Based on the realized vols, a 2 standard deviation move larger than 3.64% (ie 2 * 1.82%) would be expected at least once. There were zero. It’s therefore not surprising that the MAD or mean absolute deviation was greater than 80% of the standard deviation. (When the ratio is less than 80% it indicates a fat-tailed or skewed distribution). This observation isn’t central to this post but just thought I’d point it out. The topic is covered further in 👿The MAD Straddle

     

P/L

On a daily delta-hedged basis, this trade lost $1.60 per contract. Considering that the extrinsic portion of the call option was $9.60 when I sold it, this was a terrible trade.

Charted:

From the simplest perspective — I sold vol at 21% and it realized close to 29%. There’s no redeeming aspect to this. Was I unlucky? Sure, being short almost any option going into the August 5th volquake hurts.

But I’m less interested in the reason for the p/l versus the ridiculous framing where one looks at the result of making nearly $4 on shorting this call and thinking they were on the right side of vol history.

For people still early in their options learning, I can sympathize with what they are thinking — “Kris, this kinda makes sense, but you wanted to trim IWM length and selling calls worked…aren’t you just being pedantic? Does this even matter?”

My view is it not only matters, it’s all that matters. You chose an option as your weapon and the market wore exactly the right armor against your assault. That you happened strike a blow at all, based on when you looked at the outcome, is to not understand how badly you lost the fight. And without understanding that you can’t learn about the only thing that options depend on — they are always vol trades.

I’ll rattle off a more observations in hopes that one of them is the right key to turn:

1) The short call made $3.88 but $1.07 of that was delta p/l. You can think of the $1.07 as the counterfactual p/l if I just sold 60% of my shares.

2) Imagine how I felt on the 8/7/24 snapshot… my short option p/l is +$8.36 but I’ve lost $20.34 on my 100% of my IWM shares that I didn’t sell instead for a total loss of $11.98 (the RV would have been 29.6% from 7/17 to 8/7).

To measure more fairly in this 8/7/24 scenario, let’s assume instead of selling the calls I would have sold only 60% of my shares. I would have rode 40% of my shares back down to $201.88 for a net loss of $8.14

3) The cumulative delta-neutral p/l chart bottoms out in sync with the largest move (3 consecutive down days with a magnitude greater than 3% each). If you would have sold the 220 call on 8/5 when it was a 30d and hedged daily you would have made money for the next 2 weeks even though the stock rallied back nearly 10% back to the strike!

This is because the down leg saw the 220 call IV go from 21% to 29.6%, while the upleg saw the IV roundtrip back from 29.6% to 21% again.

The downleg option position suffered both due to IV expansion (vega p/l) and high realized vol, the upleg won to vega and realized vol (rv from 8/5 to 8/23 was 23.8%, but remember if you sold vol on 8/5 you sold IV at 29.6!)


Wrapping up

I’m a broken record —> options are always about vol.

If the implied is the main driver, it’s vega p/l.

If the realized is the main driver it’s the tug-of-war between gamma and its cost, theta. The cost, in turn, is driven by the implied. IV sets the hurdle on whether you win or lose to an option trade.

In today’s example, I sold an IWM call. I happened to win to it even though it was a bad trade (not in the sense that it was bad when I put it on, just that it realized a bad outcome that was masked by when I happened to look at it).

To be less fooled by randomness you can compute a delta-hedged p/l stream to get a clearer picture of a trade’s results.

If you don’t have that, you can compare the IV you traded vs the RV that was realized. This will be lower resolution that a delta-hedged p/l stream because vanilla option p/ls are sensitive to path but it’s better than just resulting.

In moontower.ai we now have a toggle that lets you see the time series of IV vs RV but the IV is lagged (so for example I can compare the 1 month trailing RV today vs the 1 month IV that prevailed a month ago).

This uses 50d IV. You can still see how the RV ramped up above the IV (this is using 90d RV to compare to 90d IV so its not as dramatic as the analysis above which showed the impact of the shorter window 29% RV on a 3-month 21% vol option. Plus the option I sold was not “constant maturity” but a regular option that becomes a shorter maturity with time).

We have the ability in our backend to simulate a delta-hedged option through time using actual market prices. It’s on the roadmap to create a front-end GUI for everyone.

how arbitrage pricing creates opportunities for directional investors

This post starts with a response to a reader question but leads to a deeper question — do arbitrage-free prices present opportunities to fundamental or directional investors?


 

One thing I’ll be doing more of is sharing my answers to reader questions. Here’s one that channels a topic that eternally confuses option investors when they learn about skew (emphasis mine):

In your excellent article Lessons from the .50 Delta option, you wrote that by bidding up the put skew, the market makes call spreads more expensive. Combining this with your insights on the deeper understanding of vertical spreads, implied distributions, and thinking of spreads as odds, I was left wondering how the steepness of the skew relates to outright buying or selling options.

Here’s my question: Let’s say the SPX Dec24 call skew (100-105 moneyness) is descending. If I were to buy a call spread with 100/105 moneyness, I’d probably measure it as slightly more expensive than a 100/95 put spread. This aligns with what you’ve been writing. However, what I don’t understand is: if call spreads are more expensive (because the 105 vol is lower than ATMF), wouldn’t it be better to buy 105 calls outright due to the low vol? In my mind, this contradicts the perception we get from the spreads. The market seems to favor upside scenarios and bid up call spreads, yet at the same time, outright calls get cheaper?

Could this have something to do with IVs, deltas, or VRP?

It’s such a great and common question.

My response:

I know it feels like a contradiction. I’ve even framed it that way because it grabs your attention…it really feels like one!

But ultimately it’s not.

Think of option skew creating vertical spread prices that imply a distribution which “corrects” the Brownian motion assumption — namely, that the market is positively skewed but more likely to go down than up.

This is exactly the opposite of empirical results…the market is negatively skewed and a favorite to go up!

The upside call is cheaper because there’s less positive long-tail skew than Black Scholes assumes but the call spread is more expensive because the stock is more likely to go up.

We shift probability to the right but truncate the magnitude of the upside. It’s like betting on a favorite in sports…you’ll probably be right but the upside isn’t as large.

The main point is that the distribution is like a sculpture — the volatility skew moves some clay from the right tail to the left tail, and shifts the whole sculpture rightwards a smidge.


The paywalled Thursday Moontower posts generally dig deeper into investing concepts practically. They’ve been very option-centric lately. However, the most popular one I’ve written recently is not directly about options. It drove 20 paid subs which is an unusually high amount.

[Incidentally, the topic of paywalls, monetization, and so forth is something I’m happy to discuss. In fact, I have a backlog item to come up with a pricing model for “Should I paywall content or not” mostly to itemize most of the major inputs into such a model and their sensitivities or greeks. In any case, the topic of monetization feels under-discussed at least from my aperture. I wonder if that’s because people are hesitant to share. In any case, I see no advantage in being opaque on how to think about monetization. At the end of the day, some amount of what I write is paywalled. A lot of effort goes into but I don’t subscribe to Marx’s Labor Theory of Value — if it’s worth paying for, it’ll get paid for, and if it’s not it won’t.]

Here’s the post, with the paywall removed 🙌

🔎Volatility Depends On The Resolution

Despite the word “volatility” in the title, it’s more germane to the topic of risk broadly than options. It’s not a long post, but it’s a lot to ponder for any investor. The heart of it can be summarized in a line:

Realized volatility depends on sampling frequency

This concept has such a broad appeal and because of my bit above in Money Angle about realized distributions vs theoretical lognormal distributions, it seemed like a good one to unlock.

The substack post is a condensed version of the whole post which includes lots of charts.

For example, charts that compare realized daily returns vs what is expected theoretically:

The real-world distribution includes:

  1. Fatter tails (note that greater than 3 st devs is one giant bucket so that’s why even the Gaussian expectation is slopes back up a touch)
  2. A higher peak (more small moves than theory predicts)
  3. Positive drift (in theory the drift is approximately [RFR-div yield]/365…a much smaller number than the actual drift has been. Incidentally, people really struggle with the Black-Scholes assumption that a stock has no expected return premium — but that’s actually not the assumption UNLESS you are talking about a specific context — pricing options as a replicating portfolio. Financial Hacking has a great clarification on this.)

 

The options market adjusts to this empirical reality by:

  1. Increasing downside put IVs or put skew. This extends the distribution of the left tail but also increases the implied probability of a positive stock return by pushing up the value of ITM calls and therefore call spreads. This shifts the center of the distribution to the right.
  2. The wing options on both the calls and puts can smirk up increasing the mass in the tails. In price space, this pushes the value of the OTM options relative to the ATM straddle which increases the value of the butterfly (the wings up, relative to the “meat” of the fly). If you think a stock is going to have more small moves than the Gaussian distribution of logreturns predicts then you want to buy a butterfly that’s short the ATM straddle — that is exactly the structure whose value increases. 

The volatility skew creates option spread prices that conform to empirical actuarial odds. They “correct” the assumptions baked into the underlying Black-Scholes distribution.

One of the most provocative bunny trails from this conversation is how a long-term call option price that is priced using the RFR for drift will look wildly cheap (and the put expensive) to an investor who assumes higher rates of return because the stock is risky. But if they bid the calls and offered the puts with their return assumptions in the model they would offer risk-less arbitrage profits to option traders would simply do “conversion” strategies.*

If this intrigues you, check out the Warren Buffet section in Real World vs Risk-Neutral WorldsAn option that looks cheap to a fundamental investor focused on the near-term can simultaneously look expensive to an arbitrageur who has no opinion about the underlying but is in the business of squeezing profits from replicating that option for less. Both the directional investor and arbitrage trader can win.

(The loser in a zero-sum paradigm is all the noise traders flipping the stock back and forth in the interim to the delta-rebalancing option trader).

 

*conversion example

Stock = $100

Interest rate =3%

Theo value of synthetic future (ie long 100 strike call/short 100 strike put) = $103

The call will be worth $3 more than the put. C – P = $3.

Buying the call and selling the put is the same as “buying the 100-strike combo for $3 which is equivalent to buying the synthetic future for $103 — why? Whether you exercise the call in a year or get assigned on the put, you will have paid $100 for the stock. Plus you paid $3 today for that structure, which is why you can say you paid $103 for the stock to be settled in one year.

Imagine a fundamental investor who thinks the stock will be worth $108 in a year (8% RoR instead of RFR) and is willing to pay $5 for the combo ie $105 for a 1-year future on the stock.

They would be buried by arbitrage traders who would sell the combo at $5 and buy the stock for $100 to hedge. At expiry, the arbs will either be assigned on their short call or exercise their long put, guaranteeing they sell the stock at $100. They already bought the stock today for $100 and will have to pay $3 interest to hold it for a year. So at expiry they will deliver the stock to the fundamental investor (selling the stock they bought for $100 at $100…a wash).

The arbitrageur will have paid $3 in interest…but remember they collected $5 in option premium via the combo. Net result: $2 riskless profit

The market hoovers up riskless profits so the arbs will compete to sell the combo to the fundamental investor all the way down to a price of $3 where the combo is fairly priced compared to the RFR.

It doesn’t matter what the fundamental investor or Warren Buffet thinks. If they pay more for the calls relative to the puts than the cost of carry warrants, they get arbed. This has nothing to do with stock distributions, volatility, or any theoretical nerd stuff. A 10-year-old can draw the cash flows on a “conversion” arbitrage.

A “reversal” arbitrage is the opposite…if the combo is too cheap, say $1, you can buy the synthetic future (buy call/sell put), short the stock and at expiration your short stock will be covered by the stock you buy via the future (ie exercise the long call, or get assigned on the put) and the $3 interest you earn on the short stock proceeds covers the $1 premium you paid for the combo leaving $2 of arbitrage profit.

Practically speaking, reversals and conversions, the first arbitrage trades you learn about in options, still have risk.

  • There’s pin risk if the stock expires on the strike and you have to guess if you will be assigned on an option or not.
  • Interest rates can change from your initial assumption — the overnight interest rates that you pay for long stock or collect as a short rebate change. They can also change dramatically if a stock becomes hard-to-borrow.
  • Dividends can be announced, increased, or cut. Higher divs increase put prices relative to calls so if you have a reversal position and a stock announces a dividend your long combo will drop by the dividend
  • In other words, a reversal position is long rho and a conversion is short rho (it’s rooting for either interest rates to drop, the stock to become hard-to-borrow, or the stock to pay a larger div)

Volatility Depends On The Resolution

Friends,

Today we jump into another large learning post including a chart book and commentary.

In this document, you will:

  • learn to compute realized volatility
  • appreciate the difference between the sampling window and lookback
  • learn to annualize realized volatility
  • examine market data to see how realized volatility varies with the sampling period

[bong rip]

Let’s cook…

I was able to fit the whole post except the chartbooks in the body of this email but here’s the link to the full post. It’s better formatted and colored there. Again, the chartbook is too large for substack.

🔎Volatility Depends On The Resolution

Introduction

These short posts explain the relevant computations. If you have ever computed a standard deviation, you are 99% of the way there.

Computing Realized Volatility

It’s common to compute realized volatility or the standard deviation of returns.

notion image
  • The formula commonly uses daily closing prices (ie daily returns).That’s the 1 in the formula. However, we can sample the volatility using longer windows. If you chose 5 instead of 1 you are “sampling the volatility weekly instead of daily”.
  • N represents the lookback.The larger the N the larger the sample size.
  • Since volatility is only sampled on business days:
    • a lookback that samples the vol weekly will have an N of about 52 in a year while a lookback that samples the vol daily will have 251 samples in a year
    • the longer your sampling period, the smaller the sample size for a given lookback

A word on μ in the realized volatility formula
It is not uncommon for traders to discard μ which is equivalent to setting it to zero. The easiest way to appreciate why is to imagine a stock whose logreturn is exactly 2% per day. The daily deviation from the mean logreturn of +2% would be 0, in turn, rendering the realized volatility measure zero! If a stock went up (or down) 2% per day and we concluded that volatility is zero, then it’s fair to say the measure is broken. By “de-trending” the formula by ignoring μ, you get a less biased measure. In practice, this matters less over shorter lookbacks where the “drift” is a smaller component of the volatility. If your lookback periods are long, the drift becomes significant. If the SP500 has an annual drift of +9% with a standard deviation is 16% the drift is a substantial portion of the volatility. The impact is an order of magnitude smaller for shorter lookbacks. On a daily basis, the drift is 3 bps while the volatility is 100 bps.

🗓️Annualizing Realized Volatility

To be repetitive, take note of the two time periods involved:

  1. The sampling windowThis can be daily, weekly, monthly, annual returns. It can even be a return based on tick vols (hourly, minutely…)
  1. The lookback periodThis is how far back in time we are sampling returns

For example, we can sample:

  • daily returns for the past month or year
  • hourly returns for the past day or week

The lookback determined the sample size.

The sampling window determines our annualization factor.

notion image

💡Annualization factor examples

  • daily = √251
  • weekly = √52
  • monthly = √12
  • hourly = √(251 x 6.5) = √1631.5

*You can go crazy with this if you want. There are days when the markets close early, the number of periods varies with leap years or what day of the week January 1 falls on. But maintain a sense of proportion. Any error do to these differences will be swamped by the fact that all implied vols and realized vols are imperfect measures because time itself is linear while event or voltime is not.

See ⏳Understanding Variance Time

You simply cannot exhaust how deep you can get into this. Where you draw the line depends on your strategy. 99.5% of strategies are robust to the approximations above.

Now we compute realized volatilities on actual historical prices to see what we can learn.

Data Exploration

Setup

Since we want to compare the effect of sampling period on realized volatility we will keep the lookback period constant.

As a reminder, if we computed daily volatility for the past 6 months:

  • the sampling period is daily or 1 day
  • the lookback is 6 months

We call this “6-month realized sampled daily”

Since volatility tends to “cluster” (low vol periods follow low vol periods and high vol periods tend to follow high vol periods), option markets for short or even medium terms maturities will give more weight to recent realized volatility. If you were pricing a 3-year option then you’d be more inclined to examine longer a longer lookback which smooths out the sharper peaks and valleys.

This idea is echoed in the concept of a “vol cone”

via Colin Bennett’s Volatility Trading
via Colin Bennett’s Volatility Trading
GLD Vol cone on 8/21/24 (courtesy of moontower.ai)
GLD Vol cone on 8/21/24 (courtesy of moontower.ai)

For our data exploration, we will

  1. use constant lookback of 40 business days which is close to 2 months worth of trading days. We call this 40-day vol .
  1. sample the vol using daily, 2 day, 5d , 10d, and 20d windows.
    1. This maps to 40-day vol being computed from samples of the following quantities respectively:
      • daily (n = 40)
      • 2 day (n = 20)
      • 5d (n = 8)
      • 10d (n=4)
      • 20d (n =2)
  1. compute 40-day vol for each business day from 1/2/2013 until 8/16/2024 (>11.5 years)

Example using AAPL

Let’s step through an example with AAPL.

  1. We compute the realized vol for the 40 day lookback at with carious sampling windows.In the snippet below, we also compute the ratio vols from each sampling period to the realized vol computed from daily samples
notion image
  1. Scatterplot the ratio of 40-day realized vol sampled at different frequencies vs 40-day realized vol sampled daily
    1. A point on the black dotted line means the 40-day vol sampled daily was the same as the 40-day vol at the respective frequency
    2. If a point is above the line, the vol sampled at a slower frequency is higher than the vol sampled daily (you might interpret this as a market that was trending. For example if a market went up 1% per day, then the daily vol would be about 16% but the 5d vol would be approximately 5% x √52 or 36%!
    3. The regressions show that vol sampled at slower frequencies is lower than vol sampled at a higher frequency.
      notion image
      Compute the aggregate stats for over 11.5 years
      There are 2 observations worth noting:

      The longer the sampling period, the lower the vol for the same 40-day lookback

      notion image

      The standard deviation of that ratio grows with the sampling period. If sampling periods for the same lookback differ greatly there will be more variation in the measured realized vols relative to each other!

      The variation in the ratio by sampling period is easily seen with box-and-whisker charts

      notion image

[See the main post for Chartbooks for various tickers]

Concluding thoughts

The most general results applied to every symbol:

  • However, in every case, the slower the sampling frequency (ie every 4 weeks instead of every 1 week), the more volatile the realized vol itself is compared to the daily sampled vol.

These results reinforce an intuitive idea: the longer your sampling period, the smaller the sample size for a given lookback, therefore:

The more frequently you sample vol the faster you converge on a better estimate of the volatility

If you only looked at annual returns it would take many years to get a sense of how volatile an asset or strategy is. This is also why evaluating investment managers on monthly returns is dangerous. It hides the risk.

Assorted observations:

  • Periods when less frequently sampled vol give us a higher realized vol indicate trending (long option player will have wish they hedged less frequently or on a lower delta and vice versa!)
  • Option traders think in straddles for shorter dated options but in vol for longer dated vols. Vol-thinking prompts you to ask “will this thing move X% per day” for the next year vs can this stock move 5% in a month. There’s a puzzle embedded in this revelation — the long gamma trader will conclude they should hedge daily to “capture” the higher vol, but a non-option trader may conclude that this is an argument for mean reversion on shorter time scales.
  • An interesting scenario to filter for would a situation where realized volatility sampled slowly (ie weekly) was higher than higher frequency sampled vol for the same look back.
    • Like the earlier example of a stock that goes up 1% a day (16% realized vol sampled daily) vs >30% vol sampled weekly.
    • The reasoning here is: if the vol market is more focused on higher frequency sampled vol to price options it might underprice implied volatility.
    • I used the moontower.ai backend to filter for scenarios in a few names where monthly realized vol sampled every 3 days was higher than monthly realized vol sampled daily. I called the ratio “Trend Premium” so I filtered for situations where it was > 1.
      • I then filtered again where the options were cheap — a VRP < 1 (the RV in VRP coming from daily samples, making this analysis conservative)

This was an example from QQQ over the last 2 years.

The left chart highlights VRP < 1 AND “Trend premium” > 1

notion image

The right chart shows how the lagged VRP a month later (so what is the ratio of IV today divided by the realized vol that was eventually realized)

The realized vol underperformed the IV more than it usually does. So much for that. (I actually toggled through a bunch of names in this way but just eyeballing I couldn’t see a bias one way or the other. A sample of 2 years plus using overlapping data as its rolling windows is not exactly a proper study on this idea. The overlapping windows is not an issue for the general study earlier in the post which really just tries to understand the relationship of RV sampled at different frequencies for the same lookback. Overlapping windows does shrink your sample size if you are mining for a signal as I was flailing with this “Trend Premium” filter)

  • Finally, here’s a summary table of the 40-day realized vol sampled daily for the past 11.5 years from our studies:
    notion image

GLD vol post-mortem

Last Sunday, I sent out a paywalled flash post explaining why I thought GLD November volatility looked like a sale based on Friday, 8/16 marks. The trade was still available on Monday morning.

It was a good trade.

[Unfortunately I didn’t do it myself and of course I’m cherry-picking by publishing this thread. As karmic penance, this week, I’ll write up a recent trade I did do that didn’t go so well]

Let’s see what happened.

First, I’ve now unlocked the full post so unpaid subs can also see the thought process Flash Post on GLD Vol but the tl;dr was the 90d or November expiry stood at as being expensive.

Post-mortem after 1 week

The November 232 GLD ATM call price

⇒ On Friday 8/16 (stock reference: $231.89): $9.37

⇒ On Friday 8/23 (stock reference: $232.05): $8.45

The profit is about $.92 or about 10% of the option premium. But this is a naive way to look at the p/l.

Decomposing the p/l

By selling this option you won to 2 different forces. The trade thesis was that the VRP and vol were both high so it’s not shocking to win on both but it’s never a given.

You would have collected:

1) $.58 in vega p/l due to IV falling

The IV on the 232 call fell from 17.2% to 15.9%. The option vega is $.45.

1.3 vol points x $.45 ~ $.58 cents in vega p/l

That’s an 8% change in strike vol over a week on a 90d option. I haven’t crunched the numbers, but based on writing weekly post mortems on my book for about a decade, I’d estimate that’s about a 1 standard deviation change in the IV for gold.

2) Another $.34 due to realized vol underperforming the IV

Theta won this week’s bout with gamma.

What about delta?

I am being a bit loose with the p/l decomp.

a) If you didn’t delta hedge, the stock went down and then rallied again this week. The calls finished the week down $0.92, despite the stock closing basically unchanged (up $0.16 for the week). It’s probably more accurate to say you made a bit more on the theta/gamma battle since you likely lost close to $.08 on delta p/l

b) If you did delta hedge daily, your P&L would have been +$0.84.

This output is from a daily delta hedge simulation assuming you were filled at market mid-prices. Note, it’s from the perspective of a long option holder, so the cumulative P&L is -$0.84 but I just flipped the sign since shorted the option.

moontower.ai backend

It’s pretty random that the hedged and delta-hedged results were similar. The delta-hedged version is in general the best place to locate the P&L drivers because the trade thesis was grounded in vol not direction.

[Note: Selling an ATM call delta neutral is effectively selling a straddle. To be more accurate, if you sell 100 calls and hedge on a .50 delta you must buy 5,000 shares. You can algebraically re-factor you position as “I’m short 50 calls and 50 synthetic puts” which is 50 straddles. This trade is not quite because you hedged on a model delta of .57 instead of a .50 delta but it’s similar enough that the distinction only warrants being in this bracketed text.]

A thought on exit

If you look at the moontower.ai tools that led to the flash post in the first place they haven’t changed much despite the fall in IV. The short still looks like one of the better legs out there but it did make what I’d estimate is a 1 standard dev profit over a week and it’s not quite as obvious as it was a week ago.

As a retail trader, I wouldn’t add. I’d have a bias towards maintaining the short since it’s still looks relatively high although I’d probably care to take a closer look at how much election vol is embedded. (I’m not a registered advisor so I can speak relatively freely but to be clear I’m not suggesting anything other than how I would think about this. It should be very obvious that what is suitable for me or anyone else doesn’t mean it’s suitable for you. I write a newsletter that should be construed as entertainment and that is how you should view all newsletters. That the entertainment overlaps with useful doesn’t change what it is. If I put this under the guise of advice, I’d have to change a lot of stuff but it would also, like, cost money. I personally like that we have different channels for info to exist rather than trying to stuff all expression into regulated grooves. Don’t poison the commons by being a moron.)

If I was in my fund seat, I wouldn’t add to it (this is the market maker inside me who always argues with the position trader Jekyll who lives on the other side of the corpus collosum) but I certainly wouldn’t cover. If I were short 100k vega and my bid was hit for 20k vega and be content with the “screen edge” to mid-market.

[The nature of being in a noisy, unsystematic, repeat business with brokers is messy art….although my thinking risks becoming “quaint” every year that passes en route to 1 giant supercluster replacing the entire trading world which itself will be a pastoral phase to ruminate upon while we await being refined into robot fuel.

Sorry just a joke. Well, unless I’m right. Then I want the credit inscribed on the steel-ribbed drum containing my innards.]

Commentary

If you look at the “funnel” thinking from the flash post showing how I found this expensive option, you’ll see that I thought IV and VRP tailwinds were aligned. That doesn’t happen often. The charts you find in moontower.ai make the “no easy trades principle” really visible. Volatility risk premiums (VRPs) are high when vols are low and vice versa.

Another way of understanding the principle is what I call “distributional edge vs. carry”— aka the problem with buying low and selling high. You can read more about it here: Distributional Edge vs. Carry.

Moontower.ai offers a vol trader’s perspective. If you are professional vol trader running a relatively vol-neutral book there’s always things that look cheap vs expensive. By definition if you define fair cross-sectionally, half the universe is expensive relative to the other half. If this is your mandate you are in a low-margin trading business that has very attractive scaling properties.

But you are not that.

Instead you can just look at look at the tools regularly. You’ll typically conclude: “nothing to see here”. There’s nothing wrong with folding cards especially when there’s no ante. Retail’s advantage is not needing to trade. Buffet’s fat pitch and all that.

Buffet, of course, also keeps studied so he can recognize and act quickly when the opportunity comes. I look at moontower.ai every day. Most days I shrug, meh nothingburger, get back to regularly scheduled life and work. Breaking even on the cost of a sub is making (or saving) a dime on 100 contracts in the course of a year. It’s a low bar. The real cost is in glancing at it at least once a week to develop intuition. I talk about this more in this FAQ question. If that cost is too high, there’s no shame in avoiding options altogether or ‘index and chill’. (This is what most people should do. Our tool is for the self-selected ‘compelled’).

The tools really shine when you blend their insights with your own fundamental and directional biases to fine-tune or discover bets. While it doesn’t have all the features of full-fledged option software yet, it started with “how I want to see things.” It is opinionated. Of course, we care deeply about what users want, but I can’t deny the influence of my own taste. In fact if it wasn’t for me wanting to see things my way we wouldn’t even be this far. I certainly didn’t look at the option software space and conclude “oh this looks like a great way to make money”. It starts with having a differentiated way of seeing options and operationalizing it. Making money on the software will be a byproduct of having an experienced approach and philosophy that offers something different as opposed to making shinier versions of features that can feel disjointed when they aren’t pulled together with a trader’s lens.

Wrapping up

As I mentioned earlier, this trade was cherry-picked for the post-mortem. I wouldn’t even have considered the “victory lap” if I hadn’t built the delta-hedged simulator this week. That’s where I pulled the Python screenshot.

So far the only two flash posts I’ve done are this one and the GME trade—winning two for two is statistical significance, right? Ok, ok. I’ll make an offering to the delta gods by writing up a bad trade I did in IWM later this week using a similar volatility decomposition framework.

The main thing I want you to takeaway is that options are always a vol trade (except for reverse-conversion funding stuff). Put-call parity is a very deep insight.

Your understanding of bets, even those without options, will grow significantly if you use even simple option decomposition to think about path dependence and attribution. I’ll keep hammering this point—I’m pretty sure even a middle-schooler with an attention span (and interest, of course) could learn this stuff if it’s repeated enough.

If the Moontower sphere, the writing and the software, isn’t making it easier, then I’m screwing up.

Dynamic Hedging & Option P/L Decomposition

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.


Related reading

understanding the realized vol portion of option p/l

Thursday’s paid post was cutting to the heart of vol trading — dynamic hedging to isolate vol mispricing.

There’s a part in the paid section called A word on Option P/Ls that I’ll share here:

On option P/Ls

Once we strip out an option’s delta p/l, we are left with a “volatility p/l”.

Volatility p/l has 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

notion image

Error

We have simplified “vol p/l” to be a function of realized vol (gamma) vs the cost or hurdle embedded in the implied vol (theta). We are ignoring the option price’s sensitivity to changes in interest rates (rho) or implied vol itself (vega).

But there are additional greeks such as volga and vanna that we can attribute some of the change in optin price and therefore p/l. But they are typically much smaller effects.

An easy way to see this is by comparing the hedged option p/l with what we expect from simply estimating the gamma + theta p/l.

That comparison is captured by comparing actual hedged p/l vs the predicted theoretical p/l.

Here’s a chart of the daily prediction errors for the whole year:

notion image

Even those spikes remain under 4 tenths of a cent. Overall, the prediction error each day is small percentage of the daily “volatility p/l”

💡There are higher order and “cross” greeks that will “explain” the error between this estimate of the vol p/l and what is actually experienced. But as you see, the error is small. Gamma, theta, and vega do the heavy lifting.