svi surface
financepy.models.svi_surface
Class
SVISurface
SVISurface(
expiries = None,
svi_parameters = None,
) -> None
Inherits from: ImpliedVolatilitySurface
SVI implied-volatility surface.
The surface consists of one raw-SVI smile for each market expiry.
Each smile is parameterized in forward log-moneyness
k = log(K / F_T)
using total implied variance
w(k,T) = sigma_imp(k,T)^2 T.
Between calibrated expiries, total variance is interpolated linearly
in time.
Methods
calibrate
calibrate(
self,
forwards,
strikes,
expiries,
implied_volatilities,
)
Calibrate one raw-SVI smile to each expiry.
Parameters
----------
forwards : array_like
Forward price for each expiry.
strikes : array_like
Strike grid.
expiries : array_like
Expiry times.
implied_volatilities : array_like
Market implied-volatility surface with shape
(num_expiries, num_strikes).
Returns
-------
calibration_errors : ndarray
Calibration cost for each maturity slice.
total_variance
total_variance(
self,
forward,
strike,
t_exp,
)
Return total implied variance
w(K,T) = sigma_imp(K,T)^2 T.
At calibrated expiries the corresponding SVI smile is evaluated
directly. Between expiries, total variance at fixed forward
log-moneyness is interpolated linearly in time.
implied_volatility
implied_volatility(
self,
forward,
strike,
t_exp,
)
Return Black implied volatility.
implied_volatility_curve
implied_volatility_curve(
self,
forward,
strikes,
t_exp,
)
Return an implied-volatility smile for a fixed expiry.
implied_volatility_surface
implied_volatility_surface(
self,
forwards,
strikes,
expiries,
)
Return an implied-volatility surface.
The returned array has shape
(num_expiries, num_strikes).
parameters
parameters(
self,
)
Return calibrated raw-SVI parameters.
Each row contains
(a, b, rho, m, sigma).
Generated automatically from the FinancePy source code.
Do not edit this file manually.