java.lang.Object
net.finmath.marketdata.model.volatilities.OptionSurfaceData
An option quote surface with the ability to query option quotes for different strikes and maturities.
The surface is constructed as a collection of smiles. The choice of this dimension is convenient in view of calibration via FFT methods.
This class does not perform any interpolation of market quotes. It merely represents a container of information.
The class provides also the ability to perform the conversion among different quoting conventions and hence can be used both for a calibration on prices or implied volatilities.
The class currently does not cover normal volatilities. Lognormal volatilities are more common in the equity space. The extension is not problematic.
- Author:
- Alessandro Gnoatto
-
Constructor Summary
ConstructorsConstructorDescriptionOptionSurfaceData(String underlying, LocalDate referenceDate, double[] strikes, double[] maturities, double[][] values, VolatilitySurface.QuotingConvention convention, DiscountCurve discountCurve, DiscountCurve equityForwardCurve)
This is a very restrictive constructor that assumes that for each maturity we have the same number of option quotes.OptionSurfaceData(OptionSmileData[] smiles, DiscountCurve discountCurve, DiscountCurve equityForwardCurve)
Creates an equity option surface from an array of smiles. -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
getName()
getSmile(double maturity)
double
getValue(double maturity, double strike)
double
getValue(double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
double
getValue(AnalyticModel model, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
-
Constructor Details
-
OptionSurfaceData
public OptionSurfaceData(String underlying, LocalDate referenceDate, double[] strikes, double[] maturities, double[][] values, VolatilitySurface.QuotingConvention convention, DiscountCurve discountCurve, DiscountCurve equityForwardCurve)This is a very restrictive constructor that assumes that for each maturity we have the same number of option quotes.- Parameters:
underlying
- The name of the underlying of this surface.referenceDate
- The reference date for this market data (t=0).strikes
- The vector of strikes.maturities
- The vector of maturities.values
- The matrix of values per (strike, maturity)convention
- The quoting convention (@see net.finmath.marketdata.model.volatilities.VolatilitySurfaceInterface.QuotingConvention).discountCurve
- A discount curve for discounting (funding/collateral rate).equityForwardCurve
- A the discount curve for forwarding (repo rate (e.g. funding minus dividents).
-
OptionSurfaceData
public OptionSurfaceData(OptionSmileData[] smiles, DiscountCurve discountCurve, DiscountCurve equityForwardCurve)Creates an equity option surface from an array of smiles.- Parameters:
smiles
- The option smile data.discountCurve
- A discount curve for discounting (funding/collateral rate).equityForwardCurve
- A the discount curve for forwarding (repo rate (e.g. funding minus dividents).
-
-
Method Details
-
getDiscountCurve
-
getEquityForwardCurve
-
getName
-
getReferenceDate
-
getQuotingConvention
-
getSurface
-
getMaturities
public double[] getMaturities() -
getValue
public double getValue(double maturity, double strike) -
getValue
public double getValue(double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention) -
getValue
public double getValue(AnalyticModel model, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention) -
getSmile
-