All posts for the day March 21st, 2023

Making Money with Bonds

In the article on yield curve strategies in general, I mentioned the two broad ways to make money with bonds:

  1. Coupons (more generally, to incorporate synthetic strategies using, for example, swaps: interest payments)
  2. Price changes

The curriculum breaks down the expected return on a bond in this manner:

\begin{align}E\left(R\right) &≈ Coupon\ income\\
&\pm Rolldown\ return\\
&\pm E\left(∆Price\ from\ investor’s\ view\ of\ benchmark\ yields\right)\\
&\pm E\left(∆Price\ from\ investor’s\ view\ of\ yield\ spreads\right)\\
&\pm E\left(∆Price\ from\ investor’s\ view\ of\ currency\ value\ changes\right)

We’ll use this breakdown later in this article.

Earning a Return with a Static Yield Curve

First, a couple of calculations, then some theory.

Suppose that today’s yield curve looks like this:

Maturity, Years Par Rate Spot Rate Forward Rate
1 2.220% 2.220% 2.220%
2 2.521% 2.525% 2.831%
3 2.799% 2.810% 3.382%
4 3.057% 3.078% 3.887%
5 3.296% 3.331% 4.348%
6 3.518% 3.570% 4.774%
7 3.722% 3.794% 5.150%
8 3.912% 4.008% 5.516%
9 4.087% 4.209% 5.836%
10 4.249% 4.401% 6.139%

(OK, technically it’s three yield curves.)

You buy a 10-year bond that pays a 4% coupon annually.  The yield on that bond is 4.249%, as the table above attests.  You hold that bond for one year, then sell it.  If the yield curve remains static for that year, then the yield on the bond when you sell it will be 4.087%: it will be a 9-year bond at that point.  The price at which you buy the bond is:

\[FV = 1,000\]

\[PMT = 40\]

\[i = 4.249\%\]

\[n = 10\]

\[Solve\ for\ PV = -980.05\]

The price at which you sell the bond is:

\[FV = 1,000\]

\[PMT = 40\]

\[i = 4.087\%\]

\[n = 9\]

\[Solve\ for\ PV = -993.56\]

Your holding period return is:

\[HPR = \frac{993.56 – 980.05 + 40}{980.05} = 5.459\%\]

Broken down according to our expected return formula, above:

\[Coupon\ return = \frac{40}{980.05} = 4.081\%\]

\[Rolldown\ return = \frac{993.56 – 980.05}{980.05} = 1.378\%\]

\[E\left(\%∆Price\ from\ investor’s\ view\ of\ benchmark\ yields\right) = 0\%\]

\[E\left(\%∆Price\ from\ investor’s\ view\ of\ yield\ spreads\right) = 0\%\]

\[E\left(\%∆Price\ from\ investor’s\ view\ of\ currency\ value\ changes\right) = 0\%\]

\[HPR = 4.081\% + 1.378\% + 0\% + 0\% + 0\% = 5.459\%\]

Suppose instead that, noting that your holding period is one year, you buy a 1-year bond paying an annual coupon of 3%.  The price when you buy the bond is 1,007.63 (you should verify this on your calculator), and 1,000 at maturity.  Your holding period return is:

\[HPR = \frac{1,000.00 – 1,007.63 + 30}{1,007.63} = 2.220\%\]

which is exactly the 1-year YTM.

This illustrates one strategy that you can employ when you think that the yield curve will be static for your expected holding period; it’s called riding the yield curve.

Static Yield Curve Strategies

Amongst the strategies that you can employ when you think that the yield curve will remain static are:

  • Buy-and-hold
  • Rolling down (or riding) the yield curve
  • Carry trade
  • Long position in bond futures
  • Receive fixed, pay floating swap
  • Selling convexity


While this is listed as a static yield curve strategy, as far as I can tell it’s more a properly a whatever-happens-to-the-yield-curve (or a who-cares-what-happens-to-the-yield-curve?) strategy.  You buy some bonds and hold them to maturity.  What happens to the yield curve doesn’t matter (unless you’re Silicon Valley Bank, but that’s a topic for an entirely different article), because the bond will be worth par at the end no matter what.  (OK: technically, what happens to the yield curve does matter a little if the bond pays coupons and you plan to reinvest those coupons.  But that’s not likely to have a huge impact on your overall return.  Furthermore, if that’s our concern, we’d prefer a buy-and-hold strategy when rates are rising, so that our reinvestment income increases.)

The only reason I can imagine that this is included under the rubric of static yield curve strategies is for comparison with other strategies in that category.  I believe that it’s unlikely that you’d see an exam question in which the correct answer to the question of which strategy to use with a static yield curve will be buy-and-hold.  Bear it in mind, of course, but don’t dwell on it.


Suppose that you have a 2-year holding period.  You buy a 2-year par bond (with a coupon rate of 2.521%, paid annually) and hold it for 2 years.  If the yield curve remains static, then in one year when you get a coupon payment of 25.21, you’ll reinvest it for one year at 2.220% (the prevailing 1-year rate).  Your holding period return is:

\[HPR = \frac{1,000.00\ – 1,000.00 + 25.21\left(1.0222\right) + 25.21}{1,000.00} = 5.0980\%\]

The effective annual return is:

\[EAR = \left(1 + HPR\right)^{1/n}\ – 1 = 1.050980^{1/2}\ – 1 = 2.5173\%\]

Note that your effective annual return is less than your original YTM of 2.521%.  Why?  Because the reinvestment rate on the coupon you received after 1 year was less than your original YTM.

Rolling Down (Riding) the Yield Curve

When you expect the yield curve to remain static, then the duration of your portfolio matters very little (as the yield change will be only what exists in the current yield curve, which will likely be small, so the price change from the pull-to-par (shortening the maturity) will likely outweigh the price change from duration).  To take advantage of that fact, if the yield curve is normal (i.e., upward sloping), you can purchase bonds whose maturity is longer than your expected holding period, with the intention of selling those bonds at the end of the holding period.  The upward sloping yield curve ensures that you will be selling the bonds at a lower yield than the yield at which you buy them, and the longer maturity on the bonds will likely be accompanied by a higher coupon rate, both of which should enhance your return.

This strategy requires that you have some scope to increase the duration of your portfolio, possibly significantly, so it may not be practical in a portfolio that has tight restrictions on duration (e.g., that the portfolio duration may not differ from the benchmark duration by more than, say, 0.25 years).


Suppose that you have a 2-year holding period.  You buy a 10-year par bond (with a coupon rate of 4.249%) and hold it for 2 years.  If the yield curve remains static, then in one year when you get a coupon payment of 42.49, which you’ll reinvest for one year at 2.220%.  At the end of two years, assuming a static (stable) yield curve, you’ll sell the (now 8-year) bond at a yield of 3.912%: the price will be calculated as:

\[FV = 1,000\]

\[PMT = 42.49\]

\[i = 3.912\%\]

\[n = 8\]

\[Solve\ for\ PV = -1,022.77\]

Your holding period return is:

\[HPR = \frac{1,022.77 – 1,000.00 + 42.49\left(1.0222\right) + 42.49}{1,000.00} = 10.8695\%\]

The effective annual return is:

\[EAR = \left(1 + HPR\right)^{1/n}\ – 1 = 1.108695^{1/2}\ – 1 = 5.2946\%\]

Notice the substantial increase in total return of this strategy compared to buying a 2-year bond: 5.2946% vs. 2.5173%.  The increase comes from a higher coupon as well as the price increase going from a yield of 4.249% to a yield of 3.912%.  This change in yield is the origin of the the terms rolling down the yield curve and riding the yield curve.  This approach would be notably less beneficial when the yield curve is flat or inverted.  Nobody wants to roll up the yield curve.

Carry Trade

Carry trade involves much the same aspects as riding the yield curve: you purchase a bond with a longer maturity than your expected holding period, sell it at the end of your holding period, and earn the ensuing coupon payments plus the price change (which you hope is appreciation).  What distinguishes carry trade from simply riding the yield curve is the way the investment is financed.  When you ride the yield curve, it is understood that you purchase the bonds involved by using funds (i.e., cash) that are in the portfolio.  For a carry trade, the purchase is financed essentially by borrowing the funds for the holding period.  Often this borrowing is done using a repurchase agreement or repo: a contract in which you sell a security and and agree to repurchase it at a given (higher) price in the future, most commonly, the next day (an overnight repo).  Although the legal structure of a repo is that of a sale and repurchase, the economic substance of the agreement is that it is a collateralized loan: the difference between the repurchase price and the original sale price is the interest on the loan.  Carry trade is profitable if the coupon and price change on the long-term bond are greater than the cost of the financing.  Note that if the expected holding period is longer than one day, the overnight repo could simply be rolled over every day for the entire holding period.

Although an overnight repo is a common form of financing the purchase of a long-term bond for a carry trade, it is by no means the only way that a carry trade can be financed.  I’ll show you an example in which the financing will involve simply selling (issuing) a bond whose maturity is your expected holding period.  It will be a lot easier to analyze than rolling over an overnight repo every day for two years.


A 2-year carry trade could be achieved by selling a 2-year bond and using the proceeds to buy a 10-year bond.  The holding period cost, as we saw in the buy-and-hold example, above, would be 5.0980%, while the holding period (gross) return, as we saw in the rolling-down-the-yield-curve example, above, would be 10.8695%, giving a net holding period return of:

\[HPR = 10.8695\% – 5.0980\% = 5.7716\%\]

The effective annual net return is:

\[EAR = \left(1 + HPR\right)^{1/n}\ – 1 = 1.057716^{1/2}\ – 1 = 2.8453\%\]

Long Position in Bond Futures

Taking a long position in futures (or forward) contracts is much the same as purchasing the underlying asset.  Indeed, for assets that don’t generate cash flows (and don’t have storage costs or convenience yields), a long futures position is equivalent to purchasing the asset.  For bond futures, it’s a bit different from purchasing actual bonds because the futures contracts don’t pay coupons, whereas the actual bonds do.  Therefore, whereas a rolling-down-the-yield-curve strategy (above) will earn both the coupon payments and any price appreciation on the bonds, a long position in a bond futures contract will gain only the price appreciation.  Against that, purchasing the bond requires an initial investment, whereas taking the long position in a futures contract does not.  (It does, however, require that you post a margin, which is often in the form of short-term risk-free (e.g., government) securities.  Therefore, the return you earn on the margin account will be a short-term risk-free rate, so there is an opportunity cost to consider.)

Taking the long position in bond futures will increase the duration of your fixed income portfolio.  However, if your view is that the yield curve will remain static, that increased duration will not be an issue as far as your return is concerned.  It may be an issue if your portfolio has a duration constraint (as was mentioned in the rolling-down-the-yield-curve strategy, above).


Suppose that you take the long position in a 2-year government bond futures contract.  The (theoretical) underlying is a 10-year, option-free, 100,000-par bond that pays an annual coupon of 6%.  The future price is 108,703.10.  (I got this by discounting each of the payments on the bond at their appropriate spot rates, totting them up, subtracting the present values of the first two coupons (which we won’t receive as we don’t own the bond), then increasing that present value by the 2-year spot rate for two years.  You needn’t worry about the details; on the exam they’ll give you the price.)

Two years from today, the futures contract matures and the mark-to-market price of the underlying (now an 8-year bond) is 114,397.90.  The holding period return is:

\[HPR = \frac{114,397.90}{108,703.10}\ – 1 = 5.2389\%\]

The effective annual return is:

\[EAR = \left(1 + HPR\right)^{1/n}\ – 1 = 1.052389^{1/2}\ – 1 = 2.5860\%\]

Receive Fixed, Pay Floating Swap

You’ll recall from Level II that swaps are priced (i.e., the fixed rate is calculated) to prevent arbitrage: the underlying assumption, it turns out, is that interest rates will evolve according to the (1-period) forward curve.  In this situation, that assumption means that while today the 1-period rate is 2.220%, the expected 1-year rate starting one year from today is 2.831%, the expected 1-year rate starting two years from today is 3.382%, and so on.  (Look at the forward curve in the table at the top of this article.)  When the yield curve slopes upward, the fixed rate will be higher than the (initial) floating rate.  (Indeed, it should be the par rate for the tenor (maturity) of the swap).  Furthermore, if the yield curve remains static, then rates won’t evolve according to the forward curve, and the fixed-rate receiver will make out like a bandit.


Suppose that you enter into a 2-year, annual pay, plain vanilla interest rate swap as the fixed rate receiver / floating rate payer.  Based on the yield curve at the top of this article, the fixed rate should be 2.521%, and the first year’s floating rate will be 2.220%.  At the end of the first year, your net payment will be a receipt of 0.301% (= 2.521% − 2.220%) times the notional value of the swap.  Should the yield curve remain static, then the net payment at the end of the second year will likewise be a receipt of 0.301% times the notional.

Selling Convexity

Convexity is useful when yields change: the more convex your portfolio, the greater the price increase when yields fall, and the smaller the price decrease when yields rise.  And, like most things that are useful, convexity costs money; a more convex portfolio is generally more expensive than a less convex, but otherwise comparable (e.g., identical duration), portfolio.

Convexity is not particularly useful, however, when yields don’t change.  When ∆y = 0, it doesn’t matter what the portfolio’s duration and convexity are: the price isn’t going to change (apart from the pull to par as time passes).  Therefore, a sound strategy when you expect the yield curve to be static is to sell convexity.  There are various ways to do this.  You can:

  • Shorten the maturity of the bonds in your portfolio.  Shorter maturity bonds generally have lower convexity than longer maturity bonds.  However, with an upward sloping yield curve, shorter maturity bonds will also have lower yields than longer maturity bonds, so you may lose more than you gain by adopting this approach.
  • Replace straight bonds with callable bonds, or prepayable bonds (such as MBSs) which have negative convexity at lower yields, and less convexity than straight bonds even at moderate yields.
  • Sell call options and/or put options on bonds.  Call options and (out-of-the-money) put options have positive convexity, so selling them will reduce the convexity of the portfolio.  Call options increase the duration of the portfolio while put options decrease the duration.  By selling them in an appropriate mix, you can reduce the portfolio’s convexity while keeping its duration unchanged, or lengthening the duration, or shortening the duration.


(Note: you won’t be doing any of these calculations on the exam; you’ll simply have to know that to sell convexity you sell some calls and sell some puts.  I’m including them simply to give you an understanding of how selling convexity works; i.e., how you figure out how many calls and puts to sell.  If you don’t care about the calculations, then 1) shame on you, and 2) skip this section.)

You own a portfolio with a market price of AUD 23,498,000, a modified duration of 8.32 years, and a (modified) convexity of 80.83 years2.  You believe that the yield curve will remain unchanged for at least the next 6 months, so you decide to sell off half of your (money) convexity.  Your investment mandate requires you to match the benchmark duration of 8.20 years within ±0.25 years, so you decide to leave the duration of your portfolio unchanged.  You have available these options on 20-year government bonds:

Type Strike Price Duration, Years
Convexity, Years2
Call AUD 1,275.00 AUD 81.50 108.8 8,327.8
Put AUD 1,275.00 AUD 70.38 −102.4 5,943.4

How many options should you buy/sell to achieve your goal?  (Assume options can be bought/sold only in lots of 100.)  How much will it cost?

Both calls and puts have positive convexity, so we’re going to be selling them.  First, we need to determine the ratio of puts to calls that we will sell.  We want to keep the duration of the portfolio unchanged, so the net money duration of the options must equal zero:

\[\#\ calls × call\ value × call\ duration + \#\ puts × put\ value × put\ duration = 0\]

\[\#\ calls × AUD\ 81.50 × 108.8\ years + \#\ puts × AUD\ 70.38 × -102.4\ years = 0\]

\[\#\ calls × 8,867.20 = \#\ puts × 7,206.91\]

\[\#\ puts = \frac{\#\ calls × 8,867.20}{7,206.91} = \#\ calls\left(\frac{8,867.20}{7,206.91}\right) = 1.2304\left(\#\ calls\right)\]

Therefore, for each call we sell, we need to sell 1.2304 puts to leave the duration unchanged.  We want to sell off half of the money convexity. so the calculation is:

\[\#\ calls × call\ value × call\ convexity + \#\ puts × put\ value × put\ convexity\\
= \frac12 × portfolio\ value × portfolio\ convexity\]

\[\#\ calls × AUD\ 81.50 × 8,327.8\ years^2 + \#\ puts × AUD\ 70.38 × 5,943.4\ years^2\\
= \frac{AUD\ 23,498,000 × 80.83\ years^2}{2}\]

\[\#\ calls\left(678,715.7\right) + \left(1.2304 × \#\ calls × 418,296.5\right) = 949,671,670\]

\[\#\ calls\left[678,715.7 + \left(1.2304 × 418,296.5\right)\right] = 949,671,670\]

\[\#\ calls\left(1,193,377\right) = 949,671,670\]

\[\#\ calls = \frac{949,671,670}{1,193,377} = 795.8\]

\[\#\ puts = 1.2304 × 795.8 = 979.1\]

Rounding to the nearest 100 options, we should sell 800 calls and 1,000 puts.  Because of the rounding, we’ll change the money duration slightly and be off a little on the money convexity:

\begin{align}∆money\ duration &= -800 × AUD\ 81.50 × 108.8\ years\\
&\ \ \ \ \ -\  1,000 × AUD\ 70.38 × \left(-102.4\ years\right)\\
&= -113,152\ AUD-years

\begin{align}∆money\ convexity &= -800 × AUD\ 81.50 × 8,327.8\ years^2\\
&\ \ \ \ \ -\ 1,000 × AUD\ 70.38 × 5,943.4\ years^2\\
&= -961,269,052\ AUD-years^2

This decreases the money duration by only 0.06% (0.0048 years, which is negligible), and reduces the money convexity by 50.61% (which is quite close to the 50% reduction we sought).