Monday, 9 July 2018

Vol Targeting and Trend Following


  • We are long.
  • The price jumps up. Good.
  • But this means the risk goes up
  • So cut our position, just as we're finally making serious money. 


How can this make sense?

This is a post about volatility targeting - dynamically adjusting your positions according to your estimate of market volatility - in the context of trend following systems. I blindly do this when building all my trading strategies without thinking about it - but is this a good thing to do?

It's also a post about how you generally have to balance different criteria when judging backtests - there are no free lunches in finance.


What do we mean by volatility targeting?


It's not obvious whether "Volatility Targeting" is referring to the practice of scaling positions by volatility for a given level of conviction or targeting a constant portfolio or position level volatility regardless of conviction. 

To be clear for the unfamiliar the way I run a CTA style strategy is:

1- Decide on a level of conviction
2- From that infer the volatility target for a given position
3- Scale the position to a given volatility target

There is then another stage that some people do which I don't agree with:

4-  Rescale the leverage in the entire portfolio to some fixed target.

Essentially doing the last thing will throw away the absolute average level of conviction that you have across your system. I don't think you should do this, although it's very popular in eg equity neutral portfolios (mainly for historical reasons, take a bow Fama and French). To make things confusing this is sometimes called "Vol targeting". But it's not what I'm discussing in this post (maybe another one).

Another thing some people do is run a binary system, in which the level of conviction is essentially fixed. Doing this will throw away all the information you have about conviction, both absolute and relative. Again I think this is sub optimal.

To be clear then what I am defending here is stage 2: the scaling of positions to a given volatility target, irrespective of whether conviction was involved. It's implicit here that the volatility target is dynamic, otherwise what you're doing is just some kind of long run risk budgeting exercise.


Why do people like trend following


Trend following is considered a nice thing, because it's return profile is:


  • a majority of time periods when we have small lossess
  • a minority of time periods when we have big gains. Generally these come when other asset classes are suffering


This sort of return distribution will contain both positive skew (at least when measured at an appropriate time interval - at least monthly if not annually) and high kurtosis. Skew is an asymmetric measure of return 'non-Gausianness' (if that's a word), whereas kurtosis is a symmetric measure - it just means we have 'fat tails', without specifying which tail we're talking about.

Positive skew is generally agreed to be a good thing (to own a negatively skewed asset I'd want paying, in the form of higher expected Sharpe Ratio), but high kurtosis is generally agreed to be a bad thing, because it means we're going to get surprisingly large returns on both the up and down side. It makes no sense to talk about kurtosis that only existed on the right hand side of the distribution.

But a combination of positive skew and more kurtosis will give you more mass on the right hand side.


A possible case for not vol targeting


Some people don't like vol targeting because they think it degrades the nice property of trend following: that extra mass on the right hand tail.

Essentially not vol targeting will make sense if there is an asymmetric effect in the markets: where we tend to cut our positions on vol spikes in winning positions more than we do on losing positions. This indeed would lower your skew, and this would indeed be a bad thing. It would be better to stop vol targeting, and be rewarded with higher returns on winning positions, even after taking into account the higher losses on losers.

To be clear if you could get higher positive skew for free this would be a good thing. However if you have to pay for your higher positive skew with higher kurtosis then that wouldn't be so good. But intuitively removing vol targeting will mean worse kurtosis - vol targeting will tend to trim the tails of both sides of the distribution. This also ignores the first two moments of the distribution: if higher positive skew means a worse Sharpe Ratio would I be happy?

In general terms then it's unlikely that you can get positive skew for free without giving up something else: kurtosis or Sharpe Ratio. There are plenty of situations when this sort of trade off is present - for example you can boost your Sharpe Ratio by consistently selling option vol, but that give you rather unpleasant kurtosis and make your skew more negative.

All this is a theoretical discussion - let's see what actually happens to the moments of the return distribution when we remove vol targeting.


Empirical evidence


It's relatively easy to test this sort of thing with pysystemtrade. Here's an account curve for 37 futures markets using the system in chapter fifteen of my first book (with carry removed, since the original article was about trend following), and also the monthly distribution of returns:

Account curve with vol targeting
Distribution of monthly returns with vol targeting


This is a system which vol targets using the last month or so of returns. Vol targeting also increases costs, and all the analysis in this post are done after costs.

Now for the counterfactual. It's actually quite hard to 'turn off' vol targeting as it's not obvious what you'd replace it with: would you for example give all markets the same cash position and ignore vol completely? That would lead to some very distorted results indeed! I decided to continue to use vol to scale positions, but a very long term vol which didn't move around for each market; so basically cross sectional vol budgeting, without the time series adjustment to vol. I went with this set of config changes:

system.config.volatility_calculation['days']=7500
system.config.volatility_calculation['min_periods']=1000
system.config.volatility_calculation['backfill']=True

In plain english we will:

  • Calculate the vol over the first 4 years of data (because I only have about 4 years of data for many instruments)
  • Backfill and use that vol for the first 4 years (so forward looking, but <shrugs>)
  • After that use a very slow moving average of vol (half life of 30 years)
This is as close to fixed vol as you can get. Here's the account curve and the distribution:

Account curve without vol targeting

Distribution of monthly returns without vol targeting

Well the account curve clearly isn't as good. The distribution is harder to read: it looks like there are some outliers that weren't there before on both the left and right tails.

Here are some statistics that reinforce this result (all based on monthly returns):


                    With vol targeting          Without
Skew                    +1.08                    +2.46
Sharpe                   0.92                    0.569
Sortino                  1.62                    0.867
Min return             -32.6%                   -55.6%
Max return             +47.7%                  +100.6%
Kurtosis                 5.28                    33.0
1% point                -16.5%                  -18.1%
99% point               +31.8%                  +30.2%

To summarise then removing vol targeting leads to:


  • Higher skew
  • Worse Kurtosis
  • Worse Sharpe Ratio

Now depending on your utility function you might argue this is a trade worth taking. If you cared about Skew above all else then maybe you'd accept this deal. Personally I wouldn't take this deal, but you might have a very strange utility function indeed.

But... and there is a big but here... I'm not sure how significant these results are. Skew and Kurtosis are like anything else statistical estimators, which means they are subject to uncertainty, and they're also subject to being affected by a couple of outliers.

(By the way a formal T-test on the Sharpe Ratio difference in the curves has a statistic of 3.59, so the difference is indeed significant to something like 99.97%)

If we use a more robust measure of left and right tail - the 1% and 99% points on the distribution of returns - we can see that removing vol targeting leads to slightly worse outcomes on the left tail (1%), and more surprisingly a slightly worse outcome on the right tail as well (99% point). We were sold no vol targeting as a product to improve our right tail, and we don't see it.

This strongly suggests that the skew and kurtosis numbers are being heavily driven by one or two outliers.

Formally if we bootstrap the distribution of skew for each curve we get this:
Distribution of monthly skew estimate with vol targeting
And this without vol targeting:

Distribution of monthly skew estimate without vol targeting
Notice the much wider range of uncertainty, and the weird bimodal distribution, characteristic of a statistic that is being driven by one or two outliers.

How do we get round this? Well both the largest positive and negative returns occur in 1979 - 1980; when there weren't many instruments trading in the data. Let's recheck the statistics, but this time ignoring everything before January 1981; this is still over 36 years of data:


                    With vol targeting            Without

Skew                    +0.45                    +0.64
Sharpe                   0.78                    0.52
Min return             -26.5%                   -25.4%
Max return             +33.4%                   +33.6%
Kurtosis                 3.12                    3.9
1% point                -16.3%                  -14.2%
99% point               +22.2%                  +22.0%

The improvement in Skew, and worsening Kurtosis, are both still there but nowhere near as dramatic. The minima and maxima, and 1% / 99% points, are almost identical. It looks like there might be a slight improvement in the left tail without vol targeting, and a slight worsening in the right tail - which is the opposite of what we'd expected - but the values are not significantly different. And, sadly, the drop in Sharpe Ratio is still present (and it is still very significant).


Summary


On the face of it vol targeting does indeed seem to remove some of the positive skew from trend following. But there are a few caveats:

  • The improvement in Skew can be heavily influenced by one or two outliers in the data
  • It looks like the improvement in Skew doesn't in fact lead to a better right tail
  • The kurtosis is definitely worse, although again this could be influenced by outliers; taking these out the degradation in Kurtosis is still there but not as dramatic
  • There is a substantial reduction in Sharpe Ratio, with or without outliers

So yes, maybe, there is something in the idea that vol targeting involves giving up some of the positive skew that trend following gives you, at least with monthly data. But the cost is terribly high: about a third of our Sharpe Ratio! This is the old 'no free lunch in finance' idea - we can improve one moment of our return distribution, but it usually involves giving something up. Another word for this is the 'waterbed' effect - when we push down on the skew part of our waterbed to ensure a better nights sleep, the water just moves somewhere else (the kurtosis and Sharpe Ratio parts of the bed).

I can't help thinking there are cheaper ways of getting positive skew; like maybe buying some out of the money straddles as an overlay on your trading system.

Finally, it's also worth reading this recent paper by my old shop, AHL, which goes into more detail on this subject.

Acknowledgements - I'd like to thank Mark Serafini who accidentally inspired this blog post with a LinkedIn post that turned out to be on an entirely different topic, and Helder Palaro who found that post for me.

Friday, 8 June 2018

Kelly versus Classical portfolio theory, and the two kinds of uncertainty premium


Since I was a young lad there has been an ongoing fight in Financial Academia 'n' Industry between two opposing camps:


  • In the red corner are the Utilitarians. The people of classical finance, of efficient frontiers, of optimising for maximum return at some level of maximum risk.

  • In the blue corner are the Kellyites. Worshipping at the feet of John Kelly and Ed Thorpe they have only one commandment in their holy book: Thou shalt maximise the expectation of log utility of wealth.


This post is sort of about that battle, but more generally it's about two different forms of uncertainty for which humans have varying degrees of stomach for, and how they should be accounted for when deciding how much volatility your trading or investment portfolio should have: "Risk" (which we can think of as known unknowns, or at least the amount of volatility expected from a risk & return model which is calibrated on past data) and "Uncertainty" (which we can think of as unknown unknowns, or to be more precise the unknowability of our risk & return model).

The Kellyites deny the existence of "risk appetite" (or at least they deny it's importance), whereas the Utilatarians embrace it. More seriously both camps seriously underestimate the importance of uncertainty; which will be more the focus of this post.

This might seem somewhat esoteric but in laymans term this post is about answering an extremely critical question, which can be phrased in several equivalent ways:


  • What risk target should I have?
  • How much leverage should I use?
  • How much of my capital should I bet on a given position?
This post was inspired by a twitter thread on this subject and I am very grateful to Rob Hillman of Neuron Advisors for pointing me towards this. I've blogged about this battle before, here (where I essentially address one interesting criticism of Kelly) and I've also talked about Kelly generally here

If you're unfamiliar with arithmetic and geometric returns it's probably worth rereading the first part of this post here, otherwise you can ignore these other posts (for now!).


Classic Utilitarian portfolio optimisation


To make live easier I'm going to consider portfolios of a single asset. The main difference I want to highlight here is the level of leverage / risk that comes out of the two alternatives, rather than the composition of the portfolio.

I'm sure the readers of this blog don't need reminding of this but basically Utilitarians tend to do portfolio optimisation like this: specifying the investors utility function as return minus some penalty for variance. Which for a single asset with leverage, if we assume the risk free rate is zero or that the return is specified as an excess return (it doesn't matter for the purposes of this post) becomes this:

Maximise f.E(r) - b*[f.E(s)]^2

Where f is the leverage factor (f=1 incidentally means fully invested, f=2 means 100% leverage, and so on), r is the expected return, E is the expectation operator, risk s is measured as the standard deviation of returns on the unleveraged asset, is the coefficient of risk aversion (you'll often see 1/2 here, but like, whatever). This is a quadratic utility function. In this model risk tolerance is an input, here defined as a coefficient of aversion.

Of course we could also use a different utility function, like one which cares about higher moments, but that will probably make the maths harder and definitely mean we have to somehow define further coefficients establishing an investors pain tolerance for skew and kurtosis.

This specification isn't so much in fashion in industry; it's hard enough getting your investors to tell you what their risk appetite is (few people intuitively understand what 150% standard deviation a year feels like, unless they're crypto investors or have money with Mr C. Odey). Imagine trying to get them to tell you what their coefficient of risk aversion is. Easier to say "our fund targets 15% a year volatility" which most people will at least pretend to understand. So we use this version instead:


Maximise portfolio returns = weights.E(asset returns)


Subject to: portfolio risk = function of weights and E(asset covariance)<= maximum risk

Which for one asset, with no risk free rate is:

Maximise f.E(r)
Subject to f.E(s)<=s_max

Where s_max is some exogenous maximum risk tolerance specified by the investor

Importantly (a) maximum risk depends on the individual investors utility function (which is assumed to be monotonically increasing in returns up to some maximum risk at which point it drops to zero - yeah I know, weird) and (b) the return here is arithmetic return (c) we only care about the first two moments since risk is measured using the standard deviation. Again risk is an input into this model (as a tolerance limit this time, rather than coefficient), and the optimal leverage comes out.


Kelly 


Under Kelly we choose to find the portfolio which maximises the expectation of the log of final wealth. For Gaussian returns (so again, not caring about the 3rd or higher moments which I won't do throughout this post) it can be shown that the optimal leverage factor f* is:

f* = (r - r_f) / s^2

(If you aren't in i.i.d. world then you can mess around with variations that account for higher moments, or just do what I do - bootstrap)

Where r is the expected arithmetic portfolio mean, r_f is the risk free rate and s is the standard deviation of portfolio returns without any leverage (and with expectations operators implicit - this is important!). f=1 incidentally means fully invested, f=2 means 100% leverage, and so on. Noting that the risk of a portfolio with leverage will be f*s this means we can solve for the target risk s*:

s* = f*. s = (r - r_f) / s

Notice that this thing on the right is now the Expected Sharpe Ratio. This is my favourite financial formula of all time: optimal Kelly risk target = Expected Sharpe Ratio. It has the purity of E=mc^2. But I digress. Let's take out the risk free rate for consistency:

f* = r  / s^2

s* = r  / s


Importantly for the battle in this world we don't specify any risk tolerance, or coefficient of risk aversion, or utility function. Assuming an investor wants to end up with the highest expected log utility of final wealth (or as I said here, the highest median expectation of final wealth) they should just use Kelly and be done with it.


The battle

Let's recap:

Kelly:       f* = r / s^2      s* = r / s
Utilitarian: f* = s_max / s    s* = s_max

With no risk free rate; f*= optimal leverage, s* = optimal risk, s_max is maximum risk (both standard deviations) and r = expected return.

Importantly the two formula don't usually give the same answers (unless r /s = s_max; i.e. the Sharpe Ratio is equal to the risk tolerance), and the relative answer depends on the Sharpe Ratio you're using versus typical risk appetite.


CASE ONE: Kelly leverage< Utilitarian leverage


If you're investing in a long only asset allocation portfolio then a conservative forward looking estimate of Sharpe Ratio (like those in my second book) would be about 0.20. If we assume expected return 2% and standard deviation 10% then the optimal Kelly risk target will be 20%, implying a leverage factor of 2. But that only gives 4% return! If the utilitarian investor is rather gung ho and has a risk appetite of 30% then the optimal leverage for them would be 3.


CASE TWO: Kelly leverage > Utilitarian leverage


If you're running a sophisticated quant fund with a lot of diversification and a relatively short holding period then a Sharpe Ratio of 1.0 may seem reasonable. For example if a stat-arb equity neutral portfolio has expected return 5% and standard deviation 5% (assuming risk free of zero) then the optimal Kelly risk target will be 100%, which implies a leverage factor of 20 (!). But a utilitarian investor may only have a risk appetite of 15%, in which case the optimal leverage will be 3. And indeed most equity neutral funds do run at leverage of about 3.


For case one I refer you back to my previous post, in which I said that nobody, no matter what their risk appetite should invest more than Kelly if you believe my logic that it is MEDIAN expected portfolio value that matters rather than mean. Essentially where the utility optimisation gives you a higher leverage than Kelly you should ignore it and go with Kelly.

Case two is a little more complicated, and the solution quoted in a thousand websites and papers is "Most investors find the risk of full Kelly to be too high - we recommend they use half Kelly instead". Frankly this is a bit of a cop-out by the Kelly people, which admits to the existence of risk appetite.


The compromise


I personally believe in risk appetite. I believe that people don't like lumpy returns, and some are more scared of them than others. Nobody has the self discipline to invest for 40 years and completely ignore their portfolio value changes in the interim.

But I also believe that using more than full Kelly is dangerous, insane, and wrong.

So this means the solution is easy. Your risk target should be:

s* = Minimum(r / s , s_max)

Where the first term is of course the Kelly optimum without the risk free, and the second is the risk tolerance beloved of utilitarian investors. And your leverage should be:

f* = Minimum(r / s^2, s_max / s)


What we know, and what we don't know


In case you haven't noticed I find this battle a little tiresome (hence my pretty superficial attempt at 'solving' it), and mainly because it completely ignores something incredibly important. We have two guys in the corner of a room arguing about whether Margin Call or The Big Short is the best film about the 2008 financial crisis (a pointless argument, because both v. good films), whilst a giant elephant is in the corner of the room. Running towards them, about to flatten them. Because they haven't seen it. They're too busy arguing. Have I made the point sufficiently, do you think?

What is the elephant in this particular metaphorical room. It's this. We don't know r. Or s. Of the Sharpe Ratio, r/s (ignoring risk free of course). And without knowing these figures, we don't have a hope in hell of finding the right leverage factor.

We have to come up with a model for them, based on historical data, because that's what quant finance people do. Which means there is the risk that:

  • It's the wrong model (non Gaussian returns, jumps, autocorrelation...)
  • The parameters of the model aren't stable
  • The parameters of the model can't be accurately measured
This triumvirate of problems should be recognisable to people familiar with my work, and you already know that I feel it is most productive to focus on the third problem for which we have relatively straightforward ways of quantifying our difficulties (using the classical statistical workhorse of sampling distribution).

Parameter uncertainty (and the other issues) isn't such an issue for standard deviation; we are relatively good in finance at predicting risk using past data (R^2 of regressions of monthly standard deviation on the previous month is around 0.6, compared to about 0.01 for means and Sharpe Ratios). So let's pretend that we know the standard deviation.

However the Sharpe Ratio is the key factor in working out the optimal leverage and risk target for Kelly (which even for Utilitarians should act as a ceiling on your aspirations). The sampling distribution of Sharpe Ratio is highly uncertain.


The effect of parameter uncertainty on Sharpe Ratio estimates


There is an easy closed form formula for the variance of the Sharpe Ratio estimate under i.i.d returns given N returns:

w = (1+ 0.5SR^2)/N

(If you aren't in i.i.d. world then you can mess around with formulas that account for higher moments, or just do what I do - bootstrap)

We need an example. Let's just pick an annual Sharpe Ratio out of the air: 0.5. And assume the standard deviation is 10%. And 10 years of monthly data. But if you don't like these figures feel free to play with the example here in google docs land (don't ask for edit access - make your own copy).

Here is the distribution of our Sharpe Ratio estimate:




The concept of "Uncertainty appetite"


Now let's take the distribution of Sharpe Ratio estimate, and map it to the appropriate Kelly risk target:



Yeah, of course it's the same plot, since s* = r/s = SR. You should however mentally block off the negative part of the x-axis, since we wouldn't bother running the strategy here and negative standard deviation is meaningless. And here is the plot for optimal leverage (r/s^2):



So to summarise the mean (and median, as these things are Gaussian regardless of the underlying return series) optimal risk target is 50% and the mean optimal leverage is 5. Negative leverage sort of makes sense in this plot, since if an asset was expected to lose money we'd short it.

At this point the Kellyites would say "So use leverage of 5 or if you're some kind of wuss use half Kelly which is 2.5" and the Utilitarians might sniff and say "But my maximum risk appetite is 15% so I'm going to use leverage of 1.5". Since the optimal standard deviation of 50% is relatively high it's very likely that we'd get a conflict between the two approaches here.

But we're going to go beyond that, and note that there is actually a lot of uncertainty about what the optimal leverage and risk target should be. To address this let's introduce the concept of uncertainty appetite. This is how comfortable investors are with not knowing exactly what their optimal leverage should be. It is analogous to the more well known risk appetite, which is how comfortable investors are with lumpy returns.

Someone who is uncertainty blind would happily use the median points from the above distributions- they'd use full Kelly, assuming of course that their risk appetite wasn't constraining them to a lower figure. And someone weird who is uncertainty loving might gamble and assume that the true SR lies somewhere to the right of the median, and use a higher leverage and risk target than full Kelly.

But most people will have a coefficient of uncertainty aversion (see what I did there?). They'll be uncomfortable with full Kelly, knowing that there is a 50% chance that they will actually be over gearing. We have to specify a confidence interval that we'd use to derive the optimal leverage, with uncertainty aversion factored in.

So for example suppose you want to be 75% sure that you're not over-geared. Then you'd take the 25th percentile point off the above distributions: which gives you an expected Sharpe Ratio of about 0.29, a risk target of 29% and optimal leverage of 2.9.

Here are a few more figures for varying degrees of uncertainty:

Confidence interval         Optimal risk       Optimal leverage 

       <5.8%                     Don't invest anything
       10.0%                   9.2%                 0.93
       15.0%                  17.1%                 1.71
       20.0%                  23.2%                 2.32
       30.0%                  33.3%                 3.33
       40.0%                  41.9%                 4.19
       50.0%                  50.0%                 5.00 

Incidentally the famous half Kelly (a leverage of 2.5) corresponds to a confidence interval of about 22%. However this isn't a universal truth, and the result will be different for other Sharpe Ratios.

What this means in practice is that if you're particularly averse to uncertainty then you'll end up with a pretty low optimal Kelly risk target. How does this now interact with risk appetite, and the Utilitarian idea of maximum risk tolerance? Well the higher someones aversion to uncertainty, the lower their optimal risk target will be, and the less likely that an exogenous maximum risk appetite will come into play.

Now someone who is averse to uncertainty will probably also be averse to the classical risk of lumpy returns. You can imagine people who are uncertainty averse but not risk averse (indeed I am such a person), and others who are risk averse but not uncertainty averse, but generally the two probably go together. Which also raises an interesting philosophical point about the difference between them, as we'd rarely be able to distinguish between the two kinds of uncertainty except in specific experiments or unusual corner cases.


Summary


Both the Kellyites and the Utilitarians have good points to make - you should never bet more than full Kelly no matter how gung ho you are, and risk appetite is actually a thing even if few investors really know have quadratic utility functions.

But both are missing the real point, which is that there is a lot of uncertainty about what the Sharpe Ratio and hence optimal leverage really is. Assuming some conservatism and a degree of uncertainty appetite this produces a Kelly optimal revised for uncertainty which will be lower than the uncertainty blind full Kelly. This then makes risk appetite less relevant as a constraint, and the whole battle becomes a moot point.


Monday, 16 April 2018

Trading performance - year four

Time flies, and it's time for another annual update on the performance of my own investment and trading. Previous updates can be found here, here and here. These updates follow the UK tax year; from 6th April to 5th April, as I have to do my taxes anyway it makes sense to analyse everything at the same time.

Following the mind numbing detail of the performance analysis there are some concluding thoughts on life, the universe, and everything pertaining to systematically investing / trading for a living.

Investments and benchmarking


My investments fall into the following categories:


  1. In my investment accounts:
    1. UK stocks
    2. Various ETFs, covering stocks, bonds, and gold
  2. In my trading account:
    1. Various ETFs, covering stocks and bonds
    2. A futures contract hedge against those long only ETFs in 2.1, so that the net Beta is around zero
    3. Futures contracts traded by my fully automated trading system
    4. 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)


I'm excluding from this analysis the value of our house (and any debt secured against it), defined benefit pensions, and my 'cash float' - roughly 3 months of household expenditure that I keep segregated away from my brokerage accounts. Anyone who is living wholly or partly off investment income would do well to keep a similar float, as dividends do not arrive in smooth lumps throughout the year.

For the purposes of benchmarking it's then convenient to aggregate my investments in the following way:


  • A: UK single stocks, benchmarked against any dirt 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 chapter 15 of my first book. Benchmarks are a similar fund run by my ex employers, or any CTA index of your choosing. The denominator of performance here is the notional capital at risk in my account.
  • 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. For the benchmark here again I use a cheap 60:40 fund, but I include the value of any cash included in my trading account, since if I wasn't trading I could invest this. 
If you prefer maths, then the relationship to the first set of categories is:

A = 1.1
B = 1.1 + 1.2 + 2.1 
C = 2.1 + 2.2
D = 2.3
E = 2.1 + 2.2 + 2.3 = C + D
F = 1.1 + 1.2 + 2.1 + 2.2 + 2.3 + 2.4 = B + 2.2 + D + 2.4


I include this to point out that in many cases you can't just 'add-up the figures included here across categories.


UK Stocks portfolio


My UK stock investments have been in a period of transition for the last few years. The goal is to run these fully systematically (though not in an automated fashion), with all assets held in tax free accounts so that capital gains tax does not eat up returns. The system I use is described in this post I wrote here; with the twist that I now enforce industry diversification. It is in fact very similar to the list of filters I describe in chapter 11 on equity investing in my second book; with the addition of a stop-loss / momentum selling rule.

However there are some legacy issues, in particular I have a couple of large positions which I've been tactically reducing my exposure to (to maximise the use of capital gains allowances).

Anyway enough of a preamble, here are the numbers as a % of initial capital value:

Dividends: 5.8%
Mark to market: 12.0%
Total return: 17.8%

As with previous years the total return figure is misleading as I was a net seller of UK stocks; calculating the IRR I get 18.3%. This compares extremely well with the benchmark which came in at 2.2% (don't get excited - this is probably the high point of this post!).

I've actually outperformed the FTSE with my UK stock picking over each of the last 4 years; this is nowhere near a statistically significant record (and I'm pretty sure that ) but it does give you pause for thought. I'll come back to that thought later.

I owned 13 UK stocks at some point during the year (starting and ending with 10 stocks, three of which were replaced according to the systems rules (KIE, MARS and PFC). The other trades I did were further top slicing of the large position in STOB. Stellar performers were ICP, RMG, BKG and STOB (all of which earned over 25% measured with simple total return); whilst all the stocks I sold ended badly down (partly reflecting the stop loss which meant they were sold on a loss, but also reflecting the fact they didn't sharply recover by year end making me look like an idiot).

Current holdings then are:

ICP 18.8%
STOB 17.1%
BKG 10.4%
VSVS 9.5%
RMG 8.9%
LGEN 7.6%
GOG 7.5%
HSBA 7.4%
IBST 6.9%
BP 6.0%


The relatively large positions in ICP and STOB are historic rather than deliberate; further tactical top slicing should reduce these when tax allowances allow.


Long only investment portfolio


My long only investment portfolio as a whole (which includes the UK shares above, plus ETFs regardless of which account they are in or whether they are hedged) is constructed according to the principals in "Smart Portfolios".

The results here aren't quite as impressive:

Dividends: 4.4%
Mark to market: -3.1%
Total return: 1.3%
IRR: 1.33%
Benchmark: 1.31%

I know for a fact many people are thinking I would have been better off in Bitcoin. Clearly the ETF part of my portfolio dragged down the equity performance (UK equities are roughly 20% of my overall long only investment portfolio).

I was a small net seller of UK stocks, but a net buyer of ETFs (with some net buying overall as I was able to reinvest some additional capital). Generally I was a seller of bonds and a buyer of equities, as discussed last year the asset allocation model I use looks at 12 month momentum to tilt between bonds and equities (this is in part three of my second book). I noted in the previous update that equities were outperforming bonds, so a tilt towards equities away from my strategic allocation is warranted.

Right now MSCI world equities are up around 16% over one year, versus global bonds down around 1.8% so this pattern is unchanged.

I won't look at the current make up or risk exposure of my ETF portfolio just yet, since it only makes sense holistically including the equity hedge.


Trading account


Although the make up of my trading account is complex I only have nice graphs that show the value of everything in it, so here they are:

Since inception

Last 12 months

The good news is I reached a new HWM in February; the bad news is that like the rest of the CTA universe I then got hammered and ended up flat for the year.

And here is the breakdown (all values normalised by my notional capital at risk):


ETFs
Mark to market: 0.1%
Dividends 3.7%
Commissions: -0.00%

Subtotal: 3.8%

Hedge
Mark to market: 0.25%
Commissions: -0.00%

Subtotal: 0.25%

Total for stocks and hedge: 4.1%

Futures
Gross profit: 0.48%
Commissions: -0.77%
Slippage: -0.47% (Bid ask spread cost -0.91%, less execution algo profit 0.43%)
Interest and fees: -0.09%
FX adjustments: -2.8%

Total for futures: -3.7%

Grand total: 0.4%

A sea of flatness then; basically I made no money trading futures, and then earned some dividends which paid for FX losses. These FX losses aren't unusually large (in context the same numbers for the last few years are -0.8%, +3.2% and +1.7%); but in a year with such flat performance elsewhere they stand out more than they ought to.

These FX losses are essentially the MTM of non GBP cash held in my futures account. Some of this cash is required for initial margin; if I didn't have this then I'd pay interest to borrow foreign currency which seems nuts. However there is also some excess cash, not required for margin. I took the decision not to 'sweep' this cash regularly back into GBP, as a proper hedge fund would do, which would minimise account volatility. Ultimately I'd rather have diversified currency holdings, although there is no right answer to this argument. In the long run I essentially view these FX gains and losses as noise with an expected zero mean.

Commissions and slippage are in line with backtest and previous years.

Some return statistics:

Standard deviation of returns (based on weekly, annualised): 23.8% versus long term target 25%
Average drawdown: 6.3%
Max drawdown: -17.2%
Worst day: -5.7%


Best day: +6.7%

Some trade statistics:

Profit factor: 0.98
Percent wins: 41.4%
Win/loss ratio: 1.5
Average holding period, winning trades: 32 days
......................................, losing trades: 21 days

It's probably instructive to review this performance in the context of the last few years, including some benchmark figures. 'Bench1' is this AHL fund, using monthly returns from April to March in each year, and a new benchmark 'Bench2' is the SG CTA index. Both have returns scaled up to match my volatility. Remember the benchmark should only be compared against futures trading, not the equity neutral component of the portfolio. Also note that the 'Bench1' fund has an explicit GBP hedge; so won't be as careless with cash exposure as I have been.

Year:    14/15   15/16   16/17   17/18

Hedge:   -1.1%,  16.3%,  14.4%,  4.1%
Futures: 58.2%,  23.2%, -14.0%, -3.7%
Net:     57.2%,  39.6%,   0.3%,  0.4%

Bench1: 106.9%, -10.6%,  -6.2%, 16.4%
Bench2:          -6.7%*,-21.9%, -3.8%

* From 13th April 2015

So for this year at least I'm roughly in line with the CTA index, but behind the better performing AHL fund. This is a similar pattern to last year.

From another point of view my Sharpe Ratio since inception is still running at around 0.98; whilst for the AHL benchmark over the same period it's 0.86 (without risk free rate). None of these figures are statistically significant; and I personally couldn't care less whether I outperform or not, but it's still interesting to look at these figures occasionally (though annually is probably enough - I don't miss the days when institutional pressure meant I had to check in on competitor performance on a monthly basis or even more frequently!).

Digging more deeply it looks like the winning sectors were Volatility and bonds; with losses in FX and Energy. On an individual instrument level gainers were: Palladium, BTP, VSTOXX and Nasdaq and losers: Soybeans, Gas, Korean 3 year bonds and JPYUSD.

Let's look at the good news first; here is Palladium:

Classic picture of a long up trend which we ride until it finishes. After that the signal isn't strong enough to warrant a position. Interestingly Gold was not a profitable market this year, showing the advantages of intra sector diversification. Now for Italian BTP bonds:

A more nuanced example here; the system basically benefits from two clear uptrends each lasting a matter of weeks, and then bides its time in between. VSTOXX is particularly interesting:

The price shows a gradual downward trend; partly due to the rolldown effect that is particularly pronounced in vol markets; and also because vol levels did decline to very low levels (as I discussed at the time). Then in February there was a pronounced spike in vol that took a lot of people by surprise. Because I prefer to stay at least two months out in the contract space I didn't see such a sharp rise in price levels as in 'spot' implied vol, but it's also clear that I didn't have any position on between October and March, and thus avoided the spike entirely.

What gives? Well basically I ran out of margin head room, and because VIX and V2X were very margin hungry I closed my positions in them. So a bit of luck there.

Now the bad news. Soybeans:

Classic stuff where a choppy market results in gradual losses as we get whipsawed like crazy. The other losing markets show similar pictures so I won't bore you.


Holistic view of overall performance


Looking at my entire portfolio the raw numbers come in like this (dividing by a total for assets that includes cash held in my futures and other investment accounts):

Dividends: 4.1%
Mark to market: -3.5%
Total return: 0.56%
.... of which UK stocks: 3.3%
.... of which ETFs: -2.0%
.... of which futures + hedge p&l: -0.65%

IRR: 0.6%
Benchmark1.31%

This is a similar picture to last year: a slight under-performance against the benchmark.


Risk exposures


Here are my current cash weights across the entire portfolio:

Bonds:    25.1%
Equities: 65.3%
Other:     3.3% (property & gold)
Cash:      6.4%

Unlike last year the figures here already show the rebalancing I did at year end; as I already mentioned this included a further reallocation away from underperforming bonds to equities.

I prefer to look at risk allocations, which are (with last year in brackets) and [my strategic target allocations in square brackets]:

Bonds:    13.1%  (17%) [25%]
Equities: 59.4%  (54%) [50%]
Other:     2.9%  (3%)  [3%]
Futures*: 24.5%  (26%) [22%]
* Trading, futures hedge offsets equities exposure

Again note the tilt towards equities given their strong relative momentum. Regionally my exposures are (each row adding up to 100% of each asset class):

Asia EM Euro UK US Other
Bonds 0.0% 25.7% 27.8% 4.4% 33.7% 8.4%
Equity 13.5% 27.4% 20.5% 28.8% 9.3% 0.5%

These don't exactly match to the figures in the model portfolios in my second book, partly for historic reasons (the UK equity exposure is still quite high), partly because of availability (eg of Asian bond ETFs), and partly as I tilt towards higher yielding funds.


Some thoughts


It would be nice to make more money, so an interesting question is how? Without digging too deep it looks like my systematic UK equity trading is doing relatively okay, and my futures trading could be better. This leads one to ask a number of questions.

Does the apparent out performance of my UK equities warrant a higher allocation than a Smart Portfolios investor would give it? To put it another way what is the benefit of a long only systematic portfolio exposed to multiple risk factors, versus vanilla market cap weighted? There is some benefit, but in my book I recommend not adjusting portfolio weights too much in the expectation of higher relative Sharpe Ratio. Indeed I'm currently at around 17% of total portfolio risk in UK equities, versus the 4% or so I recommend for a UK investor in my book. If I continue to top slice my outsized positions in ICP and STOB I will still only get down to 15%. In conclusion I think it is worth continuing to tactically reduce my UK equities exposure.

Improving my futures trading is something on the 'to-do' list. Arguably it would make more sense to introduce another asset class; perhaps cover more individual equities, start a long:short portfolio, or look into options. However this will involve far more work than I'm prepared to do so I'm sticking to futures. At some point when I get pysystemtrade to the point where it can replace my current trading system I will be in a position to start looking at some improvements here.


Wednesday, 21 February 2018

CTA allocations, QE, meta-prediction, and conditional return distributions

As most of you know my last proper job (part time lecturing and occasional consulting gigs do not count) was managing the fixed income portfolio for AHL, a large systematic hedge fund. I had the pleasure of that job from late 2010 until mid 2013. It's fair to say that the main topic of discussion around our desk was Quantitative Easing.

The US QE2 programme began in November 2010, and it finished in late 2014. We knew that QE was keeping interest rates relatively low and stable. We knew at some point it would end, and interest rates would rise.

(I'm writing this as a trader rather than an economist, and the fine distinction between the effects of Fed Fund rate rises and the slowing or reversing of asset purchases do not concern us here)

Our number one concern was how our models would react when this event happened. Would our strategies cope, or would they be badly underwater? Given that the QE unwind is still underway this is still very much a live discussion.

The problem here is one of meta-prediction. We aren't trying to predict interest rates, or the returns of assets like US bond futures; we already have our underlying trading strategies for that: momentum, carry, and perhaps a few other bits and pieces. Instead we're trying to make predictions about the returns of the trading strategies. Does momentum do better in particular regimes? Can we identify when carry is likely to under perform? If so we can reallocate our risk capital into the most favourable place. Essentially this is a problem of factor timing. Like Cliff says, factor timing is hard. But let's try anyway.

Some messy python code using pysystemtrade is here


An idiots guide to meta-prediction 


Meta-prediction requires two important ingredients:


  1. A strategy, or strategies, whose returns we can back test historically.
  2. A conditioning variable to identify a particular regime (for simplicity I'm assuming that regimes are discrete rather than continuous here)

Assuming we have these two ingredients our job is easy: partition our historic strategy returns by regime, and test whether there is any difference in strategy performance. We then find the regime that is closest to what we expect to happen next, and determine if our strategy will do better or worse than average.


Choice of strategies


To keep things relatively simple I'm going to use the four core trading rule variations from chapter 15 of my first book: Carry, and 3 variations of momentum - fast, medium, slow (moving average crossovers with speeds 16/64, 32/128, 64/256).

The choice of instruments is more interesting. Obviously we'd see clearer effects if we looked at Eurodollar futures and US bonds; even clearer if we aligned the instrument with the conditioning variable (eg using a 2 year interest rate to see what happens with 2 year bond futures). Of course there are likely to be spillover effects into other bonds, and possibly into other asset classes (the fear of rising interest rates appears to have been one of the causes of the recent sharp sell off in equities). To keep things simple in this post I'm mostly going to look only at the following US interest rate related futures:


  • Eurodollar (traded approximately 3 years out on the curve)
  • US 5 year
  • US 10 year
  • US 20 year (I don't actually trade this but I have the data so why not)


(The US 2 year bond future has insufficient data, so I'm ignoring that. Also I'm focusing purely on US QE in this post. Finally I'm ignoring the possibility of extrapolating from the earlier Japanese QE experiment, and seeing what lessons this would have for the US)


Conditioning variable


To be useful conditioning variables need to have some key properties:

  • Quantifiable
  • Present in history
  • Meaningful historic variation
  • Reasonably distributed
  • Ex-Ante

'Quantifiable' is, I hope, self explanatory to the average reader of this blog. By 'present in history' I mean that we have a long historical record of the variable. QE fails badly on this measure - we've never had QE in the US before.

The OIS - LIBOR spread is an example of a spread that didn't have meaningful variation prior to 2007. It also isn't 'reasonably distributed' - the distribution prior to 2007 is completely different from what followed.

A key part of making meta predictions is to use an ex-ante rather than an ex-post variable. Official US recessions are an example of an ex-post variable - the official announcement is made around a year after each change in regime. Ex-post analysis is interesting, but useless when it comes to making predictions.

Given that QE itself is flawed, what is a variable that is a good QE proxy and satisfies all of the above conditions?  A naive description of the effect of QE reversing would be something like this “Interest rates are low, but have started rising”. The level and change in interest rates would seem to be appropriate variables. To keep things ex-ante we'd need to ensure we measured the level at the start of the period (if we're using daily returns this just means lagging the rate by a day). Similarly the change needs to be up to the start of the period. Let's use the change in the previous 12 months up to the start of the return period.

Which interest rate should we use? The Fed Funds rate is an obvious one. But given we're concerned with QE, which was designed to make bond yields lower, I think we should focus on government bond yields. The average maturity of US debt is relatively short, around 4-6 years. So I'm going to use this 5 year constant maturity bond rate.

Note: the results are similar with the Fed Funds Rate

Here is the interest rate level:
US 5 year constant maturity rate (https://www.quandl.com/data/FRED/DGS5-5-Year-Treasury-Constant-Maturity-Rate)

I'm not super happy with this variable. If we condition on rate level we'll probably end up partitioning on time: pre 1995 and post 1995. I'm not sure how meaningful the results from that will be. Here is the 12 month change:

Rolling 12 month change in 5 year US interest rates


The amplitude of changes is clearly higher when interest rates are higher; but I'd argue that a 100bp increase is far more significant now than it was back in the early 1980s. However the problem isn't as serious as for the level: this is mostly a reasonably stationary series.

To cope with this I'm going to apply a normalisation to the level: I will divide by the rolling 20 year average of the interest rate. Since interest rate cycles normally last about 10 years this will give us an indication of where we are in the rate cycle; a far more useful conditioning variable.

Here is the normalised level:


Much nicer. After adjustment you can see that interest rates are clearly in a higher part of the cycle than the unadjusted rate would suggest. Here is the normalised change:

The amplitude here is much more constant than before. This gives us two potential conditioning variables:

  • Normalised interest rate level (divided by 10 year average)
  • Normalised interest rate change over last 12 months



Some naive results


Interest rate levels (normalised)


To kick things off here is the account curve for Eurodollar carry, coloured to show the two regimes for normalised interest rate levels.
Carry account curve for Eurodollar futures, conditional on normalised interest rate regime
Notice how we are currently in a 'high' interest rate environment, and that apart from the early 1980's returns look to have been better when rates are low. An open question here is whether we should use return or Sharpe Ratio. It looks like the volatility might be different in the high interest rate environment. I'm going to use Sharpe Ratio, but you should bear this in mind.

Here are the results for Eurodollar futures across different trading rules:

Sharpe Ratio for Eurodollar futures across trading rule variations, conditioned on normalised 5 year rates

The 'low' rate environment here is a normalised range of 0.15 to 0.71; whilst for 'high' it's from 0.71 to 1.57 (these buckets are divided at the median value of the conditioning variable). The rate is currently over 1.0; so at least on a normalised basis we're actually in a 'high' rate environment (in contrast in 2013 just before the 'taper tantrum' the adjusted rate was at an all time low of 0.15).

There seems to be some weak evidence that 'high' is better than low, especially for momentum.

Here are the results for the bond futures:

Sharpe Ratio for 5 year futures across trading rule variations, conditioned on normalised 5 year rates
Sharpe Ratio for 10 year futures across trading rule variations, conditioned on normalised 5 year rates
Sharpe Ratio for 20 year futures across trading rule variations, conditioned on normalised 5 year rates

These are very mixed results. Because of this, and because the normalisation makes things slightly tricky, I don't think there is anything worth pursuing here.


Interest rate changes (normalised)


Now let's move on to looking at interest rate changes. We'll start with Eurodollar, and then move up through the tenors.

Here is the account curve for Eurodollar and the slowest momentum rule, hacked to show the different regimes:

Carry account curve for Eurodollar futures, conditional on normalised interest rate change regime


Notice how we're currently in a rising regime (orange), and how good performance is almost entirely confined to falling rate regimes (blue). Notice also that the trading rule reduces it's volatility when we lose money; this is a classic pattern for trend following. This also means that using conditional Sharpe Ratio is perhaps a little unfair; the absolute losses will be smaller when rates are rising even if the SR looks really bad.

Anyway, do these results hold across other trading rules?

Eurodollar futures, performance of trading rules conditioned on normalised rate changes


'Fall' means the normalised interest rate change was in the range -0.48 to -0.04 over the previous 12 months before the relevant day. 'Rise' means the rate changed was in the range -0.04 to +0.40. The reason for this skew in buckets is of course that interest rates have mostly fallen in the period we're using, and the normalisation doesn't quite correct for this. Changing the buckets so that they cover a strictly negative and positive range won't affect the results.

The current 12 month change in rates is +0.26, so we're solidly in the rising interest rate environment here.

That is a very consistent pattern but let's see if that is repeated across other instruments:

US 5 year bond futures, performance of trading rules conditioned on normalised rate changes
US 10 year bond futures, performance of trading rules conditioned on normalised rate changes
US 20 year bond futures, performance of trading rules conditioned on normalised rate changes


There is a very consistent pattern here: recent rises in interest rates are bad news for carry, and really bad news for momentum (especially the slowest kind). Here is a nice summary chart that shows what happens if we lump all the different futures into a single portfolio (equally weighted):

Portfolio of US bond & rate futures, performance of trading rules conditioned on normalised rate changes
There is some evidence that you might want to up your allocation to carry, and reduce it to trend following especially the slower end in a rising rate environment.

This sort of makes sense: if rates are rising then the net effect of still positive carry plus negative price movements can lead to a 'choppy' total return series; choppy prices are seriously bad news for any kind of trend following; if carry stays long it will benefit from positive total return even if it's much much smaller than what we see in falling rate environments.

What about across portfolios? Here is the performance of each instrument, after applying some sensible forecast weights: system.config.forecast_weights = dict(ewmac16_64 = 0.2, ewmac32_128 = 0.2, ewmac64_256 = 0.2, carry=0.4)

Portfolio of trading rules, Sharpe Ratio across instruments, conditioned on normalised rate changes
Focusing on the pattern of Sharpe Ratios it looks like you might want to up your allocation to US 5 years, but reduce fixed income generally.

Now we may have done a little data mining to get to this point, but blimey! That is one strong result! Consistently falling Sharpe Ratio as we move from a regime of recently falling rates to one of recently rising. It appears to be a very convincing null points for fixed income momentum and carry in the current regime.


Some less naive results


The results above look compelling, and no doubt have many people working in CTAs rushing to deallocate from fixed income momentum as we speak. If we were working for the sell side, where our job was to generate flow rather than do proper research, we'd probably stop there.

But they miss out on an important point: we're only seeing the average conditional return, not the distribution of conditional returns. This is important because the average doesn't tell us how significant the difference is between the returns we're seeing. More specifically what we want is the sampling distribution of the Sharpe Ratio estimate.

We know from Andrew Lo that for i.i.d. returns this has a standard deviation of root(1+.5SR^2).
(For non-normal distributions check out Opdyke)

Rather than mucking about with fancy formula that aren't quite accurate anyway let's bootstrap the relevant distributions. To avoid plot overload I'm going to do these for each trading rule variation individually, for a portfolio of instruments.

Here's the plot for carry


Histogram of sampling estimate for SR, across instruments, for carry rule, conditioned on normalised yield change

There is clearly a serious difference between the performance here. The p-value for a t-test of the performance across these two regimes comes in at just over 1%.

Legend key: Range of conditioning variable, Mean Sharpe Ratio estimate, Independent t-Test p-value for comparing with the worst Sharpe Ratio



The results for other trading rules are equally strong or stronger, so to cut to the chase here is a plot for the entire portfolio of fixed income trading rules and instruments:

Histogram of sampling estimate for SR, across instruments, for all rules, conditioned on normalised yield change

The t-test p-value is pretty significant here, again well under 5%.  It turns out that there is a pretty substantial difference in fixed income strategy performance across different interest rate regimes.

By the way although the result is significant, it isn't as clear cut as the p-value above might lead you to believe. If we cut our data into finer regimes then we get the following Sharpe Ratios:

Average Sharpe Ratio for portfolio of all fixed income instruments and trading rules conditional on normalised interest rate regime
We're currently in the right most bucket (normalised rate change 0.26); it's certainly one of the worst performing regimes, but the results aren't monotonically changing across rates.

Due to the way the regimes are created each bucket as an identical length of return history, but the rate regimes may be of different widths.


A few more experiments


Lest we be accused of p-hacking, here is the result for the unadjusted yield change:

Histogram of sampling estimate for SR, across fixed income instruments, for all rules, conditioned on raw yield change

If anything the results here are more significant than for the normalised yield change. For reference the current 12 month trailing interest rate rise is +0.64%; so we do fall in the orange distribution, but only just. The results here aren't quite as relevant for current meta-predictions than those for the normalised change.

Fixed income is buried, but what about the rest of our CTA portfolio? Should we try a different asset class? Here are the results for S&P 500:

Histogram of sampling estimate for SR, S&P 500 futures, for all rules, conditioned on raw yield change

It looks like rising rate environments are slightly better for momentum and carry in stocks but this is a long way from being significant. Generally we don't see such stark effects for momentum and carry in non fixed income instruments.

Finally here are the results for a couple of long only portfolios (i.e. we're now making predictions not meta-predictions). First long only equally weighted for all four of our fixed income instruments (actually these are inverse vol weighted, not equal weighted):

Histogram of sampling estimate for SR, across fixed income instruments, for long only portfolio, conditioned on adjusted yield change


The results here make sense on one level, but not on another. This plot shows us that if interest rates have recently been rising then we should expect to do relatively badly from fixed income (although the p-value isn't that significant). Another way of putting that is that momentum works: if interest rates have been rising then total return from long only bond portfolios won't be that great (although this measure of momentum is the 12 month change in a single yield, rather than a moving average crossover on the adjusted price of whatever). However we already know that slow momentum is best avoided in fixed income when yields have been rising.

And here is long only S&P 500:

Histogram of sampling estimate for SR, S&P 500 futures as long only portfolio, conditioned on adjusted yield change


It looks like rising rate environments are slightly better for stocks (due to higher economic confidence?) but again this is a long way from being significant. Interesting though and possibly the source of a trading rule idea for stock index prediction.



Summary: what should we do?


Here is a quick summary of the Sharpe Ratios that we've seen so far for each normalised interest rate change regime, plus the p-values when comparing the two regimes.

          Falling Rising P-value
SP500 long 0.04 0.45   28.00%
FI long 0.9 0.44   13.50%
SP 500 CTA 0.68 0.88   69.00%
FI CTA       0.91 0.18   2.00%
EDOLLAR CTA 0.96 0.18   2.20%
US5 CTA       0.84 0.36 18.20%
US10 CTA 0.86 0.25 6.50%
US20 CTA 0.58 0.12 14.00%
FI carry 0.92 0.14 1.20%
FI slow mom 0.7 -0.25 0.20%
FI med mom 0.64 -0.02 2.50%
FI fast mom 0.66 0.10 7.30%



It looks like in a rising interest rate environment you should make the following portfolio adjustments:

  • Long only: Shift to stocks and out of bonds (although bonds still do about as well as stocks in a rising rate environment - it's just that they're not doing as well as when rates are falling and stock performance is flat)
  • CTA vs long only: Perhaps slightly reduce your overall CTA exposure, but not by much (stock CTA strategies actually do a little better, and CTA returns won't be much lower if managers deallocate from fixed income)
  • CTA asset allocation: Shift out of fixed income and into other asset classes. 
  • CTA fixed income instrument weighting: You might want to slightly overweight 5 years at the expense of other tenors
  • CTA fixed income forecast allocation: You might want to slightly overweight faster momentum at the expense of slower momentum (the slow momentum loses out most when we don't get a tailwind of general reductions in yield). On a relative basis carry holds up reasonably well versus momentum.

By the way 'shift' doesn't imply a complete reallocation. I'd be wary of changing my weights by more than a factor of 0.5 / 1.5, even with p-values of 2% or less. So for example if your CTA portfolio is 30% in fixed income; then the largest reduction I'd countenance would be to shift it to 15% in fixed income.


Concluding thoughts


I will be honest - I was surprised by these results - and I didn't set out to find them (always a risk with any piece of research). It's unusual to find meta-predictions that work. Out of loyalty to CTAs generally, and to fixed income specifically, I was rather hoping to find no significant effects.

Have I discovered a holy grail of factor timing? It depends what you mean by factor timing. I haven't shown that we can predict when momentum or carry can do well relative to buy and hold for a given asset class. All I've confirmed is that rising interest rates are not ideal for fixed income, and the results show that is true not only for long only, but also for most strategies that you might care to mention.

But if 'bond momentum' and 'bond carry' are factors, then sure I've found a pretty good predictor of when it does or doesn't work: recent rises in interest rates. Although remember from before that momentum will partially turn itself off when it is losing money, due to weaker signals as you'd expect to get when rates are rising.

I probably won't personally do anything with these results because it's an extra layer of complexity (and I haven't formally back-tested using interest rate changes to alter weightings, which means I haven't accounted for switching costs; plus there is the question as to how we approach say other countries like Germany where I don't have enough data to prove whether this works).

But they are still interesting food for thought.