Black-Scholes Greeks 산출(FDM)
이번에는 파생상품 위험관리에 있어서 중요한 요소 중 하나인 민감도(Greeks)에 대해 살펴보자.
일반적으로 말하는 Greeks는 델타, 감마, 베가, 세타, 로 이지만 지난 글에서 설명했듯이 Vanna, Volga 등 더 고 차원의 민감도도 존재한다.
우선 이번 글에서는 가장 간단한 5개의 그릭스 산출방법을 알아보자.
민감도를 구하는 대표적인 방법 중 하나는 바로 Analytic solution을 이용하는 것이다. 예를 들어 BS가정 하에서 콜 옵션의 가격 공식은 다음과 같이 주어진다.
$$V_0 = S_0N(d1)-Ke^{-rt}N(d2)$$
이때 explicit 하게 $S_0$가 나타나고, d1안에도 $S_0$가 나타나므로 약간의 미분을 하면 $\frac{\partial V}{\partial S} = N(d1)$이라는 사실을 알 수 있다. 그러나 이러한 방식으로 민감도를 계산하려면 1)특정 모델에서 2)특정 payoff 가 analytic solution을 가져야 하므로 대부분의 경우 사용할 수 없다.
이러한 이유로 대부분의 민감도는 FDM을 이용하여 계산한다. 앞서 언급했듯이 FDM은 상품의 특성에 맞게 매 번 구현을 해야하는 번거로움이 있지만 한번 구현해놓으면 모든 상태에서 가격을 구할 수 있으므로 민감도 계산이 편리하다.
그럼 이제 call option에서의 민감도를 FDM을 통해 구해보자.
우선 Delta는 기초자산이 변할 때 옵션가치가 얼마나 변하는지를 나타낸다. 만기가 많이 남은 경우 ATM에서 델타의 변화가 부드럽지만 만기가 가까울수록 ATM에서 델타의 변화가 급격한 것을 살펴볼 수 있다.
실제로 델타의 변화를 나타내는 감마의 경우 만기 근처에서 매우 큰 값을 갖는 것을 알 수 있다.
Theta의 경우 Theta-Gamma relationship에 의해 정확히 감마와 반대되는 형태를 갖는다. Theta가 만기근처에서 높다는 것은 만기와 가까울 때 옵션의 시간가치가 빠르게 사라진다는 것을 의미한다.
한편 Vega, Rho는 다른 세 그릭스와는 다르게 평가해야한다. 우리가 만든 FDM격자는 오직 기초자산과 시간을 상태변수로 두었다. 따라서 이 변수들의 민감도는 하나의 격자에서 다른 값들을 조회함으로써 민감도를 계산할 수 있었다. 그러나 그 외의 변수에 대한 민감도를 계산하기 위해서는 상태변수들을 다르게 두고 두 번 격자를 만든 다음 두 격차의 각 상태별 가격 차이를 계산해야 민감도를 계산할 수 있다. 예를들어 vol이 0.2인 경우 격자를 한 번 얻고, vol을 0.21로 둔 다음 다시한번 격자를 얻은 후 두 격자의 가격 차이를 계산해야 vega를 얻을 수 있다.
Vega는 BS가정 하에서 계산된 것과 Stochastic vol에서 계산된 것이 조금 다른 의미를 갖는다. 여기서 vega는 모든 구간에 적용되는 변동성을 1% 상승시켰을 때 각 상태변수(t,s)에서의 옵션가치 변화를 말한다. 옵션가치의 큰 영향을 미치는 것은 Total variance인데, 시점 time t가 0에 가까울수록 total variance $\sigma^2 t$의 절대적인 값이 커지므로 다음과 같은 그래프가 나왔다고 이해할 수 있다.
https://github.com/submartingale-quant/Basics/blob/main/BS_Greeks.ipynb
Basics/BS_Greeks.ipynb at main · submartingale-quant/Basics
Basic instrument to check consistencies. Contribute to submartingale-quant/Basics development by creating an account on GitHub.
github.com