Hi everyone,

I'm a software engineer fairly new to the world of finance. I've used a bit of down time lately to implement a very simple strategy so that I can learn more about how this platform works. Wanted to share it here in case other newbies find it helpful.


I'm tipically an index fund investor. My more trade-savvy friends have been telling me to try a covered call strategy because it's relatively low risk and easy to implement. The covered call stragey I've back tested works like this:

  • With all available cash, purchase .spy.
  • Using these shares as colateral, sell a call (more on contract selection later).
  • Place a limit order to buy back the call if the time value decreases.

Contract Selection

I chose to sell calls that expire 35 days in the future, with a target delta of 0.2. The limit order to buy the call back was placed as 20% of the initial contract premium.


Running on data from 2008-2020 gave 2.3% returns. See the attached backtest. Here are some metrics that stand out to me:

SPY compounding return: 9.6%

SPY SR: 0.52

This strategy compounding return: 2.3%

This strategy SR: 0.27


Using the new parameter sweep tool (very cool!), it looks like returns can be improved by lowering the target delta from 0.20 to 0.05.

0.05 delta strategy compounding return: 9.2%

0.05 delta strategy SR: 0.56



Overall this strategy underpeforms the market in return. With paramter tuning, the return may be brough near market returns. Sensativity to a parameter makes me  suspect that this strategy is not fundamentally sound.


Overall, I would expected a covered call strategy to underpeform in a bear market. The analized data (2008-2020) is predominately during a bear market. It seems reasonable that selling options less likely to be exercised (lower delta) during this perioud would bring returns closer to market.



This is my first time doing one of these. Would love to get input from some experts around here.

  1. What would you have done differently?
  2. Any tips or tricks to make covered calls more interesting?
  3. Each run on 12 years of data takes about 1.5 hours, presumably due to needing to have minute resolution on options data. Has anyone found a good way to speed up run times for options strategies?
  4. For those who do parameter sweeps, how do you determine if you're overfitting? I'm thinking about doing my parameter sweeps on the first 5 years of available data, and then using the final 7 years of data as an evaluation set.