net.finmath.montecarlo.interestrate
Interface LIBORModelMonteCarloSimulationInterface
-
- All Superinterfaces:
- MonteCarloSimulationInterface
- All Known Subinterfaces:
- HybridAssetLIBORModelMonteCarloSimulationInterface
- All Known Implementing Classes:
- HybridAssetLIBORModelMonteCarloSimulation, LIBORModelMonteCarloSimulation
public interface LIBORModelMonteCarloSimulationInterface extends MonteCarloSimulationInterface
Basic interface which has to be implemented by Monte Carlo models for LIBOR processes.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method and Description BrownianMotionInterfacegetBrownianMotion()Returns the Brownian motion used to simulate the curve.java.lang.ObjectgetCloneWithModifiedSeed(int seed)Deprecated.AbstractLIBORCovarianceModelgetCovarianceModel()RandomVariableInterfacegetLIBOR(double time, double periodStart, double periodEnd)Return the forward rate for a given simulation time and a given period start and period end.RandomVariableInterfacegetLIBOR(int timeIndex, int liborIndex)Return the forward rate for a given simulation time index and a given forward rate index.doublegetLiborPeriod(int timeIndex)Returns the period start of the specified forward rate period.TimeDiscretizationInterfacegetLiborPeriodDiscretization()Returns the libor period discretization as time discretization representing start and end dates of periods.intgetLiborPeriodIndex(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.LIBORMarketModelInterfacegetModel()Returns the underlying model.intgetNumberOfFactors()intgetNumberOfLibors()RandomVariableInterfacegetNumeraire(double time)Return the numeraire at a given time.AbstractProcessInterfacegetProcess()-
Methods inherited from interface net.finmath.montecarlo.MonteCarloSimulationInterface
getCloneWithModifiedData, getMonteCarloWeights, getMonteCarloWeights, getNumberOfPaths, getRandomVariableForConstant, getTime, getTimeDiscretization, getTimeIndex
-
-
-
-
Method Detail
-
getNumberOfFactors
int getNumberOfFactors()
- Returns:
- Returns the numberOfFactors.
-
getLiborPeriodDiscretization
TimeDiscretizationInterface getLiborPeriodDiscretization()
Returns the libor period discretization as time discretization representing start and end dates of periods.- Returns:
- Returns the libor period discretization
-
getNumberOfLibors
int getNumberOfLibors()
- Returns:
- The number of LIBORs in the LIBOR discretization
-
getLiborPeriod
double getLiborPeriod(int timeIndex)
Returns the period start of the specified forward rate period.- Parameters:
timeIndex- The index corresponding to a given time (interpretation is start of period)- Returns:
- The period start of the specified forward rate period.
-
getLiborPeriodIndex
int getLiborPeriodIndex(double time)
Same as java.util.Arrays.binarySearch(liborPeriodDiscretization,time). Will return a negative value if the time is not found, but then -index-1 corresponds to the index of the smallest time greater than the given one.- Parameters:
time- The tenor time (fixing of the forward rate) for which the index is requested.- Returns:
- The index corresponding to a given time (interpretation is start of period)
-
getLIBOR
RandomVariableInterface getLIBOR(int timeIndex, int liborIndex) throws CalculationException
Return the forward rate for a given simulation time index and a given forward rate index.- Parameters:
timeIndex- Simulation time index.liborIndex- Tenor time index (index corresponding to the fixing of the forward rate).- Returns:
- The forward rate as a random variable.
- Throws:
CalculationException- Thrown if the valuation fails, specific cause may be available via thecause()method.
-
getLIBOR
RandomVariableInterface getLIBOR(double time, double periodStart, double periodEnd) throws CalculationException
Return the forward rate for a given simulation time and a given period start and period end.- Parameters:
time- Simulation timeperiodStart- Start time of periodperiodEnd- End time of period- Returns:
- The forward rate as a random variable as seen on simulation time for the specified period.
- Throws:
CalculationException- Thrown if the valuation fails, specific cause may be available via thecause()method.
-
getLIBORs
RandomVariableInterface[] getLIBORs(int timeIndex) throws CalculationException
Return the forward rate curve for a given simulation time index.- Parameters:
timeIndex- Simulation time index.- Returns:
- The forward rate curve for a given simulation time index.
- Throws:
CalculationException- Thrown if the valuation fails, specific cause may be available via thecause()method.
-
getNumeraire
RandomVariableInterface getNumeraire(double time) throws CalculationException
Return the numeraire at a given time.- Parameters:
time- Time at which the process should be observed- Returns:
- The numeraire at the specified time as
RandomVariable - Throws:
CalculationException- Thrown if the valuation fails, specific cause may be available via thecause()method.
-
getBrownianMotion
BrownianMotionInterface getBrownianMotion()
Returns the Brownian motion used to simulate the curve.- Returns:
- The Brownian motion used to simulate the curve.
-
getModel
LIBORMarketModelInterface getModel()
Returns the underlying model. The model specifies the measure, the initial value, the drift, the factor loadings (covariance model), etc.- Returns:
- The underlying model
-
getProcess
AbstractProcessInterface getProcess()
- Returns:
- The implementation of the process
-
getCovarianceModel
AbstractLIBORCovarianceModel getCovarianceModel()
- Returns:
- the covarianceModel
-
getCloneWithModifiedSeed
@Deprecated java.lang.Object getCloneWithModifiedSeed(int seed)
Deprecated.Return a clone of this model with a modified Brownian motion using a different seed.- Parameters:
seed- The seed- Returns:
- Clone of this object, but having a different seed.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG