Python으로 배우는 채권 가치평가와 분석
Joshua Mayhew
Options Trader
무이표채(제로 쿠폰) 가격 공식:
$PV = \frac{FV}{(1 + r)^n}$
이 식을 변형해 수익률 $(r)$을 구할 수 있습니다:
$FV = PV \times (1 + r)^n$
$ \frac{FV}{PV} = (1 + r)^n$
$ \sqrt[n]\frac{FV}{PV} = (1 + r)$
$ \sqrt[n]\frac{FV}{PV} -1 = r$
앞서 본 제로 쿠폰 채권을 거꾸로 계산해 봅시다:
이 채권의 수익률은 얼마일까요?
3년 만기 제로 쿠폰, 가격 USD 90.19, 액면가 USD 100:
$r = \sqrt[n]\frac{FV}{PV} -1$
ytm = (100 / 90.19) ** (1/3) - 1
print(ytm)
0.035
만기수익률은 ytm으로 표기합니다.
쿠폰 채권 공식:
$ PV = \frac{C}{(1 + r)^1} + \frac{C}{(1 + r)^2} + ... +\frac{C}{(1 + r)^n} + \frac{P}{(1 + r)^n}$
$ = \sum_{i=1}^n \frac{C}{(1 + r)^i} + \frac{P}{(1 + r)^n}$
이 식은 $r$에 대해 대수적으로 정리할 수 없습니다
시도-오차법으로 $r$을 찾습니다
npf.rate() 함수가 이렇게 동작합니다
앞서 본 쿠폰 지급 채권을 다시 보면:
만기수익률은 얼마일까요?
3년 만기, 연 3% 쿠폰, 가격 USD 97.22:
import numpy_financial as npf
npf.rate(nper=3, pmt=3, pv=-97.22, fv=100)
0.04
PV는 음수로 설정해야 합니다.
채권 가격은 우리가 지불하는 금액(음의 현금흐름)이기 때문입니다.
Python으로 배우는 채권 가치평가와 분석