finMath lib documentation

net.finmath.montecarlo.process
Interface AbstractProcessInterface

All Known Implementing Classes:
AbstractProcess, ProcessEulerScheme

public interface AbstractProcessInterface

The interface for a process (numerical scheme) of a stochastic process X where X = f(Y) and
\[ dY_{j} = \mu_{j} dt + \lambda_{1,j} dW_{1} + \ldots + \lambda_{m,j} dW_{m} \] The parameters are provided by a model implementing AbstractModelInterface:

Here, μ and λj may depend on X, which allows to implement stochastic drifts (like in a LIBOR market model) of local volatility models.

Author:
Christian Fries
See Also:
The definition of the model.

Method Summary
 AbstractProcessInterface clone()
          Create and return a clone of this process.
 BrownianMotionInterface getBrownianMotion()
           
 RandomVariableInterface getMonteCarloWeights(int timeIndex)
          This method returns the weights of a weighted Monte Carlo method (the probability density).
 int getNumberOfComponents()
           
 int getNumberOfFactors()
           
 int getNumberOfPaths()
           
 RandomVariableInterface getProcessValue(int timeIndex, int component)
          This method returns the realization of a component of the process at a certain time index.
 double getTime(int timeIndex)
           
 TimeDiscretizationInterface getTimeDiscretization()
           
 int getTimeIndex(double time)
          Returns the time index for a given simulation time.
 

Method Detail

getProcessValue

RandomVariableInterface getProcessValue(int timeIndex,
                                        int component)
                                        throws CalculationException
This method returns the realization of a component of the process at a certain time index.

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

RandomVariableInterface getMonteCarloWeights(int timeIndex)
                                             throws CalculationException
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 which sums up to one
Throws:
CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.

getNumberOfComponents

int getNumberOfComponents()
Returns:
Returns the numberOfComponents.

getNumberOfPaths

int getNumberOfPaths()
Returns:
Returns the numberOfPaths.

getNumberOfFactors

int getNumberOfFactors()
Returns:
Returns the numberOfFactors.

getTimeDiscretization

TimeDiscretizationInterface getTimeDiscretization()
Returns:
Returns the timeDiscretization.

getTime

double getTime(int timeIndex)
Parameters:
timeIndex - Time index.
Returns:
Returns the time for a given time index.

getTimeIndex

int getTimeIndex(double time)
Returns the time index for a given simulation time.

Parameters:
time - The given simulation time.
Returns:
Returns the time index for a given time

getBrownianMotion

BrownianMotionInterface getBrownianMotion()
Returns:
Returns the brownian motion used to generate this process

clone

AbstractProcessInterface clone()
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.

Returns:
Clone of the process

Copyright © 2014 Christian P. Fries.

Copyright © 2014. All rights reserved.