- 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 DiscountCurvegetDiscountCurve()DiscountCurvegetEquityForwardCurve()double[]getMaturities()StringgetName()VolatilitySurface.QuotingConventiongetQuotingConvention()LocalDategetReferenceDate()OptionSmileDatagetSmile(double maturity)HashMap<Double,OptionSmileData>getSurface()doublegetValue(double maturity, double strike)doublegetValue(double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)doublegetValue(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)
-
-