Documentation of 'net.finmath.montecarlo.process.LinearInterpolatedTimeDiscreteProcess' Java class
LinearInterpolatedTimeDiscreteProcess
net.finmath.montecarlo.process

Class LinearInterpolatedTimeDiscreteProcess

  • All Implemented Interfaces:
    ProcessInterface


    public class LinearInterpolatedTimeDiscreteProcess
    extends java.lang.Object
    implements ProcessInterface
    A linear interpolated time discrete process, that is, given a collection of tuples (Double, RandomVariable) representing realizations \( X(t_{i}) \) this class implements the ProcessInterface and creates a stochastic process \( t \mapsto X(t) \) where \[ X(t) = \frac{t_{i+1} - t}{t_{i+1}-t_{i}} X(t_{i}) + \frac{t - t_{i}}{t_{i+1}-t_{i}} X(t_{i+1}) \] with \( t_{i} \leq t \leq t_{i+1} \). Note: this is the interpolation scheme used in the convergence of the Euler-Maruyama scheme.
    • Constructor Detail

      • LinearInterpolatedTimeDiscreteProcess

        public LinearInterpolatedTimeDiscreteProcess(java.util.Map<java.lang.Double,RandomVariableInterface> realizations)
        Create a time discrete process by linear interpolation of random variables.
        Parameters:
        realizations - Given map from time to random variable. The map must not be modified.
    • Method Detail

      • apply

        public LinearInterpolatedTimeDiscreteProcess apply(java.util.function.DoubleUnaryOperator function)
        Create a new process consisting of the interpolation of the random variables obtained by applying the given function to this process discrete set of random variables. That is \( t \mapsto Y(t) \) where \[ Y(t) = \frac{t_{i+1} - t}{t_{i+1}-t_{i}} f(X(t_{i})) + \frac{t - t_{i}}{t_{i+1}-t_{i}} f(X(t_{i+1})) \] with \( t_{i} \leq t \leq t_{i+1} \) and a given function \( f \).
        Parameters:
        function - The function \( f \), a univariate function.
        Returns:
        A new process consisting of the interpolation of the random variables obtained by applying the given function to this process discrete set of random variables.
      • getProcessValue

        public RandomVariableInterface getProcessValue(double time,
                                                       int component)
                                                throws CalculationException
        Returns the (possibly interpolated) value of this stochastic process at a given time \( t \).
        Parameters:
        time - The time \( t \).
        component - The component to be returned (if this is a vector valued process), otherwise 0.
        Returns:
        The random variable \( X(t) \).
        Throws:
        CalculationException - Thrown if this process fails to evaluate at the given time point.
      • getProcessValue

        public RandomVariableInterface getProcessValue(int timeIndex,
                                                       int component)
                                                throws CalculationException
        Description copied from interface: ProcessInterface
        This method returns the realization of a component of the process for a given time index.
        Specified by:
        getProcessValue in interface ProcessInterface
        Parameters:
        timeIndex - Time index at which the process should be observed
        component - Component index of the process
        Returns:
        The process component realizations (given as RandomVariable)
        Throws:
        CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
      • getMonteCarloWeights

        public RandomVariableInterface getMonteCarloWeights(int timeIndex)
                                                     throws CalculationException
        Description copied from interface: ProcessInterface
        This method returns the weights of a weighted Monte Carlo method (the probability density).
        Specified by:
        getMonteCarloWeights in interface ProcessInterface
        Parameters:
        timeIndex - Time index at which the process should be observed
        Returns:
        A vector of positive weights which sums up to one
        Throws:
        CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.
      • getTime

        public double getTime(int timeIndex)
        Specified by:
        getTime in interface ProcessInterface
        Parameters:
        timeIndex - Time index.
        Returns:
        Returns the time for a given time index.
      • getTimeIndex

        public int getTimeIndex(double time)
        Description copied from interface: ProcessInterface
        Returns the time index for a given simulation time.
        Specified by:
        getTimeIndex in interface ProcessInterface
        Parameters:
        time - The given simulation time.
        Returns:
        Returns the time index for a given time
      • clone

        public ProcessInterface clone()
        Description copied from interface: ProcessInterface
        Create and return a clone of this process. The clone is not tied to any model, but has the same process specification, that is, if the model is the same, it would generate the same paths.
        Specified by:
        clone in interface ProcessInterface
        Overrides:
        clone in class java.lang.Object
        Returns:
        Clone of the process

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.