
HEDGEFUNDIE's excellent adventure Part II: The next journey
-
- Posts: 7
- Joined: Wed Mar 20, 2024 2:53 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Hello everyone, does someone know where they got their underlying data for TMF? For me it's ICE U.S. Treasury 20+ Year TR Index (IDCOT20TR), but this one have data from 2005 only. Thanks 

Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Perhaps you could be a tad more explicit about "they"?Quentinvestisseur wrote: Wed Mar 12, 2025 2:56 pm Hello everyone, does someone know where they got their underlying data for TMF? For me it's ICE U.S. Treasury 20+ Year TR Index (IDCOT20TR), but this one have data from 2005 only. Thanks![]()
-
- Posts: 7
- Joined: Wed Mar 20, 2024 2:53 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Yes, sorry I meant the hfea data from the original post. But also more generally all data of TMF found on this thread because I have also seen data dating back to 1960 as on testfol.io on their TLTSIM asset. I don't understand where they collected the underlying dataHydromod wrote: Wed Mar 12, 2025 7:09 pmPerhaps you could be a tad more explicit about "they"?Quentinvestisseur wrote: Wed Mar 12, 2025 2:56 pm Hello everyone, does someone know where they got their underlying data for TMF? For me it's ICE U.S. Treasury 20+ Year TR Index (IDCOT20TR), but this one have data from 2005 only. Thanks![]()
-
- Posts: 53
- Joined: Thu Dec 23, 2010 9:59 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
The underlying data comes from Simba's spreadsheetQuentinvestisseur wrote: Wed Mar 12, 2025 8:26 pmYes, sorry I meant the hfea data from the original post. But also more generally all data of TMF found on this thread because I have also seen data dating back to 1960 as on testfol.io on their TLTSIM asset. I don't understand where they collected the underlying data
https://www.bogleheads.org/wiki/Simba's ... preadsheet
I don't remember where the leveraged version is, but you should be able to find it if you read through the simulated returns thread on this forum. I think you need to be granted access to download it .
viewtopic.php?t=272640
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
The original analysis did come from Simba. I think that there was a daily version that Siamond was usually happy to provide.
Testfol.io generates a simulated TLT prior to inception using a formula taking treasury yields as input, starting in 1962, which can be obtained from FRED. Not all durations were issued for the entire period, for example the 30-year, so I think that ZROZSIM is based on an extrapolation from other durations during gaps.
Testfol.io generates a simulated TLT prior to inception using a formula taking treasury yields as input, starting in 1962, which can be obtained from FRED. Not all durations were issued for the entire period, for example the 30-year, so I think that ZROZSIM is based on an extrapolation from other durations during gaps.
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
B.t.w. can somebody please explain the custom bond tickers on testfol?Hydromod wrote: Thu Mar 13, 2025 7:20 am The original analysis did come from Simba. I think that there was a daily version that Siamond was usually happy to provide.
Testfol.io generates a simulated TLT prior to inception using a formula taking treasury yields as input, starting in 1962, which can be obtained from FRED. Not all durations were issued for the entire period, for example the 30-year, so I think that ZROZSIM is based on an extrapolation from other durations during gaps.
For example B!Y=DGS30&M=26&W=10&E=0.15 as they suggest for simulating TLT
I guess the 26 is supposed to be the weighted average maturity of TLT (currently 25.72 years).
How exactly can the performance of a 26-year maturity bond be inferred from a data set of 30-year maturity bonds? It cannot without having the entire yield curve data, or at least the yield at the 26-year maturity point, right?
Am I right in my assumption that for an accurate simulation, I should preferably use the same number for the "M" parameter as the maturity of the data set used, e.g. B!Y=DGS1&M=1 or B!Y=DGS2&M=2 ?
B!Y=DGS2&M=1 would not make sense, would it?
I'm also confused about the "W" parameter
I am not getting the logic behind this.W: This specifies the lookback window in years used for the bond ETF's coupon rate. For example, when simulating TLT, which usually buys 30Y bonds at auction and sells them after 10 years, you should use W=10. This must be specified as a non-negative float. By default, W is set to 1 day, which treats the bond ETF as always being priced at par.
The definitions are at https://testfol.io/help under "Custom Bond Tickers".
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Hydromod wrote: Thu Mar 13, 2025 7:20 am The original analysis did come from Simba. I think that there was a daily version that Siamond was usually happy to provide.
Testfol.io generates a simulated TLT prior to inception using a formula taking treasury yields as input, starting in 1962, which can be obtained from FRED. Not all durations were issued for the entire period, for example the 30-year, so I think that ZROZSIM is based on an extrapolation from other durations during gaps.
Quoting your post just to add to your point:
While I really using like the ZROZSIM and other bond tools on the testfolio website, we should bear in mind that some of these time series are "pretend", in a sense, over various time frames. The underlying yield curve model seems good enough, and if actual, longer dated maturities existed in the historical period, maybe we can assume that the extrapolation would have been a good fit to reality. But returns of longer maturity bonds using the 1962-to present yield curve series (the Nelson Siegel Svensson fit) are theoretical in nature.
For simulations based off the time series maintained by FRED and likely the source for the various testfolio time series, here is a plot (from Gurkaynak, 2006) that shows the maturities available. This is for noncallable, off the run notes and bonds that actually existed from 1962 until 2006.

couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
comeinvest wrote: Fri Mar 14, 2025 6:33 am How exactly can the performance of a 26-year maturity bond be inferred from a data set of 30-year maturity bonds? It cannot without having the entire yield curve data, or at least the yield at the 26-year maturity point, right?
I don't see how it is possible to get the performance of a 26 year maturity bond without having some kind of data about the yield curve, or the yield curve is interpolated from known yields.
For finding the performance of only one tenor where the yield is known, like 30 year bonds, you can of course use the same trick that Shiller uses in his spreadsheet. But I personally don't like it.
I'm not 100% sure about the W parameter, but it sounds like how to treat the bond as it ages. In the case of TLT, the 30 year bond is assumed to be purchased at par, at a coupon and yield probably taken off of a par equivalent (or cmt) yield curve. Let's say at 5%. Over the course of the 10 years, the 5% coupon is fixed. The price of the bond is adjusted over time by discounting the cashflows of the 5% coupon bearing bond using the zero coupon curve, until it is finally sold (after 10 years). This means it is not constrained to be at par after being purchased. As opposed to daily resetting the bond to be a par equivalent 29+364/365 year bond, then par equivalent 29+363/365 year bond, etc.
I think

I have done the daily reset for an e.g. 25.5 year par equivalent bond before. From my experience, it leads to unrealistic results - generally inflated performance, as I recall.
Edit: Ignore my explanation. According to the testfolio help page, testfolio does not appear to use a zero coupon curve to generate the par equivalent yields, but rather uses the DGS30, etc., series directly and provides no obvious references to a rolldown return.
Last edited by unemployed_pysicist on Wed Mar 19, 2025 1:52 am, edited 1 time in total.
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Thanks!unemployed_pysicist wrote: Tue Mar 18, 2025 8:41 amcomeinvest wrote: Fri Mar 14, 2025 6:33 am How exactly can the performance of a 26-year maturity bond be inferred from a data set of 30-year maturity bonds? It cannot without having the entire yield curve data, or at least the yield at the 26-year maturity point, right?
I don't see how it is possible to get the performance of a 26 year maturity bond without having some kind of data about the yield curve, or the yield curve is interpolated from known yields.
For finding the performance of only one tenor where the yield is known, like 30 year bonds, you can of course use the same trick that Shiller uses in his spreadsheet. But I personally don't like it.
I'm not 100% sure about the W parameter, but it sounds like how to treat the bond as it ages. In the case of TLT, the 30 year bond is assumed to be purchased at par, at a coupon and yield probably taken off of a par equivalent (or cmt) yield curve. Let's say at 5%. Over the course of the 10 years, the 5% coupon is fixed. The price of the bond is adjusted over time by discounting the cashflows of the 5% coupon bearing bond using the zero coupon curve, until it is finally sold (after 10 years). This means it is not constrained to be at par after being purchased. As opposed to daily resetting the bond to be a par equivalent 29+364/365 year bond, then par equivalent 29+363/365 year bond, etc.
I think
I have done the daily reset for an e.g. 25.5 year par equivalent bond before. From my experience, it leads to unrealistic results - generally inflated performance, as I recall.
I'm not quite understanding the methodology and the "reset to par equivalent"; I think I would need more time to study the methodology. But I see no reason to use this inaccurate method, that ignores yield curve roll-down yields, in the first place.
I still don't understand what B!Y=DGS30&M=26&W=10&E=0.15 would exactly mean. I first thought perhaps he estimates the 26y yields by interpolation from 20y and 30y yields; but he doesn't say that, and the notation specifies only one source data maturity (DGS30 in this example). The notation also seems to have some redundancy as it would imply that a 30-year bond held for 10 years results in a 26y-year average maturity, something that I wouldn't assume without verifying it.
For folks trying to simulate 30y or 20+ year treasury returns: Note that the yield curve was inverted in the 20-30y segment during a significant portion of history, which would result in negative yield curve roll-down returns. In contrast to the 0-20y segment that was predominantly positively sloped. I think simulations using datasets that ignore yield curve rolldown returns (the slope of the yield curve) might be measurably biased.
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I took a look at the testfolio's help page again. Indeed, I believe you are correct, it looks like testfolio is only using one time series for these, like DGS30, DGS20, etc. So, perhaps the roll down return is not accounted for. Which means that I don't understand what the W=10 is doing for the custom bond tickers. I thought testfolio was using the FRED zero coupon series with the NSS fit to generate these, but I am mistaken. Ignore the explanation I gave in my previous post.comeinvest wrote: Tue Mar 18, 2025 2:29 pmThanks!unemployed_pysicist wrote: Tue Mar 18, 2025 8:41 am
I don't see how it is possible to get the performance of a 26 year maturity bond without having some kind of data about the yield curve, or the yield curve is interpolated from known yields.
For finding the performance of only one tenor where the yield is known, like 30 year bonds, you can of course use the same trick that Shiller uses in his spreadsheet. But I personally don't like it.
I'm not 100% sure about the W parameter, but it sounds like how to treat the bond as it ages. In the case of TLT, the 30 year bond is assumed to be purchased at par, at a coupon and yield probably taken off of a par equivalent (or cmt) yield curve. Let's say at 5%. Over the course of the 10 years, the 5% coupon is fixed. The price of the bond is adjusted over time by discounting the cashflows of the 5% coupon bearing bond using the zero coupon curve, until it is finally sold (after 10 years). This means it is not constrained to be at par after being purchased. As opposed to daily resetting the bond to be a par equivalent 29+364/365 year bond, then par equivalent 29+363/365 year bond, etc.
I think
I have done the daily reset for an e.g. 25.5 year par equivalent bond before. From my experience, it leads to unrealistic results - generally inflated performance, as I recall.
I'm not quite understanding the methodology and the "reset to par equivalent"; I think I would need more time to study the methodology. But I see no reason to use this inaccurate method, that ignores yield curve roll-down yields, in the first place.
I still don't understand what B!Y=DGS30&M=26&W=10&E=0.15 would exactly mean. I first thought perhaps he estimates the 26y yields by interpolation from 20y and 30y yields; but he doesn't say that, and the notation specifies only one source data maturity (DGS30 in this example). The notation also seems to have some redundancy as it would imply that a 30-year bond held for 10 years results in a 26y-year average maturity, something that I wouldn't assume without verifying it.
For folks trying to simulate 30y or 20+ year treasury returns: Note that the yield curve was inverted in the 20-30y segment during a significant portion of history, which would result in negative yield curve roll-down returns. In contrast to the 0-20y segment that was predominantly positively sloped. I think simulations using datasets that ignore yield curve rolldown returns (the slope of the yield curve) might be measurably biased.
Based on my current, updated understanding of these custom bond tickers, I would not use them if high accuracy is needed. They're probably good enough to give a general idea of what happened in the past. As you say, a flat roll assumption will overstate long term treasury returns and understate shorter term treasury returns.
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I’m not sure if it fully addresses your concerns, but it appears he added this to the help page for custom bond tickers: https://portfoliooptimizer.io/blog/the- ... -bond-etfscomeinvest wrote: Tue Mar 18, 2025 2:29 pmThanks!unemployed_pysicist wrote: Tue Mar 18, 2025 8:41 am
I don't see how it is possible to get the performance of a 26 year maturity bond without having some kind of data about the yield curve, or the yield curve is interpolated from known yields.
For finding the performance of only one tenor where the yield is known, like 30 year bonds, you can of course use the same trick that Shiller uses in his spreadsheet. But I personally don't like it.
I'm not 100% sure about the W parameter, but it sounds like how to treat the bond as it ages. In the case of TLT, the 30 year bond is assumed to be purchased at par, at a coupon and yield probably taken off of a par equivalent (or cmt) yield curve. Let's say at 5%. Over the course of the 10 years, the 5% coupon is fixed. The price of the bond is adjusted over time by discounting the cashflows of the 5% coupon bearing bond using the zero coupon curve, until it is finally sold (after 10 years). This means it is not constrained to be at par after being purchased. As opposed to daily resetting the bond to be a par equivalent 29+364/365 year bond, then par equivalent 29+363/365 year bond, etc.
I think
I have done the daily reset for an e.g. 25.5 year par equivalent bond before. From my experience, it leads to unrealistic results - generally inflated performance, as I recall.
I'm not quite understanding the methodology and the "reset to par equivalent"; I think I would need more time to study the methodology. But I see no reason to use this inaccurate method, that ignores yield curve roll-down yields, in the first place.
I still don't understand what B!Y=DGS30&M=26&W=10&E=0.15 would exactly mean. I first thought perhaps he estimates the 26y yields by interpolation from 20y and 30y yields; but he doesn't say that, and the notation specifies only one source data maturity (DGS30 in this example). The notation also seems to have some redundancy as it would imply that a 30-year bond held for 10 years results in a 26y-year average maturity, something that I wouldn't assume without verifying it.
For folks trying to simulate 30y or 20+ year treasury returns: Note that the yield curve was inverted in the 20-30y segment during a significant portion of history, which would result in negative yield curve roll-down returns. In contrast to the 0-20y segment that was predominantly positively sloped. I think simulations using datasets that ignore yield curve rolldown returns (the slope of the yield curve) might be measurably biased.
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
No it doesn't help. It confirms that he is trying to use a "flat yield curve" simulation, which doesn't make sense to me, and independent of that, the meaning of his custom bond notation is hard to understand.Chocolatebar wrote: Wed Mar 19, 2025 7:25 amI’m not sure if it fully addresses your concerns, but it appears he added this to the help page for custom bond tickers: https://portfoliooptimizer.io/blog/the- ... -bond-etfscomeinvest wrote: Tue Mar 18, 2025 2:29 pm
Thanks!
I'm not quite understanding the methodology and the "reset to par equivalent"; I think I would need more time to study the methodology. But I see no reason to use this inaccurate method, that ignores yield curve roll-down yields, in the first place.
I still don't understand what B!Y=DGS30&M=26&W=10&E=0.15 would exactly mean. I first thought perhaps he estimates the 26y yields by interpolation from 20y and 30y yields; but he doesn't say that, and the notation specifies only one source data maturity (DGS30 in this example). The notation also seems to have some redundancy as it would imply that a 30-year bond held for 10 years results in a 26y-year average maturity, something that I wouldn't assume without verifying it.
For folks trying to simulate 30y or 20+ year treasury returns: Note that the yield curve was inverted in the 20-30y segment during a significant portion of history, which would result in negative yield curve roll-down returns. In contrast to the 0-20y segment that was predominantly positively sloped. I think simulations using datasets that ignore yield curve rolldown returns (the slope of the yield curve) might be measurably biased.
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
My thinking is, how can it not be an accurate way of simulating returns if they're so close to the actual returns we have?comeinvest wrote: Wed Mar 19, 2025 9:44 am No it doesn't help. It confirms that he is trying to use a "flat yield curve" simulation, which doesn't make sense to me, and independent of that, the meaning of his custom bond notation is hard to understand.
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
They are not very close if you look at the charts on the page that you cited. Clearly the blue line has a lot higher duration sensitivity. Little of what he is doing makes sense to me.Chocolatebar wrote: Wed Mar 19, 2025 11:01 amMy thinking is, how can it not be an accurate way of simulating returns if they're so close to the actual returns we have?comeinvest wrote: Wed Mar 19, 2025 9:44 am No it doesn't help. It confirms that he is trying to use a "flat yield curve" simulation, which doesn't make sense to me, and independent of that, the meaning of his custom bond notation is hard to understand.
Yes if you want a general idea of how a bond fund behave when rates change, perhaps you get an idea looking at that simulation. You could look at any ETF chart for that. But for HFEA or mHFEA we are talking about a strategy with perhaps a 0.5% p.a. underlying term premium excess return margin. Certainly his simulated charts will be meaningless for validating such a leveraged strategy, let alone for understanding the most efficient way to implement it. You won't be able to isolate the long-run carry return from such an inaccurate dataset.
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Perhaps 'close' is subjective, but they certainly appear close to me.comeinvest wrote: Wed Mar 19, 2025 11:17 am They are not very close if you look at the charts on the page that you cited. Clearly the blue line has a lot higher duration sensitivity. Little of what he is doing makes sense to me.
I don't see how you could look at 'any ETF chart' to gauge how a bond fund would have performed before such a duration was available.comeinvest wrote: Wed Mar 19, 2025 11:17 am Yes if you want a general idea of how a bond fund behave when rates change, perhaps you get an idea looking at that simulation. You could look at any ETF chart for that.
If you compare the simulated returns to the actual ones, the results are very close. I'm not really sure what the issue is.comeinvest wrote: Wed Mar 19, 2025 11:17 am But for HFEA or mHFEA we are talking about a strategy with perhaps a 0.5% p.a. underlying term premium excess return margin. Certainly his simulated charts will be meaningless for validating such a leveraged strategy, let alone for understanding the most efficient way to implement it. You won't be able to isolate the long-run carry return from such an inaccurate dataset.
If your concern with the data is that it can't reliably validate a strategy with very slim premiums, then perhaps the issue lies with the strategy itself, rather than the simulated data. That's just my perspective, though.
Additionally, here is the paper on which the simulated return calculations are based: https://www.mdpi.com/2306-5729/4/3/91
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
The comparison charts on the page https://portfoliooptimizer.io/blog/the- ... -bond-etfs are just simply total garbage, there is no nicer way to say it.
In each of the charts, he "simulates" an ETF of significantly lower average maturity than the maturity of his "flat roll" simulated returns. The higher maturity of the flat roll data somewhat compensates for the "missing" returns from the rolldown effect.
Therefore those "simulations" have little to nothing intrinsically to do with the specific CMT series, e.g. whether you choose the 7y or the 10y flat roll returns, which defeats the purpose of creating CMT series at different points on the yield curve.
The charts show "funded" returns, i.e. risk-free returns plus the realized term premium. As astute readers of this thread know, the bulk of the return comes from the risk-free portion, while the term premium is slim. That's why the curves in the comparison charts "look" "kind of" similar at first glance. If you were to isolate the term premium by plotting only the excess returns over risk-free, which is the information we are interested in when we invest in bonds (or else we could just invest in risk-free short-term bills), the gaps would be more obvious.
Nevertheless the gaps in the charts are substantial. Eyeballing for example the IEF "simulation", I estimate a $15 gap after 10 years, which equates to a CAGR gap of ca. 1% p.a. - an error similar to historical term premia, and possibly more than future expected term premia. So totally worthless for verifying either a leveraged treasury strategy or even an unleveraged treasury investment, as even in the unleveraged scenario, assuming duration risk makes only sense if you hope to harvest a corresponding term premium.
Most of the external data sources that Swinkels cites for "validation" of his approach in the paper https://www.mdpi.com/2306-5729/4/3/91 (except perhaps the CRSP data, which I cannot verify at the moment) suffer from the same issue as his charts on the webpage: He simply does a regression fit of two data series with different maturities. Due to the strong autocorrelation of bond returns across the yield curve, his regression "kind of" visually matches, and even produces similar CAGR numbers, as expected. But the regressions have nothing intrinsically to do with the performance of treasuries at a specific point on the yield curve, which I guess is the entire point of creating CMT return series. You could take just about any two treasuries with any two maturities and fit it to another one via linear regression. That totally obfuscates the nature of bond returns as duration risk premia, and the error gaps in long-run carry returns are similar if not larger than the actual risk premia.
The risk premia are a function of risk, which in case of treasury bonds is largely the duration risk you are taking. If you don't know if your regression-fitted return came from increased/decreased duration risk or were actually the returns at the maturity/duration you are contemplating (e.g. 10 year maturity), then the regression-fitted return information is rather worthless. The return is only meaningful if you know the duration (simplified, as an approximation, the return per duration).
A forum member who I trust sent me a chart showing a "flat roll" simulation in comparison to a simulation that reflects the slope of the yield curve for 2012-2022. The difference (i.e. the roll-down return) is ca. 10% after 10 years, or ca. 100 bps p.a. - again, comparable in size to the return from the yield differential alone (under "flat roll" assumption), and also comparable in order of magnitude to the totality of expected future term premia. A simulation method that has a systematic error similar in size to the actual risk premia, is pretty much worthless in my opinion.
I stand by my observation that this approach has little to no utility that I can think of, other than perhaps illustrating that bonds go "up" when yields go "down" and vice versa.
P.S.: Although the charts seem to be nicely "pattern matched" or "fitted", my guess would be that if you examine the data and do a risk/return analysis, you will find that the green line (the "flat roll" simulation) will have slightly higher volatility and drawdowns than the other lines. That is because the "missing" rolldown returns of the "flat roll" simulation would be risk-free (not due to additional duration risk), while it has to "make up" for those omitted returns by somewhat higher duration than the comparison charts, if my theory is correct. So the simulated dataset would hardly be usable for a portfolio risk/return optimization.
The higher volatility might not be easily visible in the chart in the Swinkel paper, again because the chart shows the total return instead of isolation the excess return over risk-free, and the lines are so bold that you cannot see much of the green line.
Also if you look at the 2011+ period in the chart in the Swinkel paper, the regression fit seems to fall apart. Probably because during ZIRP the rolldown returns (missing in the green line) were a disproportionally larger portion of the total return in relation to the absolute yields.
In each of the charts, he "simulates" an ETF of significantly lower average maturity than the maturity of his "flat roll" simulated returns. The higher maturity of the flat roll data somewhat compensates for the "missing" returns from the rolldown effect.
Therefore those "simulations" have little to nothing intrinsically to do with the specific CMT series, e.g. whether you choose the 7y or the 10y flat roll returns, which defeats the purpose of creating CMT series at different points on the yield curve.
The charts show "funded" returns, i.e. risk-free returns plus the realized term premium. As astute readers of this thread know, the bulk of the return comes from the risk-free portion, while the term premium is slim. That's why the curves in the comparison charts "look" "kind of" similar at first glance. If you were to isolate the term premium by plotting only the excess returns over risk-free, which is the information we are interested in when we invest in bonds (or else we could just invest in risk-free short-term bills), the gaps would be more obvious.
Nevertheless the gaps in the charts are substantial. Eyeballing for example the IEF "simulation", I estimate a $15 gap after 10 years, which equates to a CAGR gap of ca. 1% p.a. - an error similar to historical term premia, and possibly more than future expected term premia. So totally worthless for verifying either a leveraged treasury strategy or even an unleveraged treasury investment, as even in the unleveraged scenario, assuming duration risk makes only sense if you hope to harvest a corresponding term premium.
Most of the external data sources that Swinkels cites for "validation" of his approach in the paper https://www.mdpi.com/2306-5729/4/3/91 (except perhaps the CRSP data, which I cannot verify at the moment) suffer from the same issue as his charts on the webpage: He simply does a regression fit of two data series with different maturities. Due to the strong autocorrelation of bond returns across the yield curve, his regression "kind of" visually matches, and even produces similar CAGR numbers, as expected. But the regressions have nothing intrinsically to do with the performance of treasuries at a specific point on the yield curve, which I guess is the entire point of creating CMT return series. You could take just about any two treasuries with any two maturities and fit it to another one via linear regression. That totally obfuscates the nature of bond returns as duration risk premia, and the error gaps in long-run carry returns are similar if not larger than the actual risk premia.
The risk premia are a function of risk, which in case of treasury bonds is largely the duration risk you are taking. If you don't know if your regression-fitted return came from increased/decreased duration risk or were actually the returns at the maturity/duration you are contemplating (e.g. 10 year maturity), then the regression-fitted return information is rather worthless. The return is only meaningful if you know the duration (simplified, as an approximation, the return per duration).
A forum member who I trust sent me a chart showing a "flat roll" simulation in comparison to a simulation that reflects the slope of the yield curve for 2012-2022. The difference (i.e. the roll-down return) is ca. 10% after 10 years, or ca. 100 bps p.a. - again, comparable in size to the return from the yield differential alone (under "flat roll" assumption), and also comparable in order of magnitude to the totality of expected future term premia. A simulation method that has a systematic error similar in size to the actual risk premia, is pretty much worthless in my opinion.
I stand by my observation that this approach has little to no utility that I can think of, other than perhaps illustrating that bonds go "up" when yields go "down" and vice versa.
P.S.: Although the charts seem to be nicely "pattern matched" or "fitted", my guess would be that if you examine the data and do a risk/return analysis, you will find that the green line (the "flat roll" simulation) will have slightly higher volatility and drawdowns than the other lines. That is because the "missing" rolldown returns of the "flat roll" simulation would be risk-free (not due to additional duration risk), while it has to "make up" for those omitted returns by somewhat higher duration than the comparison charts, if my theory is correct. So the simulated dataset would hardly be usable for a portfolio risk/return optimization.
The higher volatility might not be easily visible in the chart in the Swinkel paper, again because the chart shows the total return instead of isolation the excess return over risk-free, and the lines are so bold that you cannot see much of the green line.
Also if you look at the 2011+ period in the chart in the Swinkel paper, the regression fit seems to fall apart. Probably because during ZIRP the rolldown returns (missing in the green line) were a disproportionally larger portion of the total return in relation to the absolute yields.
Last edited by comeinvest on Wed Mar 19, 2025 4:12 pm, edited 2 times in total.
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Alright, it's clear that you have a much deeper understanding of this than I do—probably more than 99% of people here. I'll take your word for it that these bond simulations may have more limitations than the authors accounted for.comeinvest wrote: Wed Mar 19, 2025 2:50 pm The comparison charts on the page https://portfoliooptimizer.io/blog/the- ... -bond-etfs are just simply total garbage, there is no nicer way to say it.
In each of the charts, he "simulates" an ETF of significantly lower average maturity than the maturity of his "flat roll" simulated returns. The higher maturity of the flat roll data somewhat compensates for the "missing" returns from the rolldown effect.
Therefore those "simulations" have little to nothing intrinsically to do with the specific CMT series, e.g. whether you choose the 7y or the 10y flat roll returns, which defeats the purpose of creating CMT series at different points on the yield curve.
The charts show "funded" returns, i.e. risk-free returns plus the realized term premium. As astute readers of this thread know, the bulk of the return comes from the risk-free portion, while the term premium is slim. That's why the curves in the comparison charts "look" "kind of" similar at first glance. If you were to isolate the term premium by plotting only the excess returns over risk-free, which is the information we are interested in when we invest in bonds (or else we could just invest in risk-free short-term bills), the gaps would be more obvious.
Nevertheless the gaps in the charts are substantial. Eyeballing for example the IEF "simulation", I estimate a $15 gap after 10 years, which equates to a CAGR gap of ca. 1% p.a. - an error similar to historical term premia, and possibly more than future expected term premia. So totally worthless for verifying either a leveraged treasury strategy or even an unleveraged treasury investment, as even in the unleveraged scenario, assuming duration risk makes only sense if you hope to harvest a corresponding term premium.
Most of the external data sources that Swinkels cites for "validation" of his approach in the paper https://www.mdpi.com/2306-5729/4/3/91 (except perhaps the CRSP data, which I cannot verify at the moment) suffer from the same issue as his charts on the webpage: He simply does a regression fit of two data series with different maturities. Due to the strong autocorrelation of bond returns across the yield curve, his regression "kind of" visually matches, and even produces similar CAGR numbers, as expected. But the regressions have nothing intrinsically to do with the performance of treasuries at a specific point on the yield curve, which I guess is the entire point of creating CMT return series. You could take just about any two treasuries with any two maturities and fit it to another one via linear regression. That totally obfuscates the nature of bond returns as duration risk premia, and the error gaps in long-run carry returns are similar if not larger than the actual risk premia.
The risk premia are a function of risk, which in case of treasury bonds is largely the duration risk you are taking. If you don't know if your regression-fitted return came from increased/decreased duration risk or were actually the returns at the maturity/duration you are contemplating (e.g. 10 year maturity), then the regression-fitted return information is rather worthless. The return is only meaningful if you know the duration (simplified, as an approximation, the return per duration).
A forum member who I trust sent me a chart showing a "flat roll" simulation in comparison to a simulation that reflects the slope of the yield curve for 2012-2022. The difference (i.e. the roll-down return) is ca. 10% after 10 years, or ca. 100 bps p.a. - again, comparable in size to the return from the yield differential alone (under "flat roll" assumption), and also comparable in order of magnitude to the totality of expected future term premia. A simulation method that has a systematic error similar in size to the actual risk premia, is pretty much worthless in my opinion.
Do you think you might be being a little extreme here? Absolutely no utility? Even though when you compare the simulated methods in testfolio for funds to the real returns, they’re very close? Sure, they’re not perfect, but how close is close enough?comeinvest wrote: Wed Mar 19, 2025 2:50 pm I stand by my observation that this approach has little to no utility that I can think of, other than perhaps illustrating that bonds go "up" when yields go "down" and vice versa.
Like we're talking about such a small difference for ZROZ in this backtest: https://testfol.io/?s=6Pv09Oe7obP
Same for TLT: https://testfol.io/?s=hsBpxaQRYJY
Why am I supposed to care about that?
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Thank you for sharing the help page with the description of the methodology.Chocolatebar wrote: Wed Mar 19, 2025 11:40 am
If you compare the simulated returns to the actual ones, the results are very close. I'm not really sure what the issue is.
The simulated returns do not differ greatly visually from their respective funds, but looks can be deceiving. For example, the author uses DGS10 to model IEF. But DGS10 has 10 years to maturity, whereas IEF is a fund compsed of 7-10 year maturity notes. Presuming a mandate for the fund manager to be equally dustributed in 7 to 10 year maturities in order to replicate their index, this suggests ~17/2 = 8.5 years to maturity on average. A quick glance at the portfolio composition on the iShares page today) shows an average maturity of 8.53 years. So we might expect that the IEF fund is typically around 8.5 years to maturity throughout time (although we cannot know for sure, unless there is data for that somewhere).
We should not expect a ten year note (DGS10) to replicate the performance of an 8.5 year fund. So the fact that the curves are close is actually a source of consternation - does the lack of rolldown return and trading frictions in the simulated fund make up for its inherently higher duration? Incredibly difficult to be sure, and no reason to assume that these would cancel out. Also, the higher duration 10 year simulation appears to underperform during runups, which makes no sense. Edit: looking at the plot again, I think I have it backward - in late 2010 the sim falls faster, and in late 2011 the sim appears to rise faster. Probably due to the higher duration of the sim compared to IEF.
It's fine for giving a general sense for how these funds might have behaved in the past, but poses some challenges for accurately backtesting a leveraged strategy like HFEA or mHFEA.
Last edited by unemployed_pysicist on Wed Mar 19, 2025 4:41 pm, edited 2 times in total.
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I'm always happy to stand corrected, but at this point I don't think I am extreme, and I stand by what I said.Chocolatebar wrote: Wed Mar 19, 2025 4:04 pmDo you think you might be being a little extreme here? Absolutely no utility? Even though when you compare the simulated methods in testfolio for funds to the real returns, they’re very close? Sure, they’re not perfect, but how close is close enough?comeinvest wrote: Wed Mar 19, 2025 2:50 pm I stand by my observation that this approach has little to no utility that I can think of, other than perhaps illustrating that bonds go "up" when yields go "down" and vice versa.
Like we're talking about such a small difference for ZROZ in this backtest: https://testfol.io/?s=6Pv09Oe7obP
Same for TLT: https://testfol.io/?s=hsBpxaQRYJY
Why am I supposed to care about that?
I added three more paragraphs to my previous post after you cited it, if it helps further illustrating my theory.
Regarding your ZROZ comparison simulated vs. actual: I think there are a few things going on that "coincidentally" make the results similar. For example, the yield curve was historically inverted about half the time in the 20-30y segment, which means that the effect of rolldown returns might be small in that segment when averaged over longer periods. (Which is why I would not use long-term treasuries for a leveraged multi-asset portfolio. Look at mHFEA. But that is another topic.)
I just compared the simulated IEF to the real IEF: https://testfol.io/?s=9Yw35uw0Ecs
It appears that the divergence is significant. The simulated version has lower CAGR (including risk-free returns), probably *much* lower excess returns over risk-free, similar volatility and max drawdown, and consequently a lower Sharpe ratio than the real IEF, probably for the reasons that I theorized in my previous post.
For shorter maturities the divergence simulated vs. real is probably larger than for longer maturities. My guess would be that at the short end the difference is even more significant than for IEF.
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I provided a link to the IEF comparison in my previous post with an attempt at an explanation, which you probably didn't read yet.unemployed_pysicist wrote: Wed Mar 19, 2025 4:14 pmThank you for sharing the help page with the description of the methodology.Chocolatebar wrote: Wed Mar 19, 2025 11:40 am
If you compare the simulated returns to the actual ones, the results are very close. I'm not really sure what the issue is.
The simulated returns do not differ greatly visually from their respective funds, but looks can be deceiving. For example, the author uses DGS10 to model IEF. But DGS10 has 10 years to maturity, whereas IEF is a fund compsed of 7-10 year maturity notes. Presuming a mandate for the fund manager to be equally dustributed in 7 to 10 year maturities in order to replicate their index, this suggests ~17/2 = 8.5 years to maturity on average. A quick glance at the portfolio composition on the iShares page today) shows an average maturity of 8.53 years. So we might expect that the IEF fund is typically around 8.5 years to maturity throughout time (although we cannot know for sure, unless there is data for that somewhere).
We should not expect a ten year note (DGS10) to replicate the performance of an 8.5 year fund. So the fact that the curves are close is actually a source of consternation - does the lack of rolldown return and trading frictions in the simulated fund make up for its inherently higher duration? Incredibly difficult to be sure, and no reason to assume that these would cancel out. Also, the higher duration 10 year simulation appears to underperform during runups, which makes no sense. Edit: looking at the plot again, I think I have it backward - in late 2010 the sim falls faster, and in late 2011 the sim appears to rise faster. Probably due to the higher duration of the sim compared to IEF.
It's fine for giving a general sense for how these funds might have behaved in the past, but poses some challenges for accurately backtesting a leveraged strategy like HFEA or mHFEA.
The charts are actually not similar.
The IEF simulation on testfolio has the parameter M=8, along with W=3. It probably scales all returns from yield changes at an 8:10 ratio (or some computed theoretical duration ratio) to "simulate" an 8 year maturity based on the 10 year maturity yield dataset. The underperformance is from the missing yield curve rolldown. The duration scaling doesn't make the simulation more useful, in my opinion.
What M=8 and W=3 exactly do is still beyond me, but frankly I'm kind of done with wasting my time on this, as I will never be able to use those simulations for my purposes, and I can't think of any useful application.
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
The backtests in the mHFEA thread were not based on "flat yield" simulated datasets, were they? Are the earlier treasury bond data in the Simba spreadsheet based on that method? If yes, then we have to adjust the performance upward, except downward during the already bad 1978-1982 yield curve inversion.
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Okay, I understand the point that you and unemployed_pysicist have kindly explained, and I really appreciate both of you taking the time to do so. However, I still disagree with the main conclusion that these simulations 'have no utility.' Personally, I believe they’re close enough. At the very least, I agree with the following:comeinvest wrote: Wed Mar 19, 2025 4:26 pmI'm always happy to stand corrected, but at this point I don't think I am extreme, and I stand by what I said.Chocolatebar wrote: Wed Mar 19, 2025 4:04 pm Do you think you might be being a little extreme here? Absolutely no utility? Even though when you compare the simulated methods in testfolio for funds to the real returns, they’re very close? Sure, they’re not perfect, but how close is close enough?
Like we're talking about such a small difference for ZROZ in this backtest: https://testfol.io/?s=6Pv09Oe7obP
Same for TLT: https://testfol.io/?s=hsBpxaQRYJY
Why am I supposed to care about that?
I added three more paragraphs to my previous post after you cited it, if it helps further illustrating my theory.
Regarding your ZROZ comparison simulated vs. actual: I think there are a few things going on that "coincidentally" make the results similar. For example, the yield curve was historically inverted about half the time in the 20-30y segment, which means that the effect of rolldown returns might be small in that segment when averaged over longer periods. (Which is why I would not use long-term treasuries for a leveraged multi-asset portfolio. Look at mHFEA. But that is another topic.)
I just compared the simulated IEF to the real IEF: https://testfol.io/?s=9Yw35uw0Ecs
It appears that the divergence is significant. The simulated version has lower CAGR (including risk-free returns), probably *much* lower excess returns over risk-free, similar volatility and max drawdown, and consequently a lower Sharpe ratio than the real IEF, probably for the reasons that I theorized in my previous post.
For shorter maturities the divergence simulated vs. real is probably larger than for longer maturities. My guess would be that at the short end the difference is even more significant than for IEF.
Personally, I have no interest in leveraging treasuries. Over the past year, I've really soured on strategies that involve doing so. I've settled on allocating a quarter of my portfolio to ultra-long treasuries, however.unemployed_pysicist wrote: Wed Mar 19, 2025 4:14 pm It's fine for giving a general sense for how these funds might have behaved in the past, but poses some challenges for accurately backtesting a leveraged strategy like HFEA or mHFEA.
I'm familiar with mHFEA and even "participated" in the thread when I was still relatively new to investing. I ultimately decided not to pursue that strategy, as dealing with futures and box spreads doesn't appeal to me, and I knew it wouldn't be worth the time I'd personally invest. That said, I wasn't entirely surprised by comeinvest’s recent discovery that the borrowing costs of ITT may be higher than initially assumed. It highlights another challenge with backtesting such a strategy—how do you accurately account for borrowing costs? Everything else comeinvest mentioned is way over my head (and I mean that as a compliment, by the way).
Anyway, while I completely understand why you both are hesitant to rely on simulated bond tickers for backtesting leveraged strategies, I still strongly disagree with this:
You can't seriously believe that these simulated bond tickers have no useful application, right? I mean, the gaps really aren't that wide in my opinion (and it's not going to be perfect). I understand if you're saying the data isn't suitable for evaluating a leveraged strategy with very tight margins, but I honestly don’t see the appeal of such a strategy to begin with.comeinvest wrote: Wed Mar 19, 2025 5:12 pm What M=8 and W=3 exactly do is still beyond me, but frankly I'm kind of done with wasting my time on this, as I will never be able to use those simulations for my purposes, and I can't think of any useful application.
Last edited by Chocolatebar on Wed Mar 19, 2025 6:21 pm, edited 1 time in total.
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I was about to ask the same thing—what has everyone been using for simulated bond data up until now? Also, if the main issue with the simulated data is that it's overly conservative, isn't that kind of a good thing? It's certainly better than the alternative!comeinvest wrote: Wed Mar 19, 2025 5:34 pm The backtests in the mHFEA thread were not based on "flat yield" simulated datasets, were they? Are the earlier treasury bond data in the Simba spreadsheet based on that method? If yes, then we have to adjust the performance upward, except downward during the already bad 1978-1982 yield curve inversion.
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
If 1% p.a. error for an asset with 1% p.a. (in the future perhaps 0.5% p.a.) return above risk-free rates, i.e. backtests that might turn a reward from taking risk into a loss from taking risk even over long time periods, is good enough for you, then use it. For me personally it's not more useful than for discovering that bonds generally go up when rates drop and vice versa, but not for backtests for purpose of asset allocation like determining risk-adjusted returns or the level of duration risk in an asset allocation. Backtests based on this data might be missing half of the excess returns of intermediate-term treasuries, perhaps more, and might suggest too optimistic returns during periods of inverted yield curves.Chocolatebar wrote: Wed Mar 19, 2025 6:17 pm You can't seriously believe that these simulated bond tickers have no useful application, right? I mean, the gaps really aren't that wide in my opinion (and it's not going to be perfect). I understand if you're saying the data isn't suitable for evaluating a leveraged strategy with very tight margins, but I honestly don’t see the appeal of such a strategy to begin with.
I'll just leave it at that.
Having that said, for 20y+ maturity treasuries it might coincidentally even be relatively accurate, at least during periods when the effects of a positively and a negatively sloped curve offset.
It's hard to understand why this person creates data with this method, when instead an easy interpolation could be used using the same source data, to reflect the effect of yield curve slope.
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I see your IEF backtest compared to the sim. Indeed, they are not close, with the sim being off by 0.5% in CAGR alone.comeinvest wrote: Wed Mar 19, 2025 5:12 pm
I provided a link to the IEF comparison in my previous post with an attempt at an explanation, which you probably didn't read yet.
The charts are actually not similar.
My understanding of the treasury bond data in the Simba spreadsheet is that it uses a linear interpolation rolldown based on whatever CMTs are available on an annual basis. I remember reading through the early discussions in the bond fund simulator thread where linear interpolation was offered as a solution for gaps in CMT availability, and it is also used to produce simulations for STRIPS funds like EDV. I thought the TMF series that Siamond produced was based off an actual 20-30 year treasury index from Barclays or some other major bank. The only possible "issue" with the TMF sim that I can think of is the whole "long bonds were callable until 1986", if that sort of thing bothers you. Someone please correct me if I am wrong on any of these points!comeinvest wrote: Wed Mar 19, 2025 5:34 pm The backtests in the mHFEA thread were not based on "flat yield" simulated datasets, were they? Are the earlier treasury bond data in the Simba spreadsheet based on that method? If yes, then we have to adjust the performance upward, except downward during the already bad 1978-1982 yield curve inversion.
Regarding the backtests in mHFEA, which ones do you mean? The backtests based off of portfolio visualizer?
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
You could reach out to [email protected] to see if this is possible. I’m sure they’d consider implementing it if you highlight the existing limitations or point them to our discussion here. It seems like they’re making significant improvements to the site almost every week.comeinvest wrote: Wed Mar 19, 2025 9:44 pm It's hard to understand why this person creates data with this method, when instead an easy interpolation could be used using the same source data, to reflect the effect of yield curve slope.
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I think they used mostly Simba and PV. I think PV is not widely used any more, but do you know what the PV treasury returns were based on?unemployed_pysicist wrote: Thu Mar 20, 2025 4:20 am Regarding the backtests in mHFEA, which ones do you mean? The backtests based off of portfolio visualizer?
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
From "Data Sources for Asset Class Returns" here: https://www.portfoliovisualizer.com/faqcomeinvest wrote: Thu Mar 20, 2025 4:26 pmI think they used mostly Simba and PV. I think PV is not widely used any more, but do you know what the PV treasury returns were based on?unemployed_pysicist wrote: Thu Mar 20, 2025 4:20 am Regarding the backtests in mHFEA, which ones do you mean? The backtests based off of portfolio visualizer?
Short Term Treasuries
FRED Interest Rate Data (2-year maturity) 1977-1991
Vanguard Short Term Treasury Fund (VFISX) 1992+
Intermediate Term Treasuries
FRED Interest Rate Data (5-year maturity) 1972-1991
Vanguard Intermediate-Term Treasury Fund (VFITX) 1992+
10-year Treasury
FRED Interest Rate Data (10-year maturity) 1972+
Long Term Government Bonds
FRED Interest Rate Data (30-year maturity) 1978-1986
Vanguard Long Term Treasury Fund (VUSTX) 1987+
TIPS
Vanguard Inflation-Protected Security Fund (VIPSX) 2001+
Treasury Bills / Cash - Risk Free Return Benchmark
3-month Treasury Bills (FRED Data) 1972+
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
The natural follow-up question would then be how they constructed the return series, and what duration they assumed for each of their series.Chocolatebar wrote: Thu Mar 20, 2025 5:20 pmFrom "Data Sources for Asset Class Returns" here: https://www.portfoliovisualizer.com/faqcomeinvest wrote: Thu Mar 20, 2025 4:26 pm
I think they used mostly Simba and PV. I think PV is not widely used any more, but do you know what the PV treasury returns were based on?
Short Term Treasuries
FRED Interest Rate Data (2-year maturity) 1977-1991
Vanguard Short Term Treasury Fund (VFISX) 1992+
Intermediate Term Treasuries
FRED Interest Rate Data (5-year maturity) 1972-1991
Vanguard Intermediate-Term Treasury Fund (VFITX) 1992+
10-year Treasury
FRED Interest Rate Data (10-year maturity) 1972+
Long Term Government Bonds
FRED Interest Rate Data (30-year maturity) 1978-1986
Vanguard Long Term Treasury Fund (VUSTX) 1987+
TIPS
Vanguard Inflation-Protected Security Fund (VIPSX) 2001+
Treasury Bills / Cash - Risk Free Return Benchmark
3-month Treasury Bills (FRED Data) 1972+
I guess they don't target a specific maturity or duration for each series, as I don't see any cited in your quotes.
But each of the series (e.g. intermediate-term treasuries) must be based on at least 2 series of reference yields at 2 different points of the yield curve in order to approximate the slope at that point of the curve, or else it is impossible to create a halfway meaningful return series, as we discovered per our previous conversation.
For example intermediate-term treasuries held to maturity would hardly be representative of the risk and return of intermediate-term treasuries, as half of the treasuries at any given time would be short-term in the course of maturing. Even more so for "long-term" treasuries.
Using the "flat yield" or "flat roll" method would have the same effect as holding the basket until maturity, which would not be representative of the risk and return of treasuries in a specific segment of the curve. (This is a special case of what the testfol owner might be doing with the "W=..." parameter; I'm slowly starting do understand his method better, but I certainly don't approve it.)
-
- Posts: 380
- Joined: Tue Feb 14, 2023 10:58 am
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Yeah, like I mentioned, I’d recommend just sending them an email. I’m sure they’d be happy to explain and make any necessary improvements. I’d do it myself, but I don’t understand it as well as you do.comeinvest wrote: Fri Mar 21, 2025 12:18 am (This is a special case of what the testfol owner might be doing with the "W=..." parameter; I'm slowly starting do understand his method better, but I certainly don't approve it.)
Do you want to work for your money or do you want your money to work for you?
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Is there anyone in this thread who has used or is using the yahoo finance API? I have not used yahoo finance in some time now. But now it appears that all of my scrapers are broken. Yahoo finance used to have easy access to long data series for stocks, like ^GSPC back until 1927, VFITX, VUSTX, VGIT, etc., and with dividends reinvested, all the way back to inception date for various stocks and funds. I guess I should have just saved copies of the data series that I wanted, back when it was working.
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Did you check if they show the data you are looking for in the UI? If you go to the symbol -> Historical Data -> Download. Ok I checked, it used to be free, but now "Export historical data to CSVs" is part of the "Gold" plan at 49.95/Month. Too bad, because I was going to download the SOFR and Eurodollar futures data that they had for a long time back, along with data of many stock symbols that I wanted to examine. What is the best free data source now? Did you check investing.com ?unemployed_pysicist wrote: Fri Mar 21, 2025 9:23 am Is there anyone in this thread who has used or is using the yahoo finance API? I have not used yahoo finance in some time now. But now it appears that all of my scrapers are broken. Yahoo finance used to have easy access to long data series for stocks, like ^GSPC back until 1927, VFITX, VUSTX, VGIT, etc., and with dividends reinvested, all the way back to inception date for various stocks and funds. I guess I should have just saved copies of the data series that I wanted, back when it was working.
With Interactive Brokers you should be able to get the ETF time series from the API and create your local copy, right?
I mean in the worst case you could pay the fee once, and download everything you need. Of check how far back the brokers have data, e.g. Schwab. I know TradeStation has very extensive historical data including futures data for customers, so perhaps open a small account just for the data?
I just checked, VFITX they display back to 1991 on the screen. Try to save the page as text or HTML file and parse the data into a csv file.
Or easier: Put "VFITX" into testfol.io and download the daily return data as csv file.
P.S.: Both Yahoo and testfol data had issues with some symbols that I verified, particularly with corporate actions.
- firebirdparts
- Posts: 4968
- Joined: Thu Jun 13, 2019 4:21 pm
- Location: Southern Appalachia
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I seem to recall several years ago that (maybe Siamond) somebody reported they were seeing some errors in the data, or at least changes. Somebody that was routinely going there for daily data observed that some of it didn't match what was retrieved earlier, and the conclusion was that it was wrong. Of course that might have been because they improved it, but that wasn't his conclusion.
This time is the same
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
It was glitchy, typically errors in splits or missing dividends. Then they went to a 10-year free limit.
Testfol.io was using EODHD for the data source until fairly recently. EODHD occasionally has issues with splits or dividends (usually on older mutual funds). I forgot what testfol.io switched to, it may be more accurate. It now has a more limited set of tickers and indices, it used to have canadian as well.
Testfol.io was using EODHD for the data source until fairly recently. EODHD occasionally has issues with splits or dividends (usually on older mutual funds). I forgot what testfol.io switched to, it may be more accurate. It now has a more limited set of tickers and indices, it used to have canadian as well.
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Thanks for the suggestion. Yes, it appears that still works, so I can use that if needed for commonly used data sets. However, none of my previous "pipelines" will work anymore. Looking at the adjusted close from Yahoo Finance, for the period from 23 Nov 2009 to 20 Mar 2025 I see what corresponds to a final value of $13710.91:comeinvest wrote: Fri Mar 21, 2025 9:59 amDid you check if they show the data you are looking for in the UI? If you go to the symbol -> Historical Data -> Download. Ok I checked, it used to be free, but now "Export historical data to CSVs" is part of the "Gold" plan at 49.95/Month. Too bad, because I was going to download the SOFR and Eurodollar futures data that they had for a long time back, along with data of many stock symbols that I wanted to examine. What is the best free data source now? Did you check investing.com ?unemployed_pysicist wrote: Fri Mar 21, 2025 9:23 am Is there anyone in this thread who has used or is using the yahoo finance API? I have not used yahoo finance in some time now. But now it appears that all of my scrapers are broken. Yahoo finance used to have easy access to long data series for stocks, like ^GSPC back until 1927, VFITX, VUSTX, VGIT, etc., and with dividends reinvested, all the way back to inception date for various stocks and funds. I guess I should have just saved copies of the data series that I wanted, back when it was working.
With Interactive Brokers you should be able to get the ETF time series from the API and create your local copy, right?
I mean in the worst case you could pay the fee once, and download everything you need. Of check how far back the brokers have data, e.g. Schwab. I know TradeStation has very extensive historical data including futures data for customers, so perhaps open a small account just for the data?
I just checked, VFITX they display back to 1991 on the screen. Try to save the page as text or HTML file and parse the data into a csv file.
Or easier: Put "VFITX" into testfol.io and download the daily return data as csv file.
P.S.: Both Yahoo and testfol data had issues with some symbols that I verified, particularly with corporate actions.
(59.19/43.17)*$10000 = $13710.91
With some tinkering, I got this from the IBKR API (showing the adjusted close):

This works out to a final value of $13726.76 for the 23 Nov 2009 to 20 Mar 2025 time frame, if starting with $10000. Unclear to me if the adjusted close price from IBKR is truly foolproof or needs additional adjustment.
Here is the testfolio result over the same period:
https://testfol.io/?s=7KY64HEVcFZ
This shows a final value of $13692.59 on a $10000 initially invested on 23 Nov 2009.
They are all fairly close, but still slightly different. Does anyone have access to a paid subscription for portfolio visualizer or access to a Bloomberg terminal for confirmation/refutation? I would be interested in a fourth and fifth opinion. I know we're talking about a difference of like 30 bucks over the course of 15 years on a starting value of $10000, but it would be really nice to see complete agreement among some of the sources.
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
The small size of the discrepancies makes me believe that it is not a source data error e.g. missing corporate actions, but a computational rounding error when generating the return series, that compounds over time.unemployed_pysicist wrote: Fri Mar 21, 2025 4:29 pmThanks for the suggestion. Yes, it appears that still works, so I can use that if needed for commonly used data sets. However, none of my previous "pipelines" will work anymore. Looking at the adjusted close from Yahoo Finance, for the period from 23 Nov 2009 to 20 Mar 2025 I see what corresponds to a final value of $13710.91:comeinvest wrote: Fri Mar 21, 2025 9:59 am
Did you check if they show the data you are looking for in the UI? If you go to the symbol -> Historical Data -> Download. Ok I checked, it used to be free, but now "Export historical data to CSVs" is part of the "Gold" plan at 49.95/Month. Too bad, because I was going to download the SOFR and Eurodollar futures data that they had for a long time back, along with data of many stock symbols that I wanted to examine. What is the best free data source now? Did you check investing.com ?
With Interactive Brokers you should be able to get the ETF time series from the API and create your local copy, right?
I mean in the worst case you could pay the fee once, and download everything you need. Of check how far back the brokers have data, e.g. Schwab. I know TradeStation has very extensive historical data including futures data for customers, so perhaps open a small account just for the data?
I just checked, VFITX they display back to 1991 on the screen. Try to save the page as text or HTML file and parse the data into a csv file.
Or easier: Put "VFITX" into testfol.io and download the daily return data as csv file.
P.S.: Both Yahoo and testfol data had issues with some symbols that I verified, particularly with corporate actions.
(59.19/43.17)*$10000 = $13710.91
With some tinkering, I got this from the IBKR API (showing the adjusted close):
This works out to a final value of $13726.76 for the 23 Nov 2009 to 20 Mar 2025 time frame, if starting with $10000. Unclear to me if the adjusted close price from IBKR is truly foolproof or needs additional adjustment.
Here is the testfolio result over the same period:
https://testfol.io/?s=7KY64HEVcFZ
This shows a final value of $13692.59 on a $10000 initially invested on 23 Nov 2009.
They are all fairly close, but still slightly different. Does anyone have access to a paid subscription for portfolio visualizer or access to a Bloomberg terminal for confirmation/refutation? I would be interested in a fourth and fifth opinion. I know we're talking about a difference of like 30 bucks over the course of 15 years on a starting value of $10000, but it would be really nice to see complete agreement among some of the sources.
One share of stock has an exact price with 2 digits after the decimal point at any given time.
However when dividends are paid, you will get fractional cents when compounding them.
I would think if the data providers carry enough decimals, the error should stay below one cent. But who knows how many decimals they carried.
You can try to study what is the likelihood of getting the errors that you are observing, when balances are only maintained with 2 decimal digits. Of course most individual errors will offset, so you want to examine the probability distribution of the total netted and compounded error.
However I personally think given the recent discussion in the mHFEA thread we have bigger issues than $10 or $30 after 20 years.
-
- Posts: 57
- Joined: Wed Apr 08, 2020 9:35 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Did you use python to access the API, if so what was the command to get adjusted close? I wasn't able to figure out how to get an adjusted close, only raw prices.unemployed_pysicist wrote: Fri Mar 21, 2025 4:29 pmThanks for the suggestion. Yes, it appears that still works, so I can use that if needed for commonly used data sets. However, none of my previous "pipelines" will work anymore. Looking at the adjusted close from Yahoo Finance, for the period from 23 Nov 2009 to 20 Mar 2025 I see what corresponds to a final value of $13710.91:comeinvest wrote: Fri Mar 21, 2025 9:59 am
Did you check if they show the data you are looking for in the UI? If you go to the symbol -> Historical Data -> Download. Ok I checked, it used to be free, but now "Export historical data to CSVs" is part of the "Gold" plan at 49.95/Month. Too bad, because I was going to download the SOFR and Eurodollar futures data that they had for a long time back, along with data of many stock symbols that I wanted to examine. What is the best free data source now? Did you check investing.com ?
With Interactive Brokers you should be able to get the ETF time series from the API and create your local copy, right?
I mean in the worst case you could pay the fee once, and download everything you need. Of check how far back the brokers have data, e.g. Schwab. I know TradeStation has very extensive historical data including futures data for customers, so perhaps open a small account just for the data?
I just checked, VFITX they display back to 1991 on the screen. Try to save the page as text or HTML file and parse the data into a csv file.
Or easier: Put "VFITX" into testfol.io and download the daily return data as csv file.
P.S.: Both Yahoo and testfol data had issues with some symbols that I verified, particularly with corporate actions.
(59.19/43.17)*$10000 = $13710.91
With some tinkering, I got this from the IBKR API (showing the adjusted close):
This works out to a final value of $13726.76 for the 23 Nov 2009 to 20 Mar 2025 time frame, if starting with $10000. Unclear to me if the adjusted close price from IBKR is truly foolproof or needs additional adjustment.
Here is the testfolio result over the same period:
https://testfol.io/?s=7KY64HEVcFZ
This shows a final value of $13692.59 on a $10000 initially invested on 23 Nov 2009.
They are all fairly close, but still slightly different. Does anyone have access to a paid subscription for portfolio visualizer or access to a Bloomberg terminal for confirmation/refutation? I would be interested in a fourth and fifth opinion. I know we're talking about a difference of like 30 bucks over the course of 15 years on a starting value of $10000, but it would be really nice to see complete agreement among some of the sources.
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Yes, I use python to access the IBKR API, along with the ib_insync library. The script is very short, I can either post in the thread (if that will not clutter the thread too much) or I can send it in a message. I noticed this field: whatToShow='ADJUSTED_LAST', which I used to get the data for the plot.Investing Lawyer wrote: Sat Mar 22, 2025 9:31 amDid you use python to access the API, if so what was the command to get adjusted close? I wasn't able to figure out how to get an adjusted close, only raw prices.unemployed_pysicist wrote: Fri Mar 21, 2025 4:29 pm
Thanks for the suggestion. Yes, it appears that still works, so I can use that if needed for commonly used data sets. However, none of my previous "pipelines" will work anymore. Looking at the adjusted close from Yahoo Finance, for the period from 23 Nov 2009 to 20 Mar 2025 I see what corresponds to a final value of $13710.91:
(59.19/43.17)*$10000 = $13710.91
With some tinkering, I got this from the IBKR API (showing the adjusted close):
This works out to a final value of $13726.76 for the 23 Nov 2009 to 20 Mar 2025 time frame, if starting with $10000. Unclear to me if the adjusted close price from IBKR is truly foolproof or needs additional adjustment.
Here is the testfolio result over the same period:
https://testfol.io/?s=7KY64HEVcFZ
This shows a final value of $13692.59 on a $10000 initially invested on 23 Nov 2009.
They are all fairly close, but still slightly different. Does anyone have access to a paid subscription for portfolio visualizer or access to a Bloomberg terminal for confirmation/refutation? I would be interested in a fourth and fifth opinion. I know we're talking about a difference of like 30 bucks over the course of 15 years on a starting value of $10000, but it would be really nice to see complete agreement among some of the sources.
One word of warning about using the ib_insync package: So far I find it best to run from command line. My understanding is that ib_insync relies heavily on the asyncio library, which I guess causes some issues with popular IDEs like Jupyter notebook, Spyder, etc. Maybe it works with VS code, I have not tried that yet.
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 269
- Joined: Sat Oct 09, 2021 2:32 pm
- Location: Amsterdam
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
Okay, makes sense. I suspected there could be an issue with how many decimals are carried by each provider (rounding). Without getting too far off track examining these small discrepancies, would you say that IBKR is a reasonably trustworthy source? (For VGIT, at least.)comeinvest wrote: Fri Mar 21, 2025 4:45 pm
The small size of the discrepancies makes me believe that it is not a source data error e.g. missing corporate actions, but a computational rounding error when generating the return series, that compounds over time.
One share of stock has an exact price with 2 digits after the decimal point at any given time.
However when dividends are paid, you will get fractional cents when compounding them.
I would think if the data providers carry enough decimals, the error should stay below one cent. But who knows how many decimals they carried.
You can try to study what is the likelihood of getting the errors that you are observing, when balances are only maintained with 2 decimal digits. Of course most individual errors will offset, so you want to examine the probability distribution of the total netted and compounded error.
However I personally think given the recent discussion in the mHFEA thread we have bigger issues than $10 or $30 after 20 years.
couldn't afford the h |
|
BUY BONDS |
WEAR DIAMONDS
-
- Posts: 3380
- Joined: Mon Mar 12, 2012 6:57 pm
Re: HEDGEFUNDIE's excellent adventure Part II: The next journey
I have no idea how trustworthy their data is. I would assume they get their data from a profession data source.unemployed_pysicist wrote: Sat Mar 22, 2025 11:45 amOkay, makes sense. I suspected there could be an issue with how many decimals are carried by each provider (rounding). Without getting too far off track examining these small discrepancies, would you say that IBKR is a reasonably trustworthy source? (For VGIT, at least.)comeinvest wrote: Fri Mar 21, 2025 4:45 pm
The small size of the discrepancies makes me believe that it is not a source data error e.g. missing corporate actions, but a computational rounding error when generating the return series, that compounds over time.
One share of stock has an exact price with 2 digits after the decimal point at any given time.
However when dividends are paid, you will get fractional cents when compounding them.
I would think if the data providers carry enough decimals, the error should stay below one cent. But who knows how many decimals they carried.
You can try to study what is the likelihood of getting the errors that you are observing, when balances are only maintained with 2 decimal digits. Of course most individual errors will offset, so you want to examine the probability distribution of the total netted and compounded error.
However I personally think given the recent discussion in the mHFEA thread we have bigger issues than $10 or $30 after 20 years.