Fully automated futures trading

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

  1. H2O

    H2O

    Even using averages, it seems you could run into risk restrictions if you are running near maximum risk allowed under your "caps". In this case, would you opt not to add the additional bet or reduce the size of your existing bets?
     
    #151     Jul 8, 2015
  2. In the hypothetical trinary system in my last post I'd opt not add the additional bet.

    In my current 'always in' system a new bet might cause me to hit a risk limit. So yes I would reduce the size of existing bets. However the effect would be small (since I have so many markets - I might be adding 1 position to say an existing set of 33, implying a cut in existing bets of just 3%), and by using buffering any backward and forward trading is minimized.
     
    #152     Jul 8, 2015
  3. H2O

    H2O

    Thx for the insight
     
    #153     Jul 8, 2015
  4. taq

    taq

    Nice thread & Blog Rob.
     
    #154     Jul 9, 2015
  5. Thanks very much, appreciate it.
     
    #155     Jul 9, 2015
  6. A slightly delayed update (for reasons which will become apparent); last update was 3rd July.

    I'm doing this in two parts as I seem to have some kind of character limit.

    The last couple of weeks has been much more profitable than recently. I'm up over £40K in money terms, or 10%. Drawdown is 6.8%.

    Big gainers

    GOLD £12,800 (and that is why I delayed it... more below)
    PLAT £10,000
    PALLAD £9,400
    CRUDE £3,100

    Big losers

    WHEAT £3,800
    GAS £2,000
    SOYBEAN £2,000 (one of last fortnights big winners, remember)

    Gold of course was big news yesterday. As is often the case zerohedge has a nice comment on the story (in a future life I'd like to be zerohedge. Or maybe Matt Levine. Hopefully they'll both be dead in my future life [I don't mean that in a malicous way, it's a pure actuarial forecast], so I'd like to be the sort of current version of them.).

    But Gold (with the rest of the metals complex also playing a part) hasn't been doing great recently even without yesterdays fall
    [​IMG]


    I won't be doing an 'explainer' post on this position. The thing was going down. I was short a couple of contracts two weeks ago, and I've since sold another one. It's gone down some more. I'm at the max short I'd have (given the current volatility - if volatility falls I might sell some more).

    There is a point I'd like to make about risk management. An unexpectedly large gain is just as dangerous as an unexpectedly large loss. Reason being you're only a slightly biased coin flip (biased if your system has positive profit expectation) away from one becoming the other. So when I logged on yesterday morning and saw a £12K profit between my hourly checks of account value my first instinct was not 'hurray!', but rather 'there's a problem with my broker valuation' and my second (once I'd checked out what had happened) was a slight sense of panic.

    Anyway the Gold move was about 6 sigma at the low, although it finished just over 3 sigma down. A large move then, made worse by smaller falls across other metals, and as usual it reinforces that you need to be diversified to reduce your exposure, and to limit your portfolio exposure to different kinds of risk (for example I am running at 84% of the risk I would like to right now because I've hit my 'risk measured assuming all correlations go to one' limit).

    Part two follows...
     
    #156     Jul 21, 2015
  7. Part two of regular update:

    Current positions:

    Code:
           code contractid  positions   Lock WrongContract InFwdNotRoll
    25      AEX     201508          1  False         False        False
    2       AUD     201509         -3  False         False        False
    6      BOBL     201509          1  False         False        False
    24      BTP     201509          1  False         False        False
    0       CAC     201508          1  False         False        False
    21   COPPER     201512         -2  False         False        False
    14  CRUDE_W     201512         -2  False         False        False
    23  EDOLLAR     201812          4  False         False        False
    27  EDOLLAR     201809          2  False         False        False
    5       EUR     201509         -1  False         False        False
    15  EUROSTX     201509        -13  False         False        False  (hedge)
    12      GBP     201509         -1  False         False        False
    11     GOLD     201508         -3  False         False        False
    18      JPY     201509         -2  False         False        False
    9       KR3     201509          8  False         False        False
    1   LEANHOG     201606          1  False         False        False
    3   LIVECOW     201510         -1  False         False        False
    13      MXP     201509         -7  False         False        False
    4    NASDAQ     201509          1  False         False        False
    20      NZD     201509         -3  False         False        False
    28   PALLAD     201509         -2  False         False        False
    16     PLAT     201510         -4  False         False        False
    19      SMI     201509          1  False         False        False
    17  SOYBEAN     201511          2  False         False        False
    26    SP500     201509          1  False         False        False
    10      US2     201509          2  False         False        False
    8       US5     201509          1  False         False        False
    22      V2X     201509          2  False         False        False
    7       VIX     201508         -2  False         False        False 
    Risk
    Code:
         code  multisignal  expected_annual_risk  expected_annual_risk_per_contract  position  expected_annual_risk_rounded_pos
    21      SMI         13.6                  8739                              10905         1                             10905
    3  SOYBEAN        16.6                10653                              7126        2                            14252
    28      MXP        -17.8                 11387                               1591        -7                             11138
    27      JPY        -19.3                 12385                               5787        -2                             11575
    17      VIX        -19.5                 12515                               6981        -2                             13961
    24      AUD        -21.9                 14005                               4938        -3                             14815
    30   COPPER        -30.2                 19325                               7785        -2                             15571
    29      NZD        -22.5                 14416                               5409        -3                             16228
    33     PLAT        -31.3                 20024                               4832        -4                             19328
    34  CRUDE_W        -32.6                 20893                               9798        -2                             19596
    32   PALLAD        -30.6                 19603                              10841        -2                             21682
    31     GOLD        -37.0                 23675                               9103        -3                             27309
    25      EUR        -25.8                 16559                              28110        -1                             28110
    37  EUROSTX          0.0                     0                               6959       -13                             90473
    
    Notice that Gold / Palladium / Platinum, are amongst my biggest shorts.

    Current expected portfolio risk is @ 118% of average; on 93% of maximum capital (due to the drawdown) or in money terms £6,881 a day or £110K a year (or if you like, 28% of my maximum capital, and 29.5% of my current reduced capital; versus long run targets of 25%).

    Risk@ 118% of average is up from 92% a couple of weeks ago. Although I describe myself as a 'slow' trader compared to the daytrading / HFT gunslingers; my risk has increased by ~30% on the back of some tidy trends in just 10 business days.



    Trades
    Code:
            code contractid     filled_datetime  filledtrade  filledprice
    4537      AEX     201508 2015-07-21 08:02:05            1   500.850000
    4396      AUD     201509 2015-07-06 01:26:41           -1     0.747700
    4447      AUD     201509 2015-07-09 01:28:32           -1     0.738200
    4435     BOBL     201509 2015-07-08 10:35:37            1   130.140000
    4477     BOBL     201509 2015-07-13 07:31:30           -1   129.250000
    4534      BTP     201509 2015-07-20 09:30:58            1   135.100000
    4528      CAC     201508 2015-07-20 08:02:37            1  5142.500000
    4441   COPPER     201512 2015-07-08 12:04:56           -1     2.450000
    4483     CORN     201512 2015-07-13 14:30:00            1   443.500000
    4465  CRUDE_W     201512 2015-07-09 12:13:22           -1    54.390000
    4459  EDOLLAR     201812 2015-07-09 12:02:13            1    97.610000
    4498      EUR     201509 2015-07-16 01:36:31           -1     1.094700
    4402   GAS_US     201509 2015-07-06 12:14:29           -1     2.767000
    4444   GAS_US     201509 2015-07-08 12:13:06           -1     2.736000
    4474   GAS_US     201509 2015-07-10 17:28:15            1     2.803000
    4486   GAS_US     201509 2015-07-14 12:14:22            1     2.884000
    4510   GAS_US     201509 2015-07-16 12:21:25            1     2.907000
    4405      GBP     201509 2015-07-07 10:14:13           -1     1.549300
    4450      GBP     201509 2015-07-09 01:33:28           -1     1.535600
    4471      GBP     201509 2015-07-10 12:29:51            1     1.553700
    4399     GOLD     201508 2015-07-06 12:07:26           -1  1164.500000
    4426      JPY     201509 2015-07-08 07:59:08            1     0.008223
    4480      JPY     201509 2015-07-13 07:57:51           -1     0.008133
    4504      JPY     201509 2015-07-16 06:57:31           -1     0.008075
    4456    KOSPI     201509 2015-07-09 01:47:17           -1   242.800000
    4468    KOSPI     201509 2015-07-10 02:32:45            1   247.450000
    4423      KR3     201509 2015-07-08 02:24:39            1   109.100000
    4522      KR3     201509 2015-07-17 01:05:32            1   109.080000
    4420  LEANHOG     201606 2015-07-07 14:59:16            1    82.400000
    4495  LIVECOW     201510 2015-07-15 15:44:49           -1   149.950000
    4453      MXP     201509 2015-07-09 01:40:29           -1     0.062770
    4525   NASDAQ     201509 2015-07-17 14:22:00            1  4621.500000
    4462     PLAT     201510 2015-07-09 12:10:59           -1  1034.800000
    4507      SMI     201509 2015-07-16 08:05:13            1  9308.000000
    4438  SOYBEAN     201511 2015-07-08 12:07:54           -1   981.750000
    4516    SP500     201509 2015-07-16 14:21:18            1  2114.500000
    4513      US2     201509 2015-07-16 14:10:00           -1   109.437500
    4540      V2X     201508 2015-07-21 08:06:57           -1    19.700000
    There is slightly less trading than normal. With trend following when you're making money you'll probably be doing less trades. The trades you do will normally, over this kind of period, be opening trades in the direction of a strengthening trend. So in the metals complex I just added to existing shorts.

    On the other hand consider GAS_US which wasn't a great market. I started the period short one contract. I then sold into what looked like a fading market. I was wrong however and had to buy back at higher prices; eventually closing out completely. This pattern of opens and closes, buying high and selling low, is very characteristic of a trend follower playing in a choppy market. You end up churning a bit and getting out with a modest small loss.

    Of course the hope is that this doesn't happen too often and you end up with a few markets where are decent trends; on which you take larger gains which will outweigh your more numerous small losses. In the last two weeks that has clearly been the case. It's all about sitting at the table, ponying up your small ante, and waiting for the cards to turn into your favour before you bet the big bucks.

    Forgot to say slippage was £2.40 (or what I just paid for a not brilliant latte) versus expectations of £198.47. Plus say another £25 for commissions and £5 for data. This can be a pretty cheap hobby :)

    GAT
     
    #157     Jul 21, 2015
  8. Part one of fortnightly update (last July 21st)

    I'm happy today, and heres why

    [​IMG]
    So yesterday, for a few hours, I broke through my HWM and out of drawdown. A drawdown lasting a little less than 4 months is relatively short if you look at the backtest, but it's a different matter when you're living through it.

    I don't increase my capital at risk when I make a new HWM, instead I 'bank' the money and put it out of reach of my trading system (only in an accounting sense; the money is actually withdrawn at the end of the year or earlier to pay taxes and what not). Just over a 1% profit was 'banked' in this way; not a lot but it's better than a kick in the teeth with a Sharpe ratio stick.

    This also means I'm profitable for the current fiscal year. Still some way to go, but would be nice to have a down year just yet.

    As of this morning my profit in the last two weeks then was around £23K. Current drawdown (off the new, higher HWM don't forget) is 2.3%.

    Big gainers:

    Crude 7900
    Copper 4400
    Palladium 3800
    Platinum 3000
    Gold 2000
    MXP 2000

    Fallers:

    SP500 -2200
    Nasdaq -1800
    Wheat -1550

    Same story as the last update, except the rest of the metals complex is catching up with Gold.

    Surely even non commodity traders have heard the news that Crude is down to sub $50

    [​IMG]
    Current positions

    Code:
           code contractid  positions   Lock WrongContract InFwdNotRoll
    1       AUD     201509         -1  False         False        False
    3      BOBL     201509          2  False         False        False
    26      BTP     201509          2  False         False        False
    9       CAC     201509          1  False         False        False
    20   COPPER     201512         -2  False         False        False
    21     CORN     201512         -1  False         False        False
    13  CRUDE_W     201512         -2  False         False        False
    25  EDOLLAR     201812          5  False         False        False
    28  EDOLLAR     201809          2  False         False        False
    14  EUROSTX     201509        -13  False         False        False   (Hedge)
    29   GAS_US     201510         -2  False         False        False
    8      GOLD     201512         -3  False         False        False
    17      JPY     201509         -3  False         False        False
    23    KOSPI     201509         -1  False         False        False
    12     KR10     201509          1  False         False        False
    5       KR3     201509          8  False         False        False
    0   LEANHOG     201606          1  False         False        False
    2   LIVECOW     201510         -1  False         False        False
    10      MXP     201509         -7  False         False        False
    19      NZD     201509         -2  False         False        False
    22      OAT     201509          1  False         False        False
    30   PALLAD     201509         -2  False         False        False
    15     PLAT     201510         -4  False         False        False
    18      SMI     201509          1  False         False        False
    16  SOYBEAN     201511         -1  False         False        False
    27    SP500     201509          1  False         False        False
    7       US2     201509          2  False         False        False
    4       US5     201509          1  False         False        False
    24      V2X     201509          1  False         False        False
    6       VIX     201509         -2   True         False        False
    11    WHEAT     201512         -1  False         False        False
    

    Part two follows...
     
    Last edited: Aug 5, 2015
    #158     Aug 5, 2015
    steve2222 likes this.
  9. Part two of regular update

    Risk

    Code:
    Expected annual risk more than GBP6400 per year, GBP400 per day
           code  multisignal  expected_annual_risk  expected_annual_risk_per_contract  position  expected_annual_risk_rounded_pos
    25      EUR        -14.9                  9531                              21455         0                                 0
    24      AUD        -13.4                  8609                               5160        -1                              5160
    4     WHEAT        -10.0                  6411                               5176        -1                              5176
    3   SOYBEAN        -11.1                  7138                               6911        -1                              6911
    27      JPY        -19.7                 12592                               4572        -2                              9144
    29      NZD        -20.0                 12812                               5111        -2                             10223
    35   GAS_US        -16.0                 10247                               5251        -2                             10503
    28      MXP        -17.7                 11335                               1609        -7                             11260
    17      VIX        -18.8                 12033                               5929        -2                             11858
    30   COPPER        -30.1                 19253                               7835        -2                             15670
    33     PLAT        -30.1                 19253                               4768        -4                             19074
    34  CRUDE_W        -35.2                 22514                               9720        -2                             19440
    32   PALLAD        -35.5                 22763                              10356        -2                             20713
    31     GOLD        -35.5                 22763                               8432        -3                             25297
    
    21      SMI         11.2                  7165                               9712         1                              9712
    10      OAT         15.0                  9577                               6551         1                              6551
    36  EDOLLAR         16.7                 10676                               1474         7                             10320
    8       BTP         18.3                 11692                               7415         2                             14830
    
    Current expected portfolio risk is @ 121% of average; on 97.7% of maximum capital (due to the drawdown) or in money terms £7371 a day or £118K a year (or if you like, 29.4% of my maximum capital, and 30.1% of my current reduced capital; versus long run targets of 25%).

    Risk@121 % of average is slightly up from 118% a couple of weeks ago. My system has hit a risk ceiling (maximum total signal; or if you like the measure of risk that assumes in a crisis all correlations will go to 1 or -1, whichever is worse) which is mostly preventing it from scaling up any further.


    Trades

    Code:
             code contractid     filled_datetime  filledtrade  filledprice
    4585      AEX     201508 2015-07-24 07:59:56           -1   491.400000
    4660      AUD     201509 2015-07-31 16:00:00            1     0.732900
    4684      AUD     201509 2015-08-04 01:25:33           -1     0.725100
    4687      AUD     201509 2015-08-04 06:27:51            1     0.733400
    4696      AUD     201509 2015-08-04 16:07:59            1     0.740300
    4690      BTP     201509 2015-08-04 07:31:58            1   136.710000
    4609      CAC     201508 2015-07-27 14:57:56           -1  4948.500000
    4693      CAC     201509 2015-08-04 08:05:36            1  5099.000000
    4567   COPPER     201512 2015-07-22 14:17:09           -1     2.447500
    4633   COPPER     201512 2015-07-28 19:34:12            1     2.420000
    4630     CORN     201512 2015-07-28 15:17:10           -1   384.250000
    4597  CRUDE_W     201512 2015-07-27 12:10:03           -1    49.330000
    4681  CRUDE_W     201512 2015-08-03 17:21:03            1    47.290000
    4648  EDOLLAR     201812 2015-07-31 12:10:45            1    97.580000
    4594      EUR     201509 2015-07-27 03:26:25            1     1.100900
    4600   GAS_US     201510 2015-07-27 12:15:01           -1     2.790000
    4666   GAS_US     201510 2015-08-03 12:17:00           -1     2.796000
    4570      GBP     201509 2015-07-23 06:14:11            1     1.561700
    4576      GBP     201509 2015-07-24 01:45:26           -1     1.550800
    4636      GBP     201509 2015-07-29 01:34:55            1     1.560400
    4669     GOLD     201508 2015-08-03 12:35:16            1  1091.000000
    4672     GOLD     201512 2015-08-03 12:35:16           -1  1091.000000
    4675     GOLD     201508 2015-08-03 12:47:32            2  1090.400000
    4678     GOLD     201512 2015-08-03 12:47:32           -2  1090.400000
    4699      JPY     201509 2015-08-05 01:43:52           -1     0.008046
    4615    KOSPI     201509 2015-07-28 01:26:32           -1   244.000000
    4591     KR10     201509 2015-07-27 01:39:29            1   123.700000
    4618      MXP     201509 2015-07-28 01:49:46           -1     0.061170
    4651      MXP     201509 2015-07-31 13:46:21            1     0.061970
    4627   NASDAQ     201509 2015-07-28 14:13:57           -1  4531.500000
    4573      NZD     201509 2015-07-23 09:21:14            1     0.665400
    4579      NZD     201509 2015-07-24 01:55:11           -1     0.658700
    4642      NZD     201509 2015-07-30 15:20:19            1     0.656300
    4582      OAT     201509 2015-07-24 07:33:44            1   148.700000
    4612      SMI     201509 2015-07-27 15:01:34           -1  9177.000000
    4645      SMI     201509 2015-07-31 08:03:49            1  9397.000000
    4564  SOYBEAN     201511 2015-07-22 12:02:12           -1   996.500000
    4588  SOYBEAN     201511 2015-07-24 12:13:30           -1   978.000000
    4639  SOYBEAN     201511 2015-07-29 12:05:00           -1   943.750000
    4606    SP500     201509 2015-07-27 14:17:06           -1  2064.250000
    4654    SP500     201509 2015-07-31 14:11:16            1  2106.250000
    4603      US2     201509 2015-07-27 14:11:34            1   109.507812
    4657      US2     201509 2015-07-31 15:47:47           -1   109.539062
    4621      V2X     201509 2015-07-28 08:08:28           -1    21.200000
    4624    WHEAT     201512 2015-07-28 12:05:09           -1   516.750000
    
    
    Slippage £72.50 vs £185 expectated

    Just to say, if there is any information you'd like to see included in these regular updates, or any questions you have, fire away. It will be far more interesting for me.

    There won't be another of these updates for about a month, as I'm taking some holiday. During that time I'll be away from my trading system with only a brief day back at home in late August. That will enable me to do the early quarterly rolls for bond contracts. The monthly rolls for VIX, V2X, AEX and CAC I've already done.

    How should one deal with holidays as a slowish automated trader (a day trader can probably not trade)? The first option is to close all your positions. This incurs two lots of slippage (though if you're smart you can do it in conjunction with rolling) - probably several thousand; and opportunity cost from not trading (depending on what I think my Sharpe Ratio is, between £1K and £2K a week lost on average, though it could be a gain). This strikes me as very conservative.

    The second option is to keep your positions open, but turn off your trading system so you won't react to anything that happens. If you're trading slowly enough you might just get away with it. Personally that scares me a little.

    The third option is to keep your system on, but reduce your risk in some way. You can do this across the board (eg cut all positions in half) or selectively. Last year for example I had some massive short VIX/V2X positions. That kind of negative skew whilst being away from the system was a little worrying. This year I could cut my big shorts in crude and metals. Theoretically it's better just to cut all your positions than to do it selectively. I'm giving this option some serious consideration.

    The fourth option is to keep your system on with full initial positions, but only allow trading which reduces your risk (eg closing positions). This is an option which I find tempting.

    The final option is of course to let everything run just as it is. I'm a little more confident in my system than I was last summer, but it's still a bit worrying.

    If anyone has any thoughts on this, I'd be interested to hear them (before Sunday morning, when I have to action them!).

    GAT
     
    #159     Aug 5, 2015
    steve2222 likes this.
  10. Pekelo

    Pekelo

    You said you have about 40 different instruments traded at all times. After you have a year of data, wouldn't it be wise to get ride of the worst performing 5-10 instruments and just keep the rest? 30 is still very well diversified....

    Of course it is possible that those 5-10 futures just had a bad year, but would be interesting to see their back test what it shows in a longer time frame.
     
    #160     Aug 5, 2015