시작하기무료로 시작하기

수익률에 따른 채권 가격 그래프 그리기

채권 가격을 수익률에 대해 그래프로 나타내면, 시장의 다양한 금리 수준에서 개별 채권이나 채권 포트폴리오에 어떤 일이 일어날지 살펴보는 데 도움이 돼요.

이번에는 만기가 다른 두 채권에 대해 수익률과 가격의 관계를 그려 보겠습니다. 이를 위해 추가 채권마다 pandas DataFrame에 컬럼을 하나씩 더 만들어 줄 거예요. 고려할 두 채권은 모두 쿠폰 5%를 지급하지만, 만기는 5년물과 10년물로 설정해 그려 보겠습니다.

numpy, numpy_financial, pandas, matplotlib는 각각 np, npf, pd, plt로 이미 임포트되어 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 채권 가치평가와 분석

강의 보기

연습 안내

  • 0부터 20 미만까지 0.1 간격으로 채권 수익률 배열을 생성하세요.
  • 이 배열을 pandas DataFrame으로 변환하고 컬럼 이름을 bond_yield로 지정하세요.
  • 두 채권(5년물, 10년물)에 해당하는 컬럼을 각각 추가하고, 주어진 수익률 수준에서의 가격을 구하세요.
  • 이 채권들을 그래프로 그리고, x축 라벨은 Yield (%), y축 라벨은 Bond Price (USD)로 설정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create an array of bond yields and convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])

# Add columns for different bonds
bond['bond_price_5Y'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=____, pmt=____, fv=____)
bond['bond_price_10Y'] = -npf.pv(rate=____, nper=____, pmt=____, fv=____)

# Plot graph of bonds
plt.plot(bond['bond_yield'], bond['bond_price_5Y'], label='5 Year Bond')
plt.plot(____, ____, label='10 Year Bond')
plt.xlabel(____)
plt.ylabel(____)
plt.legend()
plt.show()
코드 편집 및 실행