Uses of Interface
net.finmath.montecarlo.RandomVariableFactory
Package
Description
Provides interface specification and implementation of a model, which is essentially
a collection of curves.
Provides classes to build models from descriptors.
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.
Monte-Carlo models for asset value processes, like the Black Scholes model.
Equity models implementing
ProcessModel
e.g.Provides classes adding automatic differentiation capabilities to objects relying on RandomVariable objects.
Provides the implementation of backward automatic differentiation.
Provides the implementation of forward automatic differentiation.
Interest rate models implementing
ProcessModel
e.g.Contains covariance models and their calibration as plug-ins for the LIBOR market model and volatility and correlation models which may be used to build a covariance model.
-
Uses of RandomVariableFactory in net.finmath.marketdata2.model
ModifierConstructorDescriptionAnalyticModelFromCurvesAndVols
(RandomVariableFactory randomVariableFactory) Create an empty analytic model using a given AbstractRandomVariableFactory for construction of result types.AnalyticModelFromCurvesAndVols
(RandomVariableFactory randomVariableFactory, Curve[] curves) Create an analytic model with the given curves using a given AbstractRandomVariableFactory for construction of result types. -
Uses of RandomVariableFactory in net.finmath.modelling.modelfactory
ModifierConstructorDescriptionAssetModelMonteCarloFactory
(RandomVariableFactory randomVariableFactory, IndependentIncrements stochasticDriver) Create the factory.AssetModelMonteCarloFactory
(RandomVariableFactory randomVariableFactory, IndependentIncrements stochasticDriver, HestonModel.Scheme scheme) Create the factory.BlackScholesModelMonteCarloFactory
(RandomVariableFactory randomVariableFactory, IndependentIncrements brownianMotion) HestonModelMonteCarloFactory
(HestonModel.Scheme scheme, RandomVariableFactory randomVariableFactory, IndependentIncrements brownianMotion) -
Uses of RandomVariableFactory in net.finmath.montecarlo
Modifier and TypeClassDescriptionclass
class
class
A factory (helper class) to create random variables.class
Modifier and TypeMethodDescriptionstatic RandomVariable
RandomVariableFactory.getRandomVariableOrDefault
(RandomVariableFactory randomVariableFactory, Object value, RandomVariable defaultValue) Static method for creating random variables from Objects.ModifierConstructorDescriptionBrownianMotionFromMersenneRandomNumbers
(TimeDiscretization timeDiscretization, int numberOfFactors, int numberOfPaths, int seed, RandomVariableFactory randomVariableFactory) Construct a Brownian motion.BrownianMotionFromRandomNumberGenerator
(TimeDiscretization timeDiscretization, int numberOfFactors, int numberOfPaths, RandomNumberGenerator randomNumberGenerator, RandomVariableFactory randomVariableFactory) Construct a Brownian motion.BrownianMotionLazyInit
(TimeDiscretization timeDiscretization, int numberOfFactors, int numberOfPaths, int seed, RandomVariableFactory randomVariableFactory) Deprecated.Construct a Brownian motion.IndependentIncrementsFromICDF
(TimeDiscretization timeDiscretization, int numberOfFactors, int numberOfPaths, int seed, IntFunction<IntFunction<DoubleUnaryOperator>> inverseCumulativeDistributionFunctions, RandomVariableFactory randomVariableFactory) Construct the simulation of independent increments.JumpProcessIncrements
(TimeDiscretization timeDiscretization, double[] jumpIntensities, int numberOfPaths, int seed, RandomVariableFactory randomVariableFactory) Construct a jump process. -
Uses of RandomVariableFactory in net.finmath.montecarlo.assetderivativevaluation
ModifierConstructorDescriptionMonteCarloMertonModel
(TimeDiscretization timeDiscretization, int numberOfPaths, int seed, double initialValue, double riskFreeRate, double volatility, double jumpIntensity, double jumpSizeMean, double jumpSizeStDev, RandomVariableFactory randomVariableFactory) Create a Monte-Carlo simulation using given time discretization and given parameters.MonteCarloMultiAssetBlackScholesModel
(RandomVariableFactory randomVariableFactory, BrownianMotion brownianMotion, double[] initialValues, double riskFreeRate, double[][] factorLoadings) Create a Monte-Carlo simulation using given time discretization. -
Uses of RandomVariableFactory in net.finmath.montecarlo.assetderivativevaluation.models
Modifier and TypeMethodDescriptionDisplacedLognomalModel.getRandomVariableFactory()
InhomogeneousDisplacedLognomalModel.getRandomVariableFactory()
ModifierConstructorDescriptionBachelierModel
(RandomVariableFactory randomVariableFactory, RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable volatility) Create a Monte-Carlo simulation using given time discretization.BlackScholesModel
(double initialValue, double riskFreeRate, double volatility, RandomVariableFactory randomVariableFactory) Create a Monte-Carlo simulation using given time discretization.BlackScholesModel
(RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable volatility, RandomVariableFactory randomVariableFactory) Create a Black-Scholes specification implementing AbstractProcessModel.BlackScholesModelWithCurves
(Double initialValue, DiscountCurve discountCurveForForwardRate, Double volatility, DiscountCurve discountCurveForDiscountRate, RandomVariableFactory randomVariableFactory) Create a Black-Scholes specification implementing AbstractProcessModel.BlackScholesModelWithCurves
(RandomVariable initialValue, DiscountCurve discountCurveForForwardRate, RandomVariable volatility, DiscountCurve discountCurveForDiscountRate, RandomVariableFactory randomVariableFactory) Create a Black-Scholes specification implementing AbstractProcessModel.DisplacedLognomalModel
(RandomVariableFactory randomVariableFactory, double initialValue, double riskFreeRate, double displacement, double volatility) Create a Monte-Carlo simulation using given time discretization.DisplacedLognomalModel
(RandomVariableFactory randomVariableFactory, RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable displacement, RandomVariable volatility) Create a Monte-Carlo simulation using given time discretization.HestonModel
(double initialValue, double riskFreeRate, double volatility, double discountRate, double theta, double kappa, double xi, double rho, HestonModel.Scheme scheme, RandomVariableFactory randomVariableFactory) Create a Heston model.HestonModel
(HestonModelDescriptor descriptor, HestonModel.Scheme scheme, RandomVariableFactory randomVariableFactory) Create the model from a descriptor.HestonModel
(RandomVariable initialValue, DiscountCurve discountCurveForForwardRate, RandomVariable volatility, DiscountCurve discountCurveForDiscountRate, RandomVariable theta, RandomVariable kappa, RandomVariable xi, RandomVariable rho, HestonModel.Scheme scheme, RandomVariableFactory randomVariableFactory) Create a Heston model.HestonModel
(RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable volatility, RandomVariable discountRate, RandomVariable theta, RandomVariable kappa, RandomVariable xi, RandomVariable rho, HestonModel.Scheme scheme, RandomVariableFactory randomVariableFactory) Create a Heston model.InhomogeneousDisplacedLognomalModel
(RandomVariableFactory randomVariableFactory, double initialValue, double riskFreeRate, double displacement, double volatility, boolean isUseMilsteinCorrection) Create a blended normal/lognormal model.InhomogeneousDisplacedLognomalModel
(RandomVariableFactory randomVariableFactory, RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable displacement, RandomVariable volatility, boolean isUseMilsteinCorrection) Create a blended normal/lognormal model.InhomogenousBachelierModel
(RandomVariableFactory randomVariableFactory, RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable volatility) MertonModel
(double initialValue, double riskFreeRate, double volatility, double discountRate, double jumpIntensity, double jumpSizeMean, double jumpSizeStDev, RandomVariableFactory randomVariableFactory) Create a Merton model.MertonModel
(double initialValue, DiscountCurve discountCurveForForwardRate, double volatility, DiscountCurve discountCurveForDiscountRate, double jumpIntensity, double jumpSizeMean, double jumpSizeStDev, RandomVariableFactory randomVariableFactory) Create a Merton model.MertonModel
(RandomVariable initialValue, DiscountCurve discountCurveForForwardRate, RandomVariable volatility, DiscountCurve discountCurveForDiscountRate, RandomVariable jumpIntensity, RandomVariable jumpSizeMean, RandomVariable jumpSizeStDev, RandomVariableFactory randomVariableFactory) Create a Merton model.MertonModel
(RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable volatility, RandomVariable discountRate, RandomVariable jumpIntensity, RandomVariable jumpSizeMean, RandomVariable jumpSizeStDev, RandomVariableFactory randomVariableFactory) Create a Merton model.MultiAssetBlackScholesModel
(RandomVariableFactory randomVariableFactory, double[] initialValues, double riskFreeRate, double[][] factorLoadings) Create a multi-asset Black-Scholes model.MultiAssetBlackScholesModel
(RandomVariableFactory randomVariableFactory, double[] initialValues, double riskFreeRate, double[] volatilities, double[][] correlations) Create a multi-asset Black-Scholes model.VarianceGammaModel
(double initialValue, DiscountCurve discountCurveForForwardRate, DiscountCurve discountCurveForDiscountRate, double sigma, double theta, double nu, RandomVariableFactory randomVariableFactory) Construct a Variance Gamma model with discount curves for the forward price (i.e.VarianceGammaModel
(RandomVariable initialValue, DiscountCurve discountCurveForForwardRate, DiscountCurve discountCurveForDiscountRate, RandomVariable sigma, RandomVariable theta, RandomVariable nu, RandomVariableFactory randomVariableFactory) Construct a Variance Gamma model with discount curves for the forward price (i.e.VarianceGammaModel
(RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable discountRate, RandomVariable sigma, RandomVariable theta, RandomVariable nu, RandomVariableFactory randomVariableFactory) Construct a Variance Gamma model with constant rates for the forward price (i.e. -
Uses of RandomVariableFactory in net.finmath.montecarlo.automaticdifferentiation
Modifier and TypeInterfaceDescriptioninterface
A factory for creating objects implementingnet.finmath.montecarlo.automaticdifferentiation.RandomVariableDifferentiable
.Modifier and TypeClassDescriptionclass
A random variable factory extendingAbstractRandomVariableFactory
providing random variables implementingRandomVariableDifferentiable
.ModifierConstructorDescriptionAbstractRandomVariableDifferentiableFactory
(RandomVariableFactory randomVariableFactoryForNonDifferentiable) Construct an object extendingAbstractRandomVariableDifferentiableFactory
with a specificAbstractRandomVariableFactory
for the storage of values. -
Uses of RandomVariableFactory in net.finmath.montecarlo.automaticdifferentiation.backward
ModifierConstructorDescriptionRandomVariableDifferentiableAADFactory
(RandomVariableFactory randomVariableFactoryForNonDifferentiable) RandomVariableDifferentiableAADFactory
(RandomVariableFactory randomVariableFactoryForNonDifferentiable, Map<String, Object> properties) Create a factory for objects of typeRandomVariableDifferentiableAAD
. -
Uses of RandomVariableFactory in net.finmath.montecarlo.automaticdifferentiation.forward
ModifierConstructorDescriptionRandomVariableDifferentiableADFactory
(RandomVariableFactory randomVariableFactoryForNonDifferentiable) -
Uses of RandomVariableFactory in net.finmath.montecarlo.interestrate.models
Modifier and TypeMethodDescriptionstatic HullWhiteModel
HullWhiteModel.of
(RandomVariableFactory randomVariableFactory, TimeDiscretization liborPeriodDiscretization, AnalyticModel analyticModel, ForwardCurve forwardRateCurve, DiscountCurve discountCurve, ShortRateVolatilityModel volatilityModel, CalibrationProduct[] calibrationProducts, Map<String, Object> properties) Creates a Hull-White model which implementsLIBORMarketModel
.LIBORMarketModelFromCovarianceModel.of
(TimeDiscretization liborPeriodDiscretization, AnalyticModel analyticModel, ForwardCurve forwardRateCurve, DiscountCurve discountCurve, RandomVariableFactory randomVariableFactory, LIBORCovarianceModel covarianceModel, CalibrationProduct[] calibrationProducts, Map<String, ?> properties) Creates a LIBOR Market Model for given covariance with a calibration (if calibration items are given).ModifierConstructorDescriptionHullWhiteModel
(RandomVariableFactory randomVariableFactory, TimeDiscretization liborPeriodDiscretization, AnalyticModel analyticModel, ForwardCurve forwardRateCurve, DiscountCurve discountCurve, ShortRateVolatilityModel volatilityModel, Map<String, Object> properties) Creates a Hull-White model which implementsLIBORMarketModel
.LIBORMarketModelFromCovarianceModel
(TimeDiscretization liborPeriodDiscretization, AnalyticModel analyticModel, ForwardCurve forwardRateCurve, DiscountCurve discountCurve, RandomVariableFactory randomVariableFactory, LIBORCovarianceModel covarianceModel, Map<String, ?> properties) Creates a LIBOR Market Model for given covariance.LIBORMarketModelFromCovarianceModel
(TimeDiscretization liborPeriodDiscretization, AnalyticModel analyticModel, ForwardCurve forwardRateCurve, DiscountCurve discountCurve, RandomVariableFactory randomVariableFactory, LIBORCovarianceModel covarianceModel, CalibrationProduct[] calibrationProducts, Map<String, ?> properties) Creates a LIBOR Market Model for given covariance. -
Uses of RandomVariableFactory in net.finmath.montecarlo.interestrate.models.covariance
ModifierConstructorDescriptionBlendedLocalVolatilityModel
(RandomVariableFactory randomVariableFactory, AbstractLIBORCovarianceModelParametric covarianceModel, double displacement, boolean isCalibrateable) Displaced diffusion model build on top of a standard covariance model.BlendedLocalVolatilityModel
(RandomVariableFactory randomVariableFactory, AbstractLIBORCovarianceModelParametric covarianceModel, ForwardCurve forwardCurve, double displacement, boolean isCalibrateable) Displaced diffusion model build on top of a standard covariance model.ExponentialDecayLocalVolatilityModel
(RandomVariableFactory randomVariableFactory, AbstractLIBORCovarianceModelParametric covarianceModel, double decay, boolean isCalibrateable) Exponential decay model build on top of a standard covariance model.ExponentialDecayLocalVolatilityModel
(RandomVariableFactory randomVariableFactory, AbstractLIBORCovarianceModelParametric covarianceModel, RandomVariable decay, boolean isCalibrateable) Exponential decay model build on top of a standard covariance model.LIBORVolatilityModelFourParameterExponentialForm
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double a, double b, double c, double d, boolean isCalibrateable) Creates the volatility model σi(tj) = ( a + b * (Ti-tj) ) * exp(-c (Ti-tj)) + dLIBORVolatilityModelFourParameterExponentialForm
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable a, RandomVariable b, RandomVariable c, RandomVariable d, boolean isCalibrateable) Creates the volatility model σi(tj) = ( a + b * (Ti-tj) ) * exp(-c (Ti-tj)) + dLIBORVolatilityModelFourParameterExponentialFormIntegrated
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double a, double b, double c, double d, boolean isCalibrateable) Creates the volatility model \[ \sigma_{i}(t_{j}) = \sqrt{ \frac{1}{t_{j+1}-t_{j}} \int_{t_{j}}^{t_{j+1}} \left( ( a + b (T_{i}-t) ) \exp(-c (T_{i}-t)) + d \right)^{2} \ \mathrm{d}t } \text{.} \]LIBORVolatilityModelFromGivenMatrix
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility) Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelFromGivenMatrix
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[][] volatility, boolean isCalibrateable) Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelFromGivenMatrix
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable[][] volatility, boolean isCalibrateable) Creates a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelMaturityDependentFourParameterExponentialForm
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double[] a, double[] b, double[] c, double[] d) LIBORVolatilityModelMaturityDependentFourParameterExponentialForm
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double a, double b, double c, double d) LIBORVolatilityModelPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization simulationTimeDiscretization, TimeDiscretization timeToMaturityDiscretization, double[][] volatility, boolean isCalibrateable) LIBORVolatilityModelPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization simulationTimeDiscretization, TimeDiscretization timeToMaturityDiscretization, double[] volatility, boolean isCalibrateable) LIBORVolatilityModelTimeHomogenousPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, double[] volatility) Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.LIBORVolatilityModelTimeHomogenousPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, TimeDiscretization timeToMaturityDiscretization, RandomVariable[] volatility) Create a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.LIBORVolatilityModelTwoParameterExponentialForm
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double a, double b, boolean isCalibrateable) Creates the volatility model σi(tj) = a * exp(-b (Ti-tj))LIBORVolatilityModelTwoParameterExponentialForm
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable a, RandomVariable b, boolean isCalibrateable) Creates the volatility model σi(tj) = a * exp(-b (Ti-tj))ShortRateVolatilityModelPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization volatilityTimeDiscretization, double[] volatility, double[] meanReversion, boolean isVolatilityCalibrateable) ShortRateVolatilityModelPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization volatilityTimeDiscretization, double[] volatility, double[] meanReversion, boolean isVolatilityCalibrateable, boolean isMeanReversionCalibrateable) ShortRateVolatilityModelPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization volatilityTimeDiscretization, RandomVariable[] volatility, RandomVariable[] meanReversion, boolean isVolatilityCalibrateable) ShortRateVolatilityModelPiecewiseConstant
(RandomVariableFactory randomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization volatilityTimeDiscretization, RandomVariable[] volatility, RandomVariable[] meanReversion, boolean isVolatilityCalibrateable, boolean isMeanReversionCalibrateable)