shorter VRP lookbacks

VRP failure mode: a stale denominator

Good time to re-surface Harel’s gem:

The Realized Volatility Puzzle (9 min read)
Harel Jacobson

This one is a bookmarkable dictionary of various realized volatility measures.

Realized vol computations are on my mind because as we’ve been upgrading our data pipelines in the moontower app we are discussing enhancements to our realized vol infra to leverage the upgrades.

I won’t go into our details here but the recent rally holds a clue as to why many classic measures of realized vol struggle — they are too slow to reflect the present.

This is my custom list in the app as of Friday’s close. I point you to the 30d VRP (“volatility risk premium”) column…all those negative numbers mean the 1-month implied vols are trading at a large discount to the 1-month realized vol. In other words, the options market expects the next month to be much calmer than the Vitamix-on-max-speed market Liberation market of April 2025.

moontower.ai

It’s a bit like looking at VRP after earnings — it’s “low” because they divide a large price move into a volatility that anticipates a more normal environment.

A manual adjustment to our VRP calcs in the app is to look at our vol cone chart. This is TSLA. You can see that the current 30d realized vol (green line is current daily RV readings of various lookback) is way above the 30d IV…but the 1 week IV has vol premium to the 1-week realized vol…in other words, realized vol has crashed (also obvious from the green line):

moontower.ai

Traditional VRP measures struggle both ahead of known events (that’s why pro’s “extract”) and after a period of insanity that the market feels is at least partially resolved. We are working on enhancements to automate the adjustments you should make coming out of high vol periods.

SD from 200d MA column

In the screenshot above I drew a box around the SD from 200d MA column. We added it recently to the Cockpit view.

The definition:

ln(price/200d MA) divided by 6m IV to normalize

It’s not a signal just a useful way to get your bearings after a lot of movement with a meaningful comparison. The ln() is basically the same as “the % difference from the current price to the 200d MA”

We divide by 6m IV which is a stable enough ruler to compare across names. If TSLA and SPY are both 5% lower than their 200d MA, TSLA is much “closer” once you adjust for its volatility.