Interface LIBORModel
- All Superinterfaces:
IndependentModelParameterProvider, ProcessModel, TermStructureModel
- All Known Subinterfaces:
LIBORMarketModel
- All Known Implementing Classes:
HullWhiteModel, HullWhiteModelWithConstantCoeff, HullWhiteModelWithDirectSimulation, HullWhiteModelWithShiftExtension, LIBORMarketModelFromCovarianceModel, LIBORMarketModelStandard
- Version:
- 1.0
- Author:
- Christian Fries
-
Method Summary
Modifier and TypeMethodDescriptiongetCloneWithModifiedData(Map<String, Object> dataModified) Create a new object implementing LIBORModel, using the new data.getLIBOR(MonteCarloProcess process, int timeIndex, int liborIndex) Return the forward rate at a given timeIndex and for a given liborIndex.doublegetLiborPeriod(int timeIndex) The period start corresponding to a given forward rate discretization index.The tenor time discretization of the forward rate curve.intgetLiborPeriodIndex(double time) Same as java.util.Arrays.binarySearch(liborPeriodDiscretization,time).intGet the number of LIBORs in the LIBOR discretization.Methods inherited from interface IndependentModelParameterProvider
getModelParametersMethods inherited from interface ProcessModel
applyStateSpaceTransform, applyStateSpaceTransformInverse, getDrift, getFactorLoading, getInitialState, getNumberOfComponents, getNumberOfFactors, getNumeraire, getRandomVariableForConstant, getReferenceDateMethods inherited from interface TermStructureModel
getAnalyticModel, getDiscountCurve, getForwardDiscountBond, getForwardRate, getForwardRateCurve, getLIBOR
-
Method Details
-
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
Create a new object implementing LIBORModel, using the new data.- Specified by:
getCloneWithModifiedDatain interfaceProcessModel- Specified by:
getCloneWithModifiedDatain 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.
-