Tuesday, 13 April 2021

Trading and investing performance - year seven

 It's April, which means the birds are singing, the trees are leafing, and I'm doing my annual review of my investing and trading performance. 

The format will be familiar from previous years, but I'm going to be using the fact I've upgraded my live trading system to include a lot more detail about my futures trading performance.


TLDR: Last year my futures trading bailed me out during a market meltdown in which my long only portfolio underperformed a market that didn't do that well. My futures trading, and some (for me) very active and slightly discretionary ETF reallocations helped push me to a smaller loss. Since then the market has rebounded strongly, and my long only portfolio has done even better - especially in UK stockpicking. And as the diversification wheel spins round, my futures trading detracted somewhat from that performance, although not by very much.

I've also taken some steps to simplify my portfolio; reducing the number of ETFs I hold, clearing all the long only investments out of my trading account, and closing down my futures hedge.

 

Overview of my world


My investments fall into the following categories:


  • In my investment accounts:
    • 1 UK stocks
    • 2 Various ETFs, covering stocks, bonds, gold and property
    • 3 Usually some uninvested cash
  • In my trading account:
    • 4 Various ETFs, covering stocks and bonds
    • 5 A futures contract hedge against those long only ETFs in 2.1, so that the net Beta is around zero 
    • 6 Futures contracts traded by my fully automated trading system
    • 7 Cash needed for futures margin, and to cover potential trading losses (there is also some cash in my investment accounts, but it's pretty much a rounding error)


Excluded from this analysis is:

  • Net property equity - my house
  • My 'cash float', roughly 6 months of household expenditure that is kept separately from my investment and trading accounts. 


For the purposes of benchmarking it makes most sense to lump my investments in the following way:


  • A: UK single stocks
    • Benchmarked against ISF, a cheap FTSE 100 ETF (FTSE 350 is probably a better benchmark but these ETFs tend to be more expensive).
  • B: Long only investments: All ETFs (in both investment and trading accounts) and UK stocks
    • Benchmarked against a cheap 60:40 fund. This is the type of top down asset allocation portfolio I deal with in my second book.
  • C: Equity neutral: The ETFs in my trading account, plus the equity hedge. 
    • Benchmark is zero.
  • D: Futures trading: Return from the futures contracts traded by my fully automated system. This is the type of portfolio I deal with in my first book, and in my third book. The denominator of performance here is the notional capital at risk in my account (usually close to, but not exactly the same as the account value).
    • Benchmarks are a similar fund run by my ex employers AHL, and the SG CTA index, adjusted for volatility.
  • E: Trading account value: This is essentially everything in my trading account, and consists of equity neutral + futures trading. 
    • No relevant benchmark.
  • F: Everything: Long only investments, plus futures hedge, plus futures trading. I include the value of any cash included in my trading or investment accounts, since if I wasn't trading I could invest this. 
    • For the benchmark here again I use a cheap 60:40 fund.


If you prefer maths, then the relationship to the first set of categories is:

A = 1
B = 1 + 2 + 4
C = 4 + 5
D = 6 + 7
E = 4 + 5 + 6 + 7 = C + D
F = 1 + 2 + 3 + 4 + 5 + 6 + 7 = B + 3 + 5 + D

(Things will be simpler next year. See the end of the post)


Performance contribution


The figures shown are the contribution of each category to my total investment performance:

A, or 1) UK equities +10.4%
2) ETFs +17.5%
B) Long only investments +27.9%
C) Equity hedge -0.9%
D) Systematic futures trading +0.3%
E) Trading account: -0.8%
F) Total +27.4%

Here are the same figures as 'internal rates of return' - the Excel function XIRR (so you can't add these up, but they are comparable and account for flows between categories):

A) UK equities +64.3% Benchmark +24.6%
B) Long only investments +34.8%   Benchmark +21.5%
D) Systematic futures trading  +0.4% Benchmarks +0.7% +10.9%
F) Total +27.4% Benchmark+21.5%

Clearly it's been an outstanding year on the 'long only' side, both in absolute terms and relative to the benchmark I use (Vanguard 60:40), with a particularly good year in UK stocks. Futures have been less impressive, but overall this is a substantial improvement on last years carnage.



UK Equities


This is portfolio uses a mechanical system described here plus enforced sector diversification. 

At the start of the year this subportfolio looked like this:

HMSO Hammerson PLC (LSE:HMSO)               6.1%
IUKD    UK High yielding ETF 93.9%

Here's what I wrote last year:

"So after month end, once some data was available, I decided to start rebuilding my UK equity portfolio. Only the first of these purchases, Hammerson, is included in the year end figures above. It dropped by a quarter in value the day after I bought it, but now shows a modest profit.

Now a large number of stocks are passing my filter, but I am wary of going 'all in' and trying to bottom fish whilst risk levels are still elevated and trends are showing a mixed picture (decidedly up in the short term, still down in the long term).

My rule about sector diversification is more important than ever here; a huge number of housebuilders look great value, but they are probably more exposed than average to the bear case and so you would not want to exclusively own this sector.I decided to invest a proportion of my target portfolio every week in the stock that shows the best value, initially limiting myself to one stock per sector, with an eye to eventually holding about 20 - 25 stocks. I will miss out on some bargains by averaging in like this, but will hopefully pick up a some stocks that are currently overvalued, and will obviously benefit if the current rally turns out to be a false dawn.

At the moment I am using cash for this, but at some point I will sell the 'placeholder' IUKD ETFs and also do a modest reallocation from bonds. It will take about 6 months to fully re-invest this sub-portfolio."

Over the course of the next few months (from April to November) I did indeed buy, buy, buy; and this is what we have now:

RMG Royal Mail PLC (LSE:RMG)                 7.1%
INVP Investec PLC (LSE:INVP)                         7.1%
MCRO Micro Focus International PLC (LSE:MCRO) 5.9%
GNC Greencore Group PLC (LSE)                 5.6%
ITV ITV PLC (LSE:ITV)                         5.6%
CRST Crest Nicholson Holdings PLC (LSE:CRST)         4.7%
SNR Senior PLC (LSE:SNR)                         4.6%
DC. Dixons Carphone PLC (LSE:DC.)                 4.5%
AV. Aviva PLC (LSE:AV.)                         4.4%
VSVS Vesuvius PLC                                 4.4%
MKS Marks & Spencer Group PLC (LSE:MKS)         4.2%
RAT Rathbone Brothers PLC                         4.0%
CNA Centrica PLC (LSE:CNA)                         3.9%
MGNS Morgan Sindall Group PLC (LSE:MGNS)             3.9%
MGAM Morgan Advanced Materials PLC (LSE:MGAM) 3.8%
SYNT Synthomer PLC (LSE:SYNT)                 3.7%
LLOY Lloyds Banking Group PLC (LSE:LLOY)         3.6%
BT BT Group PLC (LSE:BT.A)                         3.4%
IMB Imperial Brands PLC (LSE:IMB)                 3.0%
GOOG Go-Ahead Group (The) PLC (LSE:GOG)         2.9%
MRW Morrison (Wm) Supermarkets PLC (LSE:MRW) 2.8%
DLG Direct Line Insurance Group PLC (LSE:DLG) 2.6%
UKW Greencoat UK Wind (LSE:UKW)                 2.3%
BAB Babcock International Group PLC (LSE:BAB) 1.9%
HMSO Hammerson PLC (LSE:HMSO)                 0.2%

(The buying was funded partly from selling the stopgap IUKD, partly from selling bond ETFs as part of my risk exposure optimisation, and also with a big chunk of cash).

Apart from INVESCO, which I bought a double helping of, all of these had the same initial investment so the order above also reflects their relative performance. In fact only Hammerson, Babock and UK Wind are currently showing losses. In contrast the total return of Royal Mail is a stellar 177% (since July; so even more on an annualised basis), presumably due to all the rubbish that we are all ordering from the internet; and MCRO and ITV are both up more than 100%.

(Strictly speaking, Hammerson hit it's stop loss and then some right at the start of the year but I didn't get round to selling it. It's value is now so low it is not worth selling; so I'm keeping it as an out of the money call option on UK commercial propery)

The IRR of 64.3% compares extremely well with the benchmark, the ISF FTSE 100 fund, which returned 'just' 24.6%. It isn't timing; my average weighted purchases happened when the index had already rallied 10% from the start of the year. So it's all down to stock selection. My idea of buying the cheapest stock in a sector I did not yet own was perfectly suited to a year in which sector and factor rotation was churning like crazy; even if I missed out on the first leg up of the market rally.

Still the UK market has done very poorly compared to most; global equities are up over 50%, mainly due to US equities being up over 60%. In this compahy my 64.3% would be good, but not brilliant. 

Dividends only added about 1% to the performance above; partly due to COVID as firms weren't paying, and partly because I only owned these stocks for 7 months or so on average. In fact I received dividends in only 10 of the stocks above, with only a couple (IMB and AV.) giving me a yield on the purchase price above 5%.


2016 - 2017 XIRR  29.2%, benchmark  22.7%

2017 - 2018 XIRR  18.3%, benchmark   2.2%

2018 - 2019 XIRR  -2.3%, benchmark   7.6%

2019 - 2020 XIRR -23.1%, benchmark -24.3%

2020 - 2021 XIRR +64.3% benchmark +24.6%

UK stock picking has been, with one blip, the best part of my portfolio and this year is no exception. On average I'm over 8% up a year: the geometric means are 13.5% and 4.9% respectively; the Sharpe Ratios are 0.52 and 0.33. 



ETFs and funds


All my non UK and non equity exposure is in ETFs, with a smattering of investment trusts. As usual trading was done for tax optimisation, to generate funds for SIPP and ISA Investment, and to get the right risk exposure (discussed later). As the markets continued to be volatile I did a lot more of trading than usual (though not as much as in the crazy days of March last year). This has slowed down in the last few months of the year as my exposure targets stopped moving so much.


I don't look at the performance or risk of my ETF portfolio seperately, only in conjuction with UK shares.

It's worth noting that I took the opportunity to realise tax losses and clean out a lot of ETFs from my trading account. This will make the performance of that cleaner, since I also closed the equity hedge out. All that is in that account now is cash and a cash like ETF (XSTR).

Overall then I've gone from about 42 ETF names to 'just' 18. This is sufficiently few that I can actually print the entire list:

Equity EM Dividend SEDY

Equity Europe Dividend EUDV

Equity Europe Dividend IDVY

Equity US Dividend HDLG

Equity Asia Normal    PAXG

Bond UK High yield ISXF

Equity Global Dividend VHYL

Equity Asia Dividend IAPD

Bond Europe High yield SHYG

Bond EM Government SEMB

Equity Europe Dividend EQDS

Bond UK Cash like XSTR

Bond EM Corporate EMCP

Equity Asia Dividend PADV

Equity US Dividend USDV

Equity EM Normal   HMEF

Equity Global Infrastructure PGIT

Bond Global High yield VSL


Mostly these follow the recommendations in my 'model portfolio' however there are some funds which I owned before I did that exercise which may be slightly more expensive. The last two funds aren't strictly ETFs but UK listed investment trusts; I've dithered about where to classify these but they seem to make most sense here.



Long only


Calculating a joint XIRR for both stocks and ETF's I get an XIRR of 34.8% which compares extremely well to my usual benchmark, a Vanguard 60:40 fund which earned 21.5%. Dividends accounted for 3.2% of that: not bad considering the whole global pandemic thing.

Perhaps half of that is down to tactical asset allocation; I started the year with an equity:bond allocation of 61:39 (ignoring the relatively high cash load I had, and at this point ignoring my futures trading entirely); and by December I was running 85:15 due to deallocating from bonds on strongly negative relative momentum (as not only did bonds go down, but equities rallied strongly). 

An 80:20 benchmark would have earned about 30%, and 100% equities would have been more like 40%. Had I just invested in Vanguard funds and adjusted the risk exposure to match the adjustments I made to my asset allocation (i.e. to try and factor out the component of my returns from asset class allocation), I would probably have earned something in the high 20's.

The rest then is intra-asset allocation. Some of that was definitely negative: I'm perenially underallocated to the horrifically overpriced US market (started at 20% of equities, ended up at around 12%, compared to a market cap share of over 50%); and as we know the US market did extremely well: up over 60% in the relevant period.

But as we've seen my UK equity investing was top notch (moving my entire long only XIRR from about 27% without the UK, to nearly 35% with it included). I also did relatively less badly in bonds; as I sold government bonds but held on to riskier corporates that haven't done so badly.


2016 - 2017 XIRR  22.3%, benchmark   17.7%
2017 - 2018 XIRR   1.3%, benchmark   1.3%
2018 - 2019 XIRR   4.0%, benchmark   7.2%
2019 - 2020 XIRR -17.5%, benchmark -10.5%
2020 - 2021 XIRR +34.8%, benchmark +21.5%

The geometric means come out at 7.5% and 6.8% respectively; a small beat for me, but nowhere near statistically significant (and my Sharpe Ratio is actually lower).

Note: I've included the 'cash like' ETF XSTR that sits in my trading account in the ETF figures. Without this my performance in this bucket would have been a little higher.



Systematic futures trading and equity hedge



The systematic futures trading system I run is effectively what you can in find in "Systematic Trading"and which I've blogged about at length.


This year I made a few changes. I turned off my old code, and switched to the implementation in pysystemtrade. As I noted above, I also closed a random bunch of ETFs, and my equity hedge. So going forward this will be a much simpler report. All that is in this account are futures, cash, and a 'cash like' ETF: XSTR.


However things are still a little more complicated for 2021-21, and for my trading account as a whole the breakdown looks like this (all numbers are as a % of the notional maximum capital at risk):

Hedging futures: -4.5%
Hedged stocks, total return: +0.1%

Net equity neutral: -4.3%

Futures trading:
MTM: 4.1%
Interest: -0.09%
Fees: -0.09%
Commissions: -0.47%
FX gain/loss: -3.1%

Net futures trading: +0.39%

Grand total: -4.0%


So I actually made a bit of money trading futures, but lost it on the equity 'neutral' component, and on FX: the value of the cash I hold in non GBP currency went down (GBPUSD rallied from about 1.23 to 1.37 during the year, though fortunately it was flat against euros). 


The absolute size of this currency gain/loss is not out of in line with earlier years. I could probably be a bit more pro-active in terms of managing my FX exposure to sweep as much as possible back into GBP on a regular basis, but at the end of the day I will always have to hold quite a bit of foreign currency in my account for margin to avoid paying borrowing charges, and I'm not bothered enough about it that I'm going to hedge it out (though perhaps I should be).


Let's turn to the benchmarks.

 'Bench1' is an GBP denominated AHL fund, using monthly returns from April to March in each year, and a new benchmark 'Bench2' is the SG CTA index, with matching daily returns. Both have returns scaled up to match my volatility: multipling by 1.45 and 1.8 respectively. As I redo this calculation every year the benchmark numbers don't always match previous years.

Remember the benchmark should only be compared against futures trading, not the equity neutral component of the portfolio.


Year:    14/15   15/16   16/17   17/18  18/19  19/20    20/21

Total:   57.2%   39.6%    0.3%    0.4%   6.1%   35.7%   -4.0%
Hedge:   -1.1%   16.3%   14.4%    4.1%   1.0%   -4.0%   -4.3%
Futures: 58.2%   23.2%  -14.0%   -3.7%   5.2%   39.7%   +0.4%

Bench1:  66.9%   -8.3%   -5.8%    7.1%   7.7%   21.6%   +0.7%
Bench2:          -6.7%* -21.9%   -3.8%   0.7%    8.0%   10.9%

* From 13th April 2015


So a pretty poor year, all things considered, and the first time the SG index has beaten me (and it would have done so even without the FX noise). First benchmark also didn't have a great year: their trading style is (unsurprisingly) closer to mine than the rest of the industry.

My futures only annualised geometric mean at 13.1% and Sharpe Ratio of 0.6 is still a tiny bit better than the AHL fund (12.9% and 0.5 respectively), and still an awful lot better than the SG index.

(Incidentally, my Sharpe ratio calculated on monthly or daily returns is actually over 1, which is in line with my backtest).

On balance it will be nice to remove the equity hedge; overall it did add to performance over all the years I've had it, but it's also been a source of unwanted noise.


Let's do some python


In previous years I would have stopped here, but now we have pysystemtrade with all it's lovely diagnostics.

Let's start with the account curve:

from sysproduction.data.capital import dataCapital
d = dataCapital()
pandl = d.get_series_of_accumulated_capital()
pandl_returns = pandl.diff()
pandl_capital = d.get_series_of_maximum_capital()
profits = pandl_returns / pandl_capital
profits.cumsum().plot()

And zoomed in to last year

So I hit a HWM in June, lost that and some more, then recovered and have been gently wobbling around without much happening for the last few months.

I can use the pandl_report function to zoom in on various markets and instruments:

====================================
P&L by instrument for all strategies
====================================

      codes  pandl
1   EUROSTX  -4.31  (used as a hedge only)
2   EDOLLAR  -2.86
3       JPY  -1.51
4      US10  -1.48
5      KR10  -1.08
6   LEANHOG  -0.99
7   CRUDE_W  -0.72
8    GAS_US  -0.66
9      CORN  -0.52
... various small numbers removed
17     BOBL   0.52
18      OAT   0.56
19      VIX   1.01
20  SOYBEAN   1.10
21      CAC   1.32
22      MXP   1.81
23      SMI   2.24
24      AUD   2.47
25     PLAT   2.81
26      BTP   3.59
27    WHEAT   4.53



==================
P&L by asset class
==================

    codes  pandl
0    STIR  -2.86
1  OilGas  -1.39
2  Equity  -0.76
3     Ags  +0.02
4     Vol   1.12
5    Bond   1.44
6      FX   2.59
7  Metals   2.81






Total investment return


My total return on all my investments, including cash held for futures margin, came in at an XIRR of +27.9% (the simple return which we've already seen above was slightly lower: +27.4%). This is lower than the 34.8% for long only for a couple of reasons; firstly I did lose money trading futures (a loss in my equity hedge, partly offset with a gain in my actual trading). Secondly, and more importantly, the denominator is larger as it includes the cash I use for futures margin. Once again Vanguard 60:40 seems an appropriate benchmark (since if I wasn't trading futures I could throw all my cash into that fund), at +21.5%


Let's look at some history


2016 - 2017 XIRR 18.2%, benchmark 19.3%
2017 - 2018 XIRR  0.6%, benchmark 1.3%
2018 - 2019 XIRR  4.4%, benchmark 7.2%
2019 - 2020 XIRR -6.6%, benchmark -10.5

2020 - 2021 XIRR +27.9% benchmark +21.%


I noted last year that I was in a dead heat with the benchmark in the geometric mean race; obviously this year puts me into a lead with a geometric mean of 9.3% versus 7.1% (My Sharpe Ratio is also a little higher; 0.64 to 0.58 using a zero risk free interest rate). To put it another way, futures have added about 1.8% annually to my performance, though quite unevenly: 


2016 - 2017 Total XIRR 18.2%,22.3% without futures

2017 - 2018 Total XIRR  0.6%, 1.3% without futures

2018 - 2019 Total XIRR  4.4%, 4% without futures

2019 - 2020 Total XIRR -6.6%, -17.5% without futures

2020 - 2021 Total XIRR +27.9%, 34.8% without futures


(They would almost certainly have added substantially to my performance in 2014-2015, and 2015-2016, though I wasn't formally measuring my entire portfolio at this point).



Risk


This year I started using the model portfolio (outlined here) as a basis for my risk allocation. So the figures here should look pretty similar to those (with the addition of cash and futures exposure). During the year I sold down my cash, and also shifted from bonds to equities in line with the 12 month momentum signals I use for this allocation.

Cash allocation

|Asset   |Start of year|Current|
--------------------------------
|Bonds   |   28.9%     | 12.7% |
|Equity  |   45.8%     | 73.4% |
|Other   |    0.2%     |  0.0% |
|Cash    |   25.2%     | 13.9% |

"Cash" excludes money held in bank accounts which will cover ~6 months of living expenses that I do not deem part of my investment portfolio. 
Note: I've included the 'cash like' ETF XSTR that sits in my trading account in the Bond ETF figures, not in the cash. It amounts to 1.8% of the total allocation figures shown here. You could argue that the bond ETF figures are more like 10.9% and cash 15.7%.

Other: I had some random property and metals ETFs that I've cleared out in the cull of small holdings I mentioned above.


Risk allocation


|Asset    |Strategic|Start of year|Current| 
-------------------------------------------
|Bonds    |   25%   |   17.4%     |  7.0% |   
|Equity   |   50%   |   50.2%     | 71.6% |
|Futures  |   25%   |   35.2%     | 21.4% |
|Other    |    0%   |    0.3%     |  0.0% |


The bond/equity change is again based on momentum. My futures risk has gone down, but only as a percentage; my futures risk in money terms is unchanged, but my overall risk is higher because I'm holding less cash and more equities.



Current regional exposures (rows add up to 100%)


|      | Asia | EM   | Euro  |  UK   |  US  |
---------------------------------------------
|Bonds | 0%   | 39%  | 17%   |  42%  |  2% |
|Equity| 12%  | 23%  | 23%   |  30%  |  12% |


Relative to the tactical allocations I would like to have (in the absence of paying capital gains tax), I'm overweight UK and EM bonds, and European equities; and underweight Asian, EM and US equities. 



Summary, and what now



Performance has obviously been good, but I prefer to focus on process. Things have gradually calmed down this year, and I've brought some more rigour to my methodology (in the form of the model portfolio) and also done some cleaning and tidying to simplify things.

So my structure is now much cleaner:

  • In my investment accounts:
    • 1 UK stocks
    • 2 Various ETFs, covering stocks, bonds, gold and property
    • 3 Usually some uninvested cash
  • In my trading account:
    • 4 Futures contracts traded by my fully automated trading system
    • 5 Cash needed for futures margin, and to cover potential trading losses (there is also some cash in my investment accounts, but it's pretty much a rounding error). Some of this cash is held in the form of a 'cash like' ETF XSTR.

For the purposes of benchmarking it makes most sense to lump my investments in the following way:

  • A: UK single stocks
    • Benchmarked against ISF
  • B: Long only investments: All ETFs (in both investment and trading accounts) and UK stocks
    • Benchmarked against a cheap 60:40 fund. 
  • C: Futures trading: Return from the futures contracts traded by my fully automated system. 
    • Benchmarks are a similar fund run by my ex employers AHL, and the SG CTA index, adjusted for volatility.
  • D: Everything: Long only investments, plus futures trading. I include the value of any cash included in my trading or investment accounts, since if I wasn't trading I could invest this. 
    • For the benchmark here again I use a cheap 60:40 fund.


If you prefer maths, then the relationship to the first set of categories is:

A = 1
B = 1 + 2 
C = 4 + 5
D = 1 + 2 + 3 + 4 + 5

UK stockpicking has obviously done well, but I have no interest in substantially increasing the size of my book here, that's now up to 25 names and is also a fraction over it's tactical target allocation. If some stop losses start being hit then I will look at the target, and if neccessary add or delete some capital from any investment I make into new shares. 

I'm happy with my new model portfolio based approach to managing my ETF exposure; now much more formally in line with the sort of thing outlined in Smart Portfolios, and only a few minutes of work every month to keep updated. I have to do this years ISA and pension allocations which should allow me to get a bit closer to the ideal tactical allocations. Almost nothing I own has the potential for a capital gains tax loss, so it might be hard to do a huge amount of rebalancing.

I'm currently in the middle of a massive refactoring of my pysystemtrade research code; once completed I hope to research and implement some new futures trading systems. Watch this space!