Backtesting
Friday, May 8th 2020
Backtesting Basics: Trading SPY Options Based On Contango, Skew and VIX Levels
Backtesting using technical triggers contango backwardation, VIX levels, and days of the month can be accomplished with ORATS Wheel. Exiting at profit loss and percent of spread price possible can also be done.
Summary
This article explains how to backtest a trading strategy for SPY options based on technical triggers such as contango, skew, and VIX levels. The strategy involves entering a SPY PutSpread when certain conditions are met, including VIX being below 20, SPY being in backwardation, and entering on the first trading day of the month. The backtest can be done using ORATS Wheel and can include exiting at a profit target or a certain percentage of the spread price.
We received a question from a backtester user and here is the answer.
- "Enter a SPY PutSpread when all the following conditions are met:
- Only Enter if Vix is below 20
- When SPY is in backwardation
- Enter on first trading day of month
- Exit on last trading day of month
- Sell 40 delta put
- Buy 15 delta put
- Use 40-45 DTE
- 85% profit target"
Here's how to enter these constraints:
To enter exactly on a trading day of the month you must use Symbol, EntryDate, ExitDate procedure. To find the first trading day and the last trading day, download the SPY daily prices from our API explained here or in Excel in the DataHistory tab. When you have a list of dates, use the month() function to identify the first and last days and manually sort to get in a format like this.

Copy paste these three columns into the Enter Symbols part of the backtest create. Choose "Exit at signal"

Set the days to expiration and the delta ranges.

Click Edit Additional Parameters and click Edit for Entry Indicator Triggers

This is where you select either Technical Indicators like MACD RSI or options indicators like IV30d or HV20d. Click Edit:

We want Contango to be negative so we set the max to 0 and do not have a min.

Click OK then click Add. Enter VIX in the symbol and get stockPrice from the dropdown and set the max to 20 since we want to trade only when VIX is <20.

Here's what the summary of the Entry Indicator Triggers should look like:

Finally, we need to enter the exit when profit is 85%.

We'll be exiting when the put spread price is 85% higher than we bought it.

Click OK and then Run Backtest.
Here's the link to the completed backtest.
You may want to consider the new exit criteria of exiting when the profit potential of the spread is at a certain percentage. For example if you want to exit when 90% of the possible maximum price of the spread has been reached (the spread price is 90% of the difference in the strikes), then try this:

Go to the Leg 1 Leg 2 Strike Width % and click Edit.

This constraint will exit trades when 90% of the total possible value of the spread is reached.
You can look at various indicators in the Wheel Chart.
SPY backwardation is when the Contango is negative. Here is a chart of Contango for SPY:

Related Posts