TIPS yield curve and seasonal adjustment update

Discuss all general (i.e. non-personal) investing questions and issues, investing news, and theory.
Post Reply
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

TIPS yield curve and seasonal adjustment update

Post by Kevin M »

This is a follow up to several other threads in which TIPS yield seasonal adjustments have been discussed, but I thought it would be good to start a new thread focused specifically on this topic. For background, the most recent thread on this topic in which I've participated is this one: TIPs ladder mavens: help me understand some yield anomalies.

Starting with the 30,000 foot view, here is the TIPS yield curve based on ask yields loaded from Vanguard on 4/15/2020 (so with a settlement date of 4/16/2020):

Image

We can observe that the yield curve is steeply inverted with positive real yields at the short end, with negative real yields at other maturities, and an overall fairly flat yield curve beyond the shortest maturities. We also observe a crazy high yield for the shortest maturity TIPS, maturing 7/15/2020. None of this is the focus of this post, although we can certainly engage in tangent discussions of these observations if desired.

We also see some bumpiness in the curve for maturities out to about 2030, and this is a main focus of this post, so let's zoom into these shorter maturities.

Image

Here we can see kind of a saw-tooth pattern in the yields, although it's not as exaggerated as at some times in the past.

What has been determined in previous forum discussions about this saw-tooth pattern is that much of it can be explained by seasonality in the CPI. TIPS traders are very aware of this seasonality, and adjust their ask and bid prices accordingly based on seasonally adjusted CPI (TIPS inflation adjustments are based on non-seasonally adjusted CPI).

Previous forum discussions have resulted in several methods of adjusting for seasonality, which smooths out the yield curve to something more like we'd expect to see. Forum member #Cruncher developed one method, but it was quite complex, with quite a few intermediate calculations required. In the thread linked above, a forum member discovered a much simpler method published by Paul Canty (links provided in that thread). I incorporated both methods into my TIPS seasonal adjustment spreadsheet, and determined that both methods result in virtually identical seasonally adjusted values. The chart below shows the seasonally adjusted yields along with the quoted yields (from the chart above):

Image

Note that the #Cruncher and Canty seasonally adjusted yields appear as a single curve (looks red, but includes red and blue), but I continue to include them both as a sanity check. Sorry that I changed color for the ask yields.

Although there still is some bumpiness in the seasonally adjusted yield curve, it is significantly smoother than the yield curve based on quoted yields. I think the residual bumpiness is related to differences in coupon rates, which affects duration, and possibly also differences in inflation factors, but others can chime in with their own analysis.

Another main point of this post is to note that the seasonally adjusted values for TIPS maturing on 4/15 (of any year) are almost identical to the quoted yields; they would have been exactly identical if I had pulled the quotes on 4/14/2020 for a 4/15/2020 settlement, but I had some technical problems on 4/14, so didn't get a good set of quotes until 4/15.

Seeing this in the chart requires a close look, noting that that points near the first minor gridlines are for TIPS maturing on 4/15, and noting that the quoted and seasonally-adjusted yields are indistinguishable for these maturities.

The TIPS near the second minor gridlines are for TIPS maturing 7/15, and these are the ones with the largest discrepancies between quoted and seasonally-adjusted yields.

If we generate this chart again in July with quotes from 7/14/2020 (for 7/15/2020 settlement), we'll see just the opposite, with no differences between the quoted and seasonally-adjusted yields for TIPS maturing 7/15, and significant differences for TIPS maturing 4/15.

I'll pause here for now, and see if anyone has any questions or additional observations. I recommend at least scanning through the thread linked at the beginning of this post if you're interested in this topic, and even tracking back through some of the earlier threads if you're really interested.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

For some more context, here is a chart of quoted and seasonally-adjusted yields for late November 2019, originally posted in this reply in the thread linked at the top of the OP: viewtopic.php?t=295816#p4867260.
Kevin M wrote: Sun Dec 01, 2019 5:23 pm Image
Observations ...

The sawtooth pattern of the quoted yields was much more evident in late November, and I think the smoothing effect of the seasonal adjustments was more evident.

The biggest differences between quoted and adjusted yields were for TIPS maturing on 4/15 (of any year), whereas there is essentially no difference between the 4/15 quoted and seasonally-adjusted yields pulled in mid-April (shown in the OP). I think this is part of why the sawtooth pattern was more exaggerated in late November.

I suspect the next new post we see noting the sawtooth pattern (for the first time) is more likely to be for a date further from the common shorter-term TIPS maturity dates (1/15, 4/15, 7/15).

On another topic, I was expecting someone to ask about the crazy-high yield for the TIPS maturing on 7/15/2020, but maybe everyone who saw the post already understands what's behind this. I didn't show it in the OP, since it is not the main topic of the post, but the seasonally-adjusted yield is even higher.

Image

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
jeffyscott
Posts: 11075
Joined: Tue Feb 27, 2007 9:12 am

Re: TIPS yield curve and seasonal adjustment update

Post by jeffyscott »

Kevin M wrote: Thu Apr 23, 2020 3:32 pm Here we can see kind of a saw-tooth pattern in the yields, although it's not as exaggerated as at some times in the past.

Although there still is some bumpiness in the seasonally adjusted yield curve, it is significantly smoother than the yield curve based on quoted yields. I think the residual bumpiness is related to differences in coupon rates, which affects duration, and possibly also differences in inflation factors, but others can chime in with their own analysis.

Another main point of this post is to note that the seasonally adjusted values for TIPS maturing on 4/15 (of any year) are almost identical to the quoted yields; they would have been exactly identical if I had pulled the quotes on 4/14/2020 for a 4/15/2020 settlement, but I had some technical problems on 4/14, so didn't get a good set of quotes until 4/15.

Seeing this in the chart requires a close look, noting that that points near the first minor gridlines are for TIPS maturing on 4/15, and noting that the quoted and seasonally-adjusted yields are indistinguishable for these maturities.

The TIPS near the second minor gridlines are for TIPS maturing 7/15, and these are the ones with the largest discrepancies between quoted and seasonally-adjusted yields.

If we generate this chart again in July with quotes from 7/14/2020 (for 7/15/2020 settlement), we'll see just the opposite, with no differences between the quoted and seasonally-adjusted yields for TIPS maturing 7/15, and significant differences for TIPS maturing 4/15.
When we get to July 15, I would assume that the Jan. 15 ones would then be the ones to show the greatest discrepancy.

Only 2024 has an Oct 15 TIPS, as well as Jan, Apr, July. In the chart of the unadjusted ask yields, that Oct 15 2024 one looks like it should require the greatest seasonal adjustment among the 2024 maturities. That would seem to makes some sense, given that Oct 15 is the date that is furthest from April 15. However, it looks like July 15, 2024 is subject to a greater seasonal adjustment than Oct 15, but then the resulting SA real yield chart ends up looking odd in 2024, with July appearing to be a little too high and/or Oct. a little too low.

In the chart from Nov. 2019, as expected the Oct 2024 one has very little adjustment. But the seasonally adjusted chart still looks odd for 2024, with July looking a little high and/or Oct a little low.
The two greatest enemies of the equity fund investor are expenses and emotions. ― John C. Bogle
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

jeffyscott wrote: Sun Apr 26, 2020 8:31 am When we get to July 15, I would assume that the Jan. 15 ones would then be the ones to show the greatest discrepancy.
I think it will be the April 15 ones, which I'll explain below.
jeffyscott wrote: Sun Apr 26, 2020 8:31 am Only 2024 has an Oct 15 TIPS, as well as Jan, Apr, July. In the chart of the unadjusted ask yields, that Oct 15 2024 one looks like it should require the greatest seasonal adjustment among the 2024 maturities. That would seem to makes some sense, given that Oct 15 is the date that is furthest from April 15.
It's not the difference between the dates that matters, but the ratio of the seasonal adjustment factor at settlement to the SA factor at maturity. The closer this number is to 1, the smaller the adjustment (this ratio is 1 when the settlement MM/DD matches the maturity MM/DD).

The Canty method makes this intuitively clear. The seasonally adjusted price is obtained by multiplying the quoted price by the ratio of the SA factor at settlement to the SA factor at maturity, and then the SA yield is calculated from the SA price, in my case using the spreadsheet YIELD function.

With this in mind, here is a chart of SA factors vs. reference CPI date (which leads CPI date by three months):

Image

Keeping in mind that we're looking at a settlement date of 4/16 (ideally would have used 4/15), note that the Oct 15 SA factor is closer in magnitude to the 4/15 SA factor than is the 7/15 SA factor, so the ratio of the 4/15 (or 4/16) factor to the 10/15 factor is closer to 1, resulting in a smaller SA adjustment than for the 7/15 TIPS.

There is no TIPS maturity mm/dd that is further in magnitude from the 4/15 SA factor than the 7/15 factor, which is why we see the largest adjustment for 7/15 TIPS for a settlement date near 4/15. This also is why we should see the largest adjustment for the 4/15 TIPS for a 7/15/2020 settlement date, as mentioned at the top of this reply.
jeffyscott wrote: Sun Apr 26, 2020 8:31 amHowever, it looks like July 15, 2024 is subject to a greater seasonal adjustment than Oct 15, but then the resulting SA real yield chart ends up looking odd in 2024, with July appearing to be a little too high and/or Oct. a little too low.

In the chart from Nov. 2019, as expected the Oct 2024 one has very little adjustment. But the seasonally adjusted chart still looks odd for 2024, with July looking a little high and/or Oct a little low.
My guess at the explanation for this is that the inflation index ratio for the 10/15/2024 TIPS is much smaller than that for the 7/15/2024 TIPS, as well as for the 1/15/2025 TIPS, resulting in better deflation protection for the former, increasing demand, which increases price and decreases yield. I think this might be why we see the dip in the SA yield relative to the TIPS on either side of it.

We can look at #Cruncher's eyebonds.info website to view reference CPI and index ratios for any TIPS. The TIPS maturing 10/15/2024 was issued fairly recently, dated 10/15/2019, and of course there hasn't been much inflation since then, so the index ratio is not much larger than 1 (1.00604 as of ref CPI date 1/1/2020). The 7/15/2024 TIPS is dated 7/15/2014, so there is almost six years of CPI increase built into the index ratio, which is 1.08705 as of CPI ref date 6/1/2020. The story is similarly for the 1/15/2025 TIPS dated 1/15/2015, with index ratio 1.08976 as of ref CPI date 6/1/2020.

Another factor might be higher liquidity for the more recently issued TIPS, which also would increase demand and price, and decrease yield. Not sure how much this plays into the TIPS market, but my understanding is that it is a factor for nominal Treasury yields.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
jeffyscott
Posts: 11075
Joined: Tue Feb 27, 2007 9:12 am

Re: TIPS yield curve and seasonal adjustment update

Post by jeffyscott »

Kevin M wrote: Sun Apr 26, 2020 6:22 pm
jeffyscott wrote: Sun Apr 26, 2020 8:31 am When we get to July 15, I would assume that the Jan. 15 ones would then be the ones to show the greatest discrepancy.
I think it will be the April 15 ones, which I'll explain below.
Thanks, I had thought there would be approximately equal changes from month to month, but from the graph I see that is not the case.
Kevin M wrote: Sun Apr 26, 2020 6:22 pm
jeffyscott wrote: Sun Apr 26, 2020 8:31 amHowever, it looks like July 15, 2024 is subject to a greater seasonal adjustment than Oct 15, but then the resulting SA real yield chart ends up looking odd in 2024, with July appearing to be a little too high and/or Oct. a little too low.

In the chart from Nov. 2019, as expected the Oct 2024 one has very little adjustment. But the seasonally adjusted chart still looks odd for 2024, with July looking a little high and/or Oct a little low.
My guess at the explanation for this is that the inflation index ratio for the 10/15/2024 TIPS is much smaller than that for the 7/15/2024 TIPS, as well as for the 1/15/2025 TIPS, resulting in better deflation protection for the former, increasing demand, which increases price and decreases yield. I think this might be why we see the dip in the SA yield relative to the TIPS on either side of it.

We can look at #Cruncher's eyebonds.info website to view reference CPI and index ratios for any TIPS.
That makes sense. You can also see that in the WSJ quotes, in the "Accrued Principal" column. With Oct 2024 at 1007, worst case nominal loss to deflation would be only about 0.7%. The ones on either side could lose up to about 8% or so.
https://www.wsj.com/market-data/bonds/tips
The two greatest enemies of the equity fund investor are expenses and emotions. ― John C. Bogle
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

Here's a mid-July update, which is interesting since July 15 is one of the TIPS maturity dates. First, looking at the entire TIPS yield curve (all yields based on quotes pulled from Fidelity today about 1/2 hour before market close today):

Image

We see the typical sawtooth pattern of quoted yields at shorter maturities, and the smoothing that occurs by doing the seasonal adjustments. We also see a steeply positive seasonally-adjusted curve at the very short end.

Zooming into the short end of the curve:

Image

As expected, for the July 15 maturities, the quoted and seasonally-adjusted (SA) yields are quite close since the settlement date of 7/20 for the quoted yields is quite close to the 7/15 maturity dates.

Also as expected, the adjustment for the April 15 maturities is the largest, since the ratio of the July 20 settlement date adjustment factor to the April 15 adjustment factor to is the largest, as discussed in a previous reply. The adjustment for the Jan 15 maturities is the second largest.

Note also that the seasonally-adjusted yields for the Jan 15 and April 15 maturities are significantly lower than the quoted yields, especially at the shorter maturities. This results in a very steep, positive-sloped, seasonally-adjusted yield curve for 1/15/2021 to 7/15/2021--the first three points on the yield curve. Note that this is the opposite of what we've seen sometimes in the past, which was a steep negatively-sloped curve at the short end, making the shorter-maturity TIPS appearing to offer relatively attractive real yields.

In this update, I'll also show the effect of the seasonal adjustments on breakeven inflation rates. Again starting with the entire yield curve:

Image

This shows the (nominal) Treasury yields, the quoted and seasonally-adjusted (SA) TIPS yields, and the breakeven inflation (BEI) rates calculated from both the quoted and SA yields. Of course the sawtooth pattern in the quoted TIPS yields results in an inverted sawtooth pattern in the unadjusted BEI rate curve, and the smoothed positively-sloped TIPS yield curve at the short end results in a smoothed, inverted BEI rate curve at the short end.

In other words, working with seasonally-adjusted yields, the BEI rate for the 1/15/2021 TIPS is higher than for any other maturity, and for the 4/15/2021 TIPS BEI rate is comparable to some of the longer-maturity TIPS.

Zooming into the short end of the yield curve, where the smoothing is most evident:

Image

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
jeffyscott
Posts: 11075
Joined: Tue Feb 27, 2007 9:12 am

Re: TIPS yield curve and seasonal adjustment update

Post by jeffyscott »

Kevin, I wanted to follow-up here, on a comment you made in the trading treasuries discussion. It's a comment that you have also made before: "The seasonal adjustment has nothing to do with first half vs. second half of the year".
Kevin M wrote: Tue Jun 21, 2022 1:55 pm The seasonal adjustment has nothing to do with first half vs. second half of the year. There is a repeating cyclical pattern in the non-seasonally adjusted CPI. Applying the adjustment removes this cyclical oddity. It is related to where we are in the cycle on settlement date compared to where we will be on the maturity date. Institutional bond traders know about this, and adjust their bids accordingly. It is mostly a factor at shorter maturities (less than five years), and can pretty much be ignored for longer maturities.

Kevin
I'm not sure why you would say those things have nothing do with each other. As I understand it, the tendency to have more inflation in some months or "seasons" than others is the seasonality and that is the reason that CPI makes seasonal adjustments to the CPI. If TIPS used the seasonally adjusted values, then the yields/prices would exhibit the odd pattern that they do, because the seasonal adjustment would be built in.

The half year differences in non-seasonally adjusted inflation are just another manifestation of inflation seasonality. With the TIPS yield pattern being another manifestation. Of course, the seasonality is not just the half-year differences. As can be inferred from your chart of SA factors, around June (March ref. CPI) there is the highest tendency to have inflation actually appear (the maximum downward adjustment to CPI occurs) and in
August there is the least tendency and so the greatest upward adjustment to CPI.

But simplifying it to half years, there are downward adjustments in the first half of the year and upward in the second half. And this must be because of when actual price increases appear, they tend to appear in the first half of the year. I saw this some time ago when looking at 10 years of monthly, non-seasonally adjusted inflation. In that 10 year period the net inflation was approximately 0 when looking at just the second half of each year and all inflation occurred in the first half years. Seeing that data made it clear to me why TIPS prices/yields would have to account for this seasonality in some way :idea: .

Suppose we have 2% annual inflation and this appears (in non-seasonally adjusted CPI) as a 2% change to CPI from Dec. 31 to June 30 in each year and then no change from June 30 to December 31 of each year. With the 3 month lag in reference CPI, this would mean that TIPS inflation adjusted principle would increase by 2% from April to October each year and then be unchanged during the other 6 months. If TIPS prices did not adjust to reflect this, then one could buy TIPS in April and sell in October every year (and buy, say, a 6 month T-bill) and in that way effectively get a full year's inflation adjustments, while also collecting 6 months of T-bill interest in each year.

Thinking about it this way does not tell me what to expect or how to adjust the yields to make them comparable, but it does provide an easy way for me to understand why the raw yields/prices don't mean what they would otherwise appear to mean. With that understanding, I can then more comfortably assume that other market participants are setting prices that appropriately reflect the seasonal patterns in CPI changes and so it's okay to, for example, buy a July TIPS even if the YTM is lower than that for the previous April one.
The two greatest enemies of the equity fund investor are expenses and emotions. ― John C. Bogle
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

The seasonal adjustment (SA) factor is the CPIAUCNS / CPIAUCSL (non-seasonal divided by seasonal). Here is a chart of that for 2021:

Image

The SA factor is positive if > 1, and negative if < 1. So positive in April - Oct, and negative in Jan, Feb, Mar, Nov, Dec. That doesn't look like first half vs. second half to me.

What does look like it is that the SA factor increases in the first half and decreases in the second half.

The other thing to realize is that the seasonal adjustment is done by dividing the SA factor at settlement by the SA factor at maturity. So it's more about the relationship of those two factors than what part of the year it is.

Finally, keep in mind that the chart is for CPI month, not CPI reference date.

Here is the same chart for a few years, so we can see the regularity of the cycle.

Image

It's easier for me to work with the numbers than to interpret what you're trying to say. Perhaps if we look at some specific examples of the SA price adjustment for different settlement and maturity dates, we'll see that what we're both saying is correct. I'd have to do that to reply in detail to you.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
jeffyscott
Posts: 11075
Joined: Tue Feb 27, 2007 9:12 am

Re: TIPS yield curve and seasonal adjustment update

Post by jeffyscott »

Kevin M wrote: Thu Jun 23, 2022 2:30 pm The SA factor is positive if > 1, and negative if < 1. So positive in April - Oct, and negative in Jan, Feb, Mar, Nov, Dec. That doesn't look like first half vs. second half to me.

What does look like it is that the SA factor increases in the first half and decreases in the second half.
So where this came from is that I had wanted to see what this seasonal pattern was for myself. I found the non-seasonally adjusted monthly CPI data and looked at a 10 year period. This was a few years ago, so the period was 2009-2019. And when I looked at the average change to CPI by month, the biggest CPI changes were in the first months of the year (Jan, Feb, Mar, Apr), then there were somewhat smaller increases in May and June. The months with the lowest increases (actually net decreases) were at the end of the year, Nov and Dec. It was also interesting that the month with the largest average increase in the second half of the year, Sept, still had a (barely) smaller increase than the month in the first half that had the smallest increase (June). So that led me to look at the average inflation over the first and second half years.

Here are those monthly figures:

Code: Select all

Year	Jan	Feb	Mar	Apr	May	Jun	Jul	Aug	Sep	Oct	Nov	Dec
2009	0.44%	0.50%	0.24%	0.25%	0.29%	0.86%	-0.16%	0.22%	0.06%	0.10%	0.07%	-0.18%
2010	0.34%	0.02%	0.41%	0.17%	0.08%	-0.10%	0.02%	0.14%	0.06%	0.12%	0.04%	0.17%
2011	0.48%	0.49%	0.98%	0.64%	0.47%	-0.11%	0.09%	0.28%	0.15%	-0.21%	-0.08%	-0.25%
2012	0.44%	0.44%	0.76%	0.30%	-0.12%	-0.15%	-0.16%	0.56%	0.45%	-0.04%	-0.47%	-0.27%
2013	0.30%	0.82%	0.26%	-0.10%	0.18%	0.24%	0.04%	0.12%	0.12%	-0.26%	-0.20%	-0.01%
2014	0.37%	0.37%	0.64%	0.33%	0.35%	0.19%	-0.04%	-0.17%	0.08%	-0.25%	-0.54%	-0.57%
2015	-0.47%	0.43%	0.60%	0.20%	0.51%	0.35%	0.01%	-0.14%	-0.16%	-0.04%	-0.21%	-0.34%
2016	0.17%	0.08%	0.43%	0.47%	0.40%	0.33%	-0.16%	0.09%	0.24%	0.12%	-0.16%	0.03%
2017	0.58%	0.31%	0.08%	0.30%	0.09%	0.09%	-0.07%	0.30%	0.53%	-0.06%	0.00%	-0.06%
2018	0.54%	0.45%	0.23%	0.40%	0.42%	0.16%	0.01%	0.06%	0.12%	0.18%	-0.33%	-0.32%
2019	0.19%	0.42%	0.56%	0.53%	0.21%	0.02%	0.17%	-0.01%	0.08%	0.23%	-0.05%	-0.09%
AVG	0.31%	0.40%	0.47%	0.32%	0.26%	0.17%	-0.02%	0.13%	0.16%	-0.01%	-0.18%	-0.17%
And here are the 6 month changes:

Code: Select all

	Jan-June July-Dec
2009	2.60%	0.12%
2010	0.93%	0.56%
2011	2.99%	-0.02%
2012	1.69%	0.05%
2013	1.70%	-0.19%
2014	2.27%	-1.48%
2015	1.63%	-0.89%
2016	1.90%	0.17%
2017	1.46%	0.64%
2018	2.22%	-0.30%
2019	1.95%	0.32%
AVG	1.94%	-1.02%
(sorry the formatting is sloppy, my first attempt at pasting from a spreadsheet using the "code" label.)

So there you can see that inflation was a first half of the year phenomenon during that 10 year period. There isn't even any overlap, the biggest increase in the second half year was 0.64% in 2017, while the smallest in the first half was 0.93% in 2010. This is, to me, one interesting manifestation of the "seasonality" of inflation.

The original data source is here: https://data.bls.gov/timeseries/CUUR0000SA0
The two greatest enemies of the equity fund investor are expenses and emotions. ― John C. Bogle
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

So you're observing a pattern in the unadjusted CPI. I can't argue with the pattern, since you have the numbers to show it. I have not examined it myself.

The question is whether or not this pattern has anything to do with the seasonal adjustment for TIPS. I'm not sure it does. What you're not addressing is that the seasonal price adjustment is a ratio of two seasonal adjustment factors, one for the settlement date and one for the maturity date. So it depends on the relationship between the two, not the absolute positioning on the calendar of either one.

Again, if the settlement month/day is the same as the maturity month/day, the seasonal adjustment price factor is 1.0000. So in a little more than 3 weeks, the SA price factor for TIPS maturing on 7/15 (of any year) will be 1.0000, and the unadjusted price/yield will equal the SA price/yield. That is true for every TIPS month/day, so 1/15, 2/15, 4/15, 7/15 and 10/15, three of these being in the first half of the year, and two being in the last half of the year.

Bottom line is I'm not arguing about the pattern you're seeing in unadjusted CPI, just that it doesn't seem relevant to the seasonal price adjustment for TIPS. Unless we both understand the latter in detail, I don't see how we can discuss it much further.

What I'd like to do next is walk through the gory details of the seasonal adjustment calculation. If you can understand that, then maybe you can explain how the pattern you've observed relates to it. I don't see it yet.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
jeffyscott
Posts: 11075
Joined: Tue Feb 27, 2007 9:12 am

Re: TIPS yield curve and seasonal adjustment update

Post by jeffyscott »

Kevin M wrote: Thu Jun 23, 2022 9:43 pm What I'd like to do next is walk through the gory details of the seasonal adjustment calculation. If you can understand that, then maybe you can explain how the pattern you've observed relates to it. I don't see it yet.

Kevin
Thanks but, I probably won't want to go through that. I understand this conceptually, but don't really have an interest in the intricate details.

As you said:
There is a repeating cyclical pattern in the non-seasonally adjusted CPI. Applying the adjustment removes this cyclical oddity.

The non-seasonally adjusted data is just an illustration of the oddity.
ETA: And that oddity is removed by seasonal adjustment to the CPI.
(For the same time period, the seasonally adjusted average CPI change for the first 6 months of each year was 0.94% and for the second half was 0.89%.)

So we can leave it at that.
:sharebeer
The two greatest enemies of the equity fund investor are expenses and emotions. ― John C. Bogle
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

jeffyscott, I'm going to re-read your post more carefully.
jeffyscott wrote: Thu Jun 23, 2022 7:19 am I'm not sure why you would say those things have nothing do with each other. As I understand it, the tendency to have more inflation in some months or "seasons" than others is the seasonality and that is the reason that CPI makes seasonal adjustments to the CPI. If TIPS used the seasonally adjusted values, then the yields/prices would exhibit the odd pattern that they do, because the seasonal adjustment would be built in.
I think you meant "... would not exhibit ...", in which case, this is correct.
jeffyscott wrote: Thu Jun 23, 2022 7:19 am The half year differences in non-seasonally adjusted inflation are just another manifestation of inflation seasonality. With the TIPS yield pattern being another manifestation. Of course, the seasonality is not just the half-year differences. As can be inferred from your chart of SA factors, around June (March ref. CPI) there is the highest tendency to have inflation actually appear (the maximum downward adjustment to CPI occurs) and in August there is the least tendency and so the greatest upward adjustment to CPI.
Correction: March CPI is June 1 reference CPI. April CPI is July 1 ref CPI. July 15 ref CPI is halfway between March and April CPI.

This is where I start to lose you when it comes to TIPS, since the adjustment depends on the settlement date as well as the maturity date. You can have no adjustment on the 15th of Jan, Feb, Apr, Jul and Oct.
jeffyscott wrote: Thu Jun 23, 2022 7:19 am But simplifying it to half years, there are downward adjustments in the first half of the year and upward in the second half. And this must be because of when actual price increases appear, they tend to appear in the first half of the year. I saw this some time ago when looking at 10 years of monthly, non-seasonally adjusted inflation. In that 10 year period the net inflation was approximately 0 when looking at just the second half of each year and all inflation occurred in the first half years. Seeing that data made it clear to me why TIPS prices/yields would have to account for this seasonality in some way :idea: .
OK, if this helps you accept the seasonal adjustment as valid, that's great.
jeffyscott wrote: Thu Jun 23, 2022 7:19 am Suppose we have 2% annual inflation and this appears (in non-seasonally adjusted CPI) as a 2% change to CPI from Dec. 31 to June 30 in each year and then no change from June 30 to December 31 of each year. With the 3 month lag in reference CPI, this would mean that TIPS inflation adjusted principle would increase by 2% from April to October each year and then be unchanged during the other 6 months. If TIPS prices did not adjust to reflect this, then one could buy TIPS in April and sell in October every year (and buy, say, a 6 month T-bill) and in that way effectively get a full year's inflation adjustments, while also collecting 6 months of T-bill interest in each year.
Having a hard time wrapping my head around this, because the price adjustment factor depends on the settlement date adjustment and the maturity date adjustment. The adjustment will be 0 for 4/15 TIPS bought on 4/15, and 0 for 10/15 TIPS bought on 10/15.
jeffyscott wrote: Thu Jun 23, 2022 7:19 am Thinking about it this way does not tell me what to expect or how to adjust the yields to make them comparable, but it does provide an easy way for me to understand why the raw yields/prices don't mean what they would otherwise appear to mean. With that understanding, I can then more comfortably assume that other market participants are setting prices that appropriately reflect the seasonal patterns in CPI changes and so it's okay to, for example, buy a July TIPS even if the YTM is lower than that for the previous April one.
I think that this is the most important thing from your point of you. The last sentence is important for everyone to understand.

My confidence in it comes first from how it smooths the yield curve, and second in thinking about what it means in terms of difference in SA factors at settlement and at maturity.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Seasonal adjustment example: CPI NS and SL

Post by Kevin M »

I want to walk through at least one seasonal adjustment calculation, for my own benefit as well as anyone else who is interested in this level of detail. It's been a few years since I developed the spreadsheets I use for this, so it will be useful to me to review it from the beginning. I'll spread this over several posts.

It all starts with unadjusted and seasonally adjusted CPI values, which I download from FRED. Because of the regularity of the seasonal adjustment (SA) factors annual cycle, and following in #Cruncher's footsteps, I use the reference CPI values for the previous full year to get the SA factors, so as of this post I'm using ref CPI values for 2021. Ref CPI for Jan 1 2021 is CPI for Oct 2020, and ref CPI for Jan 1 2022 is CPI for Oct 2021, so we will want to download the CPI numbers for Oct 2020 through Oct 2021.

I actually have a CPI sheet in my TIPS and CPI reference spreadsheet, and I use a custom function I wrote to retrieve the CPI values from FRED, then I periodically copy/paste-value the CPI values, and move the custom function call to the first empty row at the end. But for purposes of this example, I'll assume we're downloading what we need from FRED.

It helps to know the FRED series names, which are CPIAUCNS and CPIAUCSL (CPI All Urban Consumers, NS (not seasonally adjusted) or SL (seasonally adjusted). You can then enter them directly in the FRED search. First I load CPIAUCNS, then I edit to add the line for CPIAUCSL. Then I enter the date range I want values for. This is what I see at FRED at this point:

Image

(You can click on the image to get to the graph at FRED)

I click the DOWNLOAD button at top right (not shown in image), download the data using CSV format, and load it into a Google Sheets spreadsheet. This is what I have at this point:

Image

Keep in mind that the date 2020-10-01 really means CPI values for the month of October, which are published in early November. We can format the date to YYYY-MM to make this more clear.

I add a column for the seasonal adjustment factor, and enter a formula to calculate it.

Image

The formula for cell D2 is =B2/C2*100. I include (NS/SL) in my column header to remind me that this is the ratio, and I multiply by 100 because that matches the BLS release (see next paragraph). Multiplying by 100 is useless for our purposes, since we will be taking a ratio of two factors (settlement and maturity), but I do it to be consistent with BLS.

I want to note that you can download the seasonally adjusted CPI values and seasonal factors from this BLS website: https://www.bls.gov/cpi/tables/seasonal ... t/home.htm. BLS revises the last 5 years with each annual release, so we would want the 2017-2021 file. They include values to 3 decimal places, so I show 3 in my spreadsheet, but I don't bother rounding. The only reason I ever did this is that you can get the data a few days earlier than from FRED, but just getting it from FRED is easier for me.

I think this is a good spot to conclude post 1 on this topic, as everything I've done so far is done in my CPI sheet. I reserve the right to come back and modify this if as I get further along I realize it would have been simpler or more efficient to do it another way for purposes of an example. I'm just following along with how I do it in my spreadsheets now.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
jeffyscott
Posts: 11075
Joined: Tue Feb 27, 2007 9:12 am

Re: TIPS yield curve and seasonal adjustment update

Post by jeffyscott »

Kevin M wrote: Fri Jun 24, 2022 2:33 pm jeffyscott, I'm going to re-read your post more carefully.
jeffyscott wrote: Thu Jun 23, 2022 7:19 am I'm not sure why you would say those things have nothing do with each other. As I understand it, the tendency to have more inflation in some months or "seasons" than others is the seasonality and that is the reason that CPI makes seasonal adjustments to the CPI. If TIPS used the seasonally adjusted values, then the yields/prices would exhibit the odd pattern that they do, because the seasonal adjustment would be built in.
I think you meant "... would not exhibit ...", in which case, this is correct.
Right, would not :oops:

Kevin M wrote: Fri Jun 24, 2022 2:33 pm
jeffyscott wrote: Thu Jun 23, 2022 7:19 am The half year differences in non-seasonally adjusted inflation are just another manifestation of inflation seasonality. With the TIPS yield pattern being another manifestation. Of course, the seasonality is not just the half-year differences. As can be inferred from your chart of SA factors, around June (March ref. CPI) there is the highest tendency to have inflation actually appear (the maximum downward adjustment to CPI occurs) and in August there is the least tendency and so the greatest upward adjustment to CPI.
Correction: March CPI is June 1 reference CPI. April CPI is July 1 ref CPI. July 15 ref CPI is halfway between March and April CPI.
Oh, I guess I have the "reference" terminology wrong. I did mean that TIPS in June are getting actual CPI from March applied. I do understand that there is a 3 month lag in applying CPI changes to TIPS.

Kevin M wrote: Fri Jun 24, 2022 2:33 pmThis is where I start to lose you when it comes to TIPS, since the adjustment depends on the settlement date as well as the maturity date. You can have no adjustment on the 15th of Jan, Feb, Apr, Jul and Oct.
Sure, but one interesting thing that the very low inflation in the second half years tells me is that an April TIPS is going to, typically, get a low inflation adjustment during it's final 6 months because at that time it is going to (mostly) be getting the low CPI from the second half of the prior year. Meanwhile the subsequent July TIPS will have 3 months of, typically, high inflation adjustments in the extra 3 months. So this explains one of the prominent patterns that is often seen, where the April TIPS have higher yields than the July one for the same year.

Kevin M wrote: Fri Jun 24, 2022 2:33 pm
jeffyscott wrote: Thu Jun 23, 2022 7:19 am Suppose we have 2% annual inflation and this appears (in non-seasonally adjusted CPI) as a 2% change to CPI from Dec. 31 to June 30 in each year and then no change from June 30 to December 31 of each year. With the 3 month lag in reference CPI, this would mean that TIPS inflation adjusted principle would increase by 2% from April to October each year and then be unchanged during the other 6 months. If TIPS prices did not adjust to reflect this, then one could buy TIPS in April and sell in October every year (and buy, say, a 6 month T-bill) and in that way effectively get a full year's inflation adjustments, while also collecting 6 months of T-bill interest in each year.
Having a hard time wrapping my head around this, because the price adjustment factor depends on the settlement date adjustment and the maturity date adjustment. The adjustment will be 0 for 4/15 TIPS bought on 4/15, and 0 for 10/15 TIPS bought on 10/15.
I'm not understanding your comment. We have a hypothetical world as I described, with inflation for 6 months followed by no price changes for 6 month and that pattern repeats. Lets further say all TIPS are always paying 2% real (real YTM) and a 6-12 month nominal always pays 4% (nominal YTM). So I buy a TIPS in April, by October I have a 2% inflation increase plus 1% due to the 2% real yield, I sell and buy a 6 month treasury and earn 2% in the following 6 months.

So I have earned 5% in total (ignoring any compounding or other complicating factors). Meanwhile someone who just held TIPS for a year would earn 4% as would someone who held the nominal for a full year. In an efficient market, this anomaly would disappear, the prices and yields would change to eliminate the extra return from my scheme, reducing my return to the same 4% everyone else is getting. The market participants might come up with some sort of seasonal adjustments that they would use to evaluate TIPS.
The two greatest enemies of the equity fund investor are expenses and emotions. ― John C. Bogle
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Seasonal adjustment example: Daily reference CPI

Post by Kevin M »

Following on from post 1 of this example ...

The next few steps are actually done in another sheet, and using more complex formulas, but for simplicity I'll keep everything in one sheet, do things a slightly different way, and simplify the formulas.

Incidentally, the federal regulation that governs the indexing methodology can be found here: 26 CFR § 1.1275-7 - Inflation-indexed debt instruments. From that source:
Indexing methodology. The debt instrument provides that the inflation-adjusted principal amount for any day is determined by multiplying the principal amount of the instrument for the issue date by a ratio, the numerator of which is the value of the reference index for the day the inflation-adjusted principal amount is to be determined and the denominator of which is the value of the reference index for the issue date. The value of the reference index for the first day of a month is the value of the CPI-U for the third preceding month. The value of the reference index for any day other than the first day of a month is determined based on a straight-line interpolation between the value of the reference index for the first day of the month and the value of the reference index for the first day of the next month.
(underlines mine)

First I'll add a column for the reference CPI date that uses the CPI values for the CPI month, and add a column to calculate the number of days in the ref CPI month. We'll need the latter for the interpolation, and this is one easy way to get it.

Here is the table with the two new columns:

Image

The formula for cell E2 is:

=DATE(YEAR(A2), MONTH(A2)+3, 1)

Formula for cell F2:

=DAYS(E3,E2)

We need the Ref CPI for 1/1/2022 to do the interpolation for Dec 2021, but we don't need the number of days for Jan 2022.

Next I'll add a table to do the linear interpolation to get the ref CPI values and SA factors for days other than the 1st of each month. I'll only show the first 10 days of January for illustration purposes, and a couple of other key dates, which I'll explain later.

Image

To keep the formulas relatively simple for this example, I'll include a column for days in reference month, and use that in the interpolations. The formula for cell I2 is:

=VLOOKUP(DATE(YEAR(H2), MONTH(H2), 1), E$2:F$13, 2, 0)

We already know the ref CPI numbers for Jan 1, 2021, so we can just reference those cells; e.g., formulas for cells J2 and K2 are =B2 and =B3 respectively.

As usual, the SA factor is NS/SL * 100, so for cell L2:

=J2/K2*100

In words, the formula for the linear interpolation is:

Ref CPI for day 1 of ref month + (days from day 1 / days in ref month) * (ref CPI for 1st of next month minus ref CPI for 1st of this month).

So for Jan 2, Ref CPI NS is:

260.388 + 1/31 * (260.229 - 260.388) = 260.38287

The spreadsheet formula in this case is:

=B$2+DAY($H2)/$I3 * (B$3-B$2)

The Ref CPI SL uses the same formula, but of course references the SL values instead.

=C$2+DAY($H2)/$I3 * (C$3-C$2)

Incidentally, you can look up the non-seasonally-adjusted reference CPI numbers for 2021 at this website: http://eyebonds.info/tips/2021/tips00_2021.html. You can even import this into a Google Sheets sheet with this formula:

=IMPORTHTML("http://eyebonds.info/tips/2021/tips00_2021.html", "table", 1)

I use this to spot check my numbers for the NS CPI values. If they match, then I know my formulas are working, and I know they will work for the SL CPI values as well.

As far as I know, the eybonds.info site does not have seasonally adjusted CPI numbers. There probably is somewhere to look them up, but since I have my spreadsheets working, I have no need.

I'll wrap this post up here, as we now have all the reference data we need to do the TIPS seasonal adjustment calculation.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
#Cruncher
Posts: 3482
Joined: Fri May 14, 2010 2:33 am
Location: New York City
Contact:

Re: Seasonal adjustment example: Daily reference CPI

Post by #Cruncher »

Thanks for going through this process, Kevin. I've forgotten exactly what we did when we worked on this about four years ago. Now in this post I have my usual picky comments to make. :wink:
Kevin M wrote: Sat Jun 25, 2022 9:00 pmIncidentally, the federal regulation that governs the indexing methodology can be found here: 26 CFR § 1.1275-7 - Inflation-indexed debt instruments. From that source:
Indexing methodology. ... the inflation-adjusted principal amount for any day is determined by multiplying the principal amount of the instrument for the issue date by a ratio, the numerator of which is the value of the reference index for the day the inflation-adjusted principal amount is to be determined and the denominator of which is the value of the reference index for the issue date. ...(underlines added)
Using the Reference CPI on the issue date would produce correct principal values (except possibly for rounding error), but it isn't how the Treasury actually computes index ratios. It sets the denominator to be the Reference CPI for the Dated Date, which is the date six months before the first interest payment. This is the 15th of the month a TIPS is first issued which currently is about two weeks before the issue date. With the Treasury's actual method, the principal value on any date is simply the face value times the index ratio for that date.
Kevin M, in same post, wrote:We already know the ref CPI numbers for Jan 1, 2021, so we can just reference those cells; e.g., formulas for cells J2 and K2 are =B2 and =B3 respectively.

... the formula for the linear interpolation is:
Ref CPI for day 1 of ref month + (days from day 1 / days in ref month) * (ref CPI for 1st of next month minus ref CPI for 1st of this month).

So for Jan 2, Ref CPI NS is:
260.388 + 1/31 * (260.229 - 260.388) = 260.38287

The spreadsheet formula in this case is:
=B$2+DAY($H2)/$I3 * (B$3-B$2)
It looks like you have a different formula for the first day of the month and the other days of the month, Kevin. It also looks like you have different formulas for each month. Something like the following might be easier to update since the same formula is used for every date.

Code: Select all

Row     Col A     Col B    Col C       Col D      Col E      Col F
  5       CPI   Ref CPI
  6     Month      Date      CPI   Daily Chg       Date    Ref CPI

Code: Select all

  7  Oct 2020  1/1/2021  260.388  (0.005129)  1/01/2021  260.38800
  8  Nov 2020  2/1/2021  260.229   0.008750   1/02/2021  260.38287
  9  Dec 2020  3/1/2021  260.474   0.035742   1/03/2021  260.37774
 10  Jan 2021  4/1/2021  261.582              1/04/2021  260.37261
 11                                           1/05/2021  260.36748
 12                                           1/06/2021  260.36235
 13                                           1/07/2021  260.35723
 14                                           1/08/2021  260.35210
 15                                           1/09/2021  260.34697
 16                                           1/10/2021  260.34184
...
 37                                           1/31/2021  260.23413
 38                                           2/01/2021  260.22900
...
 65                                           2/28/2021  260.46525
 66                                           3/01/2021  260.47400
...
 96                                           3/31/2021  261.54626
Here are the formulas for row 7. They are copied down for all subsequent rows.

Code: Select all

B7:  1/1/2021  = DATE(YEAR(A7), MONTH(A7) + 3, 1)
D7: (0.005129) = (C8-C7) / (B8-B7)
E7: 260.38800  = ROUND(INDEX(C:C, MATCH(E7,B:B,1), 1) + INDEX(D:D, MATCH(E7,B:B,1), 1) * (DAY(E7)-1), 5)
Rounding each Reference CPI may not matter for computing your seasonal factors. But it is important to round each one to 5 decimal places if they are to be used in computing index ratios for individual TIPS.
Kevin M, in same post, wrote:As far as I know, the eybonds.info site does not have seasonally adjusted CPI numbers. There probably is somewhere to look them up, ...
The monthly values are available from this BLS web page.
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: Seasonal adjustment example: Daily reference CPI

Post by Kevin M »

#Cruncher wrote: Sun Jun 26, 2022 3:25 pm Thanks for going through this process, Kevin. I've forgotten exactly what we did when we worked on this about four years ago. Now in this post I have my usual picky comments to make. :wink:
I would expect no less ;-)
#Cruncher wrote: Sun Jun 26, 2022 3:25 pm
Kevin M wrote: Sat Jun 25, 2022 9:00 pmIncidentally, the federal regulation that governs the indexing methodology can be found here: 26 CFR § 1.1275-7 - Inflation-indexed debt instruments. From that source:
Indexing methodology. ... the inflation-adjusted principal amount for any day is determined by multiplying the principal amount of the instrument for the issue date by a ratio, the numerator of which is the value of the reference index for the day the inflation-adjusted principal amount is to be determined and the denominator of which is the value of the reference index for the issue date. ...(underlines added)
Using the Reference CPI on the issue date would produce correct principal values (except possibly for rounding error), but it isn't how the Treasury actually computes index ratios. It sets the denominator to be the Reference CPI for the Dated Date, which is the date six months before the first interest payment. This is the 15th of the month a TIPS is first issued which currently is about two weeks before the issue date. With the Treasury's actual method, the principal value on any date is simply the face value times the index ratio for that date.
Of course. I wonder if this isn't the actual regulation that applies to TIPS. If it is, I wonder how Treasury got to what they do from this.
#Cruncher wrote: Sun Jun 26, 2022 3:25 pm
Kevin M, in same post, wrote:We already know the ref CPI numbers for Jan 1, 2021, so we can just reference those cells; e.g., formulas for cells J2 and K2 are =B2 and =B3 respectively.

... the formula for the linear interpolation is:
Ref CPI for day 1 of ref month + (days from day 1 / days in ref month) * (ref CPI for 1st of next month minus ref CPI for 1st of this month).

So for Jan 2, Ref CPI NS is:
260.388 + 1/31 * (260.229 - 260.388) = 260.38287

The spreadsheet formula in this case is:
=B$2+DAY($H2)/$I3 * (B$3-B$2)
It looks like you have a different formula for the first day of the month and the other days of the month, Kevin. It also looks like you have different formulas for each month. Something like the following might be easier to update since the same formula is used for every date.

<snip>
Right. I mentioned in the first post on this that I was using simplified formulas for illustration purposes. I wanted to keep the spreadsheet formulas relatively simple, because I wanted to focus on the concepts more than the formulas. In my actual implementation, the formulas are more generic, and the same formula is used for all months. But thanks for sharing your spreadsheet formulas.
#Cruncher wrote: Sun Jun 26, 2022 3:25 pm Rounding each Reference CPI may not matter for computing your seasonal factors. But it is important to round each one to 5 decimal places if they are to be used in computing index ratios for individual TIPS.
OK, but I don't recall ever seeing any issues with the IRs by not rounding the ref CPI values; I spot check my calculated values against the values shown at eyebonds.info.
#Cruncher wrote: Sun Jun 26, 2022 3:25 pm
Kevin M, in same post, wrote:As far as I know, the eybonds.info site does not have seasonally adjusted CPI numbers. There probably is somewhere to look them up, ...
The monthly values are available from this BLS web page.
Right, but I was talking about the daily values. I get the monthly values from FRED.

Thanks,

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
#Cruncher
Posts: 3482
Joined: Fri May 14, 2010 2:33 am
Location: New York City
Contact:

Re: Seasonal adjustment example: Daily reference CPI

Post by #Cruncher »

(I may have reached new heights -- or is it depths? -- of nerdiness with this post! :( )
Kevin M wrote: Mon Jun 27, 2022 1:59 pm
#Cruncher wrote: Sun Jun 26, 2022 3:25 pm Rounding each Reference CPI may not matter for computing your seasonal factors. But it is important to round each one to 5 decimal places if they are to be used in computing index ratios for individual TIPS.
OK, but I don't recall ever seeing any issues with the IRs by not rounding the ref CPI values; I spot check my calculated values against the values shown at eyebonds.info.
When I said it was important to round each Reference CPI to five decimal places, I wrongly assumed that not doing so would lead to many cases of incorrect index ratios. But it turns out this is quite rare. Out of about 300 cases I only found one where it made a difference. And this barely made a difference: "4997" in the 6th-9th decimal places versus "5019" as shown in row 8 below. And even then, the difference only translates to a penny of adjusted principal on $1,000 of face value.

So -- and please try to contain your excitement -- here it is: May 27, 2022 for the 2-3/8% 20-year TIPS Maturing 1/15/2025. Using the Reference CPIs rounded to 5 decimal places for the 7/15/2004 Dated Date and for 5/27/2022 produces the correct index ratio of 1.52201 while using the unrounded Ref CPIs produces an incorrect index ratio of 1.52200.

Code: Select all

Row           Col A  Col B         Col C         Formula in Column B
  1    Ref CPI Date  Unrounded     Rounded    
  2       7/01/2004  188.000       
  3       7/15/2004  188.4967742   188.49677    =B2+(B4-B2)*(DAY(A3)-1)/(A4-A2)
  4       8/01/2004  189.100       
  5       5/01/2022  283.716       
  6       5/27/2022  286.8930323   286.89303    =B5+(B7-B5)*(DAY(A6)-1)/(A7-A5)
  7       6/01/2022  287.504
     
  8  Idx ratio 5/27  1.522004997   1.522005019  =B6/B3       (copied right to col C)
  9   Rounded index  1.52200       1.52201      =ROUND(B8,5) (copied right to col C)
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

^Thanks for following up on this, #Cruncher. I figured you'd check it and let us know.

It's not a problem to round, of course, so I'll probably make the change.

Thanks,

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Seasonal adjustment example: seasonally adjusted yield

Post by Kevin M »

Kevin M wrote: Sat Jun 25, 2022 9:00 pm <snip>

Next I'll add a table to do the linear interpolation to get the ref CPI values and SA factors for days other than the 1st of each month. I'll only show the first 10 days of January for illustration purposes, and a couple of other key dates, which I'll explain later.

Image

<snip>
I chose these other two "key dates", 10/1/2021 and 4/15/2021, because they result in the largest possible seasonal adjustment. How do I know that?

If we extend the table above to cover all of 2021, as I have in the spreadsheet I actually use for this, we can chart the seasonal adjustment factor vs. reference CPI date:

Image

Remembering that the SA price factor is the SA factor for settlement date divided by the SA factor for maturity date, the largest seasonal price adjustment will occur for the largest difference between these two factors. We see that the largest negative adjustment is around March 1, and the largest positive adjustment is around Oct 1, so settlement and maturity MM/DD close to these two dates will give us the largest seasonal price adjustment.

I chose Oct 1, 2021 as the settlement date. The closest shorter-term TIPS maturing around March 1 2022 is the 4/15/2022 TIPS (TIPS maturing in 2040 or later mature on on 2/15, but these aren't affected much be seasonal adjustments). Remember that we use the seasonal adjustment factors for the full previous year, so for 4/15/2022 settlement we use 4/15/2021 SA factor.

The screenshot below shows a table which is based on the one I use in my SA spreadsheet, and includes the relevant rows from the reference CPI table.

Image

In my SA spreadsheet there would be a row for each of the 49 outstanding TIPS; here I'm just showing the row for the TIPS we're using for this example.

The same settlement date and reference CPI values are used for all TIPS. The ref CPI values in cells B19 and B20 reference the values in cells J13 and K13 respectively. In the real spreadsheet I use VLOOKUP to get them.

As always, the SA factor for settlement is the non-seasonal CPI divided by the seasonal CPI for that reference CPI date times 100, so formula in cell B21 is:

=B19/B20*100.

Maturity and coupon rate for the TIPS come from the TIPS quotes I download. For the example I've just entered them directly.

I entered a random ask price of 102 into cell E18. This normally would come from the TIPS quotes.

We get the SA factor at maturity by doing a lookup on the ref CPI table. Here is the formula for cell F18:

=VLOOKUP(DATE(2021, MONTH(C18), 15), $H:$L, 5, FALSE)

Then we divide the SA factor at settlement by the SA factor at maturity, so cell G18 formula is:

=$B$21/F18

Then we multiply this Fact settle / Fact maturity by the quoted ask price to get the SA price, so cell H18 formula is:

=G18*E18

I calculate ask yield (unadjusted), which should agree with the quoted ask price yield. Formula for cell I18 is:

=YIELD(B18,C18,D18,E18,100,2,1)

The SA yield uses the same formula, but with the SA price. Formula for cell J18 is:

=YIELD(B18,C18,D18,H18,100,2,1)

I added a "Diff" column to show the SA ask yield minus the quoted ask yield, and we can see here that it's quite large, at -88 basis points.

That's it!

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
Topic Author
Kevin M
Posts: 12635
Joined: Mon Jun 29, 2009 3:24 pm
Contact:

Re: TIPS yield curve and seasonal adjustment update

Post by Kevin M »

Here is what I can fit on one screen from the main sheet of my TIPS seasonal adjustment spreadsheet based on quotes from Fidelity shortly before market close:

Image

You can see that this layout is very close to the example layout; I have a few additional columns to show me values of interest.

The "SA yield" column uses the Canty SA method. The "SA yield #C" column uses the (much more complicated, but extremely innovative) method developed by #Cruncher, which I use as a check. Note that they agree exactly except for the shortest maturity.

Sidebar: I haven't touched the sheet that does the #Cruncher SA adjustment in a few years, yet it still works perfectly.

Kevin
If I make a calculation error, #Cruncher probably will let me know.
User avatar
jeffyscott
Posts: 11075
Joined: Tue Feb 27, 2007 9:12 am

Re: Seasonal adjustment example: seasonally adjusted yield

Post by jeffyscott »

Kevin M wrote: Wed Jun 29, 2022 9:07 pmRemembering that the SA price factor is the SA factor for settlement date divided by the SA factor for maturity date, the largest seasonal price adjustment will occur for the largest difference between these two factors. We see that the largest negative adjustment is around March 1, and the largest positive adjustment is around Oct 1, so settlement and maturity MM/DD close to these two dates will give us the largest seasonal price adjustment.
Since there is a 3 month lag, this result is close to what I would have expected based on the actual CPI seasonality. I'd have expected that if you have a 6 month holding period, the greatest adjustments would be if that period were about July-Dec or Jan-Jun based on actual CPI dates (the 6 month periods with the most and least inflation, based on the one 10 year period that I had looked at). The actual holding periods needing the greatest adjustment would shift forward by 3 months, due to the lag in applying the CPI to TIPS, and become holding from Oct-Mar or Apr-Sept.
The two greatest enemies of the equity fund investor are expenses and emotions. ― John C. Bogle
Post Reply