Yield To Maturity Formula

5
Yield To Maturity Formula

description

Yield To Maturity Formula. Yield to Maturity Equation - Closed Form (started with a geometric series…). Calculate price of bond with par value of $1,000 to be paid in 10 years, a coupon of 10% and YTM of 12%. Assume coupons are paid semi-annually to bond holders: - PowerPoint PPT Presentation

Transcript of Yield To Maturity Formula

Page 1: Yield To Maturity Formula

Yield To Maturity Formula

Page 2: Yield To Maturity Formula

Yield to Maturity Equation - Closed Form (started with a geometric series…)

Calculate price of bond with par value of $1,000 to be paid in 10 years, a coupon of 10% and YTM of 12%.

Assume coupons are paid semi-annually to bond holders:

1) Determine number of coupon payments (2 per year for 10 years = 20)

2) Determine value of each coupon payment (divide coupon in half since semi-annual). Each payment will be $50 ($1000 * 0.05).

3) Determine the semi-annual yield: Like the coupon rate, the YTM of 12% must be divided by 2.

Page 3: Yield To Maturity Formula

YTM - Frequency Parameterized

Accounting for different payment frequencies:

Most bonds pay semi-annually but to make our formula more general we extend formula with parameter “F” below.

if a bond was paying annual coupons F = 1, quarterly = 4

Page 4: Yield To Maturity Formula

While more programmer friendly, what do we assume away with this formula?

• Assumes all intermediate flows are discounted at same rate (the YTM)

• A more general implementation is the “cash-flow series”

• A collection of individual cash-flows which can:– Support assigning different interest rates to individual cash-flows

– Represent changing principal amounts (e.g., for amortizing instruments)

– Support independent processing of individual cash-flows (e.g., date adjustments)

Page 5: Yield To Maturity Formula

Deliverables for next week:- Download the “living spec” prototype spreadsheet.- Build calculator class around PV function

- Implement the closed form equation- Calculate price from yield and price sensitivity to

yield change (first partial derivative) : “DV01” (dollar value of 1/100 of a percent)

- Download sample code to load bond data file - File access utility class in “SBB_util.*”

- Run your main() loading data.txt and call your executable from run.sh

- You will need to calculate number of periods… (download the SBB_date.* code)

• Output 3 rows of results 2 values per row to stdout:– “Price” “dv01” in each row separated by a space– Example: 100.123 .074 (in each row)