-
- All Superinterfaces:
ProcessModel
- All Known Subinterfaces:
LIBORMarketModel,LIBORModel
- All Known Implementing Classes:
HullWhiteModel,HullWhiteModelWithConstantCoeff,HullWhiteModelWithDirectSimulation,HullWhiteModelWithShiftExtension,LIBORMarketModelFromCovarianceModel,LIBORMarketModelStandard,LIBORMarketModelWithTenorRefinement
public interface TermStructureModel extends ProcessModel
- Version:
- 1.0
- Author:
- Christian Fries
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description AnalyticModelgetAnalyticModel()Return the associated analytic model, a collection of market date object like discount curve, forward curve and volatility surfaces.TermStructureModelgetCloneWithModifiedData(Map<String,Object> dataModified)Create a new object implementing TermStructureModel, using the new data.DiscountCurvegetDiscountCurve()Return the discount curve associated the forwards.default RandomVariablegetForwardDiscountBond(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} ) \).ForwardCurvegetForwardRateCurve()Return the initial forward rate curve.RandomVariablegetLIBOR(MonteCarloProcess process, double time, double periodStart, double periodEnd)Returns the time \( t \) forward rate on the models forward curve.-
Methods inherited from interface net.finmath.montecarlo.model.ProcessModel
applyStateSpaceTransform, applyStateSpaceTransformInverse, getDrift, getFactorLoading, getInitialState, getNumberOfComponents, getNumberOfFactors, getNumeraire, getRandomVariableForConstant, getReferenceDate
-
-
-
-
Method Detail
-
getLIBOR
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.
-
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 CalculationException
Create a new object implementing TermStructureModel, using the new data.- Specified by:
getCloneWithModifiedDatain 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.
-
-