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)doublegetValue(double maturity, double strike)doublegetValue(double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)doublegetValue(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
-