SSJ
V. 2.6.

umontreal.iro.lecuyer.stochprocess
Class GeometricNormalInverseGaussianProcess

java.lang.Object
  extended by umontreal.iro.lecuyer.stochprocess.StochasticProcess
      extended by umontreal.iro.lecuyer.stochprocess.GeometricLevyProcess
          extended by umontreal.iro.lecuyer.stochprocess.GeometricNormalInverseGaussianProcess

public class GeometricNormalInverseGaussianProcess
extends GeometricLevyProcess

. The geometric normal inverse gaussian (GNIG) process is the exponentiation of a NormalInverseGaussianProcess:

S(t) = S0exp[(r - ωRN)t + NIG(t;α, β, μ, δ)],

where r is the interest rate. It is a strictly positive process, which is useful in finance. There is also a neutral correction in the exponential, ωRN = μ + δγ - δ(α^2-(1+β)^2)1/2, which takes into account the market price of risk. The underlying NIG process must start at zero, NIG(t0) = 0 and the initial time should also be set to zero, t0 = 0, both for the NIG and GNIG.


Constructor Summary
GeometricNormalInverseGaussianProcess(double s0, double muGeom, double alpha, double beta, double mu, double delta, RandomStream streamBrownian, InverseGaussianProcess igP)
          Constructs a new GeometricNormalInverseGaussianProcess.
GeometricNormalInverseGaussianProcess(double s0, double muGeom, double alpha, double beta, double mu, double delta, RandomStream streamBrownian, NormalInverseGaussianProcess nigP)
          Constructs a new GeometricNormalInverseGaussianProcess.
GeometricNormalInverseGaussianProcess(double s0, double muGeom, double alpha, double beta, double mu, double delta, RandomStream streamBrownian, RandomStream streamNIG1, RandomStream streamNIG2, String igType)
          Constructs a new GeometricNormalInverseGaussianProcess.
GeometricNormalInverseGaussianProcess(double s0, double muGeom, double alpha, double beta, double mu, double delta, RandomStream streamAll, String igType)
          Constructs a new GeometricNormalInverseGaussianProcess.
 
Method Summary
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.GeometricLevyProcess
generatePath, getLevyProcess, getMuGeom, getOmega, getStream, nextObservation, resetRiskNeutralCorrection, resetStartProcess, setMuGeom, setObservationTimes, setStream
 
Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, setObservationTimes, setX0
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GeometricNormalInverseGaussianProcess

public GeometricNormalInverseGaussianProcess(double s0,
                                             double muGeom,
                                             double alpha,
                                             double beta,
                                             double mu,
                                             double delta,
                                             RandomStream streamBrownian,
                                             NormalInverseGaussianProcess nigP)
Constructs a new GeometricNormalInverseGaussianProcess. The parameters of the NIG process will be overwritten by the parameters given to the GNIG, with the initial value of the NIG set to 0. The observation times of the NIG will also be changed to those of the GNIG.


GeometricNormalInverseGaussianProcess

public GeometricNormalInverseGaussianProcess(double s0,
                                             double muGeom,
                                             double alpha,
                                             double beta,
                                             double mu,
                                             double delta,
                                             RandomStream streamBrownian,
                                             InverseGaussianProcess igP)
Constructs a new GeometricNormalInverseGaussianProcess. The process igP will be used internally by the underlying NormalInverseGaussianProcess.


GeometricNormalInverseGaussianProcess

public GeometricNormalInverseGaussianProcess(double s0,
                                             double muGeom,
                                             double alpha,
                                             double beta,
                                             double mu,
                                             double delta,
                                             RandomStream streamBrownian,
                                             RandomStream streamNIG1,
                                             RandomStream streamNIG2,
                                             String igType)
Constructs a new GeometricNormalInverseGaussianProcess. The drift of the geometric term, muGeom, is usually the interest rate r. s0 is the initial value of the process and the other four parameters are the parameters of the underlying NormalInverseGaussianProcess process.


GeometricNormalInverseGaussianProcess

public GeometricNormalInverseGaussianProcess(double s0,
                                             double muGeom,
                                             double alpha,
                                             double beta,
                                             double mu,
                                             double delta,
                                             RandomStream streamAll,
                                             String igType)
Constructs a new GeometricNormalInverseGaussianProcess. The String igType corresponds to the type of InverseGaussianProcess that will be used by the underlying NormalInverseGaussianProcess. All RandomStream's used to generate the underlying NormalInverseGaussianProcess and its underlying InverseGaussianProcess are set to the same given streamAll.


SSJ
V. 2.6.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.