SABR Model with Integration

class SabrUncorrChoiWu2021(sigma, vov=0.0, rho=0.0, beta=1.0, intr=0.0, divr=0.0, is_fwd=False)[source]

The uncorrelated SABR (rho=0) model pricing by approximating the integrated variance with a log-normal distribution.

Examples

>>> import numpy as np
>>> import pyfeng as pf
>>> param = {"sigma": 0.4, "vov": 0.6, "rho": 0, "beta": 0.3, 'n_quad': 9}
>>> fwd, texp = 0.05, 1
>>> strike = np.array([0.4, 0.8, 1, 1.2, 1.6, 2.0]) * fwd
>>> m = pf.SabrUncorrChoiWu2021(**param)
>>> m.mass_zero(fwd, texp)
0.7623543217183134
>>> m.price(strike, fwd, texp)
array([0.04533777, 0.04095806, 0.03889591, 0.03692339, 0.03324944,
       0.02992918])

References

static avgvar_lndist(vovn)[source]

Lognormal distribution parameters of the normalized average variance: sigma^2 * texp * m1 * exp(sig*Z - 0.5*sig^2)

Parameters

vovn – vov * sqrt(texp)

Returns

(m1, sig) True distribution should be multiplied by sigma^2*t