Trading multiple versions of a strategy

Curious as to how others are handling revisions to their trading strategies.

Say I have v1 of a live strategy that I’m trading in an account. I come up with v2 of the ranking system and strategy which (hopefully) yields a better expected CAGR or Sharpe, etc. In the past, I’ve unfollowed the v1 strategy, effectively decommissioning it, and began following the v2 strategy.

Now I have a v3, but I’m considering a different approach. Rather than retire v2 and trade exclusively v3, I’m considering creating a book of v2 and v3 (and possibly v1). From my simulations, this may provide a lower overall expected return than if I were allocated 100% towards the latest revision, but it increases Sharpe and reduces drawdowns as the revisions are not perfectly correlated.

One question I had is how the live book would handle multiple underlying strategies trading simultaneously on the same stock – it’s not uncommon for multiple revisions to have 50% overlapping positions at any point in time. So I set up a live book to test this out, and it it looks like the live book implementation is pretty slick, netting out orders across sub-strategies and listing the attributable strategies in the orders Note field.

I’m leaning towards going this book approach of trading multiple revisions, but am curious if others have considered this route.

One con of this approach is risk management becomes harder. Strategy level limits like SecWeight, IndCount, etc, no longer apply at the book level. Similarly, I may be taking more concentrated positions in stocks that overlap across strategies, but I’m also spreading risk across the union of stocks held across the book.

I’ve also considered just trading the two revisions simultaneously as separate strategies, with no book at all. This would allow me to allocate capital more precisely without book rebalancing. Likewise, performance attribution would likely be simpler. But because the strategies rebalances occur independently, presumably p123 would generate multiple, competing orders when both buy or sell the same security which I would like to avoid.

P123, can you confirm there’s no functionality in TRADE for netting simultaneous orders for the same security in the same account?

Anyone else have any other insights I’m not considering here?

This is a fascinating question. Let me outline my approach, which is really not suitable for everyone.

Like you, I overwrite my old systems when I revise things. That has some real drawbacks. For a time this summer, I incorporated factor momentum into my strategy, which resulted in huge turnover, much to my detriment. I should have done so with only a portion of my portfolio, not all of it. I’m glad I made the switch back to my old strategy after only 2 or 3 months.

I also run multiple rather closely correlated strategies at once because I use both Compustat and FactSet data and I use three different universes and four different ranking systems tailored for one or another data provider-universe combination. I base my buys and sells on the rank position I get from four different screens, which I run daily. The buys and sells are about half based on the rank positions for each screen and half on an average of those. I do this all using an Excel spreadsheet: none of it is automated.

In general, I’m a big proponent of combining different systems in one way or another, but I’m agnostic about whether it’s better to average all the rank positions or treat them all separately as one would in a book. So I do both and go the middle way. Because I use Excel, it’s not so hard for me to apply industry count and sector weights accordingly. Rather than skipping stocks because I own too much in one particular industry, I weight the amount I want to buy of each one accordingly. So if I’m overweight banks or mining stocks, I just decrease the capital allocation to those industries in my spreadsheet.

This is probably too much work for most people, but I have a proclivity for excessive tinkering, so it suits my personality.

I don’t know if this will be of any help to you, but maybe it’ll spark some ideas. But I do believe that you’re thinking along the right lines and that your considerations are very sensible.

Yuval, thanks for a look behind the curtain, very insightful. Definitely giving me some ideas…

I think I will try this multi-version book approach next week to start.

Compustat as another diversifier sounds very, very intriguing. I’m aware of the additional cost involved. It would be nice if you were able to trial older Computstat history (say up until the last 4-5 years) to see if had utility before incurring a huge upfront charge. If that’s not possible, do you have a sense of the correlation between any of your strategies when run on FactSet vs Compustat? And does a Compustat subscription cover all the Canadian and European markets too?

Interesting that you are doing so much portfolio management in Excel. Personally, I have been using p123’s book functionality for the last several months for some 100/30 long/short trading and it’s been really useful. I honestly think books are a hidden gem feature that many users may be underutilizing, though at the same time, it’s missing some features that may cause me to export my ranks/orders and do portfolio construction outside of p123:

  1. Leverage at the book level
  2. Optimizer support for book parameters (asset weights, rebalance thresholds, and leverage)
  3. Dynamic asset weights
  4. Basic portfolio optimization (mean-variance optimization), etc.
  5. Searching for designer models by lowest correlation or lowest absolute correlation to one or more assets in the book

I feel a combination of 1 and 2 alone could yield a 10 percentage point improvement in CAGR alone. I’m applying leverage at the strategy level right now, but it’s very cumbersome and not always viable e.g. if incorporating a designer model, or good luck creating a 2x leveraged short strategy that doesn’t wipeout if you want to create a market neutral book.

I’m also looking to incorporate 1 or 2 designer models this year. You can see their correlation once you’ve added them to the book – and it’s great that you have access to this history even for unsubscribed model, but it might drive more designer model subscriptions if it were easier to search for designer models that are most uncorrelated to your own.



It is a lot of work with a spreadsheet. But I do think averaging ranks is a good method and I have done something similar with boosting ranks (not provided by P123) in a spreadsheet. Its is an example of what is called “stacking” in machine learning which I mention only to support the idea. It is an established method.

For P123 ranks, it is nearly equivalent to just make each ranking system you want to average into a node and put equal weight on each node in one ranking system. Obviously, one might still use a spreadsheet if they are weighting sectors, for example. Yuval is probably doing multiple things that require a spreadsheet, in other words.

I have tried the latter approach in sims. I am not using this method now.

For whatever reason, putting all of methods into a book has worked a little better for me. My experience with this is very limited, however, so others may find something different. I am NOT doing this with books at this time either.


You’d have to ask Compustat about a trial subscription. I use somewhat different ranking systems for Compustat and FactSet. You ask about the correlation: if I run a screen with exactly the same ranking system for Compustat and FactSet on the Easy to Trade US universe, I get a correlation of 0.938. (That is, if you put the Compustat rank for each ticker in one column and the FactSet rank for the same ticker in another, the correlation between them is 0.938.)

Compustat covers Canada but P123 does not have access to its European data.

Yuval, thanks very much for the correlation figure. 94% correlation is pretty high – comforting for the consistency across the two datasets, but not sure how much value I would get by diversifying across both. Could potentially differentiate them more by selecting two different ranking systems from their respective data. I’ll mull that over.

Jim, re: averaging, to be clear I am already averaging ranking systems within a given system version, i.e. v3 ranking system may be the average of ~5 ranking systems that were selected during that research phase, and same goes for v2, etc.

What I’ve found is that there is some limit though to averaging ranking systems across versions. In my attempts to average v3 and v2 so far, I’ve found that it yields ranks with performance greater than v2 but less than v3. Likewise, sim performance on that v2+v3 ranking system tends to be lesser across all metrics (CAGR, sharpe, sortino, max drawdown) than v3 ranks alone.

My theory is that both rank performance and my sim’s performance are largely driven by the cagr of the top ~20 stocks in the universe – depending on your bucket size or % portfolio weight and turnover. A sim on v3 ranks is holding the top 20 v3 ranked stocks. But because of the number of holdings is fixed, a sim on v2+v3 ranks is dropping some of these higher v3 ranked stocks in favor of some that are ranked higher in v2, which we know tend to have lower expected value.

The approach of trading a weighted mix of two strategies, a strategy with v3 ranks and a strategy with v2 ranks, allows you to always be betting on the top 20 v3 ranked stocks. Furthermore, stocks that are top ranked in both v2 and v3 will be overweighted in your combined book.

I don’t know if I can further prove or falsify this theory, but that’s my intuition at least.

1 Like

Feldy, Nice. Well thought out. Thank you for the reply! -Jim