Using strategy ranking to maximize capital allocation to a portfolio of strategies

Discussion in 'Strategy Building' started by fan27, Aug 18, 2015.

  1. fan27

    fan27

    I write my own backtesting software and have been working on a particular problem.

    How best to allocate capital to a portfolio of strategies?

    Let's say I have strategy A which has an average result of 3% per trade and strategy B which has an average result of 10%. Assuming most of the other performance statistics are equal but strategy B occurs far less frequently than strategy A, what is the optimal way to deploy capital to these strategies? We could allocate x percent of our capital to each strategy, but the allocation pool for strategy B will be mostly sitting idle until a trade occurs. My solution to this problem is to introduce the concept of strategy ranking to my software.

    The way I use strategy ranking is if one strategy is ranked higher than another strategy in the same allocation pool, my backtest engine will exit a portion of the lower ranked strategy if there are no available funds in the allocation pool. It will only exit what is needed to get into the new position. Where I have found this very useful is where my strategy A is a "Relative Strength" strategy that is always in a trade. The "Relative Strength" re-balances at a set interval and enters the strongest ticker in the group. The strategy B signals do not occur often but the trades have a very high win rate/expectation.

    Examples can be seen below as well as the results attached. Clearly the ranking of strategies has a far superior return in this example.

    2StrategiesDifferentAllocation (300% over 10 years)
    http://www.fasterbull.com/members/strategy-portfolio-builder.html?id=221

    2StrategiesSameAllocDiffRank (700% over 10 years)
    http://www.fasterbull.com/members/strategy-portfolio-builder.html?id=182

    I would be interested to learn about how others have applied this or similar concepts.

    thanks
    fan27
     
  2. achilles28

    achilles28

    That's right. Allocate to best performers first. Lower performers later. When forced to make a choice, liquidate lower performers and reallocate to higher performers etc.
     
  3. Calculate the frequency of B events, possibly conditional on whatever you think matters, and value cash held aside as an option on B. If the option value exceeds A, hold cash; if not, invest in A.
     
  4. Firstly and most importantly, you would expect the performance stats of your real time strategies to approximate, as closely as possible, the stats of your backtests. In this case the only way to achieve this is to trade all the signals you'd expect from your strategy. The greater the number of trades the closer the results should be. Think about the law of big numbers.

    Thus, you would want all your strategies to trade all the time they are supposed to. After all, you cannot decide when the peak and drawdown periods of any of your strategies will occur.

    For sure, when allocating capital, you need to do so across all your strategies according to many variables such as their expected returns, various variance ratios, expected capital employed, etc.

    But you need to make sure that if you decide to trade a strategy you have enough capital for it.

    If you are short of capital, just trade the strategies with the higher expected returns only until you build your capital to the point where you need to diversify due to the scaling constraints of your existing strategies.

    Just my 2 cents.
     
  5. newwurldmn

    newwurldmn

    How about allocating based on correlation of the two strategies? Otherwise you might as well allocate 100% of your risk capital to the "best performing one." So you could be allocating more money to an inferior strategy but make greater risk adjusted returns.
     
    PetaDollar likes this.
  6. fan27

    fan27

    Great comments here gents! Looks like I have just begun to scratch the surface with my allocation code. I would be curious if any off the shelf packages can do things such as those mentioned...

    Allocate based on:
    Scaling constraints
    Strategy Correlation
    Risk adjusted returns
    etc.
     
  7. There is an outstanding discussion and examples of portfolio construction (meaning, which algorithms to trade on what) in Trading Systems by Jaekle and Tomasini. They also discuss off-the-shelf software that is up to the task. The correlation of daily PnL for different strategies, or, same strategy on different underlyings is a key idea from the book.

    In fact, the authors state (and I have thus far found to be true):

     
    Last edited: Aug 19, 2015
  8. fan27

    fan27

    You mean there is actually a trading book that has some value? o_O haha
    Joking aside, it looks promising. Will check it out!

    fan27