ssvi surface
financepy.models.ssvi_surface
Classes
SSVIPowerLawPhi
SSVIPowerLawPhi(
eta,
gamma,
) -> None
Power-law SSVI phi function
phi(theta) = eta * theta^(-gamma)
Methods
value
value(
self,
theta,
)
No description available.
parameters
parameters(
self,
)
No description available.
SSVISurface
SSVISurface(
expiries = None,
atm_total_variances = None,
rho = None,
phi_function = None,
) -> None
Inherits from: ImpliedVolatilitySurface
SSVI implied-volatility surface
w(k, theta)
=
theta / 2
[
1
+ rho phi(theta) k
+ sqrt(
(phi(theta) k + rho)^2
+ 1 - rho^2
)
]
using the power-law specification
phi(theta)
=
eta theta^(-gamma).
The surface can either be constructed from known parameters
or calibrated directly to a market implied-volatility grid.
Methods
calibrate
calibrate(
self,
forwards,
strikes,
expiries,
implied_volatilities,
)
Jointly calibrate
theta(T_1), ..., theta(T_N), rho, eta, gamma
to the complete implied-volatility grid.
The theta term structure is parameterized so that
0 < theta_1 < theta_2 < ... < theta_N.
This guarantees monotonic ATM total variance.
theta
theta(
self,
t_exp,
)
Return ATM total variance theta(T).
Linear interpolation is performed in total variance.
total_variance_from_log_moneyness
total_variance_from_log_moneyness(
self,
k,
t_exp,
)
Return SSVI total implied variance.
total_variance
total_variance(
self,
forward,
strike,
t_exp,
)
No description available.
implied_volatility
implied_volatility(
self,
forward,
strike,
t_exp,
)
No description available.
implied_volatility_curve
implied_volatility_curve(
self,
forward,
strikes,
t_exp,
)
No description available.
implied_volatility_surface
implied_volatility_surface(
self,
forwards,
strikes,
expiries,
)
No description available.
parameters
parameters(
self,
)
Return global SSVI parameters
rho, eta, gamma.
atm_total_variances
atm_total_variances(
self,
)
No description available.
expiries
expiries(
self,
)
No description available.
Generated automatically from the FinancePy source code.
Do not edit this file manually.