public class LIBORModelMonteCarloSimulation extends Object implements LIBORModelMonteCarloSimulationInterface
LIBORMarketModel model
and AbstractLogNormalProcess process.| Constructor and Description |
|---|
LIBORModelMonteCarloSimulation(LIBORMarketModelInterface model)
Create a LIBOR Monte-Carlo Simulation from a given LIBORMarketModel.
|
LIBORModelMonteCarloSimulation(LIBORMarketModelInterface model,
AbstractProcess process)
Create a LIBOR Monte-Carlo Simulation from a given LIBORMarketModel and an AbstractProcess.
|
| Modifier and Type | Method and Description |
|---|---|
BrownianMotionInterface |
getBrownianMotion()
Returns the Brownian motion used to simulate the curve.
|
LIBORModelMonteCarloSimulationInterface |
getCloneWithModifiedData(Map<String,Object> dataModified)
Create a clone of this simulation modifying some of its properties (if any).
|
LIBORModelMonteCarloSimulationInterface |
getCloneWithModifiedData(String entityKey,
Object dataModified)
Create a clone of this simulation modifying one of its properties (if any).
|
Object |
getCloneWithModifiedSeed(int seed)
Return a clone of this model with a modified Brownian motion using a different seed.
|
AbstractLIBORCovarianceModel |
getCovarianceModel() |
RandomVariableInterface |
getLIBOR(double time,
double periodStart,
double periodEnd)
Return the forward rate for a given simulation time and a given period start and period end.
|
RandomVariableInterface |
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.
|
TimeDiscretizationInterface |
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).
|
RandomVariableInterface[] |
getLIBORs(int timeIndex)
Return the forward rate curve for a given simulation time index.
|
LIBORMarketModelInterface |
getModel()
Returns the underlying model.
|
RandomVariableInterface |
getMonteCarloWeights(double time)
This method returns the weights of a weighted Monte Carlo method (the probability density).
|
RandomVariableInterface |
getMonteCarloWeights(int timeIndex)
This method returns the weights of a weighted Monte Carlo method (the probability density).
|
int |
getNumberOfComponents() |
int |
getNumberOfFactors() |
int |
getNumberOfLibors() |
int |
getNumberOfPaths()
Returns the numberOfPaths.
|
RandomVariableInterface |
getNumeraire(double time)
Return the numeraire at a given time.
|
AbstractProcessInterface |
getProcess() |
RandomVariableInterface |
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
MonteCarloSimulationInterface. |
double |
getTime(int timeIndex)
Returns the time for a given time index.
|
TimeDiscretizationInterface |
getTimeDiscretization()
Returns the timeDiscretization.
|
int |
getTimeIndex(double time)
Returns the time index for a given time.
|
public LIBORModelMonteCarloSimulation(LIBORMarketModelInterface model, AbstractProcess process)
model - The LIBORMarketModel.process - The process.public LIBORModelMonteCarloSimulation(LIBORMarketModelInterface model)
model - The LIBORMarketModel.public RandomVariableInterface getMonteCarloWeights(int timeIndex) throws CalculationException
MonteCarloSimulationInterfacegetMonteCarloWeights in interface MonteCarloSimulationInterfacetimeIndex - Time index at which the process should be observedCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public RandomVariableInterface getMonteCarloWeights(double time) throws CalculationException
MonteCarloSimulationInterfacegetMonteCarloWeights in interface MonteCarloSimulationInterfacetime - Time at which the process should be observedCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public int getNumberOfFactors()
getNumberOfFactors in interface LIBORModelMonteCarloSimulationInterfacepublic int getNumberOfPaths()
MonteCarloSimulationInterfacegetNumberOfPaths in interface MonteCarloSimulationInterfacepublic double getTime(int timeIndex)
MonteCarloSimulationInterfacegetTime in interface MonteCarloSimulationInterfacetimeIndex - Time indexpublic TimeDiscretizationInterface getTimeDiscretization()
MonteCarloSimulationInterfacegetTimeDiscretization in interface MonteCarloSimulationInterfacepublic int getTimeIndex(double time)
MonteCarloSimulationInterfacegetTimeIndex in interface MonteCarloSimulationInterfacetime - The time.public RandomVariableInterface getRandomVariableForConstant(double value)
MonteCarloSimulationInterfaceMonteCarloSimulationInterface.getRandomVariableForConstant in interface MonteCarloSimulationInterfacevalue - The constant value to be used for initialized the random variable.public BrownianMotionInterface getBrownianMotion()
LIBORModelMonteCarloSimulationInterfacegetBrownianMotion in interface LIBORModelMonteCarloSimulationInterfacepublic RandomVariableInterface getLIBOR(int timeIndex, int liborIndex) throws CalculationException
LIBORModelMonteCarloSimulationInterfacegetLIBOR in interface LIBORModelMonteCarloSimulationInterfacetimeIndex - Simulation time index.liborIndex - Tenor 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 RandomVariableInterface[] getLIBORs(int timeIndex) throws CalculationException
LIBORModelMonteCarloSimulationInterfacegetLIBORs in interface LIBORModelMonteCarloSimulationInterfacetimeIndex - Simulation time index.CalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public RandomVariableInterface getLIBOR(double time, double periodStart, double periodEnd) throws CalculationException
LIBORModelMonteCarloSimulationInterfacegetLIBOR in interface LIBORModelMonteCarloSimulationInterfacetime - 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 double getLiborPeriod(int timeIndex)
LIBORModelMonteCarloSimulationInterfacegetLiborPeriod in interface LIBORModelMonteCarloSimulationInterfacetimeIndex - The index corresponding to a given time (interpretation is start of period)public TimeDiscretizationInterface getLiborPeriodDiscretization()
LIBORModelMonteCarloSimulationInterfacegetLiborPeriodDiscretization in interface LIBORModelMonteCarloSimulationInterfacepublic int getLiborPeriodIndex(double time)
LIBORModelMonteCarloSimulationInterfacegetLiborPeriodIndex in interface LIBORModelMonteCarloSimulationInterfacetime - The tenor time (fixing of the forward rate) for which the index is requested.public int getNumberOfComponents()
public int getNumberOfLibors()
getNumberOfLibors in interface LIBORModelMonteCarloSimulationInterfacepublic RandomVariableInterface getNumeraire(double time) throws CalculationException
LIBORModelMonteCarloSimulationInterfacegetNumeraire in interface LIBORModelMonteCarloSimulationInterfacetime - Time at which the process should be observedRandomVariableCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public AbstractLIBORCovarianceModel getCovarianceModel()
getCovarianceModel in interface LIBORModelMonteCarloSimulationInterfacepublic LIBORMarketModelInterface getModel()
LIBORModelMonteCarloSimulationInterfacegetModel in interface LIBORModelMonteCarloSimulationInterfacepublic AbstractProcessInterface getProcess()
getProcess in interface LIBORModelMonteCarloSimulationInterfacepublic Object getCloneWithModifiedSeed(int seed)
LIBORModelMonteCarloSimulationInterfacegetCloneWithModifiedSeed in interface LIBORModelMonteCarloSimulationInterfaceseed - The seedpublic LIBORModelMonteCarloSimulationInterface getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
MonteCarloSimulationInterfacegetCloneWithModifiedData in interface MonteCarloSimulationInterfacedataModified - The data which should be changed in the new modelCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.public LIBORModelMonteCarloSimulationInterface getCloneWithModifiedData(String entityKey, Object dataModified) throws CalculationException
entityKey - The entity to modify.dataModified - The data which should be changed in the new modelCalculationException - Thrown if the valuation fails, specific cause may be available via the cause() method.Copyright © 2015. All rights reserved.