Module net.finmath.lib
Interface LIBORModelMonteCarloSimulationModel
-
- All Superinterfaces:
IndependentModelParameterProvider,Model,MonteCarloSimulationModel,TermStructureMonteCarloSimulationModel
- All Known Subinterfaces:
HybridAssetLIBORModelMonteCarloSimulation
- All Known Implementing Classes:
HybridAssetLIBORModelMonteCarloSimulationFromModels,LIBORMonteCarloSimulationFromLIBORModel,LIBORMonteCarloSimulationFromTermStructureModel
public interface LIBORModelMonteCarloSimulationModel extends TermStructureMonteCarloSimulationModel
Basic interface which has to be implemented by Monte Carlo models for LIBOR processes.- Version:
- 1.0
- Author:
- Christian Fries
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description RandomVariablegetLIBOR(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.TimeDiscretizationgetLiborPeriodDiscretization()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).RandomVariable[]getLIBORs(int timeIndex)Return the forward rate curve for a given simulation time index.intgetNumberOfLibors()-
Methods inherited from interface net.finmath.montecarlo.automaticdifferentiation.IndependentModelParameterProvider
getModelParameters
-
Methods inherited from interface net.finmath.montecarlo.MonteCarloSimulationModel
getCloneWithModifiedData, getMonteCarloWeights, getMonteCarloWeights, getNumberOfPaths, getRandomVariableForConstant, getReferenceDate, getTime, getTimeDiscretization, getTimeIndex
-
Methods inherited from interface net.finmath.montecarlo.interestrate.TermStructureMonteCarloSimulationModel
getBrownianMotion, getCloneWithModifiedSeed, getForwardRate, getForwardRate, getLIBOR, getLIBOR, getModel, getNumberOfFactors, getNumeraire, getNumeraire, getProcess
-
-
-
-
Method Detail
-
getLiborPeriodDiscretization
TimeDiscretization 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
RandomVariable 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- TenorFromArray 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.
-
getLIBORs
RandomVariable[] 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.
-
-