Test 5: Targets, Stop Losses and Min Premium

Now its going to get more interesting. We combine Profit targets, Stop Losses and Minimum Premiums together to see if combined they are greater than individually.

For this test, I am going to use the same Profit Target and Stop Loss parameters in the past tests. I am also going to use the historical average premiums as an entry point into the trades (i.e. the minimum premium is set to the average historical premium).

High Level Breakdown

The breakdown suggests that once again the front-month trades are harmed by these trade parameters, but the 2nd and 3rd month trades find improvements.

1 Month 2 Months 3 Months All
Improved PF 211(23%) 558(62%) 657(73%) 1426(53%)
Improved MaxDD 900(100%) 900(100%) 900(100%) 2700(100%)
Improved ExpRet 218(24%) 359(40%) 553(61%) 1130(42%)

Profit Factor Improvement

A heat map of the profit factor improvement (over the baseline) shows much more detail. Generally speaking, all parameters decrease performance for front month trades. The high delta trade for the front month does show marginal improvement consistently, but not enough for me to be confident.

TSP-Heatmap-PF

The second and third month trades are a different story. It is hard to find an exact pattern, but we can claim that generally adding these parameters improves performance of these trades, with substantial gains for lower delta trades (i.e. Delta 10). The Delta 10 trades in the second month and some of those in the third month have massive improvements in performance compared to the baseline. Ideally I would like to see the neighboring trades (i.e. Delta 15) also experience similar but diminished gains in order to point to a possible pattern, but that is not the case (it could be that my resolution is not fine enough and that Delta 12 trades show that diminished improvement).

Looking deeper at the specific trades of one neighboring trades (all things being the same except the delta), its trades experienced 6 losses instead of one. This may add to the credibility that the low delta trades improvement was not just due to luck.

Expected Returns

A heatmap of the expect returns of each scenario shows that generally speaking

  1. High Delta trades still perform poorly regardless of month
  2. Very Low target trades perform poorly,
  3. Low stop loss trades perform worse
  4. Front Month trades perform best when the target is > 70%, Deltas <= 25, and stop losses > 30%
  5. Second and Third Month trades perform best when Target >= 30%, Stop Losses >= 20%, and Deltas <= 25%

TSP-Heatmap-ExpRet

We can also look at the top three trades for each expiration period so gain similar insights.

Month Delta Target StopLoss ExpRet MaxDD PF WinRatio Trades AvgDays
1 1st 0.10 90% -90% 6% -127% 2.2 93% 89 20.8
2 1st 0.10 90% -100% 6% -127% 2.2 93% 89 20.8
3 1st 0.10 90% -60% 6% -127% 2.2 92% 90 20.4
1 2nd 0.10 40% -60% 6% -71% 10.4 99% 115 19.1
2 2nd 0.10 40% -70% 6% -71% 10.4 99% 115 19.1
3 2nd 0.10 20% -70% 3% -71% 8.7 99% 180 10.1
1 3rd 0.10 20% -70% 3% -78% 7.1 99% 151 15.2
2 3rd 0.10 20% -80% 3% -100% 5.5 99% 151 15.2
3 3rd 0.10 20% -90% 3% -100% 5.5 99% 151 15.2

Those are some impressive win ratios. Those with a 99% win ratio only experience a single loss, and it was during the Oct 2008 market crash.

It is also interesting to note that as the expiration period increases, the expected return decreases by so does the average duration of the trade. Trades with shorter duration may be sitting on the sidelines frequently.

Conclusion

The combination of targets, stop losses and minimum premiums seems to substantially improve low delta trades in the second and third month, and to a lesser degree most of the other trades in those expiration period. But again, while the risk in the front month trades was reduced, the overall profit factor of almost all trades was also reduced.

Test Stats

Permutations 2700
Profitable Scenarios 1745 65%
Total Trades 526411
Profitable Trades 229165 44%
Expired 59983 11%
StopLoss 48866 9%
TargetMet 417562 79%
Test Duration 2.60(min)

Test Files

Excel Test Results

Advertisements

Test 4: Minimum Premiums

This test will use minimum premiums on trades to determine whether this simple addition to our entry criteria can generate alpha.

Adding minimum premiums is actually a little complicated as the question is really relative to what. The first part of this test will blindly accept trades if the trade is over a given premium. The variety of premiums I use are:

1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4, 4.25, 4.5, 4.75, 5.00

This creates 459 different scenarios for the three different expiration period. Now some of these premiums don’t make sense and/or result in duplicate scenarios. For example a $4 premium on a front-month trade with a delta of 10 is pretty hard to come by (we found none). But in the analysis, I will remove scenarios that don’t meet a minimum of 25 total trades.

Summary Breakdown

1 Month 2 Months 3 Months All
Improved PF 17(17%) 14(13%) 18(16%) 49(15%)
Improved MaxDD 100(100%) 107(100%) 112(100%) 319(100%)
Improved ExpRet 22(22%) 15(14%) 19(17%) 56(18%)

The summary shows that again we find the adjustment reduces the risk in all cases. Surprisingly the addition of a minimum premium does not generally help the expected return, but again, we are looking at many unrealistic trades. So we need to dig deeper.

Many of the trades actually matched the baseline. That is the minimum premium was low enough that all trades found in the baseline test, matched the scenario. If I strip out those trades and we look at a heatmap of the improvement in the Profit Factor we can see that the PF for most trades is marginally affected.

mp-heatmap-diffPf

Looking deeper still, the average number of trades for this test is about 20% smaller than the baseline. Since the baseline tests actually performed well on average, this minimum premium threshold is preventing us from participating in more successful trades (and potentially allowing negative ones when the volatility of the market is high).

Average Premiums

So using random minimum premiums was a wash. I wonder whether using minimum premiums based on the average premium for each delta and period would be of benefit. I wrote a program to collect the average premiums for all iron condors found for all deltas between 4 and 40 on every trading day in the first 3 months. For example, the program would find the average price for a RUT IC entered with a delta of 12 with 56 trading days left till expiration.

ap-avgprem

With the exception of the very last day of trading where premiums appear to perk up, these patterns resemble the theta decay we would expect. I double checked the premium on a delta 40 trade today (the last day of trading in Dec expiration) and it matches the chart above. The tests don’t initiate trades anywhere near the last day, so this anomaly is ignored.

Running the test against the average premium results in only 27 permutations  but doesn’t yield any great advantage either:

1 Month 2 Months 3 Months All
Improved PF 2(22%) 1(11%) 3(33%) 6(22%)
Improved MaxDD 9(100%) 9(100%) 9(100%) 27(100%)
Improved ExpRet 3(33%) 1(11%) 3(33%) 7(26%)

mpa-heatmap-diffPF

Again, the change in PF is overall negative, but the changes are generally marginal.

I didn’t really expect using the average price to help alot since it is after all – average.

Average + 1 SD

Lets try for something much better than average. I take the average price plus 1 standard deviation. This means that the minimum price should be better than 84% of the historical prices.

ap-sdprem

The standard deviation as a fair amount of noise to the prices, so I am actually going to smooth it out using a very small moving average. This still results in 27 scenarios.

1 Month 2 Months 3 Months All
Improved PF 6(67%) 2(22%) 3(33%) 11(41%)
Improved MaxDD 9(100%) 9(100%) 9(100%) 27(100%)
Improved ExpRet 7(78%) 2(22%) 4(44%) 13(48%)

Now we are starting to finally see some improvements, but they are mostly in the front month trades. But again, the changes are all marginal.

mpasd-heatmap-diffpf

Conclusion

I would have thought that adding minimum premiums to our trade would improve the performance but it seems to keep us in most of the loosing trades and away from many of the other winning trades. The average number of trades is reduced in most scenarios, and is substantially reduced in some to the point that we consider them too small to rely on.

I tried several variations of setting minimum premiums and all seemed to lead to marginally better or worse performance. Every trade helped reduce the risk, but the offset in lost expected return reduced the performance further.

Summary Stats

Permutations 459
Profitable Scenarios 190 41%
Total Trades 30368
Profitable Trades 19709 65%
Expired 30368 100%
Test Duration 1.38(min)

Test Files

Minimum Premium Test Data

Average Premium Data

Min. Premium using Historical Avg Test Data

Min. Premium using 1 SD Test Data

Test 3: Targets and Stop Losses

Profit targets were found to be helpful, and Stop Losses less so, but can the combination of the two be greater than the sum of the parts?

Test Setup

For this test I create scenarios that include all profit targets and all stop losses from the previous two tests. Targets and Stop losses from 10% to 100% will be used. Ultimately this creates 2700 unique scenarios across the first three months.

Now that we have four input parameters (Delta, Days to Expiration, Profit Targets, and Stop Losses) for every scenario, analyzing the general trends is much harder. Ideally I need a holographic projection to show the data in three dimensions – but the budget here at Option I/O is low, so we will have to make due.

Highlevel BreakDown

We start by looking at the high-level break down of the tests.

1 Month 2 Months 3 Months All
Improved PF 200(22%) 645(72%) 713(79%) 1558(58%)
Improved MaxDD 900(100%) 900(100%) 900(100%) 2700(100%)
Improved ExpRet 202(22%) 441(49%) 573(64%) 1216(45%)

This are pretty surprising results to me. There was no question that adding stop losses and targets limits should improve the risk for every trade since we saw that in the last two tests. But I thought the combination of the two would help with the over all expected return as well. But what we see is the Front Month trades are resoundingly impacted by adding stops and limits, however the 2nd and 3rd month trades have a definite improvement.

Looking at a heatmap of this data shows more detail.

This heatmap is a little complicated to read. The major columns are the expiration months of the trades, the minor columns are the deltas. The Major rows are the profit targets, and the minor rows the stop losses.

This heatmap is a little complicated to read. The major columns are the expiration months of the trades, the minor columns are the deltas. The Major rows are the profit targets, and the minor rows the stop losses.

This data does not mean that any of these trades are necessarily bad trades. This is simply a comparison to the baseline test. The red indicates the trade is worse than holding to expiration based on the Profit Factor. Green is an improvement.

Here are some of the takeaways from this data:

  • Front-month trades are heavily impacted until the profit target is ~100%. Even then adding stop losses seem to help some, but not all the trades. And most gains or losses are marginal.
  • Almost all CTM trades in the 2-3 month time frame were improved.
  • Very low stop losses are stopped out a lot and are generally detrimental to the trade.

Looking at the heatmap in another way (not posted here but in the data file), I see a rough pattern where in the 2-3 month trades, the largest benefit is received by high delta/low target trades though to low delta/high target trades. There seems to be a sweet spot depending on the delta of the trade. You can see in the data that as the delta is decreased the sweet spot moves.

One final point in this section, the largest benefit goes to the CTM trades. This can easily be seen in the following chart. The DiffPF is the improvement in the Profit Factor over the baseline.

TS-diffPF-vs-delta

Expected Returns

With 2700 points, this is also a little hard to read, but this graph shows the general trends based on the delta and month of the trade. Most Delta 10 through 20 trades appear to have a positive expected average. While most with 30 and above do not.

TS-expRet-delta

Top 3 Trades for each Month

The following table shows the top three trades (by Profit Factor) for each of the different expiration months.

Month Delta Target StopLoss ExpRet MaxDD PF WinRatio Trades AvgDays
1 1st 0.10 90% -90% 6% -100% 2.5 95% 112 21.7
2 1st 0.10 90% -100% 6% -100% 2.5 95% 112 21.7
3 1st 0.10 90% -70% 5% -100% 2.2 94% 112 21.6
1 2nd 0.10 90% -40% 7% -100% 2.7 92% 102 41.7
2 2nd 0.10 90% -80% 7% -100% 2.7 95% 100 43.2
3 2nd 0.10 90% -90% 7% -100% 2.6 95% 100 43.2
1 3rd 0.10 30% -90% 3% -100% 3.3 99% 136 24.9
2 3rd 0.10 30% -100% 3% -100% 3.3 99% 136 24.9
3 3rd 0.10 60% -90% 6% -100% 3.2 97% 90 44.6

What is interesting to note is that many of these trades are very close to the baseline test. It’s also interesting to note that all the trade are with a delta of 10. Personally I would have thought that all the top trades for any month would have been slight variations of each other, but two trades stand out as different. The 2nd month 90/40 trade and the 3rd month 30/90 trade.

Top 3 Trades by Trading Style

I thought it would be interesting to also start listing the best trades by style.
(See my previous article about trader styles here.)

Month Delta Target StopLoss ExpRet MaxDD PF WinRatio Trades AvgDays
FrontMo-FOTM 1 1 0.10 90% -90% 6% -100% 2.5 95% 112 21.7
FrontMo-FOTM 2 1 0.10 90% -100% 6% -100% 2.5 95% 112 21.7
FrontMo-FOTM 3 1 0.10 90% -70% 5% -100% 2.2 94% 112 21.6
FrontMo-CTM 1 1 0.15 100% -30% 8% -112% 2.0 82% 113 23.3
FrontMo-CTM 2 1 0.18 100% -40% 9% -120% 1.9 79% 114 23.1
FrontMo-CTM 3 1 0.15 90% -30% 6% -124% 1.8 82% 114 21.9
BackMo-FOTM 1 3 0.10 30% -90% 3% -100% 3.3 99% 136 24.9
BackMo-FOTM 2 3 0.10 30% -100% 3% -100% 3.3 99% 136 24.9
BackMo-FOTM 3 3 0.10 60% -90% 6% -100% 3.2 97% 90 44.6
BackMo-CTM 1 2 0.15 90% -70% 11% -200% 2.4 92% 103 47.4
BackMo-CTM 2 2 0.20 30% -40% 6% -100% 2.4 91% 141 22.1
BackMo-CTM 3 2 0.18 50% -40% 8% -141% 2.4 88% 116 29.2

Again we see that for Front-month trades, the best scenarios are the same or close to the baseline. The back-month CTM trade however shows there may be an advantage with a 50% target and a 40% stop.

Conclusion

Surprising, Profit Targets and Stop losses do not have a major impact on the front month trades, but they do on the 2nd and 3rd month trades. They reduce the risk in every scenario. There is a sweetspot for the stop loss, but it is dependent on the delta of the trade.

Test Stats

Permutations 2700
Profitable Scenarios 1845 68%
Total Trades 679984
Profitable Trades 298187 44%
Expired 65216 10%
StopLoss 66814 10%
TargetMet 547954 81%
Test Duration 2.57(min)

Test Files

Excel Data

Test 2: Stop Losses

What level of stop losses are effective for managing iron condors? Our baseline test effectively had a 100% stop loss on all scenarios. Will adding stop losses based on the at risk margin (See the test on Profit Limits to learn why I use this metric) improve the performance of Iron Condor trades?

My guess before looking at the data is that stop losses will be shown to drastically reduce the maximum risk, and should be able to improve the effective expected return. Because some tests will be stopped out quiet frequently (i.e. those with a 10% stop loss threshold), I expect many tests to have a higher number of trades compared to the baseline.

Test Results

The test scenario use stop losses on the margin at risk for the following values:

10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%

The following summarizes the performance of the test run:

1 Month 2 Months 3 Months All
Improved PF 32(36%) 28(31%) 28(31%) 88(33%)
Improved MaxDD 90(100%) 90(100%) 90(100%) 270(100%)
Improved ExpRet 34(38%) 26(29%) 25(28%) 85(31%)

As expected the risk was substantially reduced in all cases. The vast majority of scenarios actually experienced lower expected returns and lower and lower profit factors. Meaning that the gains in risk were still outweighed by the loss in expected returns.

Profit Factor Improvement VS Delta

Looking at a histogram of the difference in profit factor compared to the baseline, we can see some patterns, but its not as clear cut. Very small stop losses perform poorly on average. And High Delta trades appear to perform poorly on average, although there is a cluster in the 3 month range and Delta 35 that does well. The clusters between the 30 to 60% stop losses and deltas under 22 seem to consistently outperform as well. But again, no very clearcut patterns emerge.

sl-hist-pf

 

sl-diffPF-vs-delta

Expected Returns

Looking at the expected returns, we can see that there appears to be a sweet spot between -30% and -60%, and Deltas less than 22. Similar to what was displayed in the profit factor tables.

sl-hist-expret

We can also see that regardless of the stop loss, high delta trades perform poorly. This is not surprising given the construction of the test.

sl-expRet-delta

Conclusion

Traders may often hold the Front Month trades to expiration but also use stop losses. This test shows that many of those scenarios can be improved marginally, but using a 30% to 50% stop loss on 15 to 20 delta trades seem to gain the most benefit.

The second month, low delta trades with a 30% to 50% stop loss may also be marginally improved.

The tests with Stop Losses between 10% to 20% are significantly impacted across all deltas and all months. These trades are just stopped out to frequently.

Most other tests are only marginally impacted either positive or negatively.

Test Stats

Permutations 270
Profitable Scenarios 174 64%
Total Trades 41402
Profitable Trades 17911 43%
Expired 19394 47%
StopLoss 22008 53%
Test Duration 1.52(min)

Test Files

StopLoss Excel Data

Anatomy of the Backtests

For complete transparency, I want to describe how my tests work at a high level.

Limitations

I am limited by the data I have. I purchased the option data from the CBOE and they only provide end-of-day quotes for all options for every day. I initially purchased 10 years worth of data but found some of their data in 2003 was completely erroneous, as a result, my tests start in 2004 and run through Oct 2012.

I ignore slippage in my tests as I assume that at some point during the day, the premium was higher than at the EOD data (due to theta decay). So if we were to enter a trade early in the day, on average we may be able to actually get filled for the same price as the EOD. Even if I had opening, high and low prices, I’m not sure I could presume to get a better price than EOD. EOD is a moderately conservative approach. An even more conservative would probably be adding slippage of 10-15 cents, but I am looking for general trends here.

Limit Orders/Stop Losses

If a scenario is testing limit orders to sell, if triggered, the test will assume that the order was filled at exactly the limit price. So in the event of gap up/down days that may in reality work in our favor, the test takes a more conservative approach.

Stop losses on the other hand work the in the opposite manner. If a stop loss is in place and is triggered, the test fills the order with the maximum of either the stop loss or the closing price. Again, this is the more conservative approach as we assume gap up/down days affect us negatively.

Delta Tolerance

When searching for conforming spreads, the short strike of the Bull Put or Bear Call spreads is predefined. The test will search for spreads with a short strike equal to or less than the specified strike. However, I also use a tolerance of 10 which limits the range of short strikes that are conforming. For instance, if we are interested in spreads with a delta of 25, the test will return a spread with the largest delta between 15 and 25. This ensures that when there is not too much variety in the spread’s deltas (i.e. close to expiration) that the same spread is not returned for the vast majority of scenarios. This also probably reflects the trader’s mindset. If the trader is interested in a delta of 25, but there is a delta of 29 and the next is 10, they may not find a spread worth taking.

Aggressive Fills

The test is designed to fill the portfolio if there is an open space and there is a conforming trade. As a result, if we have one trade that shuts down very early (i.e. due to IV collapse), another trade for the same expiration may be opened immediately. This may end up with more than 1 trade per month.

Trades Per Month

In order to keep the 1-month, 2-month, and 3-month scenarios comparable, each is designed so that they hold 1 trade at a time per month. For example, with a 1-month trade, only 1 trade may be open at any one time. But a 2-month scenario may have 2 trades with different expirations open at the same time.

Triggers/Adjustments

I can write nearly any type of trigger (i.e. enter or exiting a trade) or trade adjustments so long as it depends on the data I have available. I have the historical option data for the RUT, and historical underlying prices for every instrument. At some point I will write tests that correlated to the performance of the VIX, or put/call ratio of the RUT, etc.

Test 1: Do Targets Help

Do adding simple profit targets help our trades or hurt them when compared to holding to expiration?

It seems simplistic, but I want to start out simple with these tests to see what particular adjustments add the most value. I want to test the very basic management techniques of setting profit targets and stop losses in isolation and in combination to see whether they actually provide value. Today I start with profit targets. My assumption is that profit targets will help reduce the risk of a trade due to exiting sooner, but the expected return will be lower. I am not sure what overall effect on the profit factor this will have. Lets dig in.

What Method Do We Choose

(I present a side discussion on why I choose my target and stop loss calculations. Feel free to move on to the next section to see results)

When testing targets or stop losses, there are three simple ways to calculate them:

  1. Return on Risk – The return on investment (ROI) or return on risk(ROR) is the gain divided by the actual cash at risk in the trade. For example, a trade that took in a $2 in premium on a 10 point wide condor, would be risking $8; if we were targting a 10% return, we would exit when we reached $0.80 in premium.
  2. Return on Margin – This is a percentage return on the full margin, that is all the cash that is indisposed during the trade. For example, a trade that took in a $2 in premium on a 10-point wide condor would have a margin requirement of $1000 per contract (even though we collected $200); if we had a target of 10%, we would be aiming for a return of $1.00 in net premium.
  3. On Premium – We can also set targets as a percentage of the premium collected on the trade. For example, again a trade that took in a $2 in premium on a 10-point wide condor, a 50% target would aim for $1 in net premium.

There is no incorrect method for a trader. But for my tests, I have to choose one method. For running the tests, On Premium actually provides the best granularity, but ROR is generally what I use for my own trades. Look at the following table as a comparison between the different methods. When we have a trade that takes $1 premium:

Profit Target   Stop Loss
On Risk On Margin On Prem   On Risk On Margin On Prem
          0.45           0.50           0.05 5% -0.45 -0.50 -0.05
          0.90           1.00           0.10 10% -0.90 -1.00 -0.10
          1.00           1.00           0.15 15% -1.35 -1.50 -0.15
          1.00           1.00           0.20 20% -1.80 -2.00 -0.20
          1.00           1.00           0.30 30% -2.70 -3.00 -0.30
          1.00           1.00           0.40 40% -3.60 -4.00 -0.40
          1.00           1.00           0.50 50% -4.50 -5.00 -0.50
          1.00           1.00           0.75 75% -6.75 -7.50 -0.75
          1.00           1.00           1.00 100% -9.00 -9.00 -1.00

Notice how quickly the increasing the target shows fruitless with both On Risk and On Margin. Regardless of how high the target is, we have reached are maximum profit. Alternatively, on the Stop Loss side, On Risk and On Margin do not reach their full loss until at or near 100%. But On Prem has the same issue the other two had with Profit targets; you would actually need to increase the stop loss to 900% to reach the full loss.

But if we change the premium collected to $3.00:

Profit Target   Stop Loss
On Risk On Margin On Prem   On Risk On Margin On Prem
          0.35           0.50           0.15 5% -0.35 -0.50 -0.15
          0.70           1.00           0.30 10% -0.70 -1.00 -0.30
          1.05           1.50           0.45 15% -1.05 -1.50 -0.45
          1.40           2.00           0.60 20% -1.40 -2.00 -0.60
          2.10           3.00           0.90 30% -2.10 -3.00 -0.90
          2.80           3.00           1.20 40% -2.80 -4.00 -1.20
          3.00           3.00           1.50 50% -3.50 -5.00 -1.50
          3.00           3.00           2.25 75% -5.25 -7.00 -2.25
          3.00           3.00           3.00 100% -7.00 -7.00 -3.00

On Risk and On Margin have far larger ranges. This presents another challenge, depending on the premium collected for each trade, the effective target range for both the On Risk and On Margin calculations fluctuates. This actually means that many test scenarios will end up duplicating results which will result in misleading statistics.

So On Risk and On Margin have fluctuating ranges when used for Profit Targets, but their ranges are more appropriate when used as Stop Losses. On Premium has fluctuating ranges when used for Stop Losses, but On Risk doesn’t.

Using On Premium for Profit Targets and On Risk for Stop Losses allows me to use a full range values (10% – 100%) for every scenario, eliminating needless duplications in tests. While this may or may not make intuitive sense to a trader, programmatically it is the correct course of action. It is quiet easy to convert from one form to another.

On a side note, I personally use many of these for different situations. I pay attention to both stop losses as a percentage On Risk and On Premium. I am comfortable setting a 2x  stop loss based on the premium I receive.

On to the Test

The test constructs different scenarios for a variety of deltas and profit targets for the first month, second month and third month expirations.

The test created 270 different permutations. The results were automatically compared to the baseline test (you can view the difference against the baseline with columns named “Diff”) and summerized below:

1 Month 2 Months 3 Months All
Improved PF 26(29%) 79(88%) 88(98%) 193(71%)
Improved MaxDD 90(100%) 90(100%) 90(100%) 270(100%)
Improved ExpRet 26(29%) 59(66%) 68(76%) 153(57%)

Adding just profit targets lead to a large improvement for the longer term tests but less so for the front month scenarios. In every scenario it reduced our maximum drawdown, and surprisingly lead to higher expected returns for the majority of the tests.

If we look at a histogram of the improvement in the Profit Factor, we can see a noticeable pattern. The cells in the table show the difference between the current test run when compared to the baseline. A positive number would represent an improvement in the profit factor. The front-month tests perform worse than simply holding to expiration for the majority of the cases. But all other scenarios generally perform better.

ta-hist-diffPF

Another way to view this data is by graphing the Profit Factor improvement against the delta:

ta-diffPF-vs-delta

Next we look at the Expect Returns of each scenario. The heatmap highlights the best performing scenarios. There is no surprise: holding trades to full profit results in larger expected returns. But notice that the high delta trades all perform poorly.

ta-hist-expRet

Finally, I look at one more interesting chart. The following chart shows the number of trades and their profit factor for each test. Notice how the front month trades were able to rack up many trades. These are very low profit target trades. They were able to achieve their profit targets very quickly, and put another trade on during the same month. But interestingly these scenarios that had lots of little profit trades also had huge losses and wound up with negative expected returns.ta-pf-vs-trades-split

Conclusion

Adding profit targets alone may improve the performance of longer duration trades so long as the Delta is below 30. However, for front month trades, the number of smaller profitable wins does not outweigh the fewer massive losses experienced when holding to expiration. In these cases while the downside risk is improved, the upside return is reduced far more leading to a negative scenario.

Test Stats

Permutations 270
Profitable Scenarios 198 73%
Total Trades 65071
Profitable Trades 30801 47%
Expired 6377 10%
Target Met 58694 90%
Test Duration 1.61(min)

Test Files

Target-Only Excel Data

Daily Bias

Is there one day that is statistically better to trade verses another?

I’m hoping the answer is no, otherwise something will be a skew with my perception of the option market, but I have to run a test to be sure.

I created a test that allowed each scenario to open a trade a specific number of days from expiration. The days ranged from 1 to 90 days testing all the days in the front three months. The test created all permutations of those days and the deltas

0.05, 0.07, 0.1, 0.15, 0.18, 0.2, 0.22, 0.25, 0.27, 0.3, 0.35, 0.40

For instance, the first scenario could open up trades 1 day from expiration but only with a 0.05 delta on the short strikes. This resulted in 1068 different scenarios. All trades were held to expiration.

After the test results were generated, I created a heatmap of the number of trades for each delta and day range (ignoring any that had less than 25 trades).

db-heatmap-trades

A very interesting pattern emerges. The green shows high number of trades, and the red lower numbers. There is a definite pattern where we find lots of trades for short expiration and small delta increasing linearly as days from expiration and delta are both increased. Conversely, trades are harder to find for low delta/long duration and high delta/short duration.

Another peculiar pattern emerges. Notice every 5 days or so the entire chain for that day it is harder to find acceptable trades compared to a day before or after. These bands all occur on Mondays. But after (too much) analysis, it turns out that these abnormalities are due to holidays. Many of the days when the market are closed are generally Mondays or Fridays leading to lower trades on those days. This confirms that my tests are finding the correct number of trades.

Next I create a heatmap of the average profit factors for every Delta and Day. I then eliminated all trades with excessively low number of trades (under 25). The results were a little surprising. In general, I would not except any particular days to stand out as being particularly good or bad to trade on. The map shows that generally, the higher delta trades perform worse; since these trades are held to expiration this is inline with the results we found in the baseline test. However, several anomalies also appear in the data.

db-heatmap

First, look at the Day 2 row. This row actually reflects trading on the Thursday before expiration (expiration actually being Saturday, and no trading on Friday).  A value of 100.0 for the PF reflects that there were only winning trades. But the entire row has a very high PF. These are very low expected return trades, but consistently winners. These would be relatively binary trades that largely depend on the opening price the next day. A gap up/down on the expiration day could incur a big loss, but historically, has not.

It is also apparent from the first table that these trades are harder to come by. Usually the day before expiration, the frequency of deltas changes dramatically and less variety can be found.

Now I am not sure how easy it would be to get fills with low deltas just 1 day before expiration. Strictly speaking, these are trades that are assuming that there is negligible gap up or down the following Friday morning.

There are a few hotspots around the Delta-5 trades during days 10, 16, and 47. If I take a deeper look at the biggest hotspot (day 16) it turns out that it was just a statistical fluke. The days before and after (days 14 and 15) both incurred one more loss than did day 16. Day 16 had just 1 loss, and during the downturn in Nov 2008 it managed to eek out a profit when its neighbors took a loss. There were large swings in prices those days. And because of that, I can conclude that there was nothing special about trades on this day. The other days fall into very similar patterns. Just one less loss was able to catapult the profit factor for these scenarios.

I look at one final heat map on the data. This time, I want to look at which trades are profitable or not. I use the last heat map, but color all cells green that have a PF >1, otherwise red:

db-heatmap-profitable

This is very similar to the last heat map, but the patterns are much more stark. Clearly, low delta trades do better when held to expiration than do high delta trades. There are a few outliers, but they have relatively close distance to their neighbors that they do not stand out as anomalous.

Conclusion

There appears to be no daily bias from the historical RUT data. Certainly, trades on the day prior to expiration day may statistically have an advantage, but for our test cases they have no room for management or adjustment.

Data Files

Daily Bias Test Excel Data

Stats

Permutations 1056
Profitable Scenarios 522 49%
Total Trades 67366
Profitable Trades 49815 74%
Expired 67366 100%
Test Duration 2.06(min)