파생상품&금융공학

파생상품 가치평가 방법론 #5 Binomial Tree (2) Backwardation method

seungbeomdo 2023. 12. 11. 15:58

이 시리즈는 파생상품 이론 분야에서 가장 유명한 교재인 Hull(2021)의 "Options, Futures and Other Derivatives (11th)"을 요약한 것일 뿐이다. 아래는 책 구매 링크

 

Options, Futures, and Other Derivatives

ISBN-13: 9780136939917 Options, Futures, and Other Derivatives Published 2021

www.pearson.com

이전 편 링크: Binomial Tree (1)

 

파생상품 가치평가 방법론 #4 Binomial Tree (1) Basic modeling

이 시리즈는 파생상품 이론 분야에서 가장 유명한 교재인 Hull(2021)의 "Options, Futures and Other Derivatives (11th)"을 요약한 것일 뿐이다. 아래는 책 구매 링크 Options, Futures, and Other Derivatives ISBN-13: 978013693

seungbeomdo.tistory.com


 

Binomial Tree 방법은 American Option과 같이 만기 이전에 롱포지셔너가 권리를 행사할 수 있는 파생상품들의 가격을 모델링하는 데 적합하다. 어떤 방법으로 그렇게 하는지 알아보자.

 

 1. Backwardation method

American option은 만기 이전에 조기 행사가 가능한 옵션이다. 만기에만 행사가 가능한 European option의 경우 만기 기초자산 가격의 분포를 완성한 다음 위험중립적으로 평가하는 방법을 사용했다.

그런데 그 중간에 행사가 가능하다면 어떨까.

 

조기행사가 이루어지는 조건은, 옵션을 지금 당장 행사했을 때 얻을 수 있는 수익이 옵션을 다음 기간까지 보유할 때의 기대수익보다 클 때이다. 따라서 각 시점에서 옵션 보유자의 조기 행사 수익과 행사 보류의 기대수익을 비교할 수 있어야 한다.

 

일반적으로 다음의 단계를 거쳐서 모델을 완성한다.

 

(1) 일반적인 이항모형에 따라 기초자산 가격의 path를 완성한다.

(2) 만기 시점 T에서 기초자산 가격에 따라 payoff를 확정한다. 만기 시점에서는 American이나 European이나 동일하므로 payoff도 동일하다.

(3) T-$\Delta t$ 시점에서 옵션의 조기행사 가치를 계산한다. 그리고 옵션을 행사하지 않고 다음 기간까지 보류했을 때, T시점에서 얻게 될 기대수익의 현재가치를 계산한다.

(4) 조기행사 가치가 더 크면, 조기행사하며, 이 노드에서 파생상품의 가치는 조기행사로 얻는 현금흐름과 같다. 만약 조기행사 가치가 더 작으면, 행사를 보류하며, T시점에서 얻게 될 기대수익의 현재가치가 이 노드에서의 파생상품 가치이다.

(5) T-2$\Delta$ 시점, T-3$\Delta$ 시점, ... 에 대하여 (3) ~ (4)의 과정을 반복한다.

 


2. Simulation

 

설명한 방법으로 제대로 계산이 되는지 실험해보자. 배당금이 없는 경우, 아메리칸 콜옵션은 조기행사가 이루어지지 않는다는 것이 이론의 예측이다. 따라서 아메리칸 풋옵션에 대해서 실험해본다.

 

현재 주가가 100, 변동성이 20%, 무위험이자율이 5%일 때, 행사가격이 100이고 만기가 1년인 아메리칸 풋옵션의 가치를 이항모형으로 계산한다. 잔존만기의 분할 수 n을 늘림에 따라 아메리칸 풋옵션의 가격이 어떤 값으로 수렴함을 알 수 있다.

 

S0 = 100
K = 100
sigma = 0.2
r = 0.05
T = 1

E = []
A = []
for n in np.arange(1, 50):
  u = np.exp(sigma*np.sqrt(T/n))
  d = 1/u
  a = np.exp(r*T/n)
  p = (a-d)/(u-d)

  #주가의 path
  Spath = np.zeros([n+1,n+1])
  Spath[:] = np.nan
  Spath[0,0] = S0
  for i in np.arange(1, n+1):
    for j in np.arange(0, i):
      Spath[j, i] = Spath[j, i-1] * u
      Spath[j+1, i] = Spath[j, i-1] * d

  #유로피안 가치평가 path
  EuropeanPath = np.zeros([n+1, n+1])
  EuropeanPath[:] = np.nan
  EuropeanPath[:, -1] = np.maximum(K - Spath[:, -1], 0)
  for i in np.arange(0, n)[::-1]:
    for j in np.arange(0, i+1):
      EuropeanPath[j, i] = np.exp(-r*T/n) * (p * EuropeanPath[j, i+1] + (1-p) * EuropeanPath[j+1, i+1])

  #조기행사 path
  StrikePath = np.maximum(K - Spath, 0)

  #American Path
  AmericanPath = np.zeros([n+1,n+1])
  AmericanPath[:] = np.nan
  AmericanPath[:, -1] = EuropeanPath[:, -1]

  for i in np.arange(0, n)[::-1]:
    for j in np.arange(0, i+1):
      AmericanPath[j, i] = np.maximum(np.exp(-r*T/n) * (p * AmericanPath[j, i+1] + (1-p) * AmericanPath[j+1, i+1]), StrikePath[j, i])

  E.append(EuropeanPath[0,0])
  A.append(AmericanPath[0,0])
  
 def BSMput(S, K, r, sigma, T):
  d1 = (np.log(S/K) + (r + (sigma**2)/2)*T)/(sigma*np.sqrt(T))
  d2 = d1 - sigma*np.sqrt(T)
  put = K * np.exp(-r*T) * norm.cdf(-d2) - S * norm.cdf(-d1)
  return put

plt.plot(np.arange(1, 50), E, label = 'European')
plt.plot(np.arange(1, 50), A, label = 'American')
plt.axhline(BSMput(S0, K, r, sigma, T), color = 'black', linestyle = '--', label = 'BSM')
plt.xlabel('n')
plt.ylabel('estimated Put price')
plt.legend()
plt.show()

 

 

또한 n이 충분히 클 때, 아메리칸 풋옵션의 가격은 유로피안 풋옵션의 가격보다 높다. 아메리칸 풋옵션은 유로피안 풋옵션과 다르게 원하는 시점 아무때나 행사가 가능하므로, 적어도 유로피안 풋옵션만큼의 payoff가 항상 보장되기 때문이다. 

 

 

조기행사가 이루어질 확률이 높은 상황이라면, 아메리칸 풋옵션의 가격이 유로피안 가격을 더 크게 상회할 것이다.

예를 들어 기초자산의 변동성이 높다면 조기행사 가능성은 낮아진다. 왜냐하면, 향후 유리한 가격 변동이 가능성이 높아지므로 조기행사를 더 망설이게 되는 것이다.

또한, 무위험이자율이 높다면 조기행사 가능성이 높아진다. 왜냐하면, 조기행사로 받게 될 현금흐름의 시간가치가 더 높아지기 때문이다. 거꾸로 말하면 행사를 보류했을 때 미래에 얻게 될 기대현금흐름의 현재가치가 더 작아지기 때문이다. 

 

변동성과 무위험이자율이 각각 높아질 때, 아메리칸 풋옵션 가격 / 유로피안 풋옵션 가격의 비율의 변화는 이론적 예측과 일관된다.

 

A/E = American price / European price