Skip navigation links
finMath lib documentation
net.finmath.montecarlo.interestrate.modelplugins

## Class LIBORVolatilityModelFourParameterExponentialFormIntegrated

• All Implemented Interfaces:
Serializable

public class LIBORVolatilityModelFourParameterExponentialFormIntegrated
extends LIBORVolatilityModel
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{.}$
Version:
1.0
Author:
Christian Fries
See Also:
Serialized Form
• ### Constructor Summary

Constructors
Constructor and Description
LIBORVolatilityModelFourParameterExponentialFormIntegrated(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface liborPeriodDiscretization, double a, double b, double c, double d, boolean isCalibrateable)
Creates 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{ • ### Method Summary All Methods Modifier and Type Method and Description Object clone() LIBORVolatilityModelFourParameterExponentialFormIntegrated getCloneWithModifiedParameter(double[] parameter) double[] getParameter() RandomVariableInterface getVolatility(int timeIndex, int liborIndex) Implement this method to complete the implementation. • ### Methods inherited from class net.finmath.montecarlo.interestrate.modelplugins.LIBORVolatilityModel getLiborPeriodDiscretization, getTimeDiscretization • ### Methods inherited from class java.lang.Object equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait • ### Constructor Detail • #### LIBORVolatilityModelFourParameterExponentialFormIntegrated public LIBORVolatilityModelFourParameterExponentialFormIntegrated(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface liborPeriodDiscretization, double a, double b, double c, double d, boolean isCalibrateable) Creates 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{.}$
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 Detail

• #### getParameter

public double[] getParameter()
Specified by:
getParameter in class LIBORVolatilityModel
• #### getCloneWithModifiedParameter

public LIBORVolatilityModelFourParameterExponentialFormIntegrated getCloneWithModifiedParameter(double[] parameter)
Specified by:
getCloneWithModifiedParameter in class LIBORVolatilityModel
• #### getVolatility

public RandomVariableInterface getVolatility(int timeIndex,
int liborIndex)
Description copied from class: LIBORVolatilityModel
Implement this method to complete the implementation.
Specified by:
getVolatility in class LIBORVolatilityModel
Parameters:
timeIndex - The time index (for timeDiscretization)
liborIndex - The libor index (for liborPeriodDiscretization)
Returns:
A random variable (e.g. as a vector of doubles) representing the volatility for each path.
• #### clone

public Object clone()
Specified by:
clone in class LIBORVolatilityModel
Skip navigation links
Copyright © 2018 Christian P. Fries.

Copyright © 2019. All rights reserved.