Skip to content

KB/archetype

A6 Β· Vol Mispricing

Last verified

A6 Β· Vol Mispricing

A volatility-edge setup: a name whose options price a smaller earnings move than its own history has repeatedly delivered.

The short code A6 is display metadata only. The canonical identifier this archetype is keyed by everywhere β€” config, the screener_candidates.archetype column, the scorer emit β€” is the descriptive string vol_mispricing.

Live at partial (2026-09). A6 now emits candidates on the universe sweep: its historical-move and forward-catalyst inputs are wired in from the earnings substrate. It fires only when the confirmed next earnings print is within the catalyst-proximity window (catalyst_proximity_days=30 calendar days by default β€” the same pre-catalyst discipline as A4; a print beyond the window abstains) β€” A6 is a compression-into-a-known-catalyst setup, not a months-out screen. The directional primed read still depends on options implied-move data that is sparse across the universe, so the maximum state for most names stays partial.

Thesis

The market is not always right about how much a stock will move on its next earnings print. Each name has an empirical earnings-move signature β€” a distribution of historical gaps that tends to be sticky. When the options market prices an implied move below what that history repeatedly delivers, straddle-style long-volatility exposure is cheap relative to the realized base rate. The edge is the ratio of historical move to implied move: when history says the stock jumps Β±6% on earnings and the straddle prices Β±4%, volatility is on sale ahead of a known catalyst.

Direction

LONG. Long volatility / long the move β€” non-directional on price, long-bias on the realized-vs-implied vol spread.

What it looks for

The evaluator (evaluate_vol_mispricing); thresholds from screener_config.json Β§ archetypes.a6:

How it scores

The historical half β€” hist_earnings_move β€” is the persisted score (a score > 0 just means the historical move was computable). The full vol_edge = hist_earnings_move / implied_move is what separates partial from primed. The state machine:

Pitfalls / when it fails