볼록성에 영향을 주는 요인

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

Joshua Mayhew

Options Trader

볼록성은 이점입니다

  • 수익률이 내려가면 가격은 더 많이 오르고, 올라가면 덜 내립니다

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

볼록성 탐구

  • 두 채권의 볼록성을 직접 비교합니다
  • 요인과 볼록성의 그래프를 그립니다
  • 가격/수익률 곡선의 굴곡을 직접 확인합니다
Python으로 배우는 채권 가치평가와 분석

쿠폰 vs. 볼록성

  • 만기 10년, 수익률 5% 채권: 첫 번째는 무쿠폰, 두 번째는 쿠폰 10% 지급
price_1 = -npf.pv(rate=0.05, nper=10, pmt=0, fv=100)

price_up_1 = -npf.pv(rate=0.06, nper=10, pmt=0, fv=100)
price_down_1 = -npf.pv(rate=0.04, nper=10, pmt=0, fv=100)
convexity_1 = (price_down_1 + price_up_1 - 2 * price_1) / (price_1 * 0.01 ** 2)
price_2 = -npf.pv(rate=0.05, nper=10, pmt=10, fv=100)
price_up_2 = -npf.pv(rate=0.06, nper=10, pmt=10, fv=100)
price_down_2 = -npf.pv(rate=0.04, nper=10, pmt=10, fv=100)
convexity_2 = (price_down_2 + price_up_2 - 2 * price_2) / (price_2 * 0.01 ** 2)
print("Low Coupon Bond Convexity: ", convexity_1)
print("High Coupon Bond Convexity: ", convexity_2)
Low Coupon Bond Convexity:  99.89
High Coupon Bond Convexity:  64.09
Python으로 배우는 채권 가치평가와 분석

만기 vs. 볼록성

bond_yields = np.arange(0, 20, 0.1)
bond = pd.DataFrame(bond_yields, columns=['yield'])
bond['price_10y'] = -npf.pv(rate=bond['yield'] / 100, 
    nper=10, pmt=0, fv=100)
bond['price_30y'] = -npf.pv(rate=bond['yield'] / 100, 
    nper=30, pmt=0, fv=100)
plt.plot(bond['yield'], bond['price_10y'])
plt.plot(bond['yield'], bond['price_30y'])
plt.xlabel('Yield (%)')
plt.ylabel('Price (USD)')
plt.title('Bond Maturity vs. Convexity')
plt.legend(["10 Year Bond", "30 Year Bond"])
plt.show()

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

수익률 vs. 볼록성

bond_yields = np.arange(0, 20, 0.1)
bond = pd.DataFrame(bond_yields, columns=['bond_yield'])

bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=10, pmt=5, fv=100)
bond['price_up'] = -npf.pv(rate=bond['bond_yield'] / 100 
    + 0.01, nper=10, pmt=5, fv=100)
bond['price_down'] = -npf.pv(rate=bond['bond_yield'] / 100 
    - 0.01, nper=10, pmt=5, fv=100)
bond['convexity'] = (bond['price_down'] + bond['price_up'] 
- 2 * bond['price']) / (bond['price'] * 0.01 ** 2)
plt.plot(bond['bond_yield'], bond['convexity'])
plt.xlabel('Yield (%)')
plt.ylabel('Convexity (%)')
plt.title("Convexity Of 10 Year Bond 5% Annual Coupon")
plt.show()

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

요약

  • 양의 볼록성은 이점입니다:
    • 수익률 상승 시 손실이 적고, 하락 시 이익이 큽니다

 

  • 다음 경우 볼록성이 커집니다:
    • 만기가 길수록
    • 쿠폰이 낮을수록
    • 수익률이 낮을수록
Python으로 배우는 채권 가치평가와 분석

연습해 봅시다!

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

Preparing Video For Download...