Wednesday, 17 June 2026

Honey I shrunk the weights (instead of the inputs!)

TLDR: This is a post about something that doesn't work. So don't read if you only care about cherry picked delightful backtests.

This is my fifth post in a rapid fire intense series on portfolio optimisation. In my last post I looked at the optimal amount of shrinkage to use with real data, when running a bayesian methodology for mean variance optimisation. I found two things. Firstly, the optimal shrinkage was different for different sizes of in and out of sample periods. Secondly, that there was mostly a great deal of uncertainty about what the optimium was, with fairly flat surfaces and insigificant t-statistics abounding. I also found that random based methods (monte carlo and bootstrapping) don't work as well as the best shrinkage methods (and in some cases, do worse than the poorest methods). That's three things, but the latter point isn't relevant to this post.

Hence, shrinkage of 0.5 on SR and 0.75 for correlations seemed reasonable; but the truth is we don't really know for sure.

Now I am a big fan of the work of Resolve asset managment. And one thing they are fond of doing is if two or more things seem to work equally well, just taking an average of them (for example they do this here with CTA replication). And I also know intuitively that taking an average of portfolio weights is better than taking an average of inputs. Therefore might we not do better by taking an average of the weights produced by different shrinkage methods?

For example, if we averaged the weights produced by naive mean variance (NMV - zero shrinkage) and equal weights (full shrinkage on both inputs), then we're basically shrinking the weights.

This leaves us with two open questions (apart from the obvious question, which is how long I will continue flogging this subject to death):

  • What are we averaging?
  • What averaging weights should we use?
For the second part I'm going to keep things simple and just use equal weights. For the first part, consider this grid of shrinkage options. This is a subset of what we have seen before:

      0.00  0.50  1.00
0     A       B     C
0.5   D       E     F
1.0   G       H     J


Each row is a different SR shrinkage. Each column is another level of correlation shrinkage. There are 9 options of shrinkage. Some have special names. A is no shrinkage; naive mean variance. B is closest to the optimal shrinkage from the EPO paper I have referenced before. E is not that different from the empirical option I selected in the previous post. J is full shrinkage; equal weights. 

Now if I said to me "Rob, you can only choose two options from this list", I would select:
  • A and J
  • or perhaps, C and G
If allowed three options, I'd throw in E, so:

  • A, E,J
  • C, E, G
With four options I would hit the corners:
  • A,C,G,J
Finally with five options I would hit the corners and the centre:
  • A,C,G,J, E
With everything equally weighted in all of the above. This gives me six different permutations. These in turn can be compared to each of the individual shrinkage options (since we have to calculate them anyway...), so we're comparing 15 possibles.

I'm going to use exactly the same set up as the previous post; randomly chosen portfolios of nine trading rules for a random instrument; varying the size of the in sample and out of sample periods.

Note: yes the title is an allusion to this paper.


One year in sample, one year out of sample

       SR median  SR 0.05  T statistic
A 0.029 -1.531 0.104
B 0.014 -1.549 0.745
C 0.008 -1.598 0.025
D 0.031 -1.527 0.507
E 0.038 -1.573 NaN
F 0.014 -1.572 0.028
G 0.008 -1.729 0.004
H 0.023 -1.704 0.036
J 0.012 -1.694 0.019
AJ 0.013 -1.584 0.031
CG 0.003 -1.668 0.001
AEJ 0.006 -1.603 0.020
CEG 0.002 -1.591 0.001
ACGJ 0.001 -1.610 0.001
ACEGJ 0.005 -1.595 0.001


      0.00  0.50  1.00
0     A       B    C 
0.5   D       E    F 
1.0   G       H    J


Hopefully the format of this table makes sense. The first two columns are median SR across all the random portfolios, and the 5% point of the distribution of random portfolios. You can see that option E is best at the median point (0.5 shrinkage on both), but D is slightly better at the 5% point. The final column is the result of a paired t-statistic comparing the optimal choice (which has NaN in this column) and the choice on the appropriate line. A number below 0.05 means the optimum is significantly better at a 5% critical value, i.e. there is a 95% or more chance it isn't just pure luck.  One benefit of doing this optimisation is that there are fewer options, plus no random methods; so it's very quick. Hence I can get more reasonable t-statistics here (I have 4,000 values in my sample). 

But you can still see that E isn't significantly better than D, and nor is A or B. C, F, H and J are insignificant at a 5% level, but not a 1% level. All the values in the top left quadrant are fine.

You will remember from the last post that the optimum was shrinkage of 0.25 SR, 0.6 correlations but also that there almost no statistical difference between sensible shrinkage results. Option E is closest to that previous optimum. 

Sadly none of the new 'combo' options are any good.

One year in sample, five years out of sample

       SR median  SR 0.05  T statistic
A 0.148 -0.628 0.0
B 0.157 -0.603 0.0
C 0.164 -0.578 0.0
D 0.140 -0.623 0.0
E 0.156 -0.600 0.0
F 0.161 -0.582 0.0
G 0.155 -0.594 0.0
H 0.170 -0.567 0.0
J 0.193 -0.491 NaN
AJ 0.173 -0.549 0.0
CG 0.176 -0.539 0.0
AEJ 0.170 -0.571 0.0
CEG 0.175 -0.561 0.0
ACGJ 0.178 -0.541 0.0
ACEGJ 0.179 -0.542 0.0
      0.00  0.50  1.00
0     A       B    C 
0.5   D       E    F 
1.0   G       H    J

Some amazing significance there - basically equal weights is better than everything by some margin. This is exactly the result from before. And the combos don't perform as well.
 

Five years in sample, one year out of sample


       SR median  SR 0.05  T statistic
A 0.051 -1.742 0.276
B 0.057 -1.769 NaN
C 0.052 -1.763 0.147
D 0.048 -1.738 0.825
E 0.049 -1.757 0.883
F 0.043 -1.754 0.062
G 0.010 -1.842 0.005
H 0.026 -1.767 0.011
J 0.004 -1.803 0.008
AJ 0.025 -1.759 0.031
CG 0.019 -1.789 0.013
AEJ 0.042 -1.757 0.355
CEG 0.034 -1.749 0.043
ACGJ 0.016 -1.747 0.081
ACEGJ 0.037 -1.745 0.047
      0.00  0.50  1.00
0     A       B    C 
0.5   D       E    F 
1.0   G       H    J

Again, the newer combo methods aren't much cop although AEJ is a little better than J.

Five years in sample, five years out of sample


       SR median  SR 0.05  T statistic
A 0.159 -0.666 0.000
B 0.166 -0.648 0.365
C 0.165 -0.642 0.233
D 0.157 -0.666 0.000
E 0.173 -0.660 NaN
F 0.168 -0.647 0.259
G 0.128 -0.676 0.000
H 0.141 -0.667 0.000
J 0.144 -0.660 0.000
AJ 0.162 -0.659 0.051
CG 0.157 -0.653 0.001
AEJ 0.172 -0.667 0.086
CEG 0.162 -0.654 0.013
ACGJ 0.161 -0.655 0.030
ACEGJ 0.163 -0.658 0.054
      0.00  0.50  1.00
0     A       B    C 
0.5   D       E    F 
1.0   G       H    J

Again the middle ground of E is the best; we're also seeing more extreme shrinkage (the bottom row) do very badly as does mean variance. None of the combos do as well.

Ten years in sample, one year out of sample

       SR median  SR 0.05  T statistic
A -0.016 -1.850 0.166
B -0.025 -1.827 0.269
C -0.015 -1.775 0.223
D -0.007 -1.853 NaN
E -0.028 -1.815 0.991
F -0.017 -1.795 0.654
G -0.076 -1.894 0.000
H -0.082 -1.883 0.268
J -0.097 -1.856 0.000
AJ -0.074 -1.846 0.095
CG -0.069 -1.858 0.000
AEJ -0.057 -1.843 0.622
CEG -0.058 -1.844 0.001
ACGJ -0.069 -1.857 0.006
ACEGJ -0.058 -1.840 0.004
      0.00  0.50  1.00
0     A       B    C 
0.5   D       E    F 
1.0   G       H    J

I struggled to get statistical significance for this set before; I have some now, but basically again somewhere in the region of D and E is best. Combo methods do not win though again AEJ isn't significantly worse.

Ten years in sample, five years out of sample

       SR median  SR 0.05  T statistic
A 0.089 -0.825 0.962
B 0.095 -0.865 0.578
C 0.099 -0.848 0.083
D 0.086 -0.842 0.581
E 0.095 -0.852 0.431
F 0.101 -0.848 NaN
G 0.072 -0.923 0.000
H 0.076 -0.930 0.000
J 0.089 -0.939 0.000
AJ 0.082 -0.889 0.000
CG 0.082 -0.908 0.000
AEJ 0.089 -0.874 0.000
CEG 0.091 -0.907 0.000
ACGJ 0.085 -0.896 0.000
ACEGJ 0.088 -0.892 0.000
      0.00  0.50  1.00
0     A       B    C 
0.5   D       E    F 
1.0   G       H    J

'Somewhere in the middle row' isn't a song from Wizard of OverFitting; but roughly where you want to be once again. The combo results are a dismal failure.

Summary

Someone once told me "I love your blog and your books because you talk about failures as well as successes". Well whoever that was - you'll have loved this one! 

No comments:

Post a Comment

Comments are moderated. So there will be a delay before they are published. Don't bother with spam, it wastes your time and mine.