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. repo rate minus dividend yield) and for the discount curve.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. -
Method Summary
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 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 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 Details
-
apply
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
- Returns:
- the referenceDate: The date corresponding to t = 0 (when dealing with
FloatingpointDate
s.
-
getInitialValue
public double getInitialValue()- Returns:
- the initialValue
-
getDiscountCurveForForwardRate
- Returns:
- the discountCurveForForwardRate
-
getRiskFreeRate
public double getRiskFreeRate()- Returns:
- the riskFreeRate
-
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
-