Exactly. The holder of the future doesn't directly earn the coupon. The coupon return is embedded in the roll from one contract to the next. Are you having trouble stitching all the historical contracts together? A lot of futures data vendors (CSI, Pinnacle) will back-adjust the series for you.
This is a copy of this version https://github.com/robcarver17/pysystemtrade/blob/master/sysdata/legacycsv/US20_carrydata.csv ... which is regularly updated (the spreadsheet won't be) This sheet is nearly as old as I am (1977) Data from quandl.com GAT
Basic futures - spot parity, no? To replicate buying a future I borrow some money and pay LIBOR, and then buy the CTD with the money I've borrowed. GAT
Didn't read your email properly. Also this This is the backadjusted price. If you take differences of this, divide by the PRICE column in the other sheet, you'll get a total % returns from rolling the future on the dates shown. You know what I'm feeling generous so I've done it for you: GAT
Nah, if you buy the CTD, you repo it... Why would you borrow unsecured (LIBOR), if you've got UST collateral? The point is moot, regardless. The OP doesn't need to do this, IMHO (it would have been a pain, given it's ZB and there is no ONTR 20y).
Thank you so much for your spreadsheet. May I know the Quandl page/identifier that you used as the input?
I see. So for futures, regardless of the remaining term and coupon of the underlying, we always just consider as if it's always the latest 30 year bond. Is it correct? If this is the case, it seems like ZB and UB futures will have exactly the same total returns, right?
https://www.quandl.com/data/CME/USH2003-Treasury-Bond-Futures-March-2003-USH2003-CBOT ... and so on... GAT
Nah, that's not really what I am trying to say... My point is you should forget that the underlying is a bond, if all you're trying to compute is the total return on the futures. For all intents and purposes, it's a widget which you buy at price A and sell at price B and which doesn't produce any cashflows in the interim (there are some approximations in doing this, but should be good enough, I think; if you want to be careful and care about precision, you actually do need to deal with the duration issues, but, again, that's likely to be a second-order effect).
I guess one of my unspoken approximations was repo rate = LIBOR because it's much easier to get history of LIBOR rates than history of repo rates on specific bonds. And you can say that was a poor approximation to make (though not as bad pre 2007). And yes, this discussion is pointless since I've already given him what he actually wanted! GAT