Equity Option Implied Volatility Surface

Hi team,
I was wondering if you can recommend an approach for doing market data modeling for Equity Options, assuming black-scholes model.
e.g.
input: valuation date, interpolator spec, and option price quotes at strike and expiration
output: “implied vol at tenor and delta” and/or “implied vol at tenor and strike”

I was considering copy / modifying the BlackFXOptionVol object hierarchy as:


public final class BlackScholesEquityOptionSurfaceVolatilities (cloned and changed from BlackFxOptionSurfaceVolatilities)
extends Object
implements BlackScholesEquityOptionVolatilities, ImmutableBean, Serializable


public final class BlackScholesEquityOptionSmileVolatilities (cloned and changed from BlackFxOptionSmileVolatilities)
extends Object
implements BlackScholesEquityOptionVolatilities, ImmutableBean, Serializable


public final class BlackScholesEquityOptionFlatVolatilities (cloned and changed from BlackFxOptionFlatVolatilities)
extends Object
implements BlackScholesEquityOptionVolatilities, ImmutableBean, Serializable


public interface BlackScholesEquityOptionVolatilities (cloned and changed from BlackFxOptionVolatilities)
extends EquityOptionVolatilities

All Superinterfaces:
EquityOptionVolatilities, MarketDataView, ParameterizedData
All Known Implementing Classes:
BlackScholesEquityOptionFlatVolatilities, BlackScholesEquityOptionSmileVolatilities, BlackScholesEquityOptionSurfaceVolatilities


public interface EquityOptionVolatilities (cloned and changed from FxOptionVolatilities)
extends MarketDataView, ParameterizedData

All Superinterfaces:
MarketDataView, ParameterizedData
All Known Subinterfaces:
BlackScholesEquityOptionVolatilities
All Known Implementing Classes:
BlackScholesEquityOptionFlatVolatilities, BlackScholesEquityOptionSmileVolatilities, BlackScholesEquityOptionSurfaceVolatilities

Thanks very much for your thoughts.

At a brief glance, that looks about right (we tend to use just Black, not BlackScholes). You may not need all three implementations - surface, smile and flat to begin with. There should centainly be a similarity between the different option volatility classes, as you’ve spotted,