- java.lang.Object
-
- net.finmath.marketdata.model.volatilities.OptionSurfaceData
-
public class OptionSurfaceData extends Object
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
Constructors Constructor Description 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.OptionSurfaceData(OptionSmileData[] smiles, DiscountCurve discountCurve, DiscountCurve equityForwardCurve)
Creates an equity option surface from an array of smiles.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DiscountCurve
getDiscountCurve()
DiscountCurve
getEquityForwardCurve()
double[]
getMaturities()
String
getName()
VolatilitySurface.QuotingConvention
getQuotingConvention()
LocalDate
getReferenceDate()
OptionSmileData
getSmile(double maturity)
HashMap<Double,OptionSmileData>
getSurface()
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 Detail
-
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 Detail
-
getDiscountCurve
public DiscountCurve getDiscountCurve()
-
getEquityForwardCurve
public DiscountCurve getEquityForwardCurve()
-
getName
public String getName()
-
getReferenceDate
public LocalDate getReferenceDate()
-
getQuotingConvention
public VolatilitySurface.QuotingConvention getQuotingConvention()
-
getSurface
public HashMap<Double,OptionSmileData> 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
public OptionSmileData getSmile(double maturity)
-
-