net.finmath.montecarlo.interestrate.modelplugins
Class LIBORVolatilityModelFourParameterExponentialForm
- java.lang.Object
-
- net.finmath.montecarlo.interestrate.modelplugins.LIBORVolatilityModel
-
- net.finmath.montecarlo.interestrate.modelplugins.LIBORVolatilityModelFourParameterExponentialForm
-
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.
LIBORVolatilityModelFourParameterExponentialFormIntegrated.
-
-
Constructor Summary
Constructors Constructor and Description LIBORVolatilityModelFourParameterExponentialForm(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface 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
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Objectclone()double[]getParameter()RandomVariableInterfacegetVolatility(int timeIndex, int liborIndex)Implement this method to complete the implementation.voidsetParameter(double[] parameter)-
Methods inherited from class net.finmath.montecarlo.interestrate.modelplugins.LIBORVolatilityModel
getLiborPeriodDiscretization, getTimeDiscretization
-
-
-
-
Constructor Detail
-
LIBORVolatilityModelFourParameterExponentialForm
public LIBORVolatilityModelFourParameterExponentialForm(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface 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 Detail
-
getParameter
public double[] getParameter()
- Specified by:
getParameterin classLIBORVolatilityModel
-
setParameter
public void setParameter(double[] parameter)
- Specified by:
setParameterin classLIBORVolatilityModel
-
getVolatility
public RandomVariableInterface getVolatility(int timeIndex, int liborIndex)
Description copied from class:LIBORVolatilityModelImplement this method to complete the implementation.- Specified by:
getVolatilityin classLIBORVolatilityModel- 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 java.lang.Object clone()
- Specified by:
clonein classLIBORVolatilityModel
-
-
DataMelt 3.0 © DataMelt by jWork.ORG