Class 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 Detail

      • 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).
        sigma - The parameter \( \sigma \)
        theta - The parameter \( \theta \)
        nu - The parameter \( \nu \)
        discountRate - The constant rate used for discounting.
    • Method Detail

      • 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