Module net.finmath.lib
Package net.finmath.montecarlo.interestrate.models.covariance
Contains covariance models and their calibration as plug-ins for the LIBOR market model and volatility and correlation models which may be used to build a covariance model.
Covariance models provide they free parameters via an interface. The class AbstractLIBORCovarianceModelParametric provides a method that implements the generic calibration of the models.
- Author:
- Christian Fries
-
Interface Summary Interface Description LIBORCovarianceModel Interface for covariance models providing a vector of (possibly stochastic) factor loadings.LIBORCovarianceModelCalibrateable Interface for covariance models which may perform a calibration by providing the correspondinggetCloneCalibrated-method.ShortRateVolatilityModel Interface for piecewise constant short rate volatility models with piecewise constant instantaneous short rate volatility \( t \mapsto \sigma(t) \) and piecewise constant short rate mean reversion speed \( t \mapsto a(t) \).ShortRateVolatilityModelCalibrateable Interface for covariance models which may perform a calibration by providing the correspondinggetCloneCalibrated-method.ShortRateVolatilityModelParametric Interface for short rate volatility models which are determined by a vector of parameter.TermStructureCovarianceModel A base class and interface description for the instantaneous covariance of an forward rate interest rate model.TermStructureFactorLoadingsModel A base class and interface description for the instantaneous covariance of an forward rate interest rate model.TermStructureFactorLoadingsModelParametric A base class and interface description for the instantaneous covariance of an forward rate interest rate model.TermStructureTenorTimeScaling -
Class Summary Class Description AbstractLIBORCovarianceModel A base class and interface description for the instantaneous covariance of an forward rate interest rate model.AbstractLIBORCovarianceModelParametric Base class for parametric covariance models, see alsoAbstractLIBORCovarianceModel.AbstractShortRateVolatilityModel A base class and interface description for the instantaneous volatility of an short rate model.AbstractShortRateVolatilityModelParametric Base class for parametric volatility models, see alsoAbstractShortRateVolatilityModel.BlendedLocalVolatilityModel Blended model (or displaced diffusion model) build on top of a standard covariance model.DisplacedLocalVolatilityModel Displaced model build on top of a standard covariance model.ExponentialDecayLocalVolatilityModel Exponential decay model build on top of a given covariance model.HullWhiteLocalVolatilityModel Special variant of a blended model (or displaced diffusion model) build on top of a standard covariance model using the special function corresponding to the Hull-White local volatility.LIBORCorrelationModel Abstract base class and interface description of a correlation model (as it is used inLIBORCovarianceModelFromVolatilityAndCorrelation).LIBORCorrelationModelExponentialDecay Simple 1-parametric correlation model given by R, where R is a factor reduced matrix (seeLinearAlgebra.factorReduction(double[][], int)) created from the \( n \) Eigenvectors of \( \tilde{R} \) belonging to the \( n \) largest non-negative Eigenvalues, where \( \tilde{R} = \tilde{\rho}_{i,j} \) and \[ \tilde{\rho}_{i,j} = \exp( -\max(a,0) | T_{i}-T_{j} | ) \] For a more general model featuring three parameters seeLIBORCorrelationModelThreeParameterExponentialDecay.LIBORCorrelationModelThreeParameterExponentialDecay Simple correlation model given by R, where R is a factor reduced matrix (seeLinearAlgebra.factorReduction(double[][], int)) created from the \( n \) Eigenvectors of \( \tilde{R} \) belonging to the \( n \) largest non-negative Eigenvalues, where \( \tilde{R} = \tilde{\rho}_{i,j} \) and \[ \tilde{\rho}_{i,j} = b + (1-b) * \exp(-a |T_{i} - T_{j}| - c \max(T_{i},T_{j}))LIBORCovarianceModelBH A five parameter covariance model corresponding.LIBORCovarianceModelExponentialForm5Param The five parameter covariance model consisting of anLIBORVolatilityModelMaturityDependentFourParameterExponentialFormand anLIBORCorrelationModelExponentialDecay.LIBORCovarianceModelExponentialForm7Param LIBORCovarianceModelFromVolatilityAndCorrelation A covariance model build from a volatility model implementingLIBORVolatilityModeland a correlation model implementingLIBORCorrelationModel.LIBORCovarianceModelStochasticHestonVolatility As Heston like stochastic volatility model, using a process \( \lambda(t) = \sqrt(V(t)) \) \[ dV(t) = \kappa ( \theta - V(t) ) dt + \xi \sqrt{V(t)} dW_{1}(t), \quad V(0) = 1.0, \] where \( \lambda(0) = 1 \) to scale all factor loadings \( f_{i} \) returned by a given covariance model.LIBORCovarianceModelStochasticVolatility Simple stochastic volatility model, using a process \[ d\lambda(t) = \nu \lambda(t) \left( \rho \mathrm{d} W_{1}(t) + \sqrt{1-\rho^{2}} \mathrm{d} W_{2}(t) \right) \text{,} \] where \( \lambda(0) = 1 \) to scale all factor loadings \( f_{i} \) returned by a given covariance model.LIBORVolatilityModel Abstract base class and interface description of a volatility model (as it is used inLIBORCovarianceModelFromVolatilityAndCorrelation).LIBORVolatilityModelFourParameterExponentialForm Implements the volatility model \[ \sigma_{i}(t_{j}) = ( a + b (T_{i}-t_{j}) ) exp(-c (T_{i}-t_{j})) + d \text{.} \] The parameters here have some interpretation: The parameter a: an initial volatility level. The parameter b: the slope at the short end (shortly before maturity). The parameter c: exponential decay of the volatility in time-to-maturity. The parameter d: if c > 0 this is the very long term volatility level. Note that this model results in a terminal (Black 76) volatility which is given by \[ \left( \sigma^{\text{Black}}_{i}(t_{k}) \right)^2 = \frac{1}{t_{k}} \sum_{j=0}^{k-1} \left( ( a + b (T_{i}-t_{j}) ) exp(-c (T_{i}-t_{j})) + d \right)^{2} (t_{j+1}-t_{j}) \] i.e., the instantaneous volatility is given by the picewise constant approximation of the function \[ \sigma_{i}(t) = ( a + b (T_{i}-t) ) exp(-c (T_{i}-t)) + d \] on the time discretization \( \{ t_{j} \} \).LIBORVolatilityModelFourParameterExponentialFormIntegrated Implements the volatility model \[ \sigma_{i}(t_{j}) = \sqrt{ \frac{1}{t_{j+1}-t_{j}} \int_{t_{j}}^{t_{j+1}} \left( ( a + b (T_{i}-t) ) exp(-c (T_{i}-t)) + d \right)^{2} \ \mathrm{d}t } \text{.} \] The parameters here have some interpretation: The parameter a: an initial volatility level. The parameter b: the slope at the short end (shortly before maturity). The parameter c: exponential decay of the volatility in time-to-maturity. The parameter d: if c > 0 this is the very long term volatility level. Note that this model results in a terminal (Black 76) volatility which is given by \[ \left( \sigma^{\text{Black}}_{i}(t_{k}) \right)^2 = \frac{1}{t_{k} \int_{0}^{t_{k}} \left( ( a + b (T_{i}-t) ) exp(-c (T_{i}-t)) + d \right)^{2} \ \mathrm{d}t \text{.} \]LIBORVolatilityModelFromGivenMatrix Implements a simple volatility model using given piece-wise constant values on a given discretization grid.LIBORVolatilityModelMaturityDependentFourParameterExponentialForm LIBORVolatilityModelPiecewiseConstant LIBORVolatilityModelTimeHomogenousPiecewiseConstant Implements a piecewise constant volatility model, where \( \sigma(t,T) = sigma_{i} \) where \( i = \max \{ j : \tau_{j} \leq T-t \} \) and \( \tau_{0}, \tau_{1}, \ldots, \tau_{n-1} \) is a given time discretization.LIBORVolatilityModelTwoParameterExponentialForm Implements the volatility model σi(tj) = a * exp(-b (Ti-tj))ShortRateVolatilityModelAsGiven A short rate volatility model from given volatility and mean reversion.ShortRateVolatilityModelHoLee ShortRateVolatilityModelPiecewiseConstant Short rate volatility model with a piecewise constant volatility and a piecewise constant mean reversion.TermStructCovarianceModelFromLIBORCovarianceModel TermStructCovarianceModelFromLIBORCovarianceModelParametric TermStructureCovarianceModelParametric A base class and interface description for the instantaneous covariance of an forward rate interest rate model.TermStructureTenorTimeScalingPicewiseConstant