public class HybridAssetLIBORModelMonteCarloSimulationFromModels extends Object implements HybridAssetLIBORModelMonteCarloSimulation
LIBORModelMonteCarloSimulationModel providing the interest
rate simulation and the numeraire and an object implementing
AssetModelMonteCarloSimulationModel providing the
asset simulation.
The interest rate model needs to be in spot measure.| Constructor and Description |
|---|
HybridAssetLIBORModelMonteCarloSimulationFromModels(LIBORModelMonteCarloSimulationModel liborSimulation,
AssetModelMonteCarloSimulationModel assetSimulation) |
HybridAssetLIBORModelMonteCarloSimulationFromModels(LIBORModelMonteCarloSimulationModel liborSimulation,
AssetModelMonteCarloSimulationModel assetSimulation,
DiscountCurve discountCurve)
Create an Equity Hybrid LIBOR Market Model composed of an object implementing
LIBORModelMonteCarloSimulationModel providing the interest
rate simulation and the numeraire and an object implementing
AssetModelMonteCarloSimulationModel providing the
asset simulation. |
| Modifier and Type | Method and Description |
|---|---|
RandomVariable |
getAssetValue(double time,
int assetIndex)
Returns the random variable representing the asset's value at a given time for a given asset.
|
RandomVariable |
getAssetValue(int timeIndex,
int assetIndex)
Returns the random variable representing the asset's value at a given time for a given asset.
|
BrownianMotion |
getBrownianMotion()
Returns the Brownian motion used to simulate the curve.
|
HybridAssetLIBORModelMonteCarloSimulationFromModels |
getCloneWithModifiedData(Map<String,Object> dataModified)
Create a clone of this simulation modifying some of its properties (if any).
|
HybridAssetLIBORModelMonteCarloSimulationFromModels |
getCloneWithModifiedSeed(int seed)
Deprecated.
|
RandomVariable |
getLIBOR(double time,
double periodStart,
double periodEnd)
Return the forward rate for a given simulation time and a given period start and period end.
|
RandomVariable |
getLIBOR(int timeIndex,
int liborIndex)
Return the forward rate for a given simulation time index and a given forward rate index.
|
double |
getLiborPeriod(int timeIndex)
Returns the period start of the specified forward rate period.
|
TimeDiscretization |
getLiborPeriodDiscretization()
Returns the libor period discretization as time discretization representing start and end dates of periods.
|
int |
getLiborPeriodIndex(double time)
Same as java.util.Arrays.binarySearch(liborPeriodDiscretization,time).
|
RandomVariable[] |
getLIBORs(int timeIndex)
Return the forward rate curve for a given simulation time index.
|
TermStructureModel |
getModel()
Returns the underlying model.
|
Map<String,RandomVariable> |
getModelParameters()
Returns a map of independent model parameters of this model.
|
RandomVariable |
getMonteCarloWeights(double time)
This method returns the weights of a weighted Monte Carlo method (the probability density).
|
RandomVariable |
getMonteCarloWeights(int timeIndex)
This method returns the weights of a weighted Monte Carlo method (the probability density).
|
int |
getNumberOfAssets()
Returns the number of asset price processes.
|
int |
getNumberOfFactors() |
int |
getNumberOfLibors() |
int |
getNumberOfPaths()
Returns the numberOfPaths.
|
RandomVariable |
getNumeraire(double time)
Return the numeraire at a given time.
|
RandomVariable |
getNumeraire(int timeIndex)
Returns the numeraire associated with the valuation measure used by this model.
|
MonteCarloProcess |
getProcess() |
RandomVariable |
getRandomVariableForConstant(double value)
Returns a random variable which is initialized to a constant,
but has exactly the same number of paths or discretization points as the ones used by this
MonteCarloSimulationModel. |
LocalDateTime |
getReferenceDate()
Returns the model's date corresponding to the time discretization's \( t = 0 \).
|
double |
getTime(int timeIndex)
Returns the time for a given time index.
|
TimeDiscretization |
getTimeDiscretization()
Returns the timeDiscretizationFromArray.
|
int |
getTimeIndex(double time)
Returns the time index for a given time.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetLIBOR, getNumerairepublic HybridAssetLIBORModelMonteCarloSimulationFromModels(LIBORModelMonteCarloSimulationModel liborSimulation, AssetModelMonteCarloSimulationModel assetSimulation, DiscountCurve discountCurve)
LIBORModelMonteCarloSimulationModel providing the interest
rate simulation and the numeraire and an object implementing
AssetModelMonteCarloSimulationModel providing the
asset simulation.
The interest rate model needs to be in spot measure.liborSimulation - An object implementing LIBORModelMonteCarloSimulationModel providing the interest rate simulation and the numeraire.assetSimulation - An object implementing AssetModelMonteCarloSimulationModel providing the asset simulation.discountCurve - An optional object implementing DiscountCurveInterface to adjust the numeraire for a deterministic discounting spread.public HybridAssetLIBORModelMonteCarloSimulationFromModels(LIBORModelMonteCarloSimulationModel liborSimulation, AssetModelMonteCarloSimulationModel assetSimulation)
public int getNumberOfPaths()
MonteCarloSimulationModelgetNumberOfPaths in interface MonteCarloSimulationModelpublic LocalDateTime getReferenceDate()
MonteCarloSimulationModelgetReferenceDate in interface MonteCarloSimulationModelpublic TimeDiscretization getTimeDiscretization()
MonteCarloSimulationModelgetTimeDiscretization in interface MonteCarloSimulationModelpublic int getNumberOfFactors()
getNumberOfFactors in interface LIBORModelMonteCarloSimulationModelpublic double getTime(int timeIndex)
MonteCarloSimulationModelgetTime in interface MonteCarloSimulationModeltimeIndex - Time indexpublic TimeDiscretization getLiborPeriodDiscretization()
LIBORModelMonteCarloSimulationModelgetLiborPeriodDiscretization in interface LIBORModelMonteCarloSimulationModelpublic int getTimeIndex(double time)
MonteCarloSimulationModelgetTimeIndex in interface MonteCarloSimulationModeltime - The time.public int getNumberOfLibors()
getNumberOfLibors in interface LIBORModelMonteCarloSimulationModelpublic RandomVariable getRandomVariableForConstant(double value)
MonteCarloSimulationModelMonteCarloSimulationModel.getRandomVariableForConstant in interface MonteCarloSimulationModelvalue - The constant value to be used for initialized the random variable.public double getLiborPeriod(int timeIndex)
LIBORModelMonteCarloSimulationModelgetLiborPeriod in interface LIBORModelMonteCarloSimulationModeltimeIndex - The index corresponding to a given time (interpretation is start of period)public int getLiborPeriodIndex(double time)
LIBORModelMonteCarloSimulationModelgetLiborPeriodIndex in interface LIBORModelMonteCarloSimulationModeltime - The tenor time (fixing of the forward rate) for which the index is requested.public RandomVariable getMonteCarloWeights(int timeIndex) throws CalculationException
MonteCarloSimulationModelgetMonteCarloWeights in interface MonteCarloSimulationModeltimeIndex - Time index at which the process should be observedCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public RandomVariable getLIBOR(int timeIndex, int liborIndex) throws CalculationException
LIBORModelMonteCarloSimulationModelgetLIBOR in interface LIBORModelMonteCarloSimulationModeltimeIndex - Simulation time index.liborIndex - TenorFromArray time index (index corresponding to the fixing of the forward rate).CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public RandomVariable getMonteCarloWeights(double time) throws CalculationException
MonteCarloSimulationModelgetMonteCarloWeights in interface MonteCarloSimulationModeltime - Time at which the process should be observedCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public RandomVariable getLIBOR(double time, double periodStart, double periodEnd) throws CalculationException
TermStructureMonteCarloSimulationModelgetLIBOR in interface TermStructureMonteCarloSimulationModeltime - Simulation timeperiodStart - Start time of periodperiodEnd - End time of periodCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public HybridAssetLIBORModelMonteCarloSimulationFromModels getCloneWithModifiedData(Map<String,Object> dataModified)
MonteCarloSimulationModelgetCloneWithModifiedData in interface AssetModelMonteCarloSimulationModelgetCloneWithModifiedData in interface MonteCarloSimulationModeldataModified - The data which should be changed in the new model. This is a key value may, where the key corresponds to the name of a property in one of the objects constructors.public RandomVariable[] getLIBORs(int timeIndex) throws CalculationException
LIBORModelMonteCarloSimulationModelgetLIBORs in interface LIBORModelMonteCarloSimulationModeltimeIndex - Simulation time index.CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public RandomVariable getNumeraire(double time) throws CalculationException
TermStructureMonteCarloSimulationModelgetNumeraire in interface AssetModelMonteCarloSimulationModelgetNumeraire in interface TermStructureMonteCarloSimulationModeltime - Time at which the process should be observedRandomVariableFromDoubleArrayCalculationException - Thrown if calculation of numeraire fails.public RandomVariable getNumeraire(int timeIndex) throws CalculationException
AssetModelMonteCarloSimulationModelgetNumeraire in interface AssetModelMonteCarloSimulationModeltimeIndex - The time index (associated with this models time discretization).CalculationException - Thrown if calculation of numeraire fails.public BrownianMotion getBrownianMotion()
LIBORModelMonteCarloSimulationModelgetBrownianMotion in interface LIBORModelMonteCarloSimulationModelpublic TermStructureModel getModel()
LIBORModelMonteCarloSimulationModelgetModel in interface LIBORModelMonteCarloSimulationModelgetModel in interface TermStructureMonteCarloSimulationModelpublic MonteCarloProcess getProcess()
getProcess in interface TermStructureMonteCarloSimulationModel@Deprecated public HybridAssetLIBORModelMonteCarloSimulationFromModels getCloneWithModifiedSeed(int seed)
LIBORModelMonteCarloSimulationModelgetCloneWithModifiedSeed in interface AssetModelMonteCarloSimulationModelgetCloneWithModifiedSeed in interface LIBORModelMonteCarloSimulationModelseed - The seedLIBORModelMonteCarloSimulationModel.getCloneWithModifiedSeed(int)public int getNumberOfAssets()
AssetModelMonteCarloSimulationModelgetNumberOfAssets in interface AssetModelMonteCarloSimulationModelpublic RandomVariable getAssetValue(int timeIndex, int assetIndex) throws CalculationException
AssetModelMonteCarloSimulationModelgetAssetValue in interface AssetModelMonteCarloSimulationModeltimeIndex - Index of simulation timeassetIndex - Index of the asset (0 for a single asset model)CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public RandomVariable getAssetValue(double time, int assetIndex) throws CalculationException
AssetModelMonteCarloSimulationModelgetAssetValue in interface AssetModelMonteCarloSimulationModeltime - Simulation timeassetIndex - Index of the asset (0 for a single asset model)CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public Map<String,RandomVariable> getModelParameters()
IndependentModelParameterProvidergetModelParameters in interface IndependentModelParameterProviderCopyright © 2019. All rights reserved.