Portfolio heat

Discussion in 'Risk Management' started by rdencpa, Dec 19, 2007.

  1. rdencpa

    rdencpa

    Has anyone come up with a good solution to the problem of overall risk limitations for a trading portfolio. Fixed fractional sizing seems only to address the one trade at a time idea by taking a % of the total account equity to determine sizing. However I never trade just one thing at a time, so the problem is that if I trade 2 things, or 5 or 100 or 1000, at some point using the old rule of thumb of 1-2% risk per trade is going to really over leverage, over trade my account and result in complete disaster unless the concept of total portfolio heat limitation is considered.

    Anyone found any good research material on this topic?
     
  2. look for David Druz and Ed Seykota's articles. Thats all there is. The only other option is finding some really good delta neutral model... to gain leverage.
     
  3. rdencpa

    rdencpa

  4. MGJ

    MGJ

    Modern backtest software includes built-in primitives that try to address this. They might or might not be the best possible ideas the mind of man could ever conceive, that's a matter of opinion, but I don't think it's very controversial to say that these built-in primitives are certainly steps in the right direction.

    One commonly available set of functions can be incorporated into your trading system's position sizing calculations. For example "TOTALHEAT()" returns the sum of the heat of each position currently in place. Applying it in pseudocode, you might choose to say
    1. If TOTALHEAT() > (0.25 * TOTALEQUITY()) then skip new trades; set positionsize = 0; don't take more entry signals
    2. If TOTALHEAT() > (0.25 * TOTALEQUITY()) then take new entry signals at half size
    3. If TOTALHEAT() > (0.25 * TOTALEQUITY()) then exit the worst performing current trade before entering a new trade at full size
    Other functions with similar uses are SECTORHEAT(), TOTALHEATLONG(), TOTALHEATSHORT(), SECTORHEATLONG(), SECTORHEATSHORT(), COUNTTOTALPOSITIONS(), COUNTSECTORPOSITIONS(), and so forth.

    The preceding ideas only modify new entry signals and new trades. Another set of functions allows another set of ideas, which modify both new trades and existing trades. They go by the name "resizing". For example,
    1. If TOTALHEAT() > (0.25 * TOTALEQUITY()) then exit 25% of the size of each current position; scale down; reduce heat by 25%
    2. If SECTORHEAT() > (0.5 * TOTALHEAT()) then exit 25% of the size of each position in this sector; this sector is overweighted so reduce it
    Grab a user's manual for one of the programs that implement these kinds of functions. It may give you some ideas. Mechanica, Trading Recipes, and Power ST's manuals contain lots of such things. Maybe other programs do too, you could take a look.