시작하기무료로 시작하기

컨벡서티와 요인 간의 그래프 그리기

특정 요인이 채권의 컨벡서티에 미치는 영향을 확인하는 또 다른 방법은, 그 요인과 채권 컨벡서티를 직접 그래프로 그려보는 것입니다.

이 연습 문제에서는 만기 20년, 쿠폰 6%, 액면가 USD 100인 채권의 가격을 계산한 뒤, 다양한 수익률 수준에서 이 채권의 컨벡서티를 구해 보겠습니다.

numpy, numpy_financial, pandas, 그리고 matplotlib은 각각 np, npf, pd, plt로 이미 불러와 두었습니다.

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

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

강의 보기

연습 안내

  • 0부터 20까지 0.1 간격의 채권 수익률 배열을 만들고, 이를 pandas DataFrame으로 변환하세요.
  • 채권 가격을 구하고, 수익률을 위아래로 이동시켜 다시 가격을 산출한 다음, 채권의 컨벡서티를 계산하세요.
  • x축에는 채권 수익률, y축에는 컨벡서티를 두고 그래프를 그리세요.

실습형 인터랙티브 연습

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

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

# Find price of bond, reprice for higher and lower yields, calculate convexity
bond['price'] = -npf.pv(rate=bond['____'] / 100, nper=____, pmt=____, fv=____)
bond['price_up'] = ____
bond['price_down'] = ____
bond['convexity'] = (bond['____'] + bond['____'] - 2 * bond['____']) / (bond['____'] * 0.01 ** 2)

# Create plot of bond yields against convexity, add labels to axes, display plot
plt.plot(bond['____'], bond['____'])
plt.xlabel('Yield (%)')
plt.ylabel('Convexity')
____
코드 편집 및 실행