Module net.finmath.lib
Class SABRVolatilityCubeParallel
- java.lang.Object
-
- net.finmath.singleswaprate.model.volatilities.SABRVolatilityCubeParallel
-
- All Implemented Interfaces:
Serializable,VolatilityCube
public class SABRVolatilityCubeParallel extends Object implements VolatilityCube, Serializable
A volatility cube that uses a grid of SABR models for the calculation of the volatility with different strikes. All SABR parameters are shared throughout the cube, with the exception of the initial volatility, which is being used to fit the curve on each point of the maturity x termination grid to the ATM levels.- Author:
- Christian Fries, Roland Bachl
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SABRVolatilityCubeParallel(String name, LocalDate referenceDate, DataTable swapRateTable, double sabrDisplacement, double sabrBeta, double sabrRho, double sabrVolvol, DataTable baseVolTable, double correlationDecay)Create the cube.SABRVolatilityCubeParallel(String name, LocalDate referenceDate, DataTable swapRateTable, double sabrDisplacement, double sabrBeta, double sabrRho, double sabrVolvol, DataTable baseVolTable, double correlationDecay, double iborOisDecorrelation)Create the cube.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetCorrelationDecay()Return the correlation decay parameter of the cube.doublegetIborOisDecorrelation()Return the IBOR vs OIS decorrelation parameter.doublegetLowestStrike(VolatilityCubeModel model)Returns the lowest possible value of strike that can be evaluated by this cube.StringgetName()Returns the name of the volatility cube.Map<String,Object>getParameters()Returns a map with all implementation dependent parameters of this volatility cube.LocalDategetReferenceDate()Return the reference date of this cube, i.e.doublegetValue(double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)Return the volatility at the specified coordinates in the desired quotation.doublegetValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)Return the volatility at the specified coordinates in the desired quotation.
-
-
-
Constructor Detail
-
SABRVolatilityCubeParallel
public SABRVolatilityCubeParallel(String name, LocalDate referenceDate, DataTable swapRateTable, double sabrDisplacement, double sabrBeta, double sabrRho, double sabrVolvol, DataTable baseVolTable, double correlationDecay)
Create the cube. With ibor ois decorrelation set to 1.0.- Parameters:
name- The name of the cube.referenceDate- The reference date of the cube.swapRateTable- Table containing base swap rates.sabrDisplacement- Displacement for the entire cube.sabrBeta- Beta for the entire cube.sabrRho- Rho for the entire cube.sabrVolvol- VolVol for the entire cube.baseVolTable- Table containing initial volatilities.correlationDecay- The correlation decay parameters of this cube.
-
SABRVolatilityCubeParallel
public SABRVolatilityCubeParallel(String name, LocalDate referenceDate, DataTable swapRateTable, double sabrDisplacement, double sabrBeta, double sabrRho, double sabrVolvol, DataTable baseVolTable, double correlationDecay, double iborOisDecorrelation)
Create the cube.- Parameters:
name- The name of the cube.referenceDate- The reference date of the cube.swapRateTable- Table containing base swap rates.sabrDisplacement- Displacement for the entire cube.sabrBeta- Beta for the entire cube.sabrRho- Rho for the entire cube.sabrVolvol- VolVol for the entire cube.baseVolTable- Table containing initial volatilities.correlationDecay- The correlation decay parameters of this cube.iborOisDecorrelation- The ibor ois decorrelation 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:VolatilityCubeReturn the volatility at the specified coordinates in the desired quotation.- Specified by:
getValuein 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:VolatilityCubeReturn the volatility at the specified coordinates in the desired quotation.- Specified by:
getValuein 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:VolatilityCubeReturns the name of the volatility cube.- Specified by:
getNamein interfaceVolatilityCube- Returns:
- The name of the volatility cube.
-
getReferenceDate
public LocalDate getReferenceDate()
Description copied from interface:VolatilityCubeReturn the reference date of this cube, i.e. the date associated with t=0.- Specified by:
getReferenceDatein interfaceVolatilityCube- Returns:
- The date identified as t=0.
-
getCorrelationDecay
public double getCorrelationDecay()
Description copied from interface:VolatilityCubeReturn the correlation decay parameter of the cube. This is used to determine the correlation between tenors in a derived volvol cube.- Specified by:
getCorrelationDecayin interfaceVolatilityCube- Returns:
- The correlation decay parameter.
-
getParameters
public Map<String,Object> getParameters()
Description copied from interface:VolatilityCubeReturns a map with all implementation dependent parameters of this volatility cube.- Specified by:
getParametersin interfaceVolatilityCube- Returns:
- A map of all parameters.
-
getLowestStrike
public double getLowestStrike(VolatilityCubeModel model)
Description copied from interface:VolatilityCubeReturns 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:
getLowestStrikein interfaceVolatilityCube- Parameters:
model- A model for context.- Returns:
- Lowest possible strike this volatility cube supports.
-
getIborOisDecorrelation
public double getIborOisDecorrelation()
Description copied from interface:VolatilityCubeReturn 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:
getIborOisDecorrelationin interfaceVolatilityCube- Returns:
- The IBOR vs OIS decorrelation parameter.
-
-