Since Elder brought it up, I've been playing with Rob's handcrafting method for a few weeks now, trying to understand the results I'm getting.
Here's what I get for 12 instruments (returns data for the date range 2015/07/01-2020/07/01) that I think are somewhat diverse, representing each group (stocks, bonds, vol, aggs, metals, stir):
Code:
ZC V2TX GE MXP ESTX50 NG PL HE GBP ZS GBM ZF
Vol weights 0.036196 0.143411 0.113382 0.085424 0.099760 0.083576 0.077732 0.040960 0.069278 0.030971 0.141333 0.077977
Std. 0.190274 0.439473 0.008014 0.145823 0.219591 0.380968 0.266162 0.340262 0.103737 0.166355 0.019816 0.027569
Cash weights 0.007006 0.012019 0.521088 0.021576 0.016732 0.008080 0.010756 0.004434 0.024596 0.006857 0.262684 0.104172
There's a 52% cash allocation to Eurodollar, which really seems odd. This was ran with no risk target, natural risk came out at 1.38%.
I then looked at the subportfolios:
Code:
['V2TX', 'GE', 'GBM', 'ZF']
['MXP', 'ESTX50', 'PL', 'GBP']
['ZC', 'NG', 'HE', 'ZS']
Seems like VSTOXX got put together in the same group as bonds, which is weird.
I then looked into the correlations, which somewhat explains how that happened:
Code:
ZC V2TX GE MXP ESTX50 NG PL HE GBP ZS GBM ZF
ZC 1.000000 -0.064267 -0.121516 0.170380 0.150131 0.016875 0.049561 0.265098 0.154059 0.629425 -0.117282 -0.129847
V2TX -0.064267 1.000000 0.370536 -0.411786 -0.769686 -0.106653 -0.313154 -0.158634 -0.312296 -0.078578 0.175712 0.420393
GE -0.121516 0.370536 1.000000 -0.057798 -0.406423 -0.142400 -0.001980 -0.172233 -0.104512 -0.100224 0.605351 0.949195
MXP 0.170380 -0.411786 -0.057798 1.000000 0.498750 0.122098 0.425653 0.210096 0.357280 0.250902 0.057800 -0.081791
ESTX50 0.150131 -0.769686 -0.406423 0.498750 1.000000 0.108295 0.361960 0.249286 0.326445 0.199973 -0.127219 -0.454780
NG 0.016875 -0.106653 -0.142400 0.122098 0.108295 1.000000 0.073907 0.129099 0.053497 0.112193 -0.091922 -0.132716
PL 0.049561 -0.313154 -0.001980 0.425653 0.361960 0.073907 1.000000 0.162243 0.415357 0.132317 0.122485 -0.013490
HE 0.265098 -0.158634 -0.172233 0.210096 0.249286 0.129099 0.162243 1.000000 0.118090 0.275095 -0.073586 -0.196772
GBP 0.154059 -0.312296 -0.104512 0.357280 0.326445 0.053497 0.415357 0.118090 1.000000 0.161429 -0.056220 -0.061670
ZS 0.629425 -0.078578 -0.100224 0.250902 0.199973 0.112193 0.132317 0.275095 0.161429 1.000000 -0.110987 -0.105146
GBM -0.117282 0.175712 0.605351 0.057800 -0.127219 -0.091922 0.122485 -0.073586 -0.056220 -0.110987 1.000000 0.617952
ZF -0.129847 0.420393 0.949195 -0.081791 -0.454780 -0.132716 -0.013490 -0.196772 -0.061670 -0.105146 0.617952 1.000000
Do others get similar results? I could try to "fix" these by running with a higher risk target, but I'd like to understand what's happening before I do that, and also, how to determine the risk target I should be running with. Without leverage, max risk that this portfolio can reach is about 7.5%. My system is based off of Rob's Leveraged Trading book so there's a leverage factor built in the system in the form of instrument_risk_target / instrument_risk.