Fully automated futures trading

First my system isn't 'always in'. There is a minimum signal strength I need before establishing a position. However if I had enough capital it would be 'always in'.

Anyway, on to your question. I wouldn't trade any differently if I had a binary system, or a system where I had a lot of potential bets few of which were rarely active.

I don't, as you are suggesting, have a constant target expected risk that I'm hoping to achieve.

Effectively I size my portfolio according to the average number of bets I expect to have on over the long run; and according to what I expect the average correlation of those bets to be.

Let's suppose that on average I expect to have 10 trinary (long/short or no position) bets on out of a total of 20 possibilities.

I'll scale the overall system so I have on average the required amount of risk assuming I have 10 bets on, and for some average correlation of bets.

If I had fewer bets on than normal I would be taking less risk than average. That makes sense; you should always have risk on proportional to the opportunities available.

If I had more bets on than normal I would be taking more risk than average.

Closing a bet or adding a new bet has no effect on existing bets, and so doesn't require any trading.

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?
 
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?

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.
 
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.

Thx for the insight
 
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
gold.jpg



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...
 
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
 
Part one of fortnightly update (last July 21st)

I'm happy today, and heres why

plot.jpg

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

index.png

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:
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
 
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.
 
Back
Top