haha wow! it isnt the snappiest of titles thats for sure!
haha wow! it isnt the snappiest of titles thats for sure!
Hello GAT and Everyone,
I am yet another person who's running a system based on GAT's book and blog. Trading 39 markets (all USD based), at 16% vol; started live trading in December 2016.
I am currently in the process of gathering data to backtest non-USD Equities and Bonds (such as UK Long Gilt).
The problem I'm running into is with the calculation of carry on bond futures such as the UK Long Gilt. The issue seems to be related to the fact that (it appears that) interest is paid twice a year while the futures contracts are quarterly -- this seems to cause seasonality. So, calculating carry based on the difference in price of a front and back futures contract seems to be challenging. Below is a chart of the carry that I get using this method (BTW, I believe that my_carry = -1 * gat_carry, so my chart may look like it's upside down compared to what GAT would get). The problem is not limited to UK Long Gilts, as German Bunds apparently make interest payments typically once per year.
There is the approach of using a pretty long moving average to smooth out the seasonality. This seems like it's not ideal since it introduces lag, especially compared to the other technique for calculating carry. Pretty much all the papers calculate carry on bonds not by looking at a front and back futures contract, but by calculating (to my understanding) yield and roll-down based on spot bond prices. So, to calculate the "carry" on a Long Gilt, you'd need to have data on the spot price for a Long Gilt as well as the spot price on a UK 7yr Bond (or some like duration to be able to calculate roll-down). The problem with this approach is getting your hands on the data. But, perhaps I'm missing something obvious -- that's why I'm writing here.
How do other people approach this problem? Am I missing something simple?
As a side note, my experiences with carry for global equities were also fraught with seasonality (due to another mismatch between dividend payments and futures contract months). I spent a couple of weeks working on various ways to remove the seasonality without introducing lag. At the end of that rat hole (er ... effort), my back tests showed that leaving the seasonality in yielded better performance than removing the seasonality. Granted, those tests were for a cross-sectional carry strategy, but still interesting (and rather disappointing for me given the effort that went into removing the seasonality).
And ... just as a little benchmarking for those of you in live trading, my system was down about 10% off the HWM due to losses late June and early July. Currently, its rebounded about 2.5%. -- still painful though.
Regards,
--Maciej
Always with humour.there are only three ways to solve it, and you've identified them both.
My system (based on the same book, but with small trading account) is also in drawdown since early June.And ... just as a little benchmarking for those of you in live trading, my system was down about 10% off the HWM due to losses late June and early July. Currently, its rebounded about 2.5%. -- still painful though.
GAT I just wanted to say thanks for the material you are putting out. Learning about volatility targeting and SR trading cost from you has made a world of difference in my trading results and stress level. I appreciate it!
For vstoxx, do you trade the front contract?
(On vix, I trade 3 months out, and compare the nearer contract for my carry).
Sometimes, for some of my carry forecasts, I get this oscillating behaviour (this is bobl, trading front contract, carry to next quarterly contract).
![]()
I'm including a 90 day smooth, and I haven't found a bug yet (though there might be one). Is there a fundamental reason for this behaviour?
Here's my trading journal
![]()