Interface TotalVarianceSurface
- All Known Implementing Classes:
SsviSurface, SviSurface
public interface TotalVarianceSurface
An implied volatility surface expressed as total implied variance
w(T, k) = σ_BS(T, K)²·T against log-moneyness k = ln(K/F(T)), on a market
with flat continuously compounded rate
r and carry (dividend or
foreign) yield q, so F(T) = S·e^{(r−q)T}.
Implemented by SsviSurface and SviSurface; consumed by
DupireLocalVol.
-
Method Summary
Modifier and TypeMethodDescriptiondefault intcalendarViolations(double[] times, double kMin, double kMax, int nk) Calendar-arbitrage scan: number of (t, k) grid points where total variance falls between consecutive times oftimes(ascending) at fixed log-moneyness, overnkpoints of [kMin, kMax].doublecarry()Continuous carry yield (dividend yield, or foreign rate for FX).default doubleforward(double t) Forward F(t) = S·e^{(r−q)t}.default doubleimpliedVol(double t, double strike) Black-Scholes implied volatility at expirytand strikestrike.default doubleminDensityFactor(double t, double kMin, double kMax, int nk) Minimum Gatheral-Jacquier density factor g(k) at expirytovernkpoints of [kMin, kMax], with w', w'' by central differences.default doubleprice(BlackScholes.OptionType type, double strike, double t) Black-Scholes price of a European option off the surface.doublerate()Continuously compounded risk-free rate.doublespot()Spot price.doubletotalVariance(double t, double k) Total implied variance at expiryt(years, > 0) and log-moneynessk.
-
Method Details
-
totalVariance
double totalVariance(double t, double k) Total implied variance at expiryt(years, > 0) and log-moneynessk. -
spot
double spot()Spot price. -
rate
double rate()Continuously compounded risk-free rate. -
carry
double carry()Continuous carry yield (dividend yield, or foreign rate for FX). -
forward
default double forward(double t) Forward F(t) = S·e^{(r−q)t}. -
impliedVol
default double impliedVol(double t, double strike) Black-Scholes implied volatility at expirytand strikestrike. -
price
Black-Scholes price of a European option off the surface. -
calendarViolations
default int calendarViolations(double[] times, double kMin, double kMax, int nk) Calendar-arbitrage scan: number of (t, k) grid points where total variance falls between consecutive times oftimes(ascending) at fixed log-moneyness, overnkpoints of [kMin, kMax]. -
minDensityFactor
default double minDensityFactor(double t, double kMin, double kMax, int nk) Minimum Gatheral-Jacquier density factor g(k) at expirytovernkpoints of [kMin, kMax], with w', w'' by central differences. Negative means butterfly arbitrage.
-