Monthly review (last one was Feb 5th) P&L: 0.4% (graph is slightly out of date) Since inception: 93.1% Drawdown (new HWM): 8.5% A flat month after the excitement of January, though I set a new HWM a couple of times and broke the 100% barrier for p&l since inception (using my preferred calculation method which assumes constant maximum capital - in reality it's a lot more in cash terms based on the initial cash of 300K) One more month of the financial year left to go, and my YTD fiscal is around 36%; not as good as last years stellar 57%, but still higher than my backtested average of around 22%. A lot can happen in a few weeks though! Reports: P&L Up: Gas 10.6K Gold 3.6K Corn 3.1K Wheat 2.1K down: Crude -3.8K Soy -2.3K Nasdaq -2.2K Palladium -2.1K The Crude / Gas and Gold / Palladium difference again highlights the importance of diversification, even within asset classes. This will be the subject of a blog post I'm currently working on (can we adequately diversify with less capital?). Positions Code: code contractid positions Lock WrongContract InFwdNotRoll 3 AUD 201603 1 False False False 8 BOBL 201606 3 False False False 19 BTP 201606 3 False False False 16 BUND 201606 1 False False False 0 CORN 201612 -9 False False False 11 CRUDE_W 201612 -2 False False False 4 EDOLLAR 201906 11 False False False 6 EDOLLAR 201909 1 False False False 7 EUR 201603 -1 False False False 2 EUROSTX 201603 -13 False False False 12 GAS_US 201605 -4 False False False 17 GBP 201603 -1 False False False 15 KR10 201603 3 False False False 23 KR3 201603 9 False False False 18 LEANHOG 201606 2 False False False 20 LIVECOW 201610 -1 False False False 1 MXP 201603 -2 False False False 10 OAT 201606 1 False False False 21 SOYBEAN 201611 -4 False False False 14 US10 201606 1 False False False 22 US2 201606 2 False False False 13 US5 201606 1 False False False 5 V2X 201604 5 False False False 9 WHEAT 201612 -7 False False False Risk Code: code multisignal expected_annual_risk expected_annual_risk_per_contract position expected_annual_risk_rounded_pos Longs 15 US5 2.6 1882 2784 1 2784 13 US2 4.6 3242 1739 2 3478 16 V2X 4.8 3431 933 5 4663 12 US10 4.2 3010 4857 1 4857 1 LEANHOG 7.7 5481 2665 2 5331 10 OAT 7.5 5341 5844 1 5844 7 BOBL 8.8 6254 1964 3 5892 24 AUD 13.8 9808 6627 1 6627 9 BUND 9.8 6937 6706 1 6706 6 KR3 9.2 6515 779 9 7007 5 KR10 12.2 8653 3339 3 10017 36 EDOLLAR 25.7 18288 1627 12 19530 8 BTP 27.2 19316 6635 3 19905 Shorts 32 PALLAD -2.5 1793 12720 0 0 2 LIVECOW -7.4 5236 4326 -1 4326 28 MXP -4.8 3450 2988 -2 5975 26 GBP -3.4 2437 6650 -1 6650 25 EUR -11.3 8023 9099 -1 9099 3 SOYBEAN -18.6 13253 3494 -4 13977 0 CORN -21.6 15342 1587 -9 14282 4 WHEAT -27.4 19463 2852 -7 19966 34 CRUDE_W -32.9 23378 10606 -2 21213 35 GAS_US -32.8 23356 5421 -4 21685 Trades Code: code contractid filled_datetime filledtrade filledprice 8683 AUD 201603 2016-02-22 17:25:45 1 0.724000 8782 AUD 201603 2016-02-29 02:07:01 -1 0.711600 8806 AUD 201603 2016-03-02 02:13:05 1 0.723100 8632 BOBL 201603 2016-02-22 07:30:56 1 132.860000 8809 BOBL 201603 2016-03-02 07:28:29 -4 133.150000 8812 BOBL 201606 2016-03-02 07:28:29 4 131.440000 8881 BOBL 201606 2016-03-04 16:08:23 -1 131.250000 8533 BTP 201603 2016-02-09 07:34:19 -1 136.550000 8584 BTP 201603 2016-02-12 07:40:01 -1 137.340000 8623 BTP 201603 2016-02-18 10:42:54 1 138.440000 8740 BTP 201603 2016-02-24 07:34:15 1 138.860000 8788 BTP 201603 2016-02-29 07:32:45 1 139.340000 8815 BTP 201603 2016-03-02 07:29:05 -3 140.310000 8818 BTP 201606 2016-03-02 07:29:05 3 138.620000 8821 BUND 201603 2016-03-02 07:31:40 -1 165.600000 8824 BUND 201606 2016-03-02 07:31:40 1 162.970000 8536 CAC 201602 2016-02-09 08:10:13 -1 4079.000000 8587 CAC 201602 2016-02-12 08:04:10 1 3963.500000 8539 COPPER 201603 2016-02-09 12:07:16 1 2.050000 8833 COPPER 201603 2016-03-02 12:27:58 1 2.165500 8557 CORN 201612 2016-02-09 17:17:12 -1 386.000000 8611 CORN 201612 2016-02-16 17:31:04 -1 382.750000 8803 CORN 201612 2016-03-01 15:01:52 -1 375.500000 8800 CRUDE_W 201612 2016-02-29 12:11:33 -1 39.660000 8875 CRUDE_W 201612 2016-03-04 11:59:29 1 40.980000 8569 EDOLLAR 201903 2016-02-11 13:55:56 -1 98.855000 8581 EDOLLAR 201903 2016-02-12 06:37:44 -1 98.925000 8656 EDOLLAR 201903 2016-02-22 12:02:44 -4 98.605000 8659 EDOLLAR 201906 2016-02-22 12:02:44 4 98.535000 8746 EDOLLAR 201909 2016-02-24 12:50:48 1 98.575000 8836 EDOLLAR 201906 2016-03-02 14:39:58 -1 98.460000 8770 EUR 201603 2016-02-26 18:01:19 -1 1.092900 8548 GAS_US 201605 2016-02-09 14:33:53 -1 2.229000 8662 GAS_US 201604 2016-02-22 12:05:39 1 1.839000 8665 GAS_US 201605 2016-02-22 12:05:39 -1 1.916000 8668 GAS_US 201604 2016-02-22 12:38:22 1 1.835000 8671 GAS_US 201605 2016-02-22 12:38:22 -1 1.911000 8674 GAS_US 201604 2016-02-22 12:41:31 1 1.836000 8677 GAS_US 201605 2016-02-22 12:41:31 -1 1.913000 8620 GBP 201603 2016-02-18 02:27:58 -1 1.430000 8761 GBP 201603 2016-02-25 02:31:53 -1 1.392500 8839 GBP 201603 2016-03-03 02:30:13 1 1.408300 8602 GOLD 201606 2016-02-16 13:20:00 -1 1211.400000 8575 KR10 201603 2016-02-12 02:40:33 -1 129.340000 8713 KR10 201603 2016-02-23 02:53:56 1 129.100000 8578 KR3 201603 2016-02-12 03:51:19 -1 110.230000 8737 KR3 201603 2016-02-24 02:16:08 1 110.190000 8785 KR3 201603 2016-02-29 02:31:40 1 110.350000 8608 LIVECOW 201610 2016-02-16 15:29:14 -1 116.575000 8884 LIVECOW 201610 2016-03-04 18:24:37 1 121.725000 8617 MXP 201603 2016-02-17 17:28:23 1 0.055130 8545 NASDAQ 201603 2016-02-09 14:12:22 -1 3911.000000 8605 NASDAQ 201603 2016-02-16 14:02:43 1 4064.750000 8596 OAT 201603 2016-02-15 07:36:14 -1 154.070000 8635 OAT 201603 2016-02-22 08:35:15 1 155.720000 8827 OAT 201603 2016-03-02 09:55:31 -3 155.630000 8830 OAT 201606 2016-03-02 09:55:31 3 155.910000 8851 OAT 201606 2016-03-03 07:34:22 -1 155.670000 8857 OAT 201606 2016-03-03 07:52:22 -1 155.580000 8791 PALLAD 201603 2016-02-29 11:59:19 1 497.100000 8794 PALLAD 201606 2016-02-29 11:59:19 -1 497.500000 8860 PALLAD 201606 2016-03-03 17:56:36 1 540.500000 8530 PLAT 201604 2016-02-08 14:35:32 1 925.000000 8524 SOYBEAN 201611 2016-02-08 12:31:16 -2 878.500000 8542 SOYBEAN 201611 2016-02-09 14:30:02 -1 877.750000 8590 SOYBEAN 201611 2016-02-12 12:56:44 1 888.000000 8614 SOYBEAN 201611 2016-02-17 13:41:53 1 888.500000 8626 SOYBEAN 201611 2016-02-18 13:03:55 1 890.250000 8749 SOYBEAN 201611 2016-02-24 12:49:10 -1 880.000000 8764 SOYBEAN 201611 2016-02-26 13:10:50 -1 878.500000 8797 SOYBEAN 201611 2016-02-29 14:36:32 -1 874.000000 8878 SOYBEAN 201611 2016-03-04 12:59:50 1 886.250000 8887 SOYBEAN 201611 2016-03-04 18:25:09 1 890.000000 8572 SP500 201603 2016-02-12 06:34:46 -1 1816.250000 8599 SP500 201603 2016-02-15 15:14:48 1 1882.750000 8629 SP500 201603 2016-02-21 19:12:47 1 1882.000000 8680 SP500 201603 2016-02-22 14:03:06 -1 1934.750000 8716 US10 201603 2016-02-23 13:59:03 -1 130.421875 8719 US10 201606 2016-02-23 13:59:03 1 130.054688 8593 US2 201603 2016-02-12 17:41:10 -1 109.531250 8722 US2 201603 2016-02-23 13:59:32 -2 109.296875 8725 US2 201606 2016-02-23 13:59:32 2 109.296875 8728 US5 201603 2016-02-23 14:00:22 -2 120.898438 8731 US5 201606 2016-02-23 14:00:22 2 120.796875 8767 US5 201606 2016-02-26 17:55:30 -1 120.781250 8560 V2X 201603 2016-02-11 08:34:44 -3 30.900000 8563 V2X 201604 2016-02-11 08:34:44 3 30.850000 8566 V2X 201604 2016-02-11 08:39:10 1 31.150000 8872 V2X 201604 2016-03-04 08:18:48 -1 26.500000 8527 WHEAT 201612 2016-02-08 12:34:25 -1 496.250000 8758 WHEAT 201612 2016-02-24 13:04:18 -1 490.250000 Expected slippage £351 Actual £469 Ouch. Although there were a few bad fills, possible as I was doing a lot of rolls, order number 8569 - Eurodollars - is the main culprit here. I saw 6.5 additional ticks of slippage at $25 each, totalling £120, on top of the £4.45 I'd have payed if I'd submitted. This was a particularly volatile day when Eurodollar hit a high 22 ticks off the open and closed 2 ticks down. The 85 I received was somewhere in the middle of that range, but unfortunately I'd entered the market as it was slamming downwards off the peak and then chased it down. The contract is now trading at 47.
Hi GAT, In your backtesting, do you assume you execute at the closing price (plus slippage and transaction costs), at the next day at the open or at some other price? Also, in your EWMAC rule, is there a reason why the span of your slow EWMAs are 4x longer than your faster EWMAs? Did you test any alternative multiples e.g., 3 or 5? I am aware there is a potential fitting bias associated with alternatives, but wanted to get your take on it. Thanks
I assume I execute at the next days closing price, plus slippage. For the EWMAC multiple there are 3 approaches you can take: - use real data - generate random data with trends plus noise http://qoppac.blogspot.co.uk/2015/11/using-random-data.html - Apparently there is a closed form solution for the optimal given certain assumptions about the underlying price process, which a very clever guy once showed me. I couldn't reproduce it here for legal reasons as it's not in the public domain (plus I forgot). Anyway, the right multiple seems to somewhere between 2 and 6 depending on which approach you take. And the performance surface is relatively flat between these values. So it doesn't make a lot of difference. If for example you ran 4,8; 4,12; 4,16; 4, 20; and 4,24 all at the same time; well the correlations between these things are very high ... Since I like to use fast moving average of lookback 4,8,16 and so on (you need to double it to keep the correlation of adjacent EWMAC the same); using 4 times has a certain neatness to it. GAT
Hi Rob, Thanks for posting your experience on ET. I'm a fan of your book & blog. Since your base currency for your futures account in GBP, I'm sure you have to handle with different currency exposure for futures margin. Which approach do you employ in your trading, or is there a good standard practice in hedge fund industry for handling currency exposure? 1. convert your base currency to fulfill margin requirement (+/- profit/losses) ? 2. let the currency remains in deficit, and pay for the interest accrued?
Good practice is to minimise currency exposure. I try and cover my margin, but nothing more. This is especially true for EUR/ CHF where you can now be charged for cash balances. Wheras in a higher interest currency like KRW I might allow myself to build up a bit of an excess before converting. But generally any profits not yet withdrawn should sit in the base currency. GAT
Hi Rob, In your Risk table, some instruments have signal > than 20 or < than - 20. Does it mean that you dont use caps for your forecasts?