Skip to main content

Module future_option_vol

Module future_option_vol 

Expand description

A listed future’s option vol surface: listed expiry dates × absolute strikes, the market input an option on a bond future reads its vol from.

Listed options expire on dates, not tenors, and are marked per strike, so the axes are exactly those: the expiries the exchange lists, and strikes in price per 100 face. A read is sticky-strike — the vol at a strike does not move when the quoted futures price does — which is how listed options are marked and what makes an option’s delta the plain Black delta an exchange and a vendor report.

Within an expiry the vol is linear in strike; across expiries the total variance σ²τ is linear in τ; beyond the first and last strike and expiry the surface holds flat. τ is ACT/365F (or the surface’s stated day count) from the surface’s reference date, and a pricer reads its option’s life through FutureOptionVolView::year_fraction so the vol and the time it is quoted per are measured alike.

Every node vol is one lifted parameter, row-major by expiry.

Structs§

FutureOptionVolSurface
A listed future’s option vol surface.
FutureOptionVolView
A futures option vol surface lifted into mode R.

Constants§

TIME_MEASURE 🔒
The measure a listed option vol is quoted per unit of, unless the surface states another.

Functions§

check_vols 🔒
price_ten_thousandths 🔒
A strike in ten-thousandths of a price point — the exactly comparable form a risk key carries. Strikes are positive prices near par (a normal surface may hold zero), so the product is a modest non-negative integer and the cast can neither truncate nor lose a sign.