Monday, 17 April 2023

Advanced Futures Trading Strategies

 Tommorrow marks the official release of my 4th book:


Henceforth to be known as AFTS


(I've had authors copies since the 24th February, but modern supply chains being what they are it takes considerably longer for the book to arrive in the hands of my readers; although plenty of people on twitter have been bragging about receiving their copies earlier).

You can buy it here (why haven't you already!), or read about the detail a bit more here. It's my longest book so far, and in my personal opinion the best written as well (I feel like I'm getting better with practice!). 

What I thought I would do in this post is explain in some more detail why I decided to write it, what it's about, and how it relates to my other books.


Why I decided to write it

The motivation for AFTS came from a number of different sources. Firstly, I don't think I'm bragging when I say I have a fair amount of experience in trading futures. But I've never really written about specifically trading them in my books, except to discuss how to adapt my workhorse forecasting/vol adjusting portfolio management equations to that particular asset class, as well as the odd reference to the fact you have to roll them every now and then. An obvious exception is 'Leveraged Trading', where they appear as one of five classes of leveraged instruments that I specifically discuss.

The second motivation was that I'm painfully aware that my books are rather short on specific trading strategies. All of them include simple trading rules, mostly of the moving average crossover and carry type, but most of the bad reviews on amazon have come from people who were expecting rather more than that. Of course you guys know that really isn't the point of my books. Systematic Trading was about designing your own strategies, whilst the point of Leveraged Trading was mostly to get people to trade in a safe and cost efficient way; the underlying trading rule is secondary to this purpose.

Of course there are plenty of books on trading futures (I normally recommend Jack Schwagers work here), and there are also compendiums full of trading strategies (Perry Kaufman seems to have written the longest), but I still felt I could offer something unique with my purely systematic approach.

So my third source of motivation was a book I wrote a few years ago, but which very few people will ever read. When I took over the fixed income team at AHL the team consisted of a disparate group of people, not all of whom had deep familarity with the asset class. So I wrote a 'book', which mostly consisted of a lot of graphs showing how various instruments had behaved in the past, their volatility patterns, how the yield curve had behaved, and how various types of trading strategies performed across different instruments. I can't remember the exact title, but if I wrote such a book today I would call it the 'Fixed Income Almanac'. 

It once occured to me that a 'Futures Almanac' would be an interesting project. There used to be a book (probably out of print, and certainly out of date now we have the internet) that listed all the futures markets in the world (perhaps someone old like me can put the title in the comments). I imagined a book with a couple of pages per market, with a graph showing the price and performance of various simple trading strategies, plus some interesting market statistics.

Of course such a book wouldn't be commercially viable, would go out of date, and more worryingly for me would become a license for overfitting ("Look, from page 925, Iron has clearly the best momentum ewmac4,16 performance"). 

However it struck me that if I did write a book about trading strategies, I could make it 'alamanac-like' by testing my strategies over a huge set of futures markets, and showing the results.  


What it's about

In a sense AFTS is several books in one. 

Ostensibly, it's a book containing 30 trading strategies specifically for trading futures. All strategies are completely described, and I show full backtest results for each of them, in many cases breaking them down by asset class. I explain their strengths and weaknesses, and I even include some strategies I wouldn't personally trade myself. 

The strategies sprawl over the first five parts of the book. Part one is about long only, moving average crossovers, and carry. In part two I extend and poke around with these two basic strategies. By the end of it you will have a much fuller understanding of carry and trend, or have died trying. In part three I move on to other directional strategies. In here I also include a chapter with a detailed and coherent description of my dynamic optimisation strategy

Parts four and five cover ground you don't normally see me occuping. Part four is about fast mean reversion strategies, where we have to use novel execution techniques to cope with the resulting high turnover. Part five is about relative value; something I used to do plenty of back in the day, but which I no longer trade. 

Then in part six I discuss some of the 'plumbing' of futures trading: when to roll, optimal execution, risk management and cash management. These things are important - they won't make you a fortune but they can lose you one - but are rarely discussed in trading books. I've touched on many of these topics in my blog, but hopefully even my hard core fans will find it useful to have them systematically written up in one place.

However there is more to AFTS than meets the eye. The first few chapters move from trading a single contract, to trading with fixed vol estimates, to varying vol estimates, to adding a trend filter, then a filter with forecasts and buffering, and finally multiple filters. This allows the reader to understand the value and meaning behind each of these steps. 

In a sense these first few chapters are an empirical and logical  justification for 'my' style of trading. They also allow people to understand how a trading strategy will transform the return properties of the underyling distribution of each asset class; for example turning the VIX/V2X complex from heavily positive skew but crap returns, into still positive skew but also positive returns. Finally this approach also allows me to introduce my position sizing framework in a gradual fashion, making it easy to digest. 

Although this isn't a book about backtesting or system design - that would be Systematic Trading and perhaps an as yet unwritten book that goes into backtesting in more detail - I also use AFTS to gently remind or introduce concepts around over fitting and robust optimisation.

How it relates to my other books

If you're reading this blog post, there's a good chance you already own at least one of my other books, so you might be wondering if it's worth giving me some more of your money (TLDR: Yes! Give me your money. Look at all this great free content I'm giving you. I deserve it!). If you don't own any of my books - freeloader! - you may be wondering which you should buy first. OK, you should buy all of them, right now; but you might be wondering what order to read them in.

If you are a futures trader, but relatively inexperienced, I would start with my first book Leveraged Trading. Once you have a good understanding of the asset class, then it would make sense to move on to Advanced Futures Trading Strategies. My first book, Systematic Trading, is probably one to read next if you want to move on to designing your own trading strategies.

If you are not a futures trader, there is still a chance that the strategies in AFTS will be relevant to you, especially if you are trading 'futures-like' instruments like CFDs or spread-bets. Leveraged trading will help you understand how to pretend these things are really futures.

Smart Portfolios of course is a book about investing and not trading, but naturally still worth buying.


Credits

That's all I have to say, except I hope you all enjoy reading it. Roll the credits!

Commissioning editor: Craig Pearce
Cover: Chris Parker
Content reviewers: Thomas Smith, Helder Palaro, Tansu Demirbilek and Riccardo Ronco
Regular nudging on his podcast to make sure I was still writing: Niels Kaastrup-Larsen
Special thanks to: Doug Hohner (for dynamic optimisation)
Assistant proof-reader: Darcey the Cat.


Darcey the cat, looking for spelling mistakes


17 comments:

  1. Dear Rob, really appreciate the publishing of this book, bought it the first moment it is available, such a masterpiece!
    Just would like to highlight that in the Resources section, Strategysheets 18, 19 and 22 require additional permission to view, unlike others. Appreciate if you could help fix this special requirement, or advise how to get the additional access right on these 3 sheets. Much appreciated!

    Cheers,
    Stan

    ReplyDelete
  2. Is figure 3 on page 25 computed using the mini contract instead of the micro? Assuming a 5x multiplier it should top out around $4k x 5 = $20,000, no?

    ReplyDelete
    Replies
    1. I think you might be right, but I don't think it affects any of the other numbers or findings.

      Delete
  3. Hi Rob, if there is any position variation, seems you would place the adjustment orders at next day's Close, this is a reading from how the PnL gets calculated in your sample spreadsheet. Is this how you would manage the trades in the backtest process? If so, in order to achieve what the backtest system indicates, we should have the best execution as close or better than the Futures Settlement price as possible. Though at chapter Tactic Two Execution you mainly focused on how best to manage the bid/ask spread or so call the liquidity cost. Just wondering what are your considerations on the execution reference price used in the backtest, certainly it is more on the timing risk at certain time of the day rather than the liquidity risk throughout the day. Thanks!

    ReplyDelete
    Replies
    1. "If so, in order to achieve what the backtest system indicates, we should have the best execution as close or better than the Futures Settlement price as possible."

      Why does it matter to exactly match the backtest? At the speed we are trading, who cares?

      (On the other hand getting best execution will actually make me real money)

      What do I do: I run the backtest with and without a 1 day delay. There is 0 difference in the performance. That gives me confidence I shouldn't be that bothered about a 1 day delay. In fact it takes about a 5 day delay before I lose 0.01 SR units.

      Then when I'm trading I compare the 'reference price' (normally the previous days close, i.e. when I generated the signals) with the mid price when I come to submit the order at some point the following day, but almost certainly before the closing price. The difference between these two prices is the effect of delay in my trading system, and will produce a live/backtest difference. Some days it could be quite big, but on average it should come out to zero, which is what I would expect given the effect of delaying in the backtest.

      Delete
  4. Hi Rob!

    Thanks for a great new book!

    I have noticed that you are becoming more and more conservative with your target risk level: from 50% in ST to 20% in AFTS (25% is only for a well-differentiated portfolio). Back in LT, you allowed us (small traders) a little more drive than in AFTS. Is this a consequence of your expirience or systems productivity declining in recent years?

    The second question is about the recommended formula for calculating the minimum capital. It was presented before the concept of forecast. But after we had known about forecasting, this formula have not changed. But I remember your recommendation to calculate the minimum capital for a strength of forecast = 20 (in ST and LT). So we can double minimum capital, calculated before forecasting.

    ReplyDelete
    Replies
    1. 25% is what I would recommend given the sorts of backtested SR in AFTS. In theory if you had something much better you could still go to 50%. I wouldn't.

      Actually you would be halving the minimum capital.

      Delete
  5. Hi Rob!

    I have noticed (in pysytemtrade's rob_system and this blog) that your own weights of volatility futures are much less, than by equal handcrafting weighting (1/7 of capital). What is the reason? I guess, it is because this asset class has only two assets, so weights is too big. Maybe your are capping maximum weight? Thank you.

    ReplyDelete
    Replies
    1. Yes it's because it only has 2 assets. The handcrafting code I use for this automatically corrects for this.

      Delete
    2. Only available if you buy the book

      Delete
  6. Hi Rob! I'm a little confused about turnover.

    As I remember from Systematic Trading, turnover is a round trip trade.

    From ST glossary:
    "A way of measuring trading speed. Turnover is measured in round trips per year, where a round trip consists of a buy and a sell of an average sized position. So a trading system with a turnover of 10 units is expected to do ten buys and ten sells in a year. See page 184."

    If so, shouldn't we double the transaction costs in the formula from chapter 3 (AFTS):

    Risk adjusted transaction costs = Risk adjusted costs per trade * Turnover * 2 ?

    Thank you.

    ReplyDelete
    Replies
    1. No because, in a deliberate attempt to confuse, I've changed my definition of turnover. Ten buys and ten sells a year would now be a turnover of 20.

      Delete
  7. Hi Rob,

    Thank you for publishing such a great book.
    I tried to replicate Strategy 26 (fast mean reversion) with my own data but my backtest turned out to be a very steep decline in P&L at almost all times in the sample.
    Then I found out about the Resources section. I ran the code in chapter26.py as is using your daily and hourly datasets and I was surprised to also see a straight line down in P&L when i run perc_returns_dict['sp500'].cumsum().plot().

    Am I missing something obvious?

    Thank you,
    Florian

    ReplyDelete
  8. Thanks you very much, I was trying to replicate some example in the dynamic portfolio chapter, for example the calculations between table 115 and table 116 return the standard deviation of the portfolio as 0.0267. However if I exactly replicate the calculation I get 0.02890789. Am I missing something?

    ReplyDelete
    Replies
    1. ok, I was confused because the result of that example was eventually 0 1 3 and not 0 1 2, and it seemed mostly related with the calculation of the tracking error.

      Delete
  9. Hey, is this book helpful for other market traders? I am from India and trades in NSE.

    ReplyDelete

Comments are moderated. So there will be a delay before they are published. Don't bother with spam, it wastes your time and mine.