Bond crash/course: Swap pricing

Once again, I need to talk about something else before I discuss swap spreads. I could skip over this, but the details are actually somewhat interesting. And the math below is not as bad as it looks. Really.

To understand swap spreads, we need to understand a little bit about swap pricing. So here we go.

Forget about LIBOR for a moment. Suppose that you and I decide to enter an interest rate swap where I pay you a variable rate based on short-term Treasuries. What fixed rate should you offer me in exchange?

To answer this, you have to figure out a fair value for the variable payments I am offering you, and then you have to offer me a fair fixed rate in exchange. But what is “fair”? Let’s make some simplifying assumptions; we can revisit them later.

Assumption #0: We will use Treasury yields as our reference for my variable payments.

Assumption #1: You and I trust each other completely — at least for this transaction — and therefore our respective credit ratings do not matter. That is, we think of each other as having the same perfect credit as the U.S. Treasury.

Assumption #2: The interest rate that we each expect/demand on cash tied up for time t is equal to the zero-coupon Treasury yield of maturity t. That is, we are indifferent to holding cash for t years versus buying a zero-coupon t-year Treasury at market prices.

Let y(t) represent the zero-coupon yield curve for Treasuries. (Note that this is not the yield curve you see on Bloomberg etc. We will come back to this subtlety later.) y(t) is simply the yield of a zero-coupon Treasury bond that matures in t years.

Suppose I offer you an IOU for $1, payable at time t. How much would you give me for that IOU today? Because you trust me completely (Assumption #1), my IOU is equivalent to a $1 zero-coupon t-year Treasury. And since that is a fine alternative for your cash (Assumption #2), you would buy my IOU for the same price as an equivalent zero-coupon Treasury. Call this price P(t), and recall:

P(t) = 1/(1 + y(t))t

This is the fair value — that is, the Present Value, or PV — for a future $1 offered by either of us to the other. It is also called the discount factor, because it describes the “discount” at which each future dollar trades today.

Now, I am offering you variable-rate future payments. Suppose I structure my offer like this. First, at time t1, I will pay you interest from time 0 (i.e., now) through t1. At time t2, I will pay you interest from time t1 through t2. At time t3, I will pay you interest from time t2 through t3. And so on, all the way through some ending time tN.

Here, “interest” means zero-coupon Treasury yield. For example, if I say, “At time t = 5 years, I will pay you interest from time 4 years through 5 years”, what I mean is this: We will wait for four years, then we will look at the yield on a then-current 1-year zero-coupon Treasury, then we will wait a year, and then I will pay you that yield.

(Assumption #3: Our contract is structured this way; i.e., the interval between each payment equals the maturity of the reference instrument.)

From here on, we will assume that our “notional value” is $1 so I do not have to carry a constant through all of the equations. This is a trivial assumption, since everything can just be multiplied by the notional value; if you prefer, think of all interest payments, PVs, etc. below as being “per dollar of notional value”.

Let Y(T, t) represent the yield you would earn if you waited until T and then bought a zero-coupon Treasury maturing at t. That is, if you waited T years, and then you looked at the market price on a then-current zero-coupon Treasury with remaining maturity t-T, and then you calculated the yield from that price and maturity, you would get Y(T, t). Note that y(t), defined above, equals Y(0, t).

In terms of Y, how much am I promising to pay you between (for example) t1 and t2? Well, $1 invested in a Treasury for that interval would grow to become:

(1 + Y(t1, t2))t2-t1

But I only offered to pay the interest, not the principal, on our notional $1. So we need to subtract 1:

My payment at t2 = (1 + Y(t1, t2))t2-t1 – 1

This is the amount I will pay you at time t2. Our next step is to calculate the Present Value of this payment. Trivial, right?

Yes, except for one little catch: We do not know Y(T, t) until after T years have elapsed. But we are trying to price the swap today.

Assumption #4: The zero-coupon yield curve embodies rational expectations for future short-term interest rates.

We assume that investors are indifferent between (e.g.) buying a 2-year Treasury today, and buying a 1-year Treasury today and then rolling the proceeds into another 1-year Treasury a year from now. More generally, we assume that the market tries to make all zero-coupon Treasury yields obey:

(1 + y(t))t = (1 + y(T))T * (1 + Y(T, t))T-t

This equation is simpler than it looks. It just says if you buy one zero-coupon Treasury with maturity T and then roll the proceeds into another with maturity t−T, you wind up with the same money as if you bought a single Treasury with maturity t.

Since we know y(t) from the zero-coupon yield curve, this equation lets us solve for the market’s expectation for Y(T, t). Defined in this way, Y(T, t) is called the forward rate. For fixed T, Y(T, t) defines the forward yield curve at time T.

Assumption #4 lets us use the yield curve today to calculate the market’s estimate for my variable payment in the future.

Assumption #5: The market’s estimate of my future payment is my future payment. (For purposes of pricing the swap.)

Solve for Y(T, t) in terms of y(t) and substitute to find:

My payment at t2 = [(1 + y(t2))t2 / (1 + y(t1))t1] – 1

Multiply this future payment by the discount factor for t2; that is, divide by (1 + y(t2))t2. At last, we have the Present Value of that future payment:

PV of my payment at t2 = 1/(1 + y(t1))t1 – 1/(1 + y(t2))t2

(Hm… Looks familiar…) Repeat the same calculation for my payments at t3, t4, etc. And then observe something remarkable:

PV of my payment at t2 = P(t1) – P(t2)

PV of my payment at t3 = P(t2) – P(t3)

PV of my payment at t4 = P(t3) – P(t4)

…and so forth.

That is, the Present Value of my payment at t2 just equals the present value of an IOU promising $1 at t1, minus the present value of an IOU promising $1 at t2. Put another way, when I offer today to pay you the future rate of interest from t1 to t2, it is exactly the same as agreeing today that I will give you $1 at t1 and you will give it back at t2.

This also works for the payment at t1. The present value of that payment equals P(0) – P(t1). P(0) is the present value of a $1 IOU payable immediately; which is to say, $1. So the PV of my first payment is 1 – P(t1).

Now, to calculate the Present Value of all of my future payments combined, we just have add up all of these PVs. But notice that we get a lovely telescoping sum where almost all of the terms cancel out. The punchline:

PV of all of my future payments = 1 – P(tN)

Yes, really. Subject to these assumptions, the Present Value of the variable side of the swap does not depend on the number of payments. No matter how many payments I offer, their combined Present Value is always 1 minus the PV of $1 at the end of the total maturity of the swap.

Believe it or not, this underlies the rationale for comparing swap rates to Treasury yields. We will cover that topic, as well as completing our pricing analysis…

Next time: Swap spreads. And I mean it.

1 comment to Bond crash/course: Swap pricing

Leave a Reply