20#include <ql/experimental/volatility/sviinterpolation.hpp>
21#include <ql/experimental/volatility/svismilesection.hpp>
33 std::vector<Real> sviParams,
40 QL_REQUIRE(
exerciseTime() > 0.0,
"svi expects a strictly positive expiry time");
42 "svi expects 5 parameters (a,b,sigma,rho,m) but ("
43 <<
params_.size() <<
") given");
53 return std::sqrt(std::max(0.0, totalVariance /
exerciseTime()));
interest rate volatility smile section
virtual Time exerciseTime() const
SviSmileSection(Time timeToExpiry, Rate forward, std::vector< Real > sviParameters)
std::vector< Real > params_
Volatility volatilityImpl(Rate strike) const override
Real Time
continuous quantity with 1-year units
Real Volatility
volatility
void checkSviParameters(const Real a, const Real b, const Real sigma, const Real rho, const Real m, const Time tte)
Real sviTotalVariance(const Real a, const Real b, const Real sigma, const Real rho, const Real m, const Real k)