Module net.finmath.lib
Class CapletVolatilitiesParametricFourParameterPicewiseConstant
java.lang.Object
net.finmath.marketdata.model.volatilities.AbstractVolatilitySurface
net.finmath.marketdata.model.volatilities.AbstractVolatilitySurfaceParametric
net.finmath.marketdata.model.volatilities.CapletVolatilitiesParametricFourParameterPicewiseConstant
- All Implemented Interfaces:
Cloneable,ParameterObject,VolatilitySurface
public class CapletVolatilitiesParametricFourParameterPicewiseConstant
extends AbstractVolatilitySurfaceParametric
A parametric caplet volatility surface created form the
picewise constant (numerical integration) of the four parameter model
for the instantaneous forward rate volatility given by
\( \sigma(t) = (a + b t) \exp(- c t) + d \).
In other words, the Black volatility for maturity T is given by
\[ \sqrt{ \frac{1}{t_{n}} \sum_{i=0}^{n-1} ((a + b t_{i}) \exp(- c t_{i}) + d)^2 (t_{i+1}-t_{i}) } \],
where \( t_{i} \) is given time discretization.
- Version:
- 1.0
- Author:
- Christian Fries
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.finmath.marketdata.model.volatilities.VolatilitySurface
VolatilitySurface.QuotingConvention -
Constructor Summary
ConstructorsConstructorDescriptionCapletVolatilitiesParametricFourParameterPicewiseConstant(String name, LocalDate referenceDate, double a, double b, double c, double d, TimeDiscretization timeDiscretization)Create a model with parameters a,b,c,d. -
Method Summary
Modifier and TypeMethodDescriptiongetCloneForParameter(double[] value)Returns a clone of this volatility surface with modified parameters.double[]Get the current parameter associated with the state of the objects.doublegetValue(double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)Returns the price or implied volatility for the corresponding maturity and strike.doublegetValue(AnalyticModel model, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)Returns the price or implied volatility for the corresponding maturity and strike.voidsetParameter(double[] parameter)Set the current parameter and change the state of the objects.Methods inherited from class net.finmath.marketdata.model.volatilities.AbstractVolatilitySurfaceParametric
getCloneCalibrated, getCloneCalibrated, getCloneCalibratedMethods inherited from class net.finmath.marketdata.model.volatilities.AbstractVolatilitySurface
clone, convertFromTo, convertFromTo, getDaycountConvention, getDiscountCurve, getForwardCurve, getName, getQuotingConvention, getReferenceDate, toString
-
Constructor Details
-
CapletVolatilitiesParametricFourParameterPicewiseConstant
public CapletVolatilitiesParametricFourParameterPicewiseConstant(String name, LocalDate referenceDate, double a, double b, double c, double d, TimeDiscretization timeDiscretization)Create a model with parameters a,b,c,d.- Parameters:
name- The name of this volatility surface.referenceDate- The reference date for this volatility surface, i.e., the date which defined t=0.a- The parameter ab- The parameter bc- The parameter cd- The parameter dtimeDiscretization- The timeDiscretizationFromArray used in numerical integration.
-
-
Method Details
-
getValue
public double getValue(double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)Description copied from interface:VolatilitySurfaceReturns the price or implied volatility for the corresponding maturity and strike.- Parameters:
maturity- The option maturity for which the price or implied volatility is requested.strike- The option strike for which the price or implied volatility is requested.quotingConvention- The quoting convention to be used for the return value.- Returns:
- The price or implied volatility depending on the quoting convention.
-
getValue
public double getValue(AnalyticModel model, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)Description copied from interface:VolatilitySurfaceReturns the price or implied volatility for the corresponding maturity and strike.- Parameters:
model- An analytic model providing a context. Some curves do not need this (may be null).maturity- The option maturity for which the price or implied volatility is requested.strike- The option strike for which the price or implied volatility is requested.quotingConvention- The quoting convention to be used for the return value.- Returns:
- The price or implied volatility depending on the quoting convention.
-
getParameter
public double[] getParameter()Description copied from interface:ParameterObjectGet the current parameter associated with the state of the objects.- Returns:
- The parameter.
-
setParameter
public void setParameter(double[] parameter)Description copied from interface:ParameterObjectSet the current parameter and change the state of the objects.- Parameters:
parameter- The parameter associated with the new state of the objects.
-
getCloneForParameter
public AbstractVolatilitySurfaceParametric getCloneForParameter(double[] value) throws CloneNotSupportedExceptionDescription copied from class:AbstractVolatilitySurfaceParametricReturns a clone of this volatility surface with modified parameters.- Specified by:
getCloneForParameterin interfaceParameterObject- Specified by:
getCloneForParameterin classAbstractVolatilitySurfaceParametric- Parameters:
value- Parameter array.- Returns:
- Clone with new parameters.
- Throws:
CloneNotSupportedException- Thrown if this object cannot be cloned.
-