Skip to content
Prev 14527 / 15274 Next

Using quantstrat with options

Sal,

OK, that is clear.

1) I would run your model on back data to estimate whatever additional parameters you need with your model. The sum of the squared differences between your model prices and market prices should be substantially less than the sum of the squared differences  for the Black-Scholes or Fisher Black model. Although this is not the kind of back testing I'd do on a stock trading model, it is effective for options.

2) Pick out an expensive option spread. Buy a cheap or fairly priced option and sell an expensive option, i.e. sell this spread. Follow the option spread over time. I don't think you want to model the option prices going forward. Your model identifies mispriced options, which you don't want to use, and volatility bounces around in a non-forecastable way for the Black or Black-Scholes model, leaving you with using historical data. See if the spread makes money.

3) Assume the cheap option has a delta of 0.25 and the expensive option has a delta of 0.50. You'd buy 2 of the cheap options against selling 1 of the expensive options. Watch this trade going forward to see if it makes money. It will make less money than the 1 x 1 spread in 2 above: you are buying double the number of cheap options which will probably lose value and short one expensive option on which you will probably make money. I think the CBOE has a dataset that does include delta and other Greeks. That may be one way of creating a delta neutral spread. Back testing the trade and rebalancing the options over time to keep the trade delta neutral is probably best done using a procedural language like C/C++ or a spreadsheet, not quantstrat.

Best,

Frank
Chicago


-----Original Message-----
From: Sal Abbasi <abbasi.sal at gmail.com> 
Sent: Sunday, April 08, 2018 2:13 PM
To: Frank <frankm60606 at gmail.com>
Cc: Brian G. Peterson <brian at braverock.com>; r-sig-finance at r-project.org
Subject: Re: [R-SIG-Finance] Using quantstrat with options

I have an options strategy that I?m trying to backtest.  It involves buying or selling options that are underpriced or overpriced according to my model and delta hedging them.  In some cases I would end up getting rid of the option before expiry and in other cases I would hold the option till expiry. In the cases where I hold till expiry I had to follow the approach below to make this work within quantstrat. I was wondering if somebody had come up with a less ?hacky?, more elegant solution. 

Best,

Sal