# Package net.finmath.montecarlo

Provides basic interfaces and classes used in Monte-Carlo models (like LIBOR market model or Monte-Carlo simulation of a Black-Scholes model), e.g., the Monte-Carlo random variable and the Brownian motion.
Author:
Christian Fries
• Interface Summary
Interface Description
BrownianMotion
Interface description of a time-discrete n-dimensional Brownian motion W = (W1,...,Wn) where Wi is a Brownian motion.
IndependentIncrements
Interface description of a time-discrete n-dimensional stochastic process $$X = (X_{1},\ldots,X_{n})$$ provided by independent increments $$\Delta X(t_{i}) = X(t_{i+1})-X(t_{i})$$.
MonteCarloProduct
Interface for products requiring an MonteCarloSimulationModel for valuation.
MonteCarloSimulationModel
The interface implemented by a simulation of an SDE.
RandomVariableFactory
A factory for creating objects implementing net.finmath.stochastic.RandomVariable.
• Class Summary
Class Description
AbstractMonteCarloProduct
Base class for products requiring an MonteCarloSimulationModel for valuation.
AbstractRandomVariableFactory
BrownianBridge
This class implements a Brownian bridge, i.e., samples of realizations of a Brownian motion conditional to a given start and end value.
BrownianMotionFromMersenneRandomNumbers
Implementation of a time-discrete n-dimensional Brownian motion W = (W1,...,Wn) where Wi is a Brownian motion and Wi, Wj are independent for i not equal j.
BrownianMotionFromRandomNumberGenerator
Implementation of a time-discrete n-dimensional Brownian motion W = (W1,...,Wn) where Wi is a Brownian motion and Wi, Wj are independent for i not equal j.
BrownianMotionLazyInit Deprecated.
Refactor rename.
BrownianMotionView
A Brownian motion which is defined by some factors of a given Brownian motion, i.e., for a given multi-factorial Brownian motion W, this Brownian motion is given by ( W(i[0]), W(i[1]) W(i[2]), ..., W(i[n-1]) ) where i is a given array of integers.
BrownianMotionWithControlVariate
Provides a Brownian motion from given (independent) increments and performs a control of the expectation and the standard deviation.
CorrelatedBrownianMotion
Provides a correlated Brownian motion from given (independent) increments and a given matrix of factor loadings.
GammaProcess
Implementation of a time-discrete n-dimensional Gamma process $$\Gamma = (\Gamma_{1},\ldots,\Gamma_{n})$$, where $$\Gamma_{i}$$ is a Gamma process and $$\Gamma_{i}$$, $$\Gamma_{j}$$ are independent for i not equal j.
IndependentIncrementsFromICDF
Implementation of a time-discrete n-dimensional sequence of independent increments W = (W1,...,Wn) form a given set of inverse cumulative distribution functions.
JumpProcessIncrements
Implementation of a time-discrete n-dimensional jump process J = (J1,...,Jn) where Ji is a Poisson jump process and Ji, Jj are independent for i not equal j.
MertonJumpProcess
Implementation of the compound Poisson process for the Merton jump diffusion model.
RandomVariableFloatFactory
RandomVariableFromArrayFactory
A factory (helper class) to create random variables.
RandomVariableFromDoubleArray
The class RandomVariableFromDoubleArray represents a random variable being the evaluation of a stochastic process at a certain time within a Monte-Carlo simulation.
RandomVariableFromFloatArray
The class RandomVariableFromFloatArray represents a random variable being the evaluation of a stochastic process at a certain time within a Monte-Carlo simulation.
RandomVariableLazyEvaluation
Implements a Monte-Carlo random variable (like RandomVariableFromDoubleArray using late evaluation of Java 8 streams Accesses performed exclusively through the interface RandomVariable is thread safe (and does not mutate the class).
RandomVariableLazyEvaluationFactory
VarianceGammaProcess
Implementation of a time-discrete n-dimensional Variance Gamma process via Brownian subordination through a Gamma Process.