You can’t just calculate a fixed 20 day standard deviation of returns, annualize it and apply it to historic data such as a stock index and expect to calculate realistic fake prices for options.
Because option prices are all about future expected volatility not past historic volatility. To understand the point look at today’s quotes for the SPX for instance. The price of an option expiring this month may imply a very low volatility of 5% (such has been the calm in the US markets) but a two year LEAP is more likely to be priced at an implied volatility of 16% – more in line with the long term S&P volatility over a long period of time.
The same (sort of!)point can be gleaned by looking at the term structure of VIX futures: in normal circumstances it will slope upwards partly because sellers demand a premium dependent on the term they are covering (they will charge more for 12 month’s cover than 30 days) and partly because they may expect volatility to rise or fall over the next few months.
So if you ARE going to use fake option data, treat it as a sort of monte carlo simulation: the outcome of your tests will represent one of many possible outcomes and parallel universes.
This should NOT put people off using reasonably calculated synthetic data ( all back testing is “inaccurate” and un-predictive).
But be aware that however carefully the volatility estimates for the past have been calculated, the implied vol and actual prices of real option prices traded for the relevant time are likely to vary widely from those surmised from a post hoc application of Black Scholes et al.
At some stage I will post on the volatility estimates I have used to produce synthetic option prices.