Class LIBORVolatilityModelFourParameterExponentialForm

java.lang.Object
net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModel
net.finmath.montecarlo.interestrate.models.covariance.LIBORVolatilityModelFourParameterExponentialForm
All Implemented Interfaces:
Serializable

public class LIBORVolatilityModelFourParameterExponentialForm
extends LIBORVolatilityModel
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} \} \). For the exact integration of this formula see LIBORVolatilityModelFourParameterExponentialFormIntegrated.
Version:
1.0
Author:
Christian Fries
See Also:
Serialized Form
  • Constructor Details

    • LIBORVolatilityModelFourParameterExponentialForm

      public LIBORVolatilityModelFourParameterExponentialForm​(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable a, RandomVariable b, RandomVariable c, RandomVariable d, boolean isCalibrateable)
      Creates the volatility model σi(tj) = ( a + b * (Ti-tj) ) * exp(-c (Ti-tj)) + d
      Parameters:
      abstractRandomVariableFactory - The random variable factor used to construct random variables from the parameters.
      timeDiscretization - The simulation time discretization tj.
      liborPeriodDiscretization - The period time discretization Ti.
      a - The parameter a: an initial volatility level.
      b - The parameter b: the slope at the short end (shortly before maturity).
      c - The parameter c: exponential decay of the volatility in time-to-maturity.
      d - The parameter d: if c > 0 this is the very long term volatility level.
      isCalibrateable - Set this to true, if the parameters are available for calibration.
    • LIBORVolatilityModelFourParameterExponentialForm

      public LIBORVolatilityModelFourParameterExponentialForm​(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, RandomVariable a, RandomVariable b, RandomVariable c, RandomVariable d, boolean isCalibrateable)
      Creates the volatility model σi(tj) = ( a + b * (Ti-tj) ) * exp(-c (Ti-tj)) + d
      Parameters:
      timeDiscretization - The simulation time discretization tj.
      liborPeriodDiscretization - The period time discretization Ti.
      a - The parameter a: an initial volatility level.
      b - The parameter b: the slope at the short end (shortly before maturity).
      c - The parameter c: exponential decay of the volatility in time-to-maturity.
      d - The parameter d: if c > 0 this is the very long term volatility level.
      isCalibrateable - Set this to true, if the parameters are available for calibration.
    • LIBORVolatilityModelFourParameterExponentialForm

      public LIBORVolatilityModelFourParameterExponentialForm​(RandomVariableFactory abstractRandomVariableFactory, TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double a, double b, double c, double d, boolean isCalibrateable)
      Creates the volatility model σi(tj) = ( a + b * (Ti-tj) ) * exp(-c (Ti-tj)) + d
      Parameters:
      abstractRandomVariableFactory - The random variable factor used to construct random variables from the parameters.
      timeDiscretization - The simulation time discretization tj.
      liborPeriodDiscretization - The period time discretization Ti.
      a - The parameter a: an initial volatility level.
      b - The parameter b: the slope at the short end (shortly before maturity).
      c - The parameter c: exponential decay of the volatility in time-to-maturity.
      d - The parameter d: if c > 0 this is the very long term volatility level.
      isCalibrateable - Set this to true, if the parameters are available for calibration.
    • LIBORVolatilityModelFourParameterExponentialForm

      public LIBORVolatilityModelFourParameterExponentialForm​(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, double a, double b, double c, double d, boolean isCalibrateable)
      Creates the volatility model σi(tj) = ( a + b * (Ti-tj) ) * exp(-c (Ti-tj)) + d
      Parameters:
      timeDiscretization - The simulation time discretization tj.
      liborPeriodDiscretization - The period time discretization Ti.
      a - The parameter a: an initial volatility level.
      b - The parameter b: the slope at the short end (shortly before maturity).
      c - The parameter c: exponential decay of the volatility in time-to-maturity.
      d - The parameter d: if c > 0 this is the very long term volatility level.
      isCalibrateable - Set this to true, if the parameters are available for calibration.
  • Method Details