I still haven’t figured what to do with my approach of tracking spread between 10y Italy and German bonds. I’ve always used assumption that change of benchmark bond wouldn’t have a large impact on the bond yield. Last week I discovered that it was a flawed approach. My data source (Investing.com) started using BTP 2.2 01jun2027 as benchmark instead of BTP 1.25 01dec2026. The 2027 one has yield 18 bps above the 2026 one, so it seemed like BTPs cheapened significantly. One way would be finding all bonds that used to be 10y benchmarks or CTDs in BTP futures, converting their prices to yields and interpolating between the two to find the exactly 10 year yield. Another way would be fitting finding at least some historical benchmarks of 2y, 5y, 10y, 30y and fitting Nelson-siegel-svensson function to them, and then getting the 10y yield. Both seem too laborious to both work out and update on a daily basis. Having Bloomberg definitely helps in this case as they have already derived zero-coupon yields. I could perhaps run this exercise to find the “pure” 10 year-yield once now, update once a quarter or when my source changes its benchmark, and in between just be aware of the gap. Though doing this for BTPs opens thoughts that I should do this exercise for all other bonds too. I will have to think some more to see if I can find a solution that takes less efforts.