예상 가격 vs. 실제 가격 I
듀레이션을 사용해 다양한 수익률 수준에서 채권의 예상 가격을 그린 뒤, 이를 실제 채권 가격과 비교하면 듀레이션의 정확도를 시각적으로 파악할 수 있어요.
이번 연습에서는 먼저 채권의 듀레이션을 구하고, 서로 다른 수익률 수준에서의 채권 가격을 계산해 보겠습니다. 다음 연습에서는 듀레이션으로부터 예상 가격을 구하고 그 차이를 시각화할 거예요.
대상 채권은 만기 10년, 연 5% 쿠폰을 지급하고, 만기수익률(YTM)이 5%인 채권입니다.
numpy, numpy_financial, pandas, matplotlib는 각각 np, npf, pd, plt로 이미 임포트되어 있어요.
이 연습은 강의의 일부입니다
Python으로 배우는 채권 가치평가와 분석
연습 안내
- 채권의 듀레이션과 달러 듀레이션을 구하세요.
- 0부터 10까지 0.1 간격의 채권 수익률 배열을 만들고, 이를
bond_yield라는 이름의pandasDataFrame으로 변환하세요. - 각 수익률 수준에 해당하는 채권 가격을 담은
price열을 추가하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____
# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____
# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])
# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)