umontreal.iro.lecuyer.stochprocess
Class VarianceGammaProcessDiffPCA
- java.lang.Object
-
- umontreal.iro.lecuyer.stochprocess.StochasticProcess
-
- umontreal.iro.lecuyer.stochprocess.VarianceGammaProcess
-
- umontreal.iro.lecuyer.stochprocess.VarianceGammaProcessDiff
-
- umontreal.iro.lecuyer.stochprocess.VarianceGammaProcessDiffPCA
-
- Direct Known Subclasses:
- VarianceGammaProcessDiffPCABridge, VarianceGammaProcessDiffPCASymmetricalBridge
public class VarianceGammaProcessDiffPCA extends VarianceGammaProcessDiff
Same asVarianceGammaProcessDiff, but the two innerGammaProcess'es are of PCA type. Also, generatePath(double[] uniforms01) distributes the uniform random variates to theGammaProcessPCA's according to their eigenvalues, i.e. theGammaProcessPCAwith the higher eigenvalue gets the next uniform random number. If one should decide to create aVarianceGammaProcessDiffPCAby giving twoGammaProcessPCA's to an objet of the classVarianceGammaProcessDiff, the uniform random numbers would not be given this way to theGammaProcessPCA's; this might give less variance reduction when used with QMC.
-
-
Constructor Summary
Constructors Constructor and Description VarianceGammaProcessDiffPCA(double s0, double theta, double sigma, double nu, GammaProcessPCA gpos, GammaProcessPCA gneg)Constructs a newVarianceGammaProcessDiffPCAwith parameters θ =theta , σ =sigma , ν =nu and initial value S(t0) =s0 .VarianceGammaProcessDiffPCA(double s0, double theta, double sigma, double nu, RandomStream stream)Constructs a newVarianceGammaProcessDiffPCAwith parameters θ =theta , σ =sigma , ν =nu and initial value S(t0) =s0 .
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description double[]generatePath()Generates, returns and saves the path.double[]generatePath(double[] uniform01)Similar to the usual generatePath(), but here the uniform random numbers used for the simulation must be provided to the method.doublenextObservation()This method is not implemented is this class since the path cannot be generated sequentially.-
Methods inherited from class umontreal.iro.lecuyer.stochprocess.VarianceGammaProcessDiff
getGneg, getGpos, getStream, resetStartProcess, setObservationTimes, setStream
-
Methods inherited from class umontreal.iro.lecuyer.stochprocess.VarianceGammaProcess
getBrownianMotion, getGammaProcess, getNu, getSigma, getTheta, setParams
-
Methods inherited from class umontreal.iro.lecuyer.stochprocess.StochasticProcess
generatePath, getArrayMappingCounterToIndex, getCurrentObservation, getCurrentObservationIndex, getNbObservationTimes, getObservation, getObservationTimes, getPath, getSubpath, getX0, hasNextObservation, setObservationTimes, setX0
-
-
-
-
Constructor Detail
-
VarianceGammaProcessDiffPCA
public VarianceGammaProcessDiffPCA(double s0, double theta, double sigma, double nu, RandomStream stream)Constructs a newVarianceGammaProcessDiffPCAwith parameters θ =theta , σ =sigma , ν =nu and initial value S(t0) =s0 . There is only oneRandomStreamhere which is used for the two innerGammaProcessPCA's. The other parameters are set as inVarianceGammaProcessDiff.
-
VarianceGammaProcessDiffPCA
public VarianceGammaProcessDiffPCA(double s0, double theta, double sigma, double nu, GammaProcessPCA gpos, GammaProcessPCA gneg)Constructs a newVarianceGammaProcessDiffPCAwith parameters θ =theta , σ =sigma , ν =nu and initial value S(t0) =s0 . As inVarianceGammaProcessDiff, theRandomStreamof gneg is replaced by the one of gpos to avoid any confusion.
-
-
Method Detail
-
nextObservation
public double nextObservation()
This method is not implemented is this class since the path cannot be generated sequentially.- Overrides:
nextObservationin classVarianceGammaProcessDiff
-
generatePath
public double[] generatePath()
Description copied from class:VarianceGammaProcessDiffGenerates, returns and saves the path. To do so, the path of Γ+ is first generated and then the path of Γ-. This is not the optimal way of proceeding in order to reduce the variance in QMC simulations; for that, use generatePath(double[] uniform01) instead.- Overrides:
generatePathin classVarianceGammaProcessDiff
-
generatePath
public double[] generatePath(double[] uniform01)
Description copied from class:VarianceGammaProcessDiffSimilar to the usual generatePath(), but here the uniform random numbers used for the simulation must be provided to the method. This allows to properly use the uniform random variates in QMC simulations. This method divides the table of uniform random numbers uniform01 in two smaller tables, the first one containing the odd indices of uniform01 are used to generate the path of Γ+ and the even indices are used to generate the path of Γ-. This way of proceeding further reduces the variance for QMC simulations.- Overrides:
generatePathin classVarianceGammaProcessDiff
-
-
DMelt 3.0 © DataMelt by jWork.ORG