Class VarianceGammaModel

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

public class VarianceGammaModel extends Object implements CharacteristicFunctionModel
Implements the characteristic function of a Variance Gamma model. The Variange Gamma model is constructed from a subordinated Brownian motion, where the subordinator is given by a Gamma process.
Version:
1.0
Author:
Alessandro Gnoatto
  • Constructor Details

    • VarianceGammaModel

      public VarianceGammaModel(LocalDate referenceDate, double initialValue, DiscountCurve discountCurveForForwardRate, DiscountCurve discountCurveForDiscountRate, double sigma, double theta, double nu)
      Construct a Variance Gamma model with discount curves for the forward price (i.e. repo rate minus dividend yield) and for discounting.
      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
      sigma - The parameter \( \sigma \)
      theta - The parameter \( \theta \)
      nu - The parameter \( \nu \)
    • VarianceGammaModel

      public VarianceGammaModel(double initialValue, double riskFreeRate, double discountRate, double sigma, double theta, double nu)
      Construct a Variance Gamma model with constant rates for the forward price (i.e. repo rate minus dividend yield) and for the discount curve.
      Parameters:
      initialValue - \( S_{0} \) - spot - initial value of S
      riskFreeRate - The constant risk free rate for the drift (repo rate of the underlying).
      discountRate - The constant rate used for discounting.
      sigma - The parameter \( \sigma \)
      theta - The parameter \( \theta \)
      nu - The parameter \( \nu \)
  • Method Details

    • apply

      public CharacteristicFunction apply(double time)
      Description copied from interface: CharacteristicFunctionModel
      Returns the characteristic function of X(t), where X is this stochastic process.
      Specified by:
      apply in interface CharacteristicFunctionModel
      Parameters:
      time - The time at which the stochastic process is observed.
      Returns:
      The characteristic function of X(t).
    • getReferenceDate

      public LocalDate getReferenceDate()
      Returns:
      the referenceDate: The date corresponding to t = 0 (when dealing with FloatingpointDates.
    • getInitialValue

      public double getInitialValue()
      Returns:
      the initialValue
    • getDiscountCurveForForwardRate

      public DiscountCurve getDiscountCurveForForwardRate()
      Returns:
      the discountCurveForForwardRate
    • getRiskFreeRate

      public double getRiskFreeRate()
      Returns:
      the riskFreeRate
    • getDiscountCurveForDiscountRate

      public DiscountCurve getDiscountCurveForDiscountRate()
      Returns:
      the discountCurveForDiscountRate
    • getDiscountRate

      public double getDiscountRate()
      Returns:
      the discountRate
    • getSigma

      public double getSigma()
      Returns:
      the sigma
    • getTheta

      public double getTheta()
      Returns:
      the theta
    • getNu

      public double getNu()
      Returns:
      the nu
    • toString

      public String toString()
      Overrides:
      toString in class Object