- 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 Summary
Constructors Constructor Description 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.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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CharacteristicFunction
apply(double time)
Returns the characteristic function of X(t), where X isthis
stochastic process.DiscountCurve
getDiscountCurveForDiscountRate()
DiscountCurve
getDiscountCurveForForwardRate()
double
getDiscountRate()
double
getInitialValue()
double
getNu()
LocalDate
getReferenceDate()
double
getRiskFreeRate()
double
getSigma()
double
getTheta()
String
toString()
-
-
-
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 followingFloatingpointDate
.initialValue
- \( S_{0} \) - spot - initial value of SdiscountCurveForForwardRate
- The curve specifying \( t \mapsto exp(- r^{\text{c}}(t) \cdot t) \) - with \( r^{\text{c}}(t) \) the risk free ratediscountCurveForDiscountRate
- The curve specifying \( t \mapsto exp(- r^{\text{d}}(t) \cdot t) \) - with \( r^{\text{d}}(t) \) the discount ratesigma
- 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 SriskFreeRate
- 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
-
apply
public CharacteristicFunction apply(double time)
Description copied from interface:CharacteristicFunctionModel
Returns the characteristic function of X(t), where X isthis
stochastic process.- Specified by:
apply
in interfaceCharacteristicFunctionModel
- 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
FloatingpointDate
s.
-
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
-
-