Skip to main content

The job

Catch the trap of treating vendor HV as realized vol before you compare IV to “realized.”

What this recipe computes

  • Vendor HV from SymbolMetaData.historical_volatility (window unspecified).
  • RV20 = sample standard deviation of the last 20 valid ln(close/prior close) returns, annualized √252.
  • Signed HV − RV20 in volatility points, ranked by absolute gap. IV30 is context only.

What it does not claim

  • Vendor HV is not RV20. This recipe exists so those labels stay apart.
  • It is not the Rank Symbols IV30 − RV20 comparison (forward IV vs trailing RV).
  • A large gap is not a mispricing, VRP edge, or trade signal.

How to read it

  1. Step 1

    Run the divergence watch

    Open HV vs. RV Divergence Watch in Cookbooks.

  2. Step 2

    Read the HV column as vendor, the RV20 column as governed

    If a name is missing, it lacked 20 valid close/pre-close pairs. That is unavailable, not a zero realized vol.

  3. Step 3

    Use Rank for IV30 − RV20

    Selling premium because “IV is rich to HV” is a different job. Rank Symbols holds the governed IV30 versus RV20 spread.

Frequently asked questions

Is the HV column RV20?
No. HV is the vendor historical_volatility field. RV20 is computed here from 20 complete session log-returns × √252. The two must not be substituted.
Should I sell premium when HV is above RV20?
This recipe does not say so. IV30 − RV20 on Rank is the implied-versus-realized comparison; even that is descriptive, not a published edge.

Open HV vs. RV Divergence Watch in TradingFlow

This public page describes the job. The recipe runs in the app and requires a subscription. It is not a free live report.