## Interface TermStructureModel

• 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
Modifier and Type Method Description
AnalyticModel getAnalyticModel()
Return the associated analytic model, a collection of market date object like discount curve, forward curve and volatility surfaces.
TermStructureModel getCloneWithModifiedData​(Map<String,​Object> dataModified)
Create a new object implementing TermStructureModel, using the new data.
DiscountCurve getDiscountCurve()
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} )$$.
RandomVariable getForwardRate​(MonteCarloProcess process, double time, double periodStart, double periodEnd)
Returns the time $$t$$ forward rate on the models forward curve.
ForwardCurve getForwardRateCurve()
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 net.finmath.montecarlo.model.ProcessModel

applyStateSpaceTransform, applyStateSpaceTransformInverse, getDrift, getFactorLoading, getInitialState, getNumberOfComponents, getNumberOfFactors, getNumeraire, getRandomVariableForConstant, getReferenceDate
• ### Method Detail

• #### 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 CalculationException
Create a new object implementing TermStructureModel, using the new data.
Specified by:
getCloneWithModifiedData in interface ProcessModel
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 the cause() 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.