Abstract class used as a parent class for the exponentiation of a Lévy process \(X(t)\): More...
Public Member Functions | |
| double[] | generatePath () |
| Generates a path. | |
| double | nextObservation () |
| Returns the next observation. | |
| void | resetStartProcess () |
| Resets the step counter of the geometric process and the underlying Lévy process to the start value. | |
| void | setObservationTimes (double[] time, int d) |
| Sets the observation times on the geometric process and the underlying Lévy process. | |
| double | getOmega () |
| Returns the risk neutral correction. | |
| double | getMuGeom () |
| Returns the geometric drift parameter, which is usually the interest rate, \(r\). | |
| void | setMuGeom (double muGeom) |
| Sets the drift parameter (interest rate) of the geometric term. | |
| StochasticProcess | getLevyProcess () |
| Returns the Lévy process. | |
| void | resetRiskNeutralCorrection (double omegaRN) |
| Changes the value of \(\omega_{RN}\). | |
| RandomStream | getStream () |
| Returns the stream from the underlying Lévy process. | |
| void | setStream (RandomStream stream) |
| Resets the stream in the underlying Lévy process. | |
| Public Member Functions inherited from umontreal.ssj.stochprocess.StochasticProcess | |
| void | setObservationTimes (double delta, int d) |
| Sets equidistant observation times at \(t_j = j\delta\), for. | |
| double[] | getObservationTimes () |
| Returns a reference to the array that contains the observation times. | |
| int | getNumObservationTimes () |
| Returns the number \(d\) of observation times, excluding the time \(t_0\). | |
| double[] | generatePath (RandomStream stream) |
| Same as generatePath(), but first resets the stream to stream. | |
| double[] | getPath () |
| Returns a reference to the last generated sample path \(\{X(t_0), ... ,
X(t_d)\}\). | |
| void | getSubpath (double[] subpath, int[] pathIndices) |
| Returns in subpath the values of the process at a subset of the observation times, specified as the times \(t_j\) whose indices. | |
| double | getObservation (int j) |
| Returns \(X(t_j)\) from the current sample path. | |
| boolean | hasNextObservation () |
| Returns true if \(j<d\), where \(j\) is the number of observations of the current sample path generated since the last call to resetStartProcess. | |
| int | getCurrentObservationIndex () |
| Returns the value of the index \(j\) corresponding to the time. | |
| double | getCurrentObservation () |
| Returns the value of the last generated observation \(X(t_j)\). | |
| double | getX0 () |
| Returns the initial value \(X(t_0)\) for this process. | |
| void | setX0 (double s0) |
| Sets the initial value \(X(t_0)\) for this process to s0, and reinitializes. | |
| int[] | getArrayMappingCounterToIndex () |
| Returns a reference to an array that maps an integer \(k\) to \(i_k\), the index of the observation \(S(t_{i_k})\) corresponding to the. | |
Abstract class used as a parent class for the exponentiation of a Lévy process \(X(t)\):
\[ S(t) = S(0) \exp\left(X(t) + (r - \omega_{RN}) t\right). \]
The interest rate is denoted \(r\) and is referred to as muGeom in the class below. The risk neutral correction is given by \(\omega_{RN}\) and takes into account risk aversion in the pricing of assets; its value depends on the specific Lévy process that is used. From Pierre: Maybe we should remove these parameters and make it more general by just putting a linear trend in \(X\).
GeometricNormalInverseGaussianProcess is implemented as a child of this class and so could GeometricVarianceGammaProcess and GeometricBrownianMotion.
<div class="SSJ-bigskip"></div><div class="SSJ-bigskip"></div>
Definition at line 45 of file GeometricLevyProcess.java.
| double[] umontreal.ssj.stochprocess.GeometricLevyProcess.generatePath | ( | ) |
Generates a path.
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Definition at line 76 of file GeometricLevyProcess.java.
| StochasticProcess umontreal.ssj.stochprocess.GeometricLevyProcess.getLevyProcess | ( | ) |
Returns the Lévy process.
Definition at line 144 of file GeometricLevyProcess.java.
| double umontreal.ssj.stochprocess.GeometricLevyProcess.getMuGeom | ( | ) |
Returns the geometric drift parameter, which is usually the interest rate, \(r\).
Definition at line 130 of file GeometricLevyProcess.java.
| double umontreal.ssj.stochprocess.GeometricLevyProcess.getOmega | ( | ) |
Returns the risk neutral correction.
Definition at line 122 of file GeometricLevyProcess.java.
| RandomStream umontreal.ssj.stochprocess.GeometricLevyProcess.getStream | ( | ) |
Returns the stream from the underlying Lévy process.
If the underlying Lévy process has multiple streams, it returns what the getStream() method of that process was made to return.
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Definition at line 165 of file GeometricLevyProcess.java.
| double umontreal.ssj.stochprocess.GeometricLevyProcess.nextObservation | ( | ) |
Returns the next observation.
It will also work on a Lévy process which is sampled using the bridge order, but it will return the observations in the bridge order. If the underlying Lévy process is of the PCA type, this method is not usable.
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Definition at line 94 of file GeometricLevyProcess.java.
| void umontreal.ssj.stochprocess.GeometricLevyProcess.resetRiskNeutralCorrection | ( | double | omegaRN | ) |
Changes the value of \(\omega_{RN}\).
There should usually be no need to redefine the risk neutral correction from the value set by the constructor. However it is sometimes not unique, e.g. in
GeometricNormalInverseGaussianProcess [5] .
Definition at line 155 of file GeometricLevyProcess.java.
| void umontreal.ssj.stochprocess.GeometricLevyProcess.resetStartProcess | ( | ) |
Resets the step counter of the geometric process and the underlying Lévy process to the start value.
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Definition at line 105 of file GeometricLevyProcess.java.
| void umontreal.ssj.stochprocess.GeometricLevyProcess.setMuGeom | ( | double | muGeom | ) |
Sets the drift parameter (interest rate) of the geometric term.
Definition at line 137 of file GeometricLevyProcess.java.
| void umontreal.ssj.stochprocess.GeometricLevyProcess.setObservationTimes | ( | double[] | time, |
| int | d ) |
Sets the observation times on the geometric process and the underlying Lévy process.
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Definition at line 114 of file GeometricLevyProcess.java.
| void umontreal.ssj.stochprocess.GeometricLevyProcess.setStream | ( | RandomStream | stream | ) |
Resets the stream in the underlying Lévy process.
If the underlying Lévy process has multiple streams, it sets the streams on this process in the same way as setStream() for that process.
Reimplemented from umontreal.ssj.stochprocess.StochasticProcess.
Definition at line 174 of file GeometricLevyProcess.java.