Fully automated futures trading

Discussion in 'Journals' started by globalarbtrader, Feb 11, 2015.

  1. I use the same weights as for everything else, because I'm not an overfitting monkey....

    I don't use just momentum and carry, so a better way to answer your question is to tell you what I have in 'divergent' (like momentum) and 'convergent' (like carry):

    Code:
        groups:
          trendy:
            weight: 0.6
            speed1:
              weight: 0.16667
              relmomentum10: 0.2
              breakout10: 0.2
              assettrend2: 0.2
              normmom2: 0.2
              momentum4: 0.2
            speed2:
              weight: 0.16667
              accel16: 0.1667
              relmomentum20: 0.16667
              breakout20: 0.16667
              assettrend4: 0.16667
              normmom4: 0.16667
              momentum8: 0.16667
            speed3:
              weight: 0.16667
              accel32: 0.1667
              relmomentum40: 0.16667
              breakout40: 0.16667
              assettrend8: 0.16667
              normmom8: 0.16667
              momentum16: 0.16667
            speed4:
              weight: 0.16667
              accel64: 0.1667
              relmomentum80: 0.16667
              breakout80: 0.16667
              assettrend16: 0.16667
              normmom16: 0.16667
              momentum32: 0.16667
            speed5:
              weight: 0.16667
              breakout160: 0.25
              assettrend32:  0.25
              normmom32: 0.25
              momentum64:  0.25
            speed6:
              weight: 0.16667
              breakout320: 0.3333
              assettrend64:  0.3333
              normmom64: 0.3333
          not_trendy:
            weight: 0.4
            mean_reversion:
              weight: 0.333
              mrinasset1000: 1.0
            skew:
              weight: 0.333
              skewabs365: 0.25
              skewabs180: 0.25
              skewrv365: 0.25
              skewrv180: 0.25
            carry:
              weight: 0.333
              abs_carry:
                weight: 0.6
                carry10: 0.25
                carry30: 0.25
                carry60: 0.25
                carry125: 0.25
              rel_carry:
                weight: 0.4
                relcarry: 1.0
    
    Exact weights will depend on the market trading costs, but the top level there is 'trendy': 0.6 and not trendy 0.4; so the same 60:40 weights in AFTS.

    No, I wouldn't advise it. Unlike trend, carry doesn't cut your position automatically when it moves against you.

    Rob
     
    #4531     Apr 24, 2025
    Spacious likes this.
  2. klander

    klander

    Understood, I will use 60:40.

    Thanks a lot, Rob!
     
    #4532     Apr 24, 2025
  3. @globalarbtrader Hi Rob,

    I have a question regarding IDM and Weights in Chapter 4 of AFTS.
    From Appendix B -
    Use weekly returns for the instrument sub-strategy, assuming that the given instrument has all the capital available, i.e. an instrument weight and IDM of 1. Recalculate the correlation matrix every year, using all available historical data up to that point. Floor negative correlations at zero.

    My understanding of it -
    This like like running strategy 3 separately on all instruments using complete capital, combining the strategy's returns and then calculating the correlation matrix every year based on all available history. So let's say run strat3 on S&P, US 10-year bond, WTI CRDUE OIL and GOLD MICRO separately using all capital and all get instrument weight 1 and all get IDM 1. Then using substrategy returns from all 4 backtests, calculate correlation matrix each year based on all available history, cluster the correlation matrix using hierarchical clustering to get weights every year and then calculate IDM every year. Then use those weights and IDM we have at each year when backtesting Strat 4 for those 4 instruments.

    From Footnote 90 of Strat4 -
    Actually the method I used is slightly different from what I presented earlier in the chapter, and uses sub-strategy return correlations to group similar instruments together, rather than doing this manually. This makes it suitable for use in backtesting where it can be applied on a rolling basis, using only backward looking data and accounting for additional instruments as they appear in the data set. The IDM was also calculated on a rolling basis, using only historic information; 2.47 is the nal value of the IDM.

    My understanding of it.
    So does this mean that when starting the backtest, initially we have just 1 instrument in the dataset, so give it the complete weight of 1 and IDM 1. Then when the next instrument is available, split weights to 0.5 each (This will create unintended PnL for instrument 1). Then recalculate IDM when both have sufficient substrategy return history available. Then when more instruments are available, use hierarchical clustering to get instruments weights and then update IDM when sufficient history is available.


    I am confused between the 2 ways.
    I think that for backtesting we should go ahead with appendix B.
    Could you please clarify?

    Thank you for your time and your wonderful book.

    Best Regards,
    CryptoCaptainX3.
     
    #4533     Apr 28, 2025
  4. I've read this twice and I think I'm describing exactly the same method with slightly different words?

    Rob
     
    #4534     Apr 28, 2025
  5. My confusion comes from the returns that will be calculated.
    So in the first example(4 separate backtest for 4 symbols) let's say we do those 4 backtests with x million capital for each symbol.
    And in the second example(portfolio backtest with those 4 symbols) let's say we start with y million.
    In the second example, when the backtest reaches the second symbol's start point, the starting capital can be different because of the first symbols' substrategy returns. So the denominator used to calculate returns will be different for the second symbol, that will give us a different percentage return and hence correlations will be different.
    Let me know if I need to be more clear.

    Do I have to use fixed notional capital to calculate percentage returns like you had done from strategy 2 onwards?

    Thanks!.
     
    #4535     Apr 28, 2025
  6. No this is all with fixed capital so the returns are unaffected

    Rob
     
    #4536     Apr 28, 2025
  7. Got it thanks! Everything with fixed capital makes sense! Thanks!.
     
    #4537     Apr 28, 2025
    newbunch likes this.
  8. New tagline for my tombstone:

    Everything with fixed capital makes sense
     
    #4538     Apr 28, 2025
  9. One follow up question, In the backtest, at any point if equity becomes less than starting equity, then for sub strategy returns calculation and position sizing both should use minimum(starting equity,current equity) (half compounding approach)?
    If not, then can we use any arbitrary large value which is constant as denominator for substrategy returns calculation and half compounding approach for position sizing?

    If not, then what to use for as the capital value each day?
     
    #4539     Apr 29, 2025
  10. None of this use fixed capital
     
    #4540     Apr 29, 2025