Option FanaticOptions, stock, futures, and system trading, backtesting, money management, and much more!

Calendar Backtesting the COVID-19 Crash (Part 4)

I left off asking about a subtlety that would probably be identified by only serious option traders. Submitted for your approval is a question about why one backtested calendar is ~30% more expensive than all the others. Were you able to explain it?

The nuance here is that calendars generally get more expensive when purchased closer to expiration. To lower the cost, I would generally go farther from expiration, but that is not the case with the Sep/Oct calendar I mentioned in the second-to-last paragraph of Part 3. The calendar I backtested was an Oct 3225 put priced at 24.09% IV and a Nov 3225 put priced at 26.24% IV. Is that normal contango? I’d have to survey a large sample size to find out but my guess is no.

I suspect two factors have contributed to make this calendar atypically expensive. First, it is 35 days wide. This happens four times per year [(4 * 5 weeks in between mos) + (8 * 4 weeks in between mos) = 32 + 20 = 52 weeks for the full 12 mos] and it means paying for one extra week of extrinsic value in the long leg.

Second, and what I believe to be of greater importance, is the 2020 presidential election. I think the Nov options are priced rich due to election uncertainty.* On 7/31/20, IV for Nov and Dec are 24.55% and 24.66%, respectively (beyond which term structure decreases). Purchasing the Nov/Dec 2020 112/140 (DTE) calendar would cost $4,650: much less than the $8,840 seen here. The horizontal skew on the Nov/Dec would be -0.19, which is much lower in magnitude than -2.15 for the backtested Oct/Nov. Term structure rises steeply through November and then starts to trail off. This is unusual.

Incidentally, I’m puzzled why I exited this adjusted DC at 43 DTE when a third adjustment point was hit on 9/3/20 to open a single Nov (78 DTE)/Dec calendar. I could have rolled to ATM, as the presenter’s guidelines suggest (green):

Proposed roll for 11940 TD 7 (1) (12-16-21)

I could have also gone an extra 100 points OTM (green):

Proposed roll for 11730 TD 17 (2) (12-16-21)

Theta is comparable for both and cost is slightly less for the latter. TD is even higher for the latter (17 vs. 7). Either of them look doable. Every time I adjust a calendar, PnL gets dragged down a bit by transaction fees. Since it usually takes a few days of positive theta to recoup that, maybe I should never adjust too close to my drop-dead 21 DTE. That is no excuse here with 43 DTE and plenty of time left.

I will continue next time.

*—As an exercise for another post, I should plot this term structure in Python. An additional
     detail would be to scale the x-axis properly since data points start one month apart and
     later increase to points that are three months apart.

Calendar Backtesting the COVID-19 Crash (Part 3)

Today I continue discussing calendar trades, which I recently revisited after viewing an online presentation on performance during the COVID-19 2020 crash.

I left off explaining that my second backtest was an attempt to be well-defined compared to the first, especially with regard to margin by implementing a constant number of contracts. No more starting out with one contract, adjusting by adding another, taking it away, etc. Also, no more double calendars with different expiration months, which may be regarded as different numbers of contracts from a theta perspective (e.g. on Jan 3, a Feb/Mar calendar will generally generate more positive theta than an Apr/May).

The second backtest returned $7,681, which seems significantly higher than the +$5,072 from the first backtest. Looking closer, though, $7,681 on a maximum margin of $10,074 is 76.2% ROI, which is only slightly better than 65% for the first backtest. The latter ROI is based on a max margin of $7,775.

With all that effort given to maintaining a constant number of contracts, why is max margin ~30% higher in backtest #2?

Here is the trade list from the second backtest:

Variance in max risk (12-7-21)

Looking down the “MaxAbsRisk” column, the first thing I noticed was the highlighted $10,074. This intuitively seemed to be about 25% more than the rest, but a look across the entire distribution suggests otherwise. Note the low values marked with red. Going one step farther, the standard deviation of these numbers is 1756. For the first backtest, the standard deviation of max risk (recorded after every trade) is 1734. Evidently, consistency across number of contracts (check!) is not the same as consistency across nominal risk (miss!). I could normalize the latter by selecting a position size (e.g. $10,000 or arguably X% of account value) and always trading the number of contracts coming closest to matching it.

The $10,074 trade bothered me enough to take a closer look for understanding. I opened that PCal 28 points OTM on 7/31/20. This appears to be a choice (maybe an attempt to bias the backtest negatively as mentioned in the second paragraph here) to lean bearish because I could have placed it 3 points OTM or 22 points ITM (bullish). Either way, all three of these have similar cost and therefore would not explain the anomaly.

Instead of doing the 77/112 (DTE) Oct/Nov 2020 calendar for $8,840 (initial margin), I could have [violated the guidelines and] opened a 49/77 Sep/Oct 2020 calendar for $7,190. This would have replaced a winning trade with a losing one and instead of making $7,681 on $10,074 (max risk ever seen on any trade) for +76.2% ROI, the strategy would have returned $6,099 on $8204 for +74.3% ROI: pretty much the same.

Did you catch that? Something strange is afoot. If it rattled your bones the first time you read it, then you certainly deserve a free pizza for prowess!

*—I should plot this distribution in Python as an exercise for another post.

Calendar Backtesting the COVID-19 Crash (Part 2)

I recently viewed an online presentation about a monthly calendar, which motivated me to revisit the strategy.

As mentioned in Part 1, I backtested a second time because my results fell short of the advertised +100% return. As also discussed, I wasn’t overly concerned about this because he did not offer details about his trades or his calculations.

Although I didn’t consider it after completing the first backtest, I probably overestimated slippage with $21/contract. Factoring in too much slippage can result in backtested returns falling short of live-trading counterparts.* I would be curious to know what slippage the presenter realized on his trades. I have a feeling very few actually track this. I do it by noting difference between my limit and midprice. Once my order is executed, I look immediately at the mark to see how far off I got filled.

I did give serious consideration to the fluctuating number of contracts that is typical of rolling calendar trading strategies [beyond the current scope is an entire debate awaiting to be had over this approach]. If I start with one calendar and adjust by adding a second, then I have roughly doubled margin. Trading strategies generally need consistency to be successful. Cruising along winning 1, 1, 1 on single calendars only to suddenly hit turbulence and lose 4 on a[n] [adjusted] calendar with double the margin can be very painful (see third-to-last paragraph here).

In my initial backtest, much of the profitability took place with one contract in place rather than two. Calendars make consistent profits when the market trades sideways. A cursory scan through the backtest shows 288 trading days with one contract and 163 trading days with two. As a weighted average, I was trading 1.36 contracts per day, which is 68% of the full 2-contract position size. I would expect a lower return with a smaller position size because maximum risk (denominator), is equal. Maximum risk relates to the largest position size ever seen whether it happens once, 36% of the time, or always.

In the subsequent backtest, I implemented two contracts at all times. I started with two and rolled one of two when I had to adjust. I paid much closer attention to when trades started and when they ended. Rather than ever having calendars with different expiration months on at the same time (e.g. Jan/Feb and Feb/Mar), I closed the entire position and started a new trade with the short leg around 60 DTE.

I will continue next time.

*—So many other things can also affect the comparison including strike prices, DTE of
     individual trades, timing of adjustments, etc. It’s also worth noting that difference in
     the headline return may not be statistically significant (see bottom of this post).

Calendar Backtesting the COVID-19 Crash (Part 1)

I recently saw a presentation extolling the virtues of a monthly calendar trade. I have backtested calendars in the past without convincing results. After seeing this presentation, I decided to give another look.

The presenter claimed to be a full-time trader for several years. He said he has now traded calendars for at least two years. He traded through the COVID-19 crash and did well. This gives him the confidence to trade calendars in any environment because March 2020 was “the worst thing to happen to the market since 9/11.”

These are his official guidelines on trade setup and management:

My initial backtest guidelines were as follows:

From 12/23/2019 – 10/29/2021, this returned $5,072 on maximum risk $7,775: +65.2%. Over the period, SPX ↑ 42.4% from 3225 to 4594. Max drawdown was -47.4% (-$3,684) on 3/23/20 compared to -31.7% (2203) for SPX on the same date.

The calendar strategy performed comparably (risk/return) to the underlying index, but the presenter said he returned +100% in 2020 alone. Did I do something wrong?

I should never get overly concerned about discrepant performance statistics when I do not exact details about presenter calculations or accuracy. He may have rounded up to 100%—to the nearest 1%, 10%, or 100%!

While I don’t know these details about the presenter, a more detailed look at my methodology reveals:

  1. I managed only by TD—not minding whether trade remained under the tent.
  2. I usually closed at 21 DTE and adjusted as late as 24 DTE.
  3. I did not implement a profit target.
  4. I opened trades near 60 DTE going as short as 56 DTE.
  5. I used only 25-point strikes.
  6. I conducted one long campaign rather than grouping entries and exits into separate trades.

When others present results, I seldom find them forthcoming with a comprehensive, accurate account of methodology enabling me to replicate/verify the numbers. Changing any of these details can affect performance calculations. Live trading results are even worse because some degree of discretion is almost always present. A list of trades can provide opportunity for verification, but this was omitted as well.

I will continue next time.

Future Content Related to Python Backtester

Although I haven’t blogged in two months, the time has come to give an update on the long-sought-after option backtester.

As it turns out, I met a guy through a trading website who has been programming for decades. He’s a Python expert! He’s had a few different fits and starts with regard to trading and investing over the years, but he recently hit true retirement and thankfully has an interest in working with me to develop the trade backtester about which I have written much in the past.

In the last 18 months, I have taken a closer look at some automated backtesters on the market. In particular, I have researched eDeltaPro, getVolatility, and CMLviz TradeMachine. I did a detailed review about the latter. In coming posts, I will publish my findings on the other two. I really want our backtester to be something beyond what is currently available and to achieve that, we need to identify what has already been done.

This software will not be for commercial use. I am quant- and statistically-minded and looking to combine basic strategies to see how they fit together. The level of complexity will far surpass what introductory traders need. With regard to advanced retail traders out there who have studied and/or possibly developed some of these multifaceted approaches on their own—well, I don’t personally know any, as alluded to in the sixth paragraph here.

I don’t want to start a software company where I would be required to offer tech support.

I don’t really want to be an investment advisor selling my employer’s products.

I don’t really want to go into trader education: that’s a whole other industry of its own and would detract from my main focus.

As mentioned in the third paragraph here, I do want to remain on the quant-related course I have been following.

After reviewing the other two software solutions mentioned above, I will focus on some YouTube content I have been perusing. Videos are available on a wide variety of trading subjects. Some have captured my interest with regard to backtesting methodology. I will analyze these in a manner similar to this lengthy blog series in an attempt to gain a broader perspective on how we may go about backtesting different approaches.

Finally, I will start reviewing some Python concepts that will be integral to the backtester as a way to solidify my own personal understanding of the language.

Coming attractions, y’all!

STT Backtesting Notes (Part 2)

I continue with miscellaneous observations from recent STT backtesting done in OptionNet Explorer (ONE):

I will be doing more backtesting, will hopefully sharpen some of the ill-defined points, and will ideally generate some results to share. Things that might help with this include: PT and max losses, guidelines for UEL and delta bias, clear technical criteria, attention paid to unique Trade IDs, and continuous tracking of inventory.

Easier said than done!

STT Backtesting Notes (Part 1)

Today I present miscellaneous notes based on observations seen doing manual STT backtesting in OptionNet Explorer (ONE).

I would like to give a disclaimer about level of sophistication. Someone recently looked at my blog and said, “I was completely lost after two sentences.” I have made particular effort in the past to explain things for an audience unfamiliar with trading concepts. I have cut back on this recently. Please realize my primary motivation for blogging is to organize my thoughts and to keep myself on track with my projects. I don’t need basic definitions because I’m immersed in this stuff every day. Should you have particular questions, always feel free to leave comments below or even contact me via website e-mail.

The backtest begins in Nov 2019 in order to be fully loaded for the March 2020 crash. This is primarily an income STT (BWB) backtested as 10 contracts (five tranches). I hedged starting with nakeds that become 40 LPs upon maturation. I sold the STT in the same month; next time, I will look to sell the STT one month farther out.

I tried to use some rudimentary technical analysis to guide whether I should lean positive or negative NPD. I looked at slope of 50-MA along with IV term structure.

If I’m going to trade this live, then I need to be very clear with technical criteria. Even if the criteria alone do not constitute a profitable strategy, they should at least filter out large contrary moves. I then need to make sure to lean directionally rather than letting NPD grow too large (especially in defensive periods where HV is high and big moves would not surprise).

I charged $20/contract to cover transaction fees. This should be sufficient as discussed here. All expiring contracts were BTC at 3:55 PM. This added expense may be considered to offset crash conditions where larger slippage would be expected.

Here are my general impressions:

I will continue next time.

Review of Python Courses (Part 34)

In Part 33, I summarized my Datacamp courses 98-100. Today I will continue with the next three.

As a reminder, I introduced you to my recent work learning Python here.

My course #101 was Introduction to Git. GitHub is a website used for collaboration by sharing projects. This course focuses on Git, which is the tool used on GitHub (and some other sites). The course covers:

This does it for my review of Datacamp Python courses.

My Latest Cover Letter (Part 6)

Through a series of blog posts (Part 1, Part 2, Part 3, and Part 4), I feel I have done a pretty good job of describing what I seek, what I have done, and what I offer to a prospective financial firm. Organizing and putting all this into words has been a herculean effort for me. One thing that remains quite understated is the content presented in this blog.

In Part 5, I started to bring my writing to the fore with a sampling of blog posts.

To say this blog is extensive would be a vast understatement:

With the exception of time, this blog really is my job interview. Its entirety makes me the most transparent of candidates you will ever see with regard to motivation and any ulterior motives I could possibly have.

The current mini-series is my best attempt thus far to encapsulate everything I am in the domain of finance: trader, backtester, analyst, commentator, writer, defender, and scientist (in any order you well please).

Trader Networking, Trading Success? (Part 2)

Part 1 discussed frustration over spotty e-mails when trying to network with other traders. Should consistent, prompt e-mail replies be a prerequisite for trading group candidates, and does effective networking bode well for trader success?

I honestly don’t know how often people check e-mail these days so I did a quick internet search. Reliable statistics are hard to find, but here are some potential answers:

How often e-mail should be checked is also unclear. I have seen so-called “experts” recommend:

Any of these would be satisfactory for my purposes. I don’t even need a response the same day. Getting a response within 2-3 days is more than sufficient for the purposes of planning a group meeting a couple weeks out in time.

These cursory findings also confirm my frustration over spotty replies. If most people check e-mail so often then why do my leads seem so disconnected? The caveats listed in Part 1 still apply, of course: accidental oversight could be involved.

Switching gears a bit, I think it safe to say that not too many people have substantial success trading the markets. As discussed in the sixth paragraph here, I have had very little success finding other full-time traders. 90% is the oft-quoted failure rate, which I wrote about in this blog mini-series. I also wrote about it here many years ago, and here I discussed one actual study that suggests the failure rate to be even higher.

I had a challenging time organizing this group, which managed to survive for a couple years. We had decent participation across 7-10 members. 3-4 members presented at least the occasional trade while two of us presented frequently. Only one of us (me) was trading full-time.

I have seen many trading meetups struggle to find consistent attendance and subsequently shut down. The AA District Library once refused to advertise an investing program because historically, they found such content to be in low demand.

I wonder about a possible relationship between consistent group attendance and trader success. Might retail traders benefit by coming together to discuss and develop strategy? Might organized trading teams offer accountability benefits? In my humble opinion, AB-SO-LUTE-LY! For various psychological reasons, getting ahead in trading by working alone is very, very difficult.

I would certainly guess those who work together in groups have more success than those who trade on their own. I have discussed benefits of trading groups in the second-to-last paragraph here, the second paragraph here, and here.

One person who responded to my networking e-mail said:

     > I’ve been trading for years, more purchase of securities. But started
     > with options about 1 year ago, it’s not easy. Everything I seem to select
     > goes the opposite direction 😫… I try to do it every day. lol, well
     > at least look at it to select something.

Do I think she could be taught to approach this in a more disciplined, systematic way? Yes! Does she have the necessary commitment to learn, practice, and develop? I would have to know her better to answer that.

If you believe that trading groups are correlated with greater success and if trader networking can lead to the creation of trading groups, then trader networking can definitely be correlated with trading success.