Black 76 option on futures smile/frown calculator


The page allow user to upload a file to calculate implied volatility and greeks of the options. The file must be in csv fomat and contains the following header:

  1. value_date - Value or settelement date of the option. Date must be in 'yyyy-mm-dd' format.
  2. expiry - Expiry date of the option. Date must be in 'yyyy-mm-dd' format.
  3. poc - Whether it is a 'put' or 'call' option.
  4. strike - Strike of the option
  5. futures - Price of the underlying futures contract
  6. settlement - Settlement price of the option
  7. rate - Interest rate from value_date to the expiry. The calculator takes in normal rate instead of continuous rate. It will be converted to continuous rate as required by the model.
  8. rate_basis - Only two values are allowed i.e. 'Money Market' or 'Discount Rate'. In the absence of any value 'Money Market' will be used.
  9. day_count - The day count convention for the rate. Various allowable values are in the dropdown of our Bond Pricing calculator . In the absence of any value 'Actual/365' will be used.

We have named the columns according to the field name. User may download the sample data to see how the csv file looks like or how it looks like in an MS Excel file before conversion to csv. Once the file is uploaded, the calculation will start, the table will be updated and user may download the file to use the result for whatever purposes. There may be cases in which the calculation does not return any value. In our case , it is the call option with a strike of 1,510 expiring on July 30, 2020. The main reason is that, the value of an option should be at least the in the money value which is 80 (1590 - 1510), but the settlement is only 77.20.

Based on our sample data, we failed to see a smile or frown on the options which can be due to several factors such as liquidity and settlement based on arbitrary method/value. Your set of data may reveal something else.

Charts are provided for a quick visualisation of the data. Filters are used to properly chart the data and applied to two fields - expiry and poc, which are placed in the respective column header. Our sample data in the table comes with a sample filters which illustrate example of filter values for the respective column. Click 'Update Charts' to view the result. Clear the filter if you wish to view all the data in the table.

A surface chart has also been constructed for the calculated implied volatilities from the sample/uploaded data. Please ensure that the filter for poc is set to either 'call' or 'put'.