PSOR 방법을 이용한 American option 가격 평가
조기행사 권리가 있는 옵션은 경로의존적이므로, 만기에만 행사가능한 옵션에 비해 평가하기 어렵습니다. 이 때 말하는 조기행사는 ELS상품에서 주로 나타나는 조기상환과는 구조적으로 차이가 있습니다. 여기서 말하는 조기행사는 권리보유자가 특정 시점에서 행사 할 권리가 있는 것이고, ELS에서 나타나는 조기상환은 특정 상황에서 반드시 조기행사가 이루어지는 경우를 말합니다. 후자의 경우 조기행사 event가 반드시 일어나지만 전자의 경우 그렇지 않다는 점에서 조기행사 권리는 평가를 어렵게 만드는 요소로 작용합니다. 이번글에서는 선형방정식을 푸는 방법 중 하나인 반복법에 대해 살펴보고 지난번 구현한 FDM방법에 이를 적용하여 아메리칸 풋옵션의 가격을 구해보겠습니다.
이번 글에 나오는 내용은 Manfred Gilli 저자의 Numerical Methods and Optimization in Finance라는 책을 참고했습니다.
아메리칸 옵션은 조기행사의 권리를 가지고 있으므로, 유러피안 옵션의 가치보다 항상 크거나 같아야합니다.
이를 PDE로 나타내면 다음과 같습니다.
$$ V_t + \frac{1}{2} \sigma^2 S^2 V_{SS} + (r - q) S V_S - r V \ge 0$$
BSM PDE는 유러피안 옵션의 delta-hedged 포지션이 오직 무위험 가치만큼, 즉$rV$만큼 성장해야한다는 의미를 갖습니다. 이 때 조기행사는 매수자에게 항상 유리한 조건이므로, 델타 헤지를 하는 포지션은 무위험 가치보다 더 큰 가치가 주어저야 '공정'합니다. 따라서 이 PDE는 이를 반영하여 등호가 아닌 부등호로 나타나게 됩니다.
마찬가지로, 옵션의 가치 또한 임의의 $S,t$에 대해 항상 행사가치보다 크거나 같아야 합니다. 이는 다음과 같이 나타납니다.
$$ V(S,t) \ge \max(X - S(t), 0)$$
배당이 없는 콜옵션은 이론상 조기행사가 항상 불리합니다. 아메리칸 풋은 조기행사가 유리할수도, 그렇지 않을수도 있는 상품이기에 우리는 아메리칸 Put을 살펴보겠습니다. 그럼 경계 조건은 다음과 같이 주어집니다.
$$V(S,T) = \max(X - S(T), 0), \quad V(0,t) = X,\quad \lim_{S \to \infty} V(S,t) = 0 $$
이제 행렬방정식을 푸는 알고리즘에 대해 설명하겠습니다. 이전 글에서 살펴보았듯이 PDE를 수치적으로 푼다는 것은 행렬방정식을 푼다는 것과 거의 같은 말입니다. 이번에 사용할 알고리즘은 PSOR(Projected successive overrelaxation) 방법입니다.
우선 SOR방법에 대해 먼저 알아보겠습니다. SOR는 반복적으로 선형방정식을 푸는 알고리즘입니다. 다음과 같은 선형방정식을 생각해보겠습니다.
$$\begin{align*}
a_{11} x_1 + a_{12} x_2 + a_{13} x_3 = b_1 \\
a_{21} x_1 + a_{22}x_2 + a_{23} x_3 = b_2 \\
a_{31} x_1 + a_{32} x_2 + a_{33} x_3 = b_3
\end{align*}$$
이 때 $x1,x2,x3$는 구해야 하는 미지수이지만 initial guess를 임의로 부여한다면 다음과 같이 나타낼 수 있습니다.
$$\begin{align*}
x_1 &= \frac{b_1 - a_{12}x_2 - a_{13}x_3}{a_{11}} \\
x_2 &= \frac{b_2 - a_{21}x_1 - a_{23}x_3}{a_{22}} \\
x_3 &= \frac{b_3 - a_{31}x_1 - a_{32}x_2}{a_{33}}
\end{align*}$$
이를 충분히 반복한다면, 만족하는 행렬방정식을 찾을 수 있습니다. 이 때 기존의 값을 사용하는 방식(1)을 Jacobi 방식이라고 하며 매 순간 업데이트 된 값을 쓰는 방식(2)를 Gauss-Seidel 방식이라 부릅니다.
$$\begin{align*}
x_1^{(k+1)} &= \frac{b_1 - a_{12} x_2^{(k)} - a_{13} x_3^{(k)}}{a_{11}} \\
x_2^{(k+1)} &= \frac{b_2 - a_{21} x_1^{(k)} - a_{23} x_3^{(k)}}{a_{22}} \\
x_3^{(k+1)} &= \frac{b_3 - a_{31} x_1^{(k)} - a_{32} x_2^{(k)}}{a_{33}}
\end{align*}\quad{(1)}$$
$$\begin{align*}
x_1^{(k+1)} &= \frac{b_1 - a_{12} x_2^{(k)} - a_{13} x_3^{(k)}}{a_{11}} \\
x_2^{(k+1)} &= \frac{b_2 - a_{21} x_1^{(k+1)} - a_{23} x_3^{(k)}}{a_{22}} \\
x_3^{(k+1)} &= \frac{b_3 - a_{31} x_1^{(k+1)} - a_{32} x_2^{(k+1)}}{a_{33}}
\end{align*}\quad{(2)}$$
SOR방식은 Gauss-Seidel방식의 수렴 속도를 높이기 위해 이전 스텝의 $x_i$와 Gauss-Seidel방식으로 계산된 $x_i$를 선형결합하여 사용합니다.
$$x_i^{(k+1)} = \omega x_{GS,i}^{(k+1)} + (1 - \omega) x_i^{(k)},$$
PSOR에서 P 는 Projection, 즉 해를 찾는 과정에서 만족시켜야 하는 부등식을 강제로 적용시키는 방법을 말합니다.
그럼 이제 위에서 살펴본 PDE가 어떤 제약조건을 만드는지 살펴보겠습니다.
$$\mathcal{L}_{BS}(V)\cdot \left(V(S,t) - V(S,T)\right) = 0$$
이 때 $$\mathcal{L}_{BS}(V) = V_t + \frac{1}{2} \sigma^2 S^2 V_{SS} + (r - q) S V_S - r V $$
로 정의됩니다. 이 식은, 만약 BS PDE가 0이라면(첫항) 조기행사가 되지 않는다는 뜻이므로 현재 옵션 가치가 만기 payoff보다 크고(두번째 항), 첫 항이 0이 아니라면 그 순간 행사가치와 옵션가치는 같아지게 된다(두번째 항)는 의미입니다.
한편 이는 다음과 같은 부등식의 형태로도 나타낼 수 있습니다.
$$\mathcal{L}_{BS}(V) \geq 0, \quad V(S,t) \geq V(S,T)$$
따라서 PSOR을 이용할때 max operator로 매 시점 옵션의 가치가 행사가치보다 커야한다는 제약을 준다면 아메리칸 옵션의 가격을 구할 수 있습니다. 실제로 같은 조건에 대해 아메리칸 풋옵션과 유러피안 콜옵션 가치 차이(A)를 히트맵으로 그려보면 다음과 같습니다.
확실히 기초자산 가격이 낮을수록 아메리칸 옵션과 유러피안 옵션 가치 차이가 크게 벌어지는 것을 확인할 수 있습니다. 아래 링크에서 구현된 코드를 확인하실 수 있습니다.
https://github.com/submartingale-quant/Basics/blob/main/FDM/PSOR.ipynb
Basics/FDM/PSOR.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