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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s