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.double
getValue(double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
Returns the price or implied volatility for the corresponding maturity and strike.double
getValue(AnalyticModel model, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
Returns the price or implied volatility for the corresponding maturity and strike.void
setParameter(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, getCloneCalibrated
Methods 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:VolatilitySurface
Returns 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:VolatilitySurface
Returns 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:ParameterObject
Get the current parameter associated with the state of the objects.- Returns:
- The parameter.
-
setParameter
public void setParameter(double[] parameter)Description copied from interface:ParameterObject
Set 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:AbstractVolatilitySurfaceParametric
Returns a clone of this volatility surface with modified parameters.- Specified by:
getCloneForParameter
in interfaceParameterObject
- Specified by:
getCloneForParameter
in classAbstractVolatilitySurfaceParametric
- Parameters:
value
- Parameter array.- Returns:
- Clone with new parameters.
- Throws:
CloneNotSupportedException
- Thrown if this object cannot be cloned.
-