net.finmath.montecarlo.interestrate.modelplugins
Class LIBORVolatilityModelTwoParameterExponentialForm
- java.lang.Object
-
- net.finmath.montecarlo.interestrate.modelplugins.LIBORVolatilityModel
-
- net.finmath.montecarlo.interestrate.modelplugins.LIBORVolatilityModelTwoParameterExponentialForm
-
public class LIBORVolatilityModelTwoParameterExponentialForm extends LIBORVolatilityModel
Implements the volatility model σi(tj) = a * exp(-b (Ti-tj))
-
-
Constructor Summary
Constructors Constructor and Description LIBORVolatilityModelTwoParameterExponentialForm(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface liborPeriodDiscretization, double a, double b)Creates the volatility model σi(tj) = a * exp(-b (Ti-tj))LIBORVolatilityModelTwoParameterExponentialForm(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface liborPeriodDiscretization, double a, double b, boolean isCalibrateable)Creates the volatility model σi(tj) = a * exp(-b (Ti-tj))
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Objectclone()double[]getParameter()RandomVariablegetVolatility(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
-
LIBORVolatilityModelTwoParameterExponentialForm
public LIBORVolatilityModelTwoParameterExponentialForm(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface liborPeriodDiscretization, double a, double b)
Creates the volatility model σi(tj) = a * exp(-b (Ti-tj))- 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: exponential decay of the volatility.
-
LIBORVolatilityModelTwoParameterExponentialForm
public LIBORVolatilityModelTwoParameterExponentialForm(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface liborPeriodDiscretization, double a, double b, boolean isCalibrateable)
Creates the volatility model σi(tj) = a * exp(-b (Ti-tj))- 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: exponential decay of the volatility.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 RandomVariable 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