Adds a compact card in the page header that shows ATM IV alongside
realized vol over 20/30/60-day windows, the IV-minus-HV spread in
vol points, and a RICH/FAIR/CHEAP verdict (driven by IV/HV30 ratio:
>=1.20x = RICH, <=0.80x = CHEAP, otherwise FAIR). Lets you eyeball
whether options are priced rich relative to recent realized vol the
moment the surface loads.
- datafetch.ts: extract annualizedVolWindow helper; new
fetchHistoricalVolWindows() returns hv20/hv30/hv60 from one
~90-day Yahoo historical pull
- options.ts: /api/analytics includes hvWindows in response
- surface.html: top-right hviv-card with per-window rows + footer
showing IV/HV ratio and sample size
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>