Class HestonModel

java.lang.Object
net.finmath.fouriermethod.models.HestonModel
All Implemented Interfaces:
CharacteristicFunctionModel, Model

public class HestonModel
extends Object
implements CharacteristicFunctionModel
Implements the characteristic function of a Heston model. The model is \[ dS(t) = r^{\text{c}}(t) S(t) dt + \sqrt{V(t)} S(t) dW_{1}(t), \quad S(0) = S_{0}, \] \[ dV(t) = \kappa ( \theta - V(t) ) dt + \xi \sqrt{V(t)} dW_{2}(t), \quad V(0) = \sigma^2, \] \[ dW_{1} dW_{2} = \rho dt \] \[ dN(t) = r^{\text{d}}(t) N(t) dt, \quad N(0) = N_{0}, \] where \( W \) is a Brownian motion. The model allows to specify two independent rate for forwarding (\( r^{\text{c}} \)) and discounting (\( r^{\text{d}} \)). It thus allow for a simple modelling of a funding / collateral curve (via (\( r^{\text{d}} \)) and/or the specification of a dividend yield. The free parameters of this model are:
\( S_{0} \)
spot - initial value of S
\( r^{\text{c}} \)
the risk free rate (may be provided as a curve or a constant)
\( \sigma \)
the initial volatility level
\( r^{\text{d}} \)
the discount rate (may be provided as a curve or a constant)
\( \xi \)
the volatility of volatility
\( \theta \)
the mean reversion level of the stochastic volatility
\( \kappa \)
the mean reversion speed of the stochastic volatility
\( \rho \)
the correlation of the Brownian drivers
Version:
1.0
Author:
Christian Fries, Andy Graf, Lorenzo Toricelli
  • Constructor Details

    • HestonModel

      public HestonModel​(LocalDate referenceDate, double initialValue, DiscountCurve discountCurveForForwardRate, DiscountCurve discountCurveForDiscountRate, double volatility, double theta, double kappa, double xi, double rho)
      Create a Heston model (characteristic function)
      Parameters:
      referenceDate - The date representing the time t = 0. All other double times are following FloatingpointDate.
      initialValue - \( S_{0} \) - spot - initial value of S
      discountCurveForForwardRate - The curve specifying \( t \mapsto exp(- r^{\text{c}}(t) \cdot t) \) - with \( r^{\text{c}}(t) \) the risk free rate
      discountCurveForDiscountRate - The curve specifying \( t \mapsto exp(- r^{\text{d}}(t) \cdot t) \) - with \( r^{\text{d}}(t) \) the discount rate
      volatility - \( \sigma \) the initial volatility level
      theta - \( \theta \) - the mean reversion level of the stochastic volatility
      kappa - \( \kappa \) - the mean reversion speed of the stochastic volatility
      xi - \( \xi \) - the volatility of volatility
      rho - \( \rho \) - the correlation of the Brownian drivers
    • HestonModel

      public HestonModel​(double initialValue, DiscountCurve discountCurveForForwardRate, DiscountCurve discountCurveForDiscountRate, double volatility, double theta, double kappa, double xi, double rho)
      Create a Heston model (characteristic function)
      Parameters:
      initialValue - \( S_{0} \) - spot - initial value of S
      discountCurveForForwardRate - The curve specifying \( t \mapsto exp(- r^{\text{c}}(t) \cdot t) \) - with \( r^{\text{c}}(t) \) the risk free rate
      discountCurveForDiscountRate - The curve specifying \( t \mapsto exp(- r^{\text{d}}(t) \cdot t) \) - with \( r^{\text{d}}(t) \) the discount rate
      volatility - \( \sigma \) the initial volatility level
      theta - \( \theta \) - the mean reversion level of the stochastic volatility
      kappa - \( \kappa \) - the mean reversion speed of the stochastic volatility
      xi - \( \xi \) - the volatility of volatility
      rho - \( \rho \) - the correlation of the Brownian drivers
    • HestonModel

      public HestonModel​(double initialValue, double riskFreeRate, double volatility, double discountRate, double theta, double kappa, double xi, double rho)
      Create a Heston model (characteristic function)
      Parameters:
      initialValue - \( S_{0} \) - spot - initial value of S
      riskFreeRate - \( r^{\text{c}} \) - the risk free rate
      volatility - \( \sigma \) the initial volatility level
      discountRate - \( r^{\text{d}} \) - the discount rate
      theta - \( \theta \) - the mean reversion level of the stochastic volatility
      kappa - \( \kappa \) - the mean reversion speed of the stochastic volatility
      xi - \( \xi \) - the volatility of volatility
      rho - \( \rho \) - the correlation of the Brownian drivers
    • HestonModel

      public HestonModel​(double initialValue, double riskFreeRate, double volatility, double theta, double kappa, double xi, double rho)
  • Method Details