달러 컨벡서티와 채권 가격 예측

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

Joshua Mayhew

Options Trader

달러 컨벡서티

  • 컨벡서티 = 수익률 1% 변동 시 듀레이션의 % 변화

  • 달러 컨벡서티 = 수익률 1% 변동 시 듀레이션의 달러 변화:

$ \text{Dollar Convexity} = \text{Convexity} \times \text{Bond Price} \times 0.01^2$

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

달러 컨벡서티 예시

  • 만기 10년, 쿠폰 3%, 수익률 5%, 액면가 USD 100인 채권의 달러 컨벡서티는?
price = -npf.pv(rate=0.05, nper=10, pmt=3, fv=100)
price_up = -npf.pv(rate=0.06, nper=10, pmt=3, fv=100)
price_down = -npf.pv(rate=0.04, nper=10, pmt=3, fv=100)
convexity = (price_down + price_up - 2 * price) / (price * 0.01 ** 2)
dollar_convexity = convexity * price * 0.01 ** 2
print("Dollar Convexity: ", dollar_convexity)
Dollar Convexity:  0.69
Python으로 배우는 채권 가치평가와 분석

컨벡서티 조정

  • 컨벡서티는 채권 가격 예측을 개선합니다
  • 컨벡서티 조정 = 컨벡서티로 인한 가격 변화분

$ \text{Convexity Adjustment} = 0.5 \times \text{Dollar Convexity} \times 100^2 \times (\Delta y)^2$

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

컨벡서티 조정 예시

  • 만기 10년, 쿠폰 3%, 수익률 5%, 액면가 USD 100
  • 컨벡서티 조정은 얼마입니까?
price = -npf.pv(rate=0.05, nper=10, pmt=3, fv=100)
price_up = -npf.pv(rate=0.06, nper=10, pmt=3, fv=100)
price_down = -npf.pv(rate=0.04, nper=10, pmt=3, fv=100)
convexity = (price_down + price_up - 2 * price) / (price * 0.01 ** 2)

dollar_convexity = convexity * price * 0.01 ** 2
convexity_adjustment = 0.5 * dollar_convexity * 100 ** 2 * 0.01 ** 2 print("Convexity Adjustment: ", convexity_adjustment)
Convexity Adjustment:  0.35
Python으로 배우는 채권 가치평가와 분석

듀레이션과 컨벡서티 결합

  • 듀레이션만으로 가격 변화를 예측:

$ \text{Price Change} = -100 \times \text{Dollar Duration} \times \Delta y$

  • 듀레이션과 컨벡서티로 함께 예측:

$ \text{Price Change} = -100 \times \text{Dollar Duration} \times \Delta y \ + \ \text{Convexity Adjustment}$

$ = -100 \times \text{Dollar Duration} \times \Delta y \ + \ 0.5 \times \text{Dollar Convexity} \times 100^2 \times (\Delta y)^2$

  • 둘을 결합하면 가격 추정이 개선됩니다
Python으로 배우는 채권 가치평가와 분석

듀레이션과 컨벡서티 예시

  • 만기 10년 채권, 쿠폰 3%, 수익률 5%, 액면가 USD 100:
price = -npf.pv(rate=0.05, nper=10, pmt=3, fv=100)
price_up = -npf.pv(rate=0.06, nper=10, pmt=3, fv=100)
price_down = -npf.pv(rate=0.04, nper=10, pmt=3, fv=100)
duration = (price_down - price_up) / (2 * price * 0.01)
dollar_duration = duration * price * 0.01
convexity = (price_down + price_up - 2 * price) / (price * 0.01 ** 2)
dollar_convexity = convexity * price * 0.01
convexity_adjustment = dollar_convexity * 100 ** 2 * 0.01 ** 2
combined_prediction = -100 * dollar_duration * 0.01 + convexity_adjustment
print("Predicted Price Change: ", combined_prediction)
Predicted Price Change:  -6.64
Python으로 배우는 채권 가치평가와 분석

연습해 봅시다!

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

Preparing Video For Download...