Fully automated futures trading

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

  1. Code:
             code contractid     filled_datetime  filledtrade  filledprice
    2849      AEX     201503 2015-03-04 08:02:38           -1   481.250000
    2848  AUSSTIR     201603 2015-03-04 02:34:45           -1    97.980000
    2850      US5     201506 2015-03-04 14:20:22           -1   118.867188
    
    
    Slippage in GBP, for entire trade
    
    
             code  gbpt_slippage_process  gbpt_slippage_bidask  gbpt_slippage_execution  gbpt_slippage_all_trading  gbpt_slippage_total
    2849      AEX                -247.44                  7.28                    -0.00                       7.28              -240.17
    2850      US5                  -0.00                  2.54                    -0.00                       2.54                 2.54
    2848  AUSSTIR                  18.34                  6.11                   -12.23                      -6.11                12.23
    
    Total slippage: process -229.100000; bidask 15.930000; execution -12.230000; all trading 3.710000; grand total -225.400000
    These are mainly risk reduction trades on the back of the recent drawdown.

    The AEX sample price was grabbed at closing time, and traded the next morning, hence the large positive price movement.

    Yesterdays LOSS: £1,645

    Not much differently (I don't know if you are aware of this but I used to work for AHL). AHL also had a very high Sharpe last year. On a risk adjusted basis we're probably pretty even. I will soon post my simulated returns. The average SR from 1980 onwards is about 0.9. So in a similar ballpark.

    For what its worth:

    Reasons why AHL should do better than me, in order of importance:

    - Much wider set of markets traded; perhaps 300 versus 43.
    - Much lower execution commissions paid
    - Smarter execution algos, but more importantly experienced execution traders.
    - Large team of researchers refining and developing models

    Reasons why I might do better, most important first:

    - I have a lower allocation to trend following, so a more diversified style of trading.
    - There are no fees
    - Institutional pressures leading to models changing and frequent overrides (http://qoppac.blogspot.co.uk/2014/05/why-black-box-hedge-funds-should-have.html)
    - Smaller size, so lower slippage
     
    #51     Mar 5, 2015
  2. I've finally got round to producing a new backtest which can be found here

    The bottom line is that the last year has indeed been exceptionally good, versus a realistic long run back tested Sharpe of 0.88.

    2009, 2011 - 2013 are flat. However 2010 is more interesting, as my backtest made some money whilst the CTA industry generally didn't. I've done a bit more digging since I wrote that post and this is a further breakdown by trading rule:

    [​IMG]

    'globaltrend', 'breakout', 'normmom' and 'momentum' are different flavours of trend following. Although AHL (and I guess other CTA's) use similar versions of these rules (with the possible exception of 'normmom' which is my own entirely original, though very simple, creation) they don't have them in the same proportions as I do. In particular 'momentum', which is an EWMAC system, was a relatively large part of a typical CTA system in 2010*, wheras I have a more equal weighting. The highest blue line (below the red line) is this type of system, which did the worst in 2010.

    This scale of outperformance may not be repeatable, but in general I think its better to have a spread of different kinds of trading rules rather than relying too much on one.

    * I have no idea what the typical proportions are now.
     
    #52     Mar 5, 2015
    panganp likes this.
  3. R1234

    R1234

    Nice work. Don't want to sidetrack this thread but I working on a system activator/de-activator algorithm and like to test it out on other people's return streams as a robustness check. Any possibility you could upload an excel file containing daily returns for each of your systems? If you'd rather not, I completely understand ...
     
    #53     Mar 5, 2015
  4. Yes, no problem, but it might take me a couple of days to organise myself.
     
    #54     Mar 5, 2015
  5. Yesterdays trades:

    Code:
    Trades take 1
    
             code contractid     filled_datetime  filledtrade  filledprice
    2851      AEX     201503 2015-03-05 08:04:21            1   485.050000
    2855      AEX     201503 2015-03-05 12:26:36           -1   488.650000
    2852     BOBL     201506 2015-03-05 12:09:07           -2   129.070000
    2864     BOBL     201506 2015-03-05 12:59:29           -1   129.030000
    2873     BOBL     201506 2015-03-05 15:00:27            1   129.270000
    2853     BUND     201506 2015-03-05 12:13:02           -1   156.390000
    2857      CAC     201503 2015-03-05 12:31:35           -4  4963.500000
    2869     CORN     201512 2015-03-05 14:30:00           -3   413.750000
    2876     CORN     201512 2015-03-05 16:30:08           -1   416.000000
    2877     CORN     201512 2015-03-05 18:15:11            1   414.750000
    2863  EDOLLAR     201809 2015-03-05 12:49:28            2    97.495000
    2856   GAS_US     201505 2015-03-05 12:29:52           -1     2.825000
    2858     GOLD     201506 2015-03-05 12:33:13           -1  1202.300000
    2875  LIVECOW     201510 2015-03-05 16:45:21            1   146.800000
    2866   NASDAQ     201503 2015-03-05 14:05:08           -2  4455.000000
    2854      OAT     201506 2015-03-05 12:12:56           -1   153.540000
    2867    SP500     201503 2015-03-05 14:05:40           -1  2101.750000
    2868     US10     201506 2015-03-05 14:08:27            1   127.062500
    2872      US2     201506 2015-03-05 14:23:08            1   109.226562
    2871      US5     201506 2015-03-05 14:15:47            1   118.976562
    2862    WHEAT     201512 2015-03-05 13:30:22           -2   529.000000
    2865    WHEAT     201512 2015-03-05 14:30:03            1   528.500000
    
    
    Slippage in GBP, for entire trade
    
    
             code  gbpt_slippage_process  gbpt_slippage_bidask  gbpt_slippage_execution  gbpt_slippage_all_trading  gbpt_slippage_total
    2857      CAC                -652.72                  7.25                    -0.00                       7.25              -645.47
    2855      AEX                -380.76                  3.63                     7.25                      10.88              -369.88
    2875  LIVECOW                -162.55                 13.00                   -26.01                     -13.00              -175.55
    2856   GAS_US                -133.29                  9.75                   -19.51                      -9.75              -143.04
    2862    WHEAT                 -97.53                 16.25                   -32.51                     -16.25              -113.78
    2876     CORN                -105.66                  4.06                    -8.13                      -4.06              -109.72
    2863  EDOLLAR                 -48.76                  8.13                   -16.25                      -8.13               -56.89
    2851      AEX                 -65.27                  7.25                    14.50                      21.76               -43.51
    2858     GOLD                 -35.76                  6.50                    -0.00                       6.50               -29.26
    2867    SP500                 -24.38                  4.06                    -8.13                      -4.06               -28.45
    2877     CORN                 -12.19                  4.06                    -8.13                      -4.06               -16.25
    2866   NASDAQ                  -3.25                  3.25                   -13.00                      -9.75               -13.00
    2872      US2                   0.00                  5.08                   -10.16                      -5.08                -5.08
    2873     BOBL                  -7.25                  3.63                     0.00                       3.63                -3.63
    2869     CORN                  -0.00                 -0.00                    -0.00                      -0.00                -0.00
    2864     BOBL                  14.50                  3.63                    -7.25                      -3.63                10.88
    2865    WHEAT                  16.25                  4.06                    -8.13                      -4.06                12.19
    2871      US5                   5.08                  2.54                     5.08                       7.62                12.70
    2852     BOBL                  43.51                  7.25                    -0.00                       7.25                50.77
    2854      OAT                  50.77                  3.63                    -0.00                       3.63                54.39
    2853     BUND                  65.27                  3.63                    -7.25                      -3.63                61.65
    2868     US10                 142.23                  5.08                   -20.32                     -15.24               126.99
    
    Total slippage: process -1391.760000; bidask 125.720000; execution -157.950000; all trading -32.180000; grand total -1423.940000
    
    Lots of trading today, I'll explain why in a second

    P&L: £12427

    Good day. Only about £3K below HWM at yesterdays close.

    Yesterday I made some changes to my trading system. I try and avoid changing it frequently. One of the issues with my professional career in this business is that system changes are all too common. Generally you should only change an automated system when you have new information, or a serious concern about its behaviour (a bug if you like).

    In this case after nearly a year of trading I felt I had some new information. Not about raw performance, a year being not enough to influence a 30 year plus year backtest, but about costs. Up to now I've run all instruments at the same trading speed. Now I feel confident about the numbers I have for slippage to use these to optimise my allocation to faster or slower signals differently for NASDAQ (which is very cheap) versus say AUSSTIR (which costs 40 times more). Theres a brief description of how this is done in the last post on my blog.

    In terms of making changes to trading systems its important to minimise the impact this has. The trading above (which fortunately cost me nothing in execution -minus £158 in fact) represents about half the adjustment. In other markets where I will be rolling in the next few days and I'm increasing my position it would be expensive to buy more of the current contract, only to sell it again into the roll. Better to buy more of the new contract once that is liquid enough. It's my judgement that this cost is higher than the expected benefit I'd get from moving to the new positions now. This also means I'm temporarily underrisked. I'm cool with this -better than the converse situation.
     
    #55     Mar 6, 2015
  6. nvroy

    nvroy

    Thanks for the look at the backtest, so it's been 3 years since system made equity high, which parallels most trend following cta, drawdown seem shallow, good job nonetheless. What was your largest equity drawdown on backtest, did I see a dip in 1983?
     
    #56     Mar 6, 2015
  7. Here you go. Although its .txt extension, its actually csv (ET won't let me upload .csv files).

    Missing data is blank. Each return is based on its contribution to my system. So if you want to use them in isolation you'll need to adjust them so they have the same volatility, unless you use Sharpe Ratio as your filter.

    Every time I've looked at this issue in the past I've got nothing significant. Partly this might be because when we do this we're already preselecting models that work. If you used some random data from arbitrary models you could . But then you would just end up with a glorified significance test, whereas I imagine what you're more interested in is some kind of time series prediction of whether a model will work or not in the next year ahead.

    I can't imagine that working in isolation, though some kind of conditioning variable might help. For example the level of interest rates might be an interesting one to look at.

    Good luck!
     
    #57     Mar 6, 2015
  8. About 33% of capital. Yes, 1983 is the biggest; though there are only 4 markets with data then. The first interesting drawdown is 1994 (Fed tightening, particularly hits fixed income. Could have been worse, I guess it was for Orange county...).
     
    #58     Mar 6, 2015
  9. R1234

    R1234

    thanks for uploading. I volatility normalized your different systems and fed the return streams into my system picker. I didn't come out well. It underperformed your equally weighted portfolio. In my research, system timing does work but it tends to be sensitive to the characteristics of the systems that are fed in and also the correlations within the basket.
     
    #59     Mar 6, 2015
  10. jj1111

    jj1111

    Can you elaborate on "volatility normalized?"
     
    #60     Mar 6, 2015