Bond prices and spot/discount factors

crablegs

Member
Hello. It looks like we compute discount factors using bond prices and the maturing par value and we compute bond prices by discounting the cash flows using discount factors (or spot which are derived from discount factors). Isn't this going in a loop?

Sounds stupid, but in real life, what information gets provided first? Discount factors or bond prices?

Thx,

Glen
 

David Harper CFA FRM

David Harper CFA FRM
Subscriber
Glen,

I can't speak to real life necessarily (I don't get out much!), but the way we learn it in the FRM is (per Tuckman):

* We start with observed (traded) prices; e.g., US Treasury bonds in the case of a theoretical zero/spot rate curve
* We infer the discount factors from the spot (zero) rates: to your point, a discount factor is implied by a spot rate and vice-versa. (reliance on zero rates and "law of one price" allows for bootstrapping)
* Maybe use curve fitting to "fill in the blanks" in between the limited number of discount factors that will incompletely characterize the whole curve

(discount function = set of discount factors. The great thing about a discount factor is that it builds-in the compound frequency. I'd be interested to know if there are any 3rd party sources of discount factors? ... I am unaware if it's possible to start with them)

actually, come to think of it (I may be wrong, this just occurred to me), i think a discount factors has slightly higher information content than a price because it impounds compound frequency, whereas a price can give rise to multiple discount factors according to the discount frequency

Hope that helps, Thanks, David
 

surojitpalb

Member
@Nicole Seaman @David Harper CFA FRM
I was trying the question above and i was correct in finding the first answer by the formula:
d(0.5) = 0.9850, d(1.0) = 0.9720
$99.98=d(0.5)*$101.50, so that d(0.5) = 99.98/101.50 = 0.9850

but while finding the second term i.e. d(1); I cannot understand why are we taking the former discount factor to calculate it when its clearly written that those are two different coupons. Why cant I go with the same formula as of above to find the value of d(1) ?
$101.11 = d(0.5)*$2.00 + d(1.0)*$102.00, so that d(1.0) = [101.11 - (0.9850 * 2.0)]/102.00 =
0.9720

Untitled.png
 

Matthew Graves

Active Member
Subscriber
@surojitpalb
Not sure I fully understand your question. The second bond has 1 year to maturity and pays semi-annual, so there is an additional cash flow in 6 months time (t=0.5) which needs to be taken into account. If you use the formula from the d(0.5) calculation, where Bond 1 does not have a coupon prior to the maturity date, you will be ignoring the PV of the extra cash flow in your calculation of d(1) from Bond 2.

In fact, the answers to this question are not great since once you have d(0.5) (which is easy to calculate) you eliminate any possibilities other than B! No need to bother calculating d(1)!
 

srini

New Member
Hi @David Harper CFA FRM, is the spot rate calculated using r = 2( 1/( d(0.5)^2(0.5) ) -1 ) is same as boot strapping spot rate (this isn't pointing to a video) ? what is the difference between these two? Could you please clarify?
 
Last edited by a moderator:

Matthew Graves

Active Member
Subscriber
The relationship between DF and r for non-continuous compounding is:

gif.latex


Where n is the compounding and T is in years. E.g. n=2 for semi-annual and r is always reported as annualised. There is a small error in your formula as you have DF^(-nt) instead of DF^(1/nt).

Typically DFs are derived from a zero rate curve which itself has been derived by stripping (or bootstrapping) from available market prices. To answer your question, yes r would be the zero-rate for time T.
 

David Harper CFA FRM

David Harper CFA FRM
Subscriber
Thank you @Matthew Graves ! Hi @ksrini FYI, your video did not display ... I copied a snapshot of my version of Hull's Table 4.3 and 4.4; the same one-sheet XLS is here at https://www.dropbox.com/s/orplo5mp75dsasx/0411-bootstrap.xlsx?dl=0 ... it illustrates the bootstrap. To answer your question:
  • @Matthew Graves formula nicely shows the directly relationship between the spot (zero) rate and the discount factor. The discount factor is more "efficient" because it unequivocally multiplies by the future cash to give us the present value, embedding both the spot rate and its compound frequency. Whereas, if we use the spot rate (aka, 3.0 years at 5.0% per annum) we actually need the compound frequency to exactly compute the present value. Aside from the compound frequency nuance, as it were, both the spot and DF link a single future cash flow to its present value.
  • Bootstrapping is related but, as a verb, it refers to using already-known spot rates (or already-known discount factors) to solve for an unknown spot rate (or discount factor). As below, which is exactly Hull's example, the first three step is are to use the bond prices to infer the spot rates (he could have instead inferred discount factors). Then the 4% coupon 1.5 year bond employs a bootstrap: because its price is $96.00, it must be true that $96.00 = $4.00*df(0.5) + $4.0*df(0.5) + $104*df(1.5) or equivalently (under continuous compounding) $96.00 = $4.00*exp(-10.469%*0.5) + $4.0*exp(10.536%*1.0) + $104*exp(R*1.5), and we can solve for the 1.5-year spot rate (see XLS). If we did not know the 0.5 and 1.0 year spot rates, then we'd have a problem due to one function and three unknowns :eek: ... so bootstrap is a verb referring to a method that assists in retrieving a spot rate (or discount factor, as they are virtually synonymous). I hope that helps!
The XLS is here https://www.dropbox.com/s/orplo5mp75dsasx/0411-bootstrap.xlsx?dl=0

0411-bootstrap-hull2.png
 
Top