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 Type
    Method
    Description
    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 of times (ascending) at fixed log-moneyness, over nk points of [kMin, kMax].
    double
    Continuous carry yield (dividend yield, or foreign rate for FX).
    default double
    forward(double t)
    Forward F(t) = S·e^{(r−q)t}.
    default double
    impliedVol(double t, double strike)
    Black-Scholes implied volatility at expiry t and strike strike.
    default double
    minDensityFactor(double t, double kMin, double kMax, int nk)
    Minimum Gatheral-Jacquier density factor g(k) at expiry t over nk points of [kMin, kMax], with w', w'' by central differences.
    default double
    price(BlackScholes.OptionType type, double strike, double t)
    Black-Scholes price of a European option off the surface.
    double
    Continuously compounded risk-free rate.
    double
    Spot price.
    double
    totalVariance(double t, double k)
    Total implied variance at expiry t (years, > 0) and log-moneyness k.
  • Method Details

    • totalVariance

      double totalVariance(double t, double k)
      Total implied variance at expiry t (years, > 0) and log-moneyness k.
    • 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 expiry t and strike strike.
    • price

      default double price(BlackScholes.OptionType type, double strike, double t)
      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 of times (ascending) at fixed log-moneyness, over nk points of [kMin, kMax].
    • minDensityFactor

      default double minDensityFactor(double t, double kMin, double kMax, int nk)
      Minimum Gatheral-Jacquier density factor g(k) at expiry t over nk points of [kMin, kMax], with w', w'' by central differences. Negative means butterfly arbitrage.