Interface TermStructureModel
- All Superinterfaces:
ProcessModel
- All Known Subinterfaces:
LIBORMarketModel, LIBORModel, ShortRateModel
- All Known Implementing Classes:
HullWhiteModel, HullWhiteModelWithConstantCoeff, HullWhiteModelWithDirectSimulation, HullWhiteModelWithShiftExtension, LIBORMarketModelFromCovarianceModel, LIBORMarketModelStandard, LIBORMarketModelWithTenorRefinement
- Version:
- 1.0
- Author:
- Christian Fries
-
Method Summary
Modifier and TypeMethodDescriptionReturn the associated analytic model, a collection of market date object like discount curve, forward curve and volatility surfaces.getCloneWithModifiedData
(Map<String, Object> dataModified) Create a new object implementing TermStructureModel, using the new data.Return the discount curve associated the forwards.default RandomVariable
getForwardDiscountBond
(MonteCarloProcess process, double time, double maturity) Returns the time \( t \) forward bond derived from the numeraire, i.e., \( P(T;t) = E( \frac{N(t)}{N(T)} \vert \mathcal{F}_{t} ) \).getForwardRate
(MonteCarloProcess process, double time, double periodStart, double periodEnd) Returns the time \( t \) forward rate on the models forward curve.Return the initial forward rate curve.default RandomVariable
getLIBOR
(MonteCarloProcess process, double time, double periodStart, double periodEnd) Returns the time \( t \) forward rate on the models forward curve.Methods inherited from interface ProcessModel
applyStateSpaceTransform, applyStateSpaceTransformInverse, getDrift, getFactorLoading, getInitialState, getNumberOfComponents, getNumberOfFactors, getNumeraire, getRandomVariableForConstant, getReferenceDate
-
Method Details
-
getForwardRate
RandomVariable getForwardRate(MonteCarloProcess process, double time, double periodStart, double periodEnd) throws CalculationException Returns the time \( t \) forward rate on the models forward curve. Note: It is guaranteed that the random variable returned by this method is \( \mathcal{F}_{t} ) \)-measurable.- 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.time
- The evaluation time.periodStart
- The period start of the forward rate.periodEnd
- The period end of the forward rate.- Returns:
- The forward rate.
- Throws:
CalculationException
- Thrown if model fails to calculate the random variable.
-
getForwardDiscountBond
default RandomVariable getForwardDiscountBond(MonteCarloProcess process, double time, double maturity) throws CalculationException Returns the time \( t \) forward bond derived from the numeraire, i.e., \( P(T;t) = E( \frac{N(t)}{N(T)} \vert \mathcal{F}_{t} ) \). Note: It is guaranteed that the random variabble returned by this method is \( \mathcal{F}_{t} ) \)-measurable.- 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.time
- The evaluation time.maturity
- The maturity.- Returns:
- The forward bond P(T;t).
- Throws:
CalculationException
- Thrown if model fails to calculate the random variable.
-
getAnalyticModel
AnalyticModel getAnalyticModel()Return the associated analytic model, a collection of market date object like discount curve, forward curve and volatility surfaces.- Returns:
- The associated analytic model.
-
getDiscountCurve
DiscountCurve getDiscountCurve()Return the discount curve associated the forwards.- Returns:
- the discount curve associated the forwards.
-
getForwardRateCurve
ForwardCurve getForwardRateCurve()Return the initial forward rate curve.- Returns:
- the forward rate curve
-
getCloneWithModifiedData
TermStructureModel getCloneWithModifiedData(Map<String, Object> dataModified) throws CalculationExceptionCreate a new object implementing TermStructureModel, using the new data.- Specified by:
getCloneWithModifiedData
in interfaceProcessModel
- 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 TermStructureModel, using the new data.
- Throws:
CalculationException
- Thrown if the valuation fails, specific cause may be available via thecause()
method.
-
getLIBOR
default RandomVariable getLIBOR(MonteCarloProcess process, double time, double periodStart, double periodEnd) throws CalculationException Returns the time \( t \) forward rate on the models forward curve. Note: It is guaranteed that the random variable returned by this method is \( \mathcal{F}_{t} ) \)-measurable.- 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.time
- The evaluation time.periodStart
- The period start of the forward rate.periodEnd
- The period end of the forward rate.- Returns:
- The forward rate.
- Throws:
CalculationException
- Thrown if model fails to calculate the random variable.
-