Uses of Interface
net.finmath.montecarlo.RandomVariableFactory
Packages that use 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
Constructors in net.finmath.marketdata2.model with parameters of type RandomVariableFactoryModifierConstructorDescriptionAnalyticModelFromCurvesAndVols(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
Constructors in net.finmath.modelling.modelfactory with parameters of type RandomVariableFactoryModifierConstructorDescriptionAssetModelMonteCarloFactory(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
Classes in net.finmath.montecarlo that implement RandomVariableFactoryModifier and TypeClassDescriptionclass
class
class
A factory (helper class) to create random variables.class
Methods in net.finmath.montecarlo with parameters of type RandomVariableFactoryModifier and TypeMethodDescriptionstatic RandomVariable
RandomVariableFactory.getRandomVariableOrDefault(RandomVariableFactory randomVariableFactory, Object value, RandomVariable defaultValue)
Static method for creating random variables from Objects.Constructors in net.finmath.montecarlo with parameters of type RandomVariableFactoryModifierConstructorDescriptionBrownianMotionFromMersenneRandomNumbers(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
Constructors in net.finmath.montecarlo.assetderivativevaluation with parameters of type RandomVariableFactoryModifierConstructorDescriptionMonteCarloMertonModel(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
Methods in net.finmath.montecarlo.assetderivativevaluation.models that return RandomVariableFactoryModifier and TypeMethodDescriptionDisplacedLognomalModel.getRandomVariableFactory()
InhomogeneousDisplacedLognomalModel.getRandomVariableFactory()
Constructors in net.finmath.montecarlo.assetderivativevaluation.models with parameters of type RandomVariableFactoryModifierConstructorDescriptionBachelierModel(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.BlackScholesModelWithStockNumeraire(double initialValue, double riskFreeRate, double volatility, RandomVariableFactory randomVariableFactory)
Create a Monte-Carlo simulation using given time discretization.BlackScholesModelWithStockNumeraire(RandomVariable initialValue, RandomVariable riskFreeRate, RandomVariable volatility, 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
Subinterfaces of RandomVariableFactory in net.finmath.montecarlo.automaticdifferentiationModifier and TypeInterfaceDescriptioninterface
A factory for creating objects implementingnet.finmath.montecarlo.automaticdifferentiation.RandomVariableDifferentiable
.Classes in net.finmath.montecarlo.automaticdifferentiation that implement RandomVariableFactoryModifier and TypeClassDescriptionclass
A random variable factory extendingAbstractRandomVariableFactory
providing random variables implementingRandomVariableDifferentiable
.Constructors in net.finmath.montecarlo.automaticdifferentiation with parameters of type RandomVariableFactoryModifierConstructorDescriptionAbstractRandomVariableDifferentiableFactory(RandomVariableFactory randomVariableFactoryForNonDifferentiable)
Construct an object extendingAbstractRandomVariableDifferentiableFactory
with a specificAbstractRandomVariableFactory
for the storage of values. -
Uses of RandomVariableFactory in net.finmath.montecarlo.automaticdifferentiation.backward
Classes in net.finmath.montecarlo.automaticdifferentiation.backward that implement RandomVariableFactoryConstructors in net.finmath.montecarlo.automaticdifferentiation.backward with parameters of type RandomVariableFactoryModifierConstructorDescriptionRandomVariableDifferentiableAADFactory(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
Classes in net.finmath.montecarlo.automaticdifferentiation.forward that implement RandomVariableFactoryConstructors in net.finmath.montecarlo.automaticdifferentiation.forward with parameters of type RandomVariableFactoryModifierConstructorDescriptionRandomVariableDifferentiableADFactory(RandomVariableFactory randomVariableFactoryForNonDifferentiable)
-
Uses of RandomVariableFactory in net.finmath.montecarlo.interestrate.models
Methods in net.finmath.montecarlo.interestrate.models with parameters of type RandomVariableFactoryModifier 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).Constructors in net.finmath.montecarlo.interestrate.models with parameters of type RandomVariableFactoryModifierConstructorDescriptionHullWhiteModel(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
Constructors in net.finmath.montecarlo.interestrate.models.covariance with parameters of type RandomVariableFactoryModifierConstructorDescriptionBlendedLocalVolatilityModel(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)