Uses of Interface
net.finmath.montecarlo.RandomVariableFactory
-
Packages that use RandomVariableFactory Package Description net.finmath.marketdata2.model Provides interface specification and implementation of a model, which is essentially a collection of curves.net.finmath.modelling.modelfactory Provides classes to build models from descriptors.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.net.finmath.montecarlo.assetderivativevaluation Monte-Carlo models for asset value processes, like the Black Scholes model.net.finmath.montecarlo.assetderivativevaluation.models Equity models implementingProcessModel
e.g.net.finmath.montecarlo.automaticdifferentiation Provides classes adding automatic differentiation capabilities to objects relying on RandomVariable objects.net.finmath.montecarlo.automaticdifferentiation.backward Provides the implementation of backward automatic differentiation.net.finmath.montecarlo.automaticdifferentiation.forward Provides the implementation of forward automatic differentiation.net.finmath.montecarlo.interestrate.models Interest rate models implementingProcessModel
e.g.net.finmath.montecarlo.interestrate.models.covariance 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 RandomVariableFactory Constructor Description AnalyticModelFromCurvesAndVols(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 RandomVariableFactory Constructor Description AssetModelMonteCarloFactory(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 RandomVariableFactory Modifier and Type Class Description class
AbstractRandomVariableFactory
class
RandomVariableFloatFactory
class
RandomVariableFromArrayFactory
A factory (helper class) to create random variables.class
RandomVariableLazyEvaluationFactory
Methods in net.finmath.montecarlo with parameters of type RandomVariableFactory Modifier and Type Method Description static 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 RandomVariableFactory Constructor Description BrownianMotionFromMersenneRandomNumbers(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 RandomVariableFactory Constructor Description MonteCarloMertonModel(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 RandomVariableFactory Modifier and Type Method Description RandomVariableFactory
DisplacedLognomalModel. getRandomVariableFactory()
RandomVariableFactory
InhomogeneousDisplacedLognomalModel. getRandomVariableFactory()
Constructors in net.finmath.montecarlo.assetderivativevaluation.models with parameters of type RandomVariableFactory Constructor Description BachelierModel(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
Subinterfaces of RandomVariableFactory in net.finmath.montecarlo.automaticdifferentiation Modifier and Type Interface Description interface
RandomVariableDifferentiableFactory
A factory for creating objects implementingnet.finmath.montecarlo.automaticdifferentiation.RandomVariableDifferentiable
.Classes in net.finmath.montecarlo.automaticdifferentiation that implement RandomVariableFactory Modifier and Type Class Description class
AbstractRandomVariableDifferentiableFactory
A random variable factory extendingAbstractRandomVariableFactory
providing random variables implementingRandomVariableDifferentiable
.Constructors in net.finmath.montecarlo.automaticdifferentiation with parameters of type RandomVariableFactory Constructor Description AbstractRandomVariableDifferentiableFactory(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 RandomVariableFactory Modifier and Type Class Description class
RandomVariableDifferentiableAADFactory
Constructors in net.finmath.montecarlo.automaticdifferentiation.backward with parameters of type RandomVariableFactory Constructor Description RandomVariableDifferentiableAADFactory(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 RandomVariableFactory Modifier and Type Class Description class
RandomVariableDifferentiableADFactory
Constructors in net.finmath.montecarlo.automaticdifferentiation.forward with parameters of type RandomVariableFactory Constructor Description RandomVariableDifferentiableADFactory(RandomVariableFactory randomVariableFactoryForNonDifferentiable)
-
Uses of RandomVariableFactory in net.finmath.montecarlo.interestrate.models
Methods in net.finmath.montecarlo.interestrate.models with parameters of type RandomVariableFactory Modifier and Type Method Description static 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
.static LIBORMarketModelFromCovarianceModel
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 RandomVariableFactory Constructor Description HullWhiteModel(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 RandomVariableFactory Constructor Description BlendedLocalVolatilityModel(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)
-