Skip to main content

Module inflation_vol

Module inflation_vol 

Expand description

Year-on-year inflation optionlet volatility: the vol a YoY caplet, floorlet or a collared YoY coupon reads.

One surface per price index, over expiry × strike: the expiry is the optionlet’s time in years, the strike an absolute year-on-year rate. The grid is the rate-vol grid with its tenor axis collapsed to one column, so a YoY surface reads, lifts and shocks exactly as a cap surface does — linear in vol across strikes, linear in total variance across expiries, flat beyond every edge.

The optionlet time starts at the vol’s base date. A YoY optionlet’s variance accrues from the vol’s base date — the first of the month of as_of − lag — to the coupon’s fixing date end − lag, on ACT/365F, the coupon’s own lag standing for the vol’s observation lag (for a non-interpolated vol, and a coupon with no fixing days). The time is computed by the coupon.

A lognormal surface may be displaced: Black on F + d and K + d. A displacement of one is the unit-displaced Black, the natural model for a rate that is itself a ratio less one.

A zero-coupon CPI option vol (CpiVolSurface) is the same grid over expiry × the annualised zero-coupon strike k — the axis brokers quote zero-coupon caps and floors on — with no displacement: its underlying is the index ratio I(T)/I(T0), always positive. Black-76 on that ratio at strike (1+k)^τ for a lognormal surface, Bachelier on it for a normal one, the normal vol in ratio units. Both surfaces lift into one InflationVolView.

Structs§

CpiVolSurface
A zero-coupon CPI option vol surface over expiry × annualised strike.
InflationVolView
An inflation vol surface — year-on-year or zero-coupon CPI — lifted into mode R.
YoyVolSurface
A year-on-year inflation optionlet vol surface over expiry × strike.

Constants§

YOY_TENOR 🔒
The one tenor column the underlying grid carries: a year, the period a year-on-year rate is measured over. It is never read as a coordinate.

Functions§

optionlet_time 🔒
The time a YoY optionlet’s variance accrues over, in years: ACT/365F(first of the month of (as_of − lag), end − lag) — from the vol’s base date to the coupon’s fixing date, for a non-interpolated YoY optionlet vol whose observation lag is the coupon’s.
zero_coupon_optionlet 🔒
The undiscounted zero-coupon inflation option on the index ratio: ω a call or put on forward = I(T)/I(T0) at the ratio strike ratio_strike = (1+k)^τ, the vol read at time and the annualised strike rate_strike = k — Black-76 on the ratio on a lognormal surface, Bachelier on it on a normal one — or the intrinsic value when time is not positive.