-
- All Superinterfaces:
IndependentModelParameterProvider
,ProcessModel
,TermStructureModel
- All Known Subinterfaces:
LIBORMarketModel
- All Known Implementing Classes:
HullWhiteModel
,HullWhiteModelWithConstantCoeff
,HullWhiteModelWithDirectSimulation
,HullWhiteModelWithShiftExtension
,LIBORMarketModelFromCovarianceModel
,LIBORMarketModelStandard
public interface LIBORModel extends TermStructureModel, IndependentModelParameterProvider
- Version:
- 1.0
- Author:
- Christian Fries
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description LIBORModel
getCloneWithModifiedData(Map<String,Object> dataModified)
Create a new object implementing LIBORModel, using the new data.RandomVariable
getLIBOR(MonteCarloProcess process, int timeIndex, int liborIndex)
Return the forward rate at a given timeIndex and for a given liborIndex.double
getLiborPeriod(int timeIndex)
The period start corresponding to a given forward rate discretization index.TimeDiscretization
getLiborPeriodDiscretization()
The tenor time discretization of the forward rate curve.int
getLiborPeriodIndex(double time)
Same as java.util.Arrays.binarySearch(liborPeriodDiscretization,time).int
getNumberOfLibors()
Get the number of LIBORs in the LIBOR discretization.-
Methods inherited from interface net.finmath.montecarlo.automaticdifferentiation.IndependentModelParameterProvider
getModelParameters
-
Methods inherited from interface net.finmath.montecarlo.model.ProcessModel
applyStateSpaceTransform, applyStateSpaceTransformInverse, getDrift, getFactorLoading, getInitialState, getNumberOfComponents, getNumberOfFactors, getNumeraire, getRandomVariableForConstant, getReferenceDate
-
Methods inherited from interface net.finmath.montecarlo.interestrate.TermStructureModel
getAnalyticModel, getDiscountCurve, getForwardDiscountBond, getForwardRate, getForwardRateCurve, getLIBOR
-
-
-
-
Method Detail
-
getLIBOR
RandomVariable getLIBOR(MonteCarloProcess process, int timeIndex, int liborIndex) throws CalculationException
Return the forward rate at a given timeIndex and for a given liborIndex.- Parameters:
process
- The discretization process generating this model. The process provides call backs for TimeDiscretization and allows calls to getProcessValue for timeIndices less or equal the given one.timeIndex
- The time index (associated withProcess.getTimeDiscretization()
.liborIndex
- The forward rate index (associated withgetLiborPeriodDiscretization()
.- Returns:
- The forward rate.
- Throws:
CalculationException
- Thrown if calculation failed.
-
getLiborPeriodDiscretization
TimeDiscretization getLiborPeriodDiscretization()
The tenor time discretization of the forward rate curve.- Returns:
- The tenor time discretization of the forward rate curve.
-
getNumberOfLibors
int getNumberOfLibors()
Get the number of LIBORs in the LIBOR discretization.- Returns:
- The number of LIBORs in the LIBOR discretization
-
getLiborPeriod
double getLiborPeriod(int timeIndex)
The period start corresponding to a given forward rate discretization index.- Parameters:
timeIndex
- The index corresponding to a given time (interpretation is start of period)- Returns:
- The period start corresponding to a given forward rate discretization index.
-
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 period start.- Returns:
- The index corresponding to a given time (interpretation is start of period)
-
getCloneWithModifiedData
LIBORModel getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
Create a new object implementing LIBORModel, using the new data.- Specified by:
getCloneWithModifiedData
in interfaceProcessModel
- Specified by:
getCloneWithModifiedData
in interfaceTermStructureModel
- Parameters:
dataModified
- A map with values to be used in constructions (keys are identical to parameter names of the constructors).- Returns:
- A new object implementing LIBORModel, using the new data.
- Throws:
CalculationException
- Thrown if the valuation fails, specific cause may be available via thecause()
method.
-
-