Module net.finmath.lib
Class SABRVolatilityCubeSingleSmile
- java.lang.Object
-
- net.finmath.singleswaprate.model.volatilities.SABRVolatilityCubeSingleSmile
-
- All Implemented Interfaces:
Serializable
,VolatilityCube
public class SABRVolatilityCubeSingleSmile extends Object implements VolatilityCube, Serializable
A simplified volatility cube that provides a volatility smile in strike for all possible maturities and terminations, based on a single set of SABR parameters.- Author:
- Christian Fries, Roland Bachl
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SABRVolatilityCubeSingleSmile(String name, LocalDate referenceDate, double underlying, double sabrAlpha, double sabrBeta, double sabrRho, double sabrNu, double sabrDisplacement)
Create the cube.SABRVolatilityCubeSingleSmile(String name, LocalDate referenceDate, double underlying, double sabrAlpha, double sabrBeta, double sabrRho, double sabrNu, double sabrDisplacement, double correlationDecay)
Create the cube.SABRVolatilityCubeSingleSmile(String name, LocalDate referenceDate, double underlying, double sabrAlpha, double sabrBeta, double sabrRho, double sabrNu, double sabrDisplacement, double correlationDecay, double iborOisDecorrelation)
Create the cube.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
double
getCorrelationDecay()
Return the correlation decay parameter of the cube.double
getIborOisDecorrelation()
Return the IBOR vs OIS decorrelation parameter.double
getLowestStrike(VolatilityCubeModel model)
Returns the lowest possible value of strike that can be evaluated by this cube.String
getName()
Returns the name of the volatility cube.Map<String,Object>
getParameters()
Returns a map with all implementation dependent parameters of this volatility cube.LocalDate
getReferenceDate()
Return the reference date of this cube, i.e.double
getValue(double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
Return the volatility at the specified coordinates in the desired quotation.double
getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
Return the volatility at the specified coordinates in the desired quotation.String
toString()
-
-
-
Constructor Detail
-
SABRVolatilityCubeSingleSmile
public SABRVolatilityCubeSingleSmile(String name, LocalDate referenceDate, double underlying, double sabrAlpha, double sabrBeta, double sabrRho, double sabrNu, double sabrDisplacement)
Create the cube.- Parameters:
name
- The name of the cube.referenceDate
- The reference date of the cube.underlying
- The dummy underlying to be used for the SABR model.sabrAlpha
- The initial value of the stochastic volatility process of the SABR model.sabrBeta
- The beta CEV parameter of the SABR model.sabrRho
- Correlation (leverages) of the stochastic volatility.sabrNu
- Volatility of the stochastic volatility (vol-of-vol).sabrDisplacement
- The displacement parameter of the smile.
-
SABRVolatilityCubeSingleSmile
public SABRVolatilityCubeSingleSmile(String name, LocalDate referenceDate, double underlying, double sabrAlpha, double sabrBeta, double sabrRho, double sabrNu, double sabrDisplacement, double correlationDecay)
Create the cube.- Parameters:
name
- The name of the cube.referenceDate
- The reference date of the cube.underlying
- The dummy underlying to be used for the SABR model.sabrAlpha
- The initial value of the stochastic volatility process of the SABR model.sabrBeta
- The beta CEV parameter of the SABR model.sabrRho
- Correlation (leverages) of the stochastic volatility.sabrNu
- Volatility of the stochastic volatility (vol-of-vol).sabrDisplacement
- The displacement parameter of the smile.correlationDecay
- The correlation decay inherent to this cube.
-
SABRVolatilityCubeSingleSmile
public SABRVolatilityCubeSingleSmile(String name, LocalDate referenceDate, double underlying, double sabrAlpha, double sabrBeta, double sabrRho, double sabrNu, double sabrDisplacement, double correlationDecay, double iborOisDecorrelation)
Create the cube.- Parameters:
name
- The name of the cube.referenceDate
- The reference date of the cube.underlying
- The dummy underlying to be used for the SABR model.sabrAlpha
- The initial value of the stochastic volatility process of the SABR model.sabrBeta
- The beta CEV parameter of the SABR model.sabrRho
- Correlation (leverages) of the stochastic volatility.sabrNu
- Volatility of the stochastic volatility (vol-of-vol).sabrDisplacement
- The displacement parameter of the smile.correlationDecay
- The correlation decay inherent to this cube.iborOisDecorrelation
- The ibor ois decorrealtion parameter of this cube.
-
-
Method Detail
-
getValue
public double getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
Description copied from interface:VolatilityCube
Return the volatility at the specified coordinates in the desired quotation.- Specified by:
getValue
in interfaceVolatilityCube
- Parameters:
model
- A model providing context.termination
- End date of the underlying.maturity
- Maturity date of the option.strike
- Strike rate of the option.quotingConvention
- Desired quoting convention.- Returns:
- The volatility.
-
getValue
public double getValue(double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
Description copied from interface:VolatilityCube
Return the volatility at the specified coordinates in the desired quotation.- Specified by:
getValue
in interfaceVolatilityCube
- Parameters:
termination
- End date of the underlying.maturity
- Maturity date of the option.strike
- Strike rate of the option.quotingConvention
- Desired quoting convention.- Returns:
- The volatility.
-
getName
public String getName()
Description copied from interface:VolatilityCube
Returns the name of the volatility cube.- Specified by:
getName
in interfaceVolatilityCube
- Returns:
- The name of the volatility cube.
-
getReferenceDate
public LocalDate getReferenceDate()
Description copied from interface:VolatilityCube
Return the reference date of this cube, i.e. the date associated with t=0.- Specified by:
getReferenceDate
in interfaceVolatilityCube
- Returns:
- The date identified as t=0.
-
clone
public Object clone() throws CloneNotSupportedException
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
getCorrelationDecay
public double getCorrelationDecay()
Description copied from interface:VolatilityCube
Return the correlation decay parameter of the cube. This is used to determine the correlation between tenors in a derived volvol cube.- Specified by:
getCorrelationDecay
in interfaceVolatilityCube
- Returns:
- The correlation decay parameter.
-
getParameters
public Map<String,Object> getParameters()
Description copied from interface:VolatilityCube
Returns a map with all implementation dependent parameters of this volatility cube.- Specified by:
getParameters
in interfaceVolatilityCube
- Returns:
- A map of all parameters.
-
getLowestStrike
public double getLowestStrike(VolatilityCubeModel model)
Description copied from interface:VolatilityCube
Returns the lowest possible value of strike that can be evaluated by this cube. This is relevant for instance when an implementation uses a SABR model with displacement.- Specified by:
getLowestStrike
in interfaceVolatilityCube
- Parameters:
model
- A model for context.- Returns:
- Lowest possible strike this volatility cube supports.
-
getIborOisDecorrelation
public double getIborOisDecorrelation()
Description copied from interface:VolatilityCube
Return the IBOR vs OIS decorrelation parameter. This parameter scales the convexity adjustment in a multi curve model, using different curves for forward rates and discounting.- Specified by:
getIborOisDecorrelation
in interfaceVolatilityCube
- Returns:
- The IBOR vs OIS decorrelation parameter.
-
-