Class EulerSchemeFromProcessModel

  • All Implemented Interfaces:
    Cloneable, MonteCarloProcess, Process

    public class EulerSchemeFromProcessModel
    extends MonteCarloProcessFromProcessModel
    This class implements some numerical schemes for multi-dimensional multi-factor Ito process. It features the standard Euler scheme and the standard predictor-corrector Euler scheme for Y, then applies the state space transform \( X = f(Y) \). For the standard Euler scheme the process Y is discretized as \[ Y(t_{i+1}) = Y(t_{i}) + \mu(t_{i}) \Delta t_{i} + \sigma(t_{i}) \Delta W(t_{i}) \text{.} \] Hence, using the state space transform, it is possible to create a log-Euler scheme, i.e., \[ X(t_{i+1}) = X(t_{i}) \cdot \exp\left( (\mu(t_{i}) - \frac{1}{2} \sigma(t_{i})^2) \Delta t_{i} + \sigma(t_{i}) \Delta W(t_{i}) \right) \text{.} \] The dimension is called numberOfComponents here. The default for numberOfFactors is 1.
    Version:
    1.4
    Author:
    Christian Fries
    See Also:
    The interface definition contains more details.
    • Constructor Detail

      • EulerSchemeFromProcessModel

        public EulerSchemeFromProcessModel​(ProcessModel model,
                                           IndependentIncrements stochasticDriver)
        Create an Euler discretization scheme.
        Parameters:
        model - The model (the SDE specifcation) used to generate the (sampling of the) stochastic process.
        stochasticDriver - The stochastic driver of the process (e.g. a Brownian motion).
    • Method Detail

      • getProcessValue

        public RandomVariable getProcessValue​(int timeIndex,
                                              int componentIndex)
        This method returns the realization of the process at a certain time index.
        Parameters:
        timeIndex - Time index at which the process should be observed
        componentIndex - Component index of the process.
        Returns:
        A vector of process realizations (on path)
      • getMonteCarloWeights

        public RandomVariable getMonteCarloWeights​(int timeIndex)
        This method returns the weights of a weighted Monte Carlo method (the probability density).
        Parameters:
        timeIndex - Time index at which the process should be observed
        Returns:
        A vector of positive weights
      • getNumberOfPaths

        public int getNumberOfPaths()
        Returns:
        Returns the numberOfPaths.
      • getNumberOfFactors

        public int getNumberOfFactors()
        Returns:
        Returns the numberOfFactors.
      • getStochasticDriver

        public IndependentIncrements getStochasticDriver()
        Returns:
        Returns the independent increments interface used in the generation of the process
      • getCloneWithModifiedModel

        public MonteCarloProcess getCloneWithModifiedModel​(ProcessModel model)
        Description copied from interface: MonteCarloProcess
        Returns a clone of this model where the specified properties have been modified. Note that there is no guarantee that a model reacts on a specification of a properties in the parameter map dataModified. If data is provided which is ignored by the model no exception may be thrown.
        Parameters:
        model - The model to be used.
        Returns:
        A clone of this model (or this model if no parameter was modified).
      • getCloneWithModifiedData

        public MonteCarloProcess getCloneWithModifiedData​(Map<String,​Object> dataModified)
        Description copied from interface: MonteCarloProcess
        Returns a clone of this model where the specified properties have been modified. Note that there is no guarantee that a model reacts on a specification of a properties in the parameter map dataModified. If data is provided which is ignored by the model no exception may be thrown.
        Parameters:
        dataModified - Key-value-map of parameters to modify.
        Returns:
        A clone of this model (or this model if no parameter was modified).