-
Return and Variance 7
-
Lecture1.1
-
Lecture1.2
-
Lecture1.3
-
Lecture1.4
-
Lecture1.5
-
Lecture1.6
-
Lecture1.7
-
-
Solving Equations 5
-
Lecture2.1
-
Lecture2.2
-
Lecture2.3
-
Lecture2.4
-
Lecture2.5
-
-
Capital Allocation Line 6
-
Lecture3.1
-
Lecture3.2
-
Lecture3.3
-
Lecture3.4
-
Lecture3.5
-
Lecture3.6
-
-
Diversification 3
-
Lecture4.1
-
Lecture4.2
-
Lecture4.3
-
-
Investment Sets 3
-
Lecture5.1
-
Lecture5.2
-
Lecture5.3
-
-
Portfolios 7
-
Lecture6.1
-
Lecture6.2
-
Lecture6.3
-
Lecture6.4
-
Lecture6.5
-
Lecture6.6
-
Lecture6.7
-
-
Capital and Security Market Lines 3
-
Lecture7.1
-
Lecture7.2
-
Lecture7.3
-
-
Arbitrage 3
-
Lecture8.1
-
Lecture8.2
-
Lecture8.3
-
-
Dividend Discount Model 2
-
Lecture9.1
-
Lecture9.2
-
-
Fixed Income 4
-
Lecture10.1
-
Lecture10.2
-
Lecture10.3
-
Lecture10.4
-
-
Duration and Immunization 4
-
Lecture11.1
-
Lecture11.2
-
Lecture11.3
-
Lecture11.4
-
Yield Measures
There are two different yield measures to consider: Yield to Maturity and Realized Compound Yield. Yield to Maturity we have already seen in the Basic Finance course, it is the yield which discounts a bond’s cash flows back to the current price. The realized compound yield is the return an investor will receive if they reinvest all coupons.
A reminder, our YTM function was:
from scipy.optimize import fsolve
def value(r,price,fv,year,cr):
final_pay = fv/(1+r)**year
coupon_payment = (fv*cr)
annuity_value = coupon_payment*(1-(1+r)**(-year))/r
return annuity_value+final_pay-price
def findYield(price,fv,year,cr):
return fsolve(value, cr,(price,fv,year,cr))[0]
findYield(1141.40378526,1000,5,.05)
The realized return is really a lot easier, it is an equation that can be easily solved for.
Challenge
t
= FV
PV = Present Value
FV = Future Value
t = Periods
y = Realized Compound Yield
Solving for both yields with a 5 year 5% coupon bond with face value of 1000, and present value of 800….
print(findYield(800,1000,5,.05))
print((1000/800)**(1/5)-1)