Money Market-Equivalent Yield for Bonds with Multiple Coupons
Summary
The post explains a Bloomberg money market-equivalent yield convention for coupon bonds that still have multiple payments remaining. A simple approach discounts each coupon and principal payment separately using simple day-count discounting, but the author found that it produced slightly different results from Bloomberg. The accepted answer describes a different cash-flow treatment: roll each coupon forward, then discount a consolidated maturity payment. For Bloomberg’s convention, coupons are rolled sequentially from one coupon date to the next before the final value is discounted to settlement.
The answer gives formulas for both a single roll to maturity and the sequential method, with a numerical bond example motivating the investigation. It says the simpler formula is a reasonable approximation for relatively near maturities and is fully valid in the final or penultimate coupon period, while deviations grow with longer maturities. Conventions vary by market: the post notes a 365-day basis for many Canadian bonds and business-day adjustments to coupon dates. The formulas and observations are tied to the described Bloomberg field and should not be assumed universal across providers or regions.
Key ideas
- The stated money market-equivalent convention consolidates coupon and redemption cash flows at maturity before discounting.
- Bloomberg’s described method rolls coupons forward sequentially between coupon dates.
- The sequential roll convention can make yield solving more complex than discounting each payment separately.
- The simpler roll-to-maturity calculation is described as a useful approximation for shorter remaining terms.
- Day-count bases and business-day adjustments can differ across regions.
Tags
Full text
# Money market yield calculation convention for bonds with multiple outstanding coupon payments
# Money market yield calculation convention for bonds with multiple outstanding coupon payments
[Note: The original question was edited to focus on bonds with multiple outstanding coupon payments]
Certain investment grade securities would switch to trading in Money Market Yield towards the end of their lifetime. As far as I could gather across multiple sources, money market yield is defined similarly to regular (book) yield but with simple (or "money market") discounting adjusted to a 360-day year (Bloomberg allows an Act/365 option too), i.e.
$$ \text{P} = \frac{C}{n}\sum_{i=1}^{N} \frac{1}{1+\frac{D_i}{360}y} + \frac{M}{1+\frac{D_N}{360}y}, $$ where
- $P$ is the purchase price (may be quoted on a flat or invoice basis),
- $C$ is the annual coupon rate,
- $n$ is the per-annum coupon frequency,
- $M$ is the redemption value,
- $D_i$ is the Act/Act number of days from settlement to the $i$-th remaining coupon date,
- $y$ is the money market yield.
If $N>1$, the solution may be impossible to find analytically and an iterative solver (e.g. Brent's method) must be used. For $N=1$ however, the above formula trivially simplifies to
$$\text{Money Market Yield} = \frac{C/n + \text{M} - P}{P}\cdot \frac{360}{D_N}.$$
I wanted to check my calculation against Bloomberg and was surprised to find they seem to apply a number of different conventions that are not captured by the above formula. I am specifically talking about the `YAS_MMKT_YLD` field (`Mmkt` under Yield calculations in the terminal).
My formula seems to work fine for bonds in their last coupon period, but for securities with multiple outstanding coupons the results are just slightly off when compared to Bloomberg. Example: US19767QAQ82 matures on 2025-09-15 and has coupon dates on 2025-03-15 and 2025-09-15 and an annual rate of $7.58\%$. If settled on 2024-12-10 at par, money market yield could be found by solving for $y$
$$ 101.7897222222222224 = \frac{\frac{7.58}{2}}{1+\frac{95}{360}y} + \frac{100+\frac{7.58}{2}}{1+\frac{279}{360}y} $$
Solving numerically I get $y=0.0752104... = 7.5210\%$ whereas Bloomberg claims the MM yield as $7.5227\%$. Obviously I got pretty close, but still not quite an exact match. The same pattern holds for other multi-coupon bonds. I am sure the error cannot be explained away through purely mechanical reasons such as round-off or truncation because I have calculated yields with much more involved cash flows before and matched Bloomberg as far as precision would allow.
From experience my formula just barely undershoots the BBG money market yield, so I suspect something is wrong with the way I am discounting the cash flows or perhaps I need to somehow project all intermediate cash flows onto a single bullet payout at maturity but I am not sure how. Indeed, the Bloomberg definition of money market yield seems to hint at the latter option:
Can anyone offer any insight or guide me on how to proceed from here? I don't think my day counts are incorrect as I am able to get the correct book yield using a similar method, and other inputs like accrued interest I take directly from BBG to make sure there is no discrepancy. So probably the formula needs an adjustment. I feel like I've hit a bit of an impasse with what should be a simple concept. Thanks.
## Answer by Chubby Chef (score 1, accepted)
https://quant.stackexchange.com/a/81383
Answering my own question as after a bit of trial and error I was able to get it right. My main cause of confusion stemmed from the fact that bonds are fundamentally not money market securities: most will pay out interest many times throughout their lifetime. Hence why Bloomberg specifically refers to money market-equivalent yield. The key is to 'pretend' that a bond pays out all coupons, as well the redemption value, in one lump sum at the end of its term. Thus any intermediate payments first need to be rolled forward rather than immediately discounted at present value, or in algebraic terms:
$$ FV = \sum_{i=1}^{N-1}C_i\left( 1+ y\frac{D_i}{360}\right) + C_N + M, $$
where $C_i$ is the $i$-th coupon payment, $D_i$ the number of days from said coupon payment to maturity, and $M$ the par value. This single "bullet" cash flow can then be discounted at present value similarly to conventional yield. Assuming a fixed annual coupon rate, the full equation becomes:
$$\begin{align} P &= \frac{C\sum_{i=1}^{N-1}\left( 1+ y\frac{D_i}{360}\right) + C + M}{1+y\frac{D_M}{360}} \\ &= \frac{CN + M + y\frac{C}{360}\sum_{i=1}^{N-1}D_i}{1+y\frac{D_M}{360}}, \end{align}$$ where
- $P$ is the purchase price (may be quoted on a flat or invoice basis),
- $C$ is the annual coupon rate divided by annual frequency,
- $N$ is the number of outstanding coupon payments until maturity,
- $M$ is the redemption value,
- $D_i$ is the Act/Act number of days from the $i$-th coupon payment to maturity,
- $D_M$ is the Act/Act number of days from settlement date to maturity,
- $y$ is the money market equivalent yield.
I was hoping this would be the end of the story, but I noticed a growing divergence against BBG values as maturity moved further into the future. Apparently, BBG sequentially roll forward each coupon payment onto the next one until eventually reaching maturity, rather than projecting all of them onto maturity at once.
This can be modelled as a recursive relation of the form $$ C_i = \begin{cases} C\cdot \left( 1+y\frac{D_1}{360} \right) & \text{if } i = 1,\\ \left( C + C_{i-1} \right) \left( 1 + y \frac{D_i}{360} \right)& \text{otherwise.} \end{cases} $$ where
- $C_i$ is the $i$-th adjusted coupon payment,
- $C$ is annual coupon amount divided by frequency,
- $D_i$ is the Act/Act number of days from the $i$-th coupon payment to the next,
- $y$ is the money market equivalent yield.
The updated formula for the discounted bullet value of a bond with $N$ outstanding coupon payments is thus
$$ P = \frac{C + M+C_{N-1}}{1+y\frac{D_M}{360}} = \frac{C+M+C\sum_{i=1}^{N-1}\left( \prod_{j=1}^i \frac{D_{N-j}}{360}\right) y^i}{1+y\frac{D_M}{360}}. $$
The step-up nature of the cash flows naturally makes root-finding more difficult, but from experience the first "simplified" formula (which is fully valid for bonds in their ultimate or penultimate coupon period) will give a decent enough approximation for up to two years (which is the cut-off imposed by Bloomberg anyway).
Regional conventions still apply. CAD-denominated bonds, for example, will usually adjust to a $365$-day year instead of $360$. Also, unlike standard redemption yield, the convention is to roll any coupon dates forward to the nearest business day before computation.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.