Making a forecast for each option can provide a guide on what to trade: What is overvalued and what is undervalued.

Before creating forecast, historical observations of skew parameters should be produced. ORATS has chosen to break the volatility surface into the following parameters:

  • 20 business day (~1 month calendar) forecast of future statistical volatility - orFcst20d. This forecast is based on observations often back to 2007 of historical volatility using a modified Parkinson method.
  • Infinite forecast of implied volatility - orFcstInf. This forecast is based on observations of summarized implied volatility.
  • Earnings forecast - fcstErnEffct. ORATS forecasted earnings effect considers day of and day after earnings, seasonality, recentness, median and average of move divided by expected move.
  • Strike slope forecast and infinite slope forecast, slopeFcst, slopeFcstInf. Observations of slope forecasted.
  • Curvature or derivative forecast - derivFcst, derivFcstInf. Observations of derivative forecasted.

These sophisticated methods of summarizing and manipulating the implied volatility surface allow us to compare summary characteristics across related equities and over time. These observations are then used in volatility forecasting models. In options trading, to find an edge, it is useful to compare implied volatility surface parameters and market values to forecasted parameters and to theoretical values computed using these parameters.


We produce metrics on the accuracy of these forecasts:

  • fcstR2 – is the R2 for our statistical forecast orFcst20d
  • fcstR2Imp is for implied forecast orIvFcst20d
  • impliedR2 is R2 for the market’s IV prediction of future HV.

Advanced: Calculating an Implied Volatility for Each Strike

Given the at-the-money implied volatility, the slope and the derivative, an implied volatility can be calculated for each strike. First, a call delta is calculated for the strike using a standard option pricing model (not provided). Second, the slope and derivative for the expiration is calculated given the interpolated slope and derivative for that expiration. Third, the implied volatility formula is used to determine the strike implied.


Formula: Atmiv*(1+(slope/1000+(deriv/1000*(delta*100-50)/2))*(delta*100-50))

For example, assume the following:


Field Value

atmIvM1 30

slope 1

deriv 0.1

delta 0.75

dte 30

Since we are finding the month 1 volatility the 30 day slope and derivative

can be used. 30*(1+(1/1000+(0.1/1000*(0.75*100-50)/2))*(0.75*100-50)) = 31.688

Example2, assume:


Field Value

30dayatmiv 32

infiniteATMIV 28

slope 1

deriv 0.08

slopeInf 2

derivInf 0.1

delta 0.25

dte 90

In this example we first need to interpolate the IV, slope and derivative between the 30 day and in the infinite. This is done by weighting the 30day * 81% and the infinite 19% (see below).


IV = 0.81 * 32 + 0.19 * 28 = 31.26

Slope = 0.81 * 1 + 0.19 * 2 = 1.19

Derivative = 0.81 * 0.1 + 0.19 * 0.08 = 0.084

Implied volatility at 25 delta: