Bài 8: Định giá American Option với mô hình nhị phân
Giải mã quyền thực hiện sớm (early exercise) qua câu hỏi phỏng vấn Quant kinh điển và hiện thực hóa định giá American Option với mô hình nhị phân bằng Python.
Trong Bài 6 và Bài 7, chúng ta đã sử dụng cây nhị phân để định giá quyền chọn kiểu Âu (European Option) – loại quyền chọn chỉ có thể thực hiện vào đúng ngày đáo hạn. Nhưng trong thực tế, có một loại quyền chọn linh hoạt hơn nhiều: Quyền chọn kiểu Mỹ (American Option) – loại quyền chọn có thể thực hiện bất cứ lúc nào trước hoặc vào ngày đáo hạn.
Câu hỏi đặt ra ngay lập tức là: Khi nào thì nên thực hiện sớm? Và nếu có thể thực hiện bất cứ lúc nào, thì giá trị của quyền chọn đó là bao nhiêu?
Đây không chỉ là câu hỏi học thuật, mà là một trong những câu hỏi thực tế kinh điển nhất trong Quant Finance. Và thú vị thay, để trả lời nó, chúng ta không cần bắt đầu từ tài chính, mà từ một trò chơi với xúc xắc.
Lưu ý: Từ bài này tôi sẽ cố gắng lồng ghép các câu hỏi phỏng vấn Quant, để giúp các bạn có cái nhìn rõ hơn cần chuẩn bị điều gì cho hành trình sắp tới.
Trong bài viết này:
- 1. Bài toán xúc xắc: Câu hỏi phỏng vấn kinh điển
- 2. Quyền chọn kiểu Mỹ và kiểu Bermuda
- 3. Định giá quyền chọn kiểu Mỹ với cây nhị phân
- 4. Lập trình Python: European vs American Option
- 5. Tóm tắt và thảo luận
1. Bài toán xúc xắc: Câu hỏi phỏng vấn kinh điển
Trước khi đi vào American Option, hãy để tôi đưa cho bạn một bài toán mà tôi đã từng gặp trong một buổi phỏng vấn Quant:
💬 Quant Interview Question 1: Bạn được tung một con xúc xắc 6 mặt, tối đa 3 lần. Sau mỗi lần tung, bạn có thể chọn dừng lại và nhận số tiền bằng đúng số chấm vừa xuất hiện, hoặc tung lại và nhận kết quả tiếp theo. Đến lần tung thứ ba, bạn bắt buộc phải dừng.
Chiến lược tối ưu của bạn là gì? Và kỳ vọng thu nhập tối đa là bao nhiêu?
Khi nghe câu hỏi này, nhiều bạn sẽ nghĩ ngay đến việc tính kỳ vọng của một lần tung xúc xắc: $\mathbb{E}[X] = (1+2+3+4+5+6)/6 = 3.5$. Và kết luận rằng nên dừng khi tung được mặt lớn hơn $3.5$, tức mặt số $4, 5$, hoặc $6$.
Nhưng đó chưa phải câu trả lời đúng. Vì câu hỏi không hỏi kỳ vọng của một lần tung, mà là kỳ vọng của toàn bộ chiến lược tối ưu với ba lần tung.
Hãy suy nghĩ 5 phút trước khi xem câu trả lời!
🗨️ Answer: Để tìm chiến lược tối ưu, ta cần tư duy theo cách mà mô hình nhị phân đã dạy chúng ta ở bài trước: truy hồi ngược (backward induction), bắt đầu từ cuối và tính ngược lại.
Lần tung thứ ba: Đây là lần tung cuối cùng, bạn bắt buộc phải dừng. Không có lựa chọn nào khác. Kỳ vọng tại đây là: $$V_3 = \mathbb{E}[X] = \frac{1+2+3+4+5+6}{6} = 3.5$$ Lần tung thứ hai: Bạn có hai lựa chọn dừng lại hoặc tung thêm. Giả sử kết quả lần tung thứ hai là $x$, bạn so sánh $x$ với giá trị kỳ vọng tốt nhất của lần tung tiếp theo, tức là $V_3 = 3.5$.Kỳ vọng tối ưu tại lần tung thứ hai là: $$ \begin{aligned} V_2 &= \frac{1}{6}\sum_{x=1}^{6} \max(x, V_3) = \frac{V_3 + V_3 + V_3 + 4 + 5 + 6}{6} \\ &= \frac{3.5 + 3.5 + 3.5 + 4 + 5 + 6}{6} \\ &= \mathbf{4.25} \end{aligned} $$ Lần tung thứ nhất: Tương tự, bạn so sánh kết quả lần tung đầu tiên $x$ với $V_2 = 4.25$:
- Nếu $x > V_3 = 3.5$, hay $x \in \{4, 5, 6\}$: Dừng lại, vì kết quả của lần tung hiện tại tốt hơn kỳ vọng của lần tung tiếp theo.
- Nếu $x \leq V_3 = 3.5$, hay $x \in \{1, 2, 3\}$: Tung thêm, vì kỳ vọng lần tung tiếp theo tốt hơn.
Kỳ vọng tối ưu tại lần tung đầu tiên là: $$ \begin{aligned} V_1 &= \frac{1}{6}\sum_{x=1}^{6} \max(x, V_2) = \frac{V_2 + V_2 + V_2 + V_2 + 5 + 6}{6} \\ &= \frac{4.25 + 4.25 + 4.25 + 4.25 + 5 + 6}{6} \\ &\approx \mathbf{4.67} \end{aligned} $$ Chiến lược tối ưu sẽ là: lần tung thứ nhất dừng nếu $x \geq 5$, lần tung thứ hai dừng nếu $x \geq 4$, lần tung thứ ba bắt buộc dừng. Và kỳ vọng thu nhập tối đa là $V_1 \approx 4.67$.
- Nếu $x > V_2 = 4.25$, tức là $x \in \{5, 6\}$: Dừng lại.
- Nếu $x \leq V_2 = 4.25$, tức là $x \in \{1, 2, 3, 4\}$: Tung thêm.
Bây giờ hãy nhìn lại bài toán này. Ở mỗi bước, chúng ta đang so sánh hai thứ:
- Giá trị nếu dừng ngay bây giờ, chính là $x$, kết quả xúc xắc hiện tại.
- Giá trị kỳ vọng nếu tiếp tục, chính là $V_{t+1}$, kỳ vọng tối ưu của các lượt tung tiếp theo.
Và chúng ta chọn thứ lớn hơn bằng cách lấy $\max(x, V_{t+1})$. Đây chính xác là logic đằng sau quyền chọn kiểu Mỹ (American Option), và đó là lý do tại sao bài toán xúc xắc tưởng chừng đơn giản này thường xuất hiện một buổi phỏng vấn Quant tại các Investment Bank lớn.
Nếu bạn hiểu tại sao chúng ta không tung xúc xắc tiếp khi đã có mặt 6 ở lần tung đầu tiên, bạn đã hiểu cốt lõi của việc định giá quyền chọn kiểu Mỹ. Chúng ta không định giá bằng một công thức tĩnh, mà bằng một chuỗi các quyết định so sánh liên tục.
2. Quyền chọn kiểu Mỹ và kiểu Bermuda
2.1. American Option
Hãy nhìn lại bài toán xúc xắc một lần nữa, nhưng lần này qua lăng kính tài chính. Trong trò chơi xúc xắc, bạn có quyền dừng lại bất cứ lúc nào trong ba lần tung, nhưng không bắt buộc phải dừng sớm. Bạn chỉ dừng khi kết quả hiện tại tốt hơn kỳ vọng nếu tiếp tục chờ đợi. Quyền chọn kiểu Mỹ hoạt động theo đúng logic đó.
Trong Bài 6, chúng ta đã học về quyền chọn kiểu Âu (European Option), loại quyền chọn chỉ có thể thực hiện vào đúng ngày đáo hạn, không sớm hơn, không muộn hơn. Giống như một tấm vé xem phim chỉ có giá trị vào đúng ngày ghi trên vé.
Quyền chọn kiểu Mỹ (American Option) thì khác, người nắm giữ có thể thực hiện quyền chọn bất cứ lúc nào từ thời điểm mua cho đến ngày đáo hạn. Giống như một tấm vé xem phim có thể dùng vào bất kỳ ngày nào trong tháng, bạn chọn ngày thuận tiện và có lợi nhất cho mình.
Một điều quan trọng cần nhớ: American Option luôn có giá trị lớn hơn hoặc bằng European Option tương đương. Lý do rất trực quan: quyền thực hiện sớm (early exercise) là một quyền lợi bổ sung, không bao giờ là gánh nặng. Bạn không bắt buộc phải thực hiện sớm, bạn chỉ làm vậy nếu có lợi.
2.2. Bermuda Option
Quyền chọn kiểu Bermuda (Bermuda Option) chỉ có thể thực hiện vào một tập hợp các ngày cố định được xác định trước trong hợp đồng. Không phải bất cứ lúc nào, nhưng cũng không phải chỉ vào ngày đáo hạn.
Quay lại bài toán xúc xắc, nếu European Option là lần tung bắt buộc thứ ba, American Option là tự do dừng bất cứ lúc nào, thì Bermuda Option nằm ở giữa. Bạn tung xúc xắc ba lần, nhưng chỉ được phép dừng vào lần tung thứ 1, hoặc thứ 3 chẳng hạn. Đó chính là tinh thần của Bermuda Option. Cái tên Bermuda cũng không phải ngẫu nhiên mà có. Đảo Bermuda nằm giữa châu Âu và Mỹ, và loại quyền chọn này cũng nằm ở giữa European và American về mức độ linh hoạt.
Trong thực tế, Bermuda Option xuất hiện rất phổ biến trong các sản phẩm phức tạp. Bạn còn nhớ Autocallable đã được đề cập trong bài Break into Quant Analyst? Đó chính là một dạng Bermuda Option, sản phẩm chỉ có thể tự động đáo hạn sớm vào các ngày quan sát định kỳ được xác định trước, không phải bất cứ lúc nào.
Hãy nhìn vào bảng so sánh sau để thấy rõ sự khác biệt:
| European Option | Bermuda Option | American Option | |
|---|---|---|---|
| Thực hiện quyền | Chỉ vào ngày đáo hạn | Vào một số ngày cố định được xác định trước | Bất cứ lúc nào trước hoặc vào ngày đáo hạn |
| Liên hệ bài toán xúc xắc | Bắt buộc dừng ở lần tung thứ 3 | Chỉ được dừng ở lần 1, 3 (ví dụ) | Có thể dừng ở bất kỳ lần nào |
| Giá trị | Thấp nhất | Nằm giữa European và American | Cao nhất |
| Độ phức tạp | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Sản phẩm thực tế | ETF/Index options | Autocallable, Callable bonds | Equity options |
| Định giá | Black-Scholes | Binomial Tree, Monte Carlo | Binomial Tree, PDE |
| Phổ biến ở đâu | Thị trường châu Âu | Structured products | Thị trường Mỹ |
3. Định giá quyền chọn kiểu Mỹ với cây nhị phân
3.1. Tại sao quyền chọn kiểu Mỹ khó định giá?
Đây là câu hỏi cốt lõi, và câu trả lời nằm ngay trong bài toán xúc xắc ở trên. Với European Option, bài toán đơn giản là chờ đến ngày đáo hạn, tính payoff, chiết khấu về hiện tại, cho nên ta chỉ cần quan tâm đến một thời điểm. Với American Option, bạn phải trả lời câu hỏi sau “thực hiện ngay bây giờ hay tiếp tục chờ?” tại mỗi bước thời gian. Liên hệ với bài toán xúc xắc, ta cần so sánh giá trị nếu dừng lại với giá trị kỳ vọng nếu tiếp tục, hay đơn giản là thực hiện phép tính $\max(x, V_{t+1})$.
Trong toán học tài chính, bài toán này được gọi là bài toán dừng tối ưu (optimal stopping time). Và truy hồi ngược (backward induction) chính là công cụ tự nhiên nhất để giải nó.
Điều thú vị là cây nhị phân mà chúng ta đã xây dựng trong Bài 6 và Bài 7 hoàn toàn có thể mở rộng để định giá American Option, chỉ cần thêm một bước so sánh tại mỗi nút của cây. Đây là nội dung chúng ta sẽ khám phá trong phần tiếp theo.
3.2. Tại sao không có công thức đóng?
Trong Bài 7, chúng ta đã thấy rằng Black-Scholes (1973) cho ra một công thức đóng (closed-form formula) đẹp đẽ để định giá European Option:
\[C_t = S_t N(d_1) - K e^{-r(T-t)} N(d_2) \tag{8.1}\]Bạn chỉ cần gán $S_t$, $K$, $r$, $\sigma$, và $T$ vào công thức là ra ngay một con số. Nhanh, gọn, chính xác! Vậy tại sao không làm điều tương tự cho American Option? Câu trả lời ngắn gọn là không thể.
Vấn đề của quyền thực hiện sớm
Trong bài toán xúc xắc, chiến lược tối ưu là: lần tung thứ nhất dừng nếu $x \geq 5$, lần tung thứ hai dừng nếu $x \geq 4$, lần tung thứ ba bắt buộc dừng. Như vậy ngưỡng dừng tối ưu thay đổi theo thời gian. Nếu bạn cố gắng viết một công thức tổng quát để tính kỳ vọng tối ưu ngay từ đầu mà không dùng truy hồi ngược, bạn sẽ phải giải một bài toán cực kỳ phức tạp vì ngưỡng dừng tối ưu chính nó cũng là một ẩn số.
American Option gặp đúng vấn đề tương tự. Tại mỗi thời điểm $t$, tồn tại một mức giá \(S^*_t\) – gọi là ngưỡng thực hiện tối ưu (optimal exercise boundary) – mà nếu giá cổ phiếu vượt qua ngưỡng đó, bạn nên thực hiện quyền chọn ngay. Ngưỡng này thay đổi theo thời gian và phụ thuộc vào tất cả các thông số của mô hình.
Đây là lý do tại sao Black-Scholes (1973) hay CRR (1979) dưới dạng công thức đóng không áp dụng được cho American Option. Họ giả định quyền chọn chỉ được thực hiện vào ngày đáo hạn, bỏ qua hoàn toàn quyền thực hiện sớm (early exercise). Khi đưa quyền này vào, bài toán không còn giải được với nghiệm giải tích đơn giản nữa.
Ngoại lệ duy nhất
Thực ra có một trường hợp đặc biệt đáng chú ý. Với American Call Option trên cổ phiếu không trả cổ tức, có thể chứng minh rằng chiến lược tối ưu sẽ là: không bao giờ sử dụng quyền thực hiện sớm. Vì vậy trong trường hợp này, giá American Call bằng đúng giá European Call, và công thức Black-Scholes vẫn áp dụng được.
💬 Quant Interview Question 2: Khi nào thì American Option có giá trị bằng European Option?
Đây là một trong những câu hỏi mang tính phân loại ứng viên rõ nhất trong phỏng vấn Quant. Câu trả lời nên dựa trên lập luận trực giác hơn là công thức toán học phức tạp.
🗨️ Answer: Hãy suy nghĩ theo trực giác. Nếu bạn thực hiện Call Option sớm tại thời điểm $t$, bạn nhận được $S_t - K$ ngay lúc đó. Nhưng tiếp tục giữ đến ngày đáo hạn $T$, bạn bảo toàn được tiềm năng tăng trưởng không giới hạn (unlimited upside), trong khi đó khoản tiền $K$ bạn chưa phải trả vẫn đang sinh lãi trong tài khoản ngân hàng.
Nói cách khác, thực hiện sớm đồng nghĩa với việc bạn đang từ bỏ giá trị thời gian (time value) của cả quyền chọn lẫn số tiền $K$. Vì vậy giữ luôn tốt hơn thực hiện sớm, và American Call bằng chính giá trị của European Call.
Câu hỏi tiếp theo mà người phỏng vấn thường hỏi ngay sau đó.
💬 Quant Interview Question 3: Vậy khi nào thì thực hiện sớm quyền chọn lại tối ưu?
🗨️ Answer: Có hai tình huống:
American Put Option: Với Put Option, logic đảo ngược hoàn toàn. Tiềm năng tăng trưởng bị giới hạn (limited downside) vì giá cổ phiếu không thể âm. Nếu cổ phiếu gần như chắc chắn sẽ về 0, bạn có thể thực hiện ngay để nhận $K$, rồi gửi $K$ vào ngân hàng hưởng lãi. Chờ thêm không mang lại lợi ích gì nhưng lại chịu thêm rủi ro cổ phiếu tăng giá trở lại. Vì vậy với American Put, thực hiện sớm có thể mới là chiến lược tối ưu, và giá American Put luôn lớn hơn hoặc bằng European Put.
Dividend-paying stock: Khi cổ phiếu trả cổ tức, giá cổ phiếu sẽ giảm một lượng xấp xỉ bằng cổ tức vào ngày giao dịch không hưởng quyền (ex-dividend date). Người nắm giữ Call Option không nhận được cổ tức, nhưng người nắm giữ cổ phiếu thì có. Vì vậy đôi khi tối ưu hơn khi thực hiện ngay trước ngày ex-dividend để nhận cổ tức thay vì tiếp tục giữ quyền chọn.
Cả hai tình huống đều có điểm chung là: quyền thực hiện sớm sẽ trở nên hấp dẫn khi chi phí của việc chờ đợi vượt quá lợi ích đem lại.
3.3. Tại sao cây nhị phân là công cụ tự nhiên nhất?
Khi không có công thức đóng, chúng ta bắt buộc phải sử dụng phương pháp số (numerical method) để giải bài toán. Trong tất cả các phương pháp số, cây nhị phân (binomial tree) là lựa chọn tự nhiên nhất cho American Option.
Nhắc lại công thức định giá dựa trên xác suất trung hòa rủi ro (6.14) cho European Option:
\[V_{i,j} = \frac{1}{r_0}\left[q \, V_{i+1,j} + (1-q) \, V_{i+1,j+1}\right] \tag{8.2}\]Với American Option, tại mỗi nút $(i, j)$ của cây nhị phân, tức là tại bước thời gian $i$ và trạng thái giá $j$, ta thêm một phép so sánh:
- Giá trị nếu thực hiện ngay (intrinsic value): $\max(S_{i,j} - K, 0)$ với quyền chọn mua, hoặc $\max(K - S_{i,j}, 0)$ với quyền chọn bán.
- Giá trị nếu tiếp tục (continuation value): Giá trị kỳ vọng chiết khấu từ hai nút con $V_{i+1, j}$ và $V_{i+1, j+1}$ tại nút tiếp theo.
Đây chính là điểm khác biệt duy nhất so với European Option trong Bài 6. Với European Option, ta không cần so sánh, mà lấy luôn giá trị nếu tiếp tục. Với American Option, ta thêm vào đúng một bước $\max(\text{early exercise}, \text{continuation})$. Một thay đổi nhỏ trong công thức, nhưng một thay đổi lớn trong ý nghĩa tài chính.
3.4. Tại sao không dùng Monte Carlo hay PDE?
Bạn có thể tự hỏi: tại sao không dùng Monte Carlo hay PDE solvers, những phương pháp được đề cập trong bài viết Break into Quant Analyst? Câu trả lời ngắn gọn là:
Monte Carlo mô phỏng hàng nghìn đường đi của giá cổ phiếu từ ngày hôm nay đến ngày đáo hạn, theo chiều tiến về phía trước (forward) chứ không phải ngược về phía sau (backward). Điều này hoạt động tốt cho European Option vì payoff chỉ phụ thuộc vào giá cuối cùng. Nhưng với American Option, bạn cần quyết định tại mỗi điểm trên đường đi, và Monte Carlo thuần túy không làm được điều đó một cách tự nhiên.
PDE solvers hay hẹp hơn là phương pháp Finite Difference Method (FDM) hoàn toàn có thể xử lý American Option, nhưng đòi hỏi phải giải một bài toán biên tự do (free boundary problem) phức tạp, nơi ngưỡng thực hiện tối ưu \(S^*_t\) cũng là một ẩn số cần tìm.
Binomial Tree thì khác. Nó tự nhiên đã đi ngược từ tương lai về hiện tại, đúng cách mà bài toán dừng tối ưu cần. Không cần phải tìm \(S^*_t\) trước, mà ngưỡng thực hiện tối ưu sẽ tự động xuất hiện trong quá trình tính toán.
Đây là lý do tại sao trong thực tế, cây nhị phân vẫn là phương pháp đầu tiên mà các Quant nghĩ đến khi định giá American Option, đặc biệt khi cần giải thích một cách trực quan cho trader.
3.5. Ví dụ định giá quyền chọn kiểu Mỹ
Ví dụ: Giả sử giá cổ phiếu hôm nay (tại thời điểm $0$) là $S = 100$, giá thực hiện $K = 100$, với hệ số tăng $u = 1.1$, hệ số giảm $d = 0.9$, và hệ số phi rủi ro $r_0 = 1.05$.
Tại thời điểm $2$, theo mô hình cây nhị phân giá trị của cổ phiếu sẽ là:
\[\begin{aligned} S_{uu} &= u^2S = 1.1 \times 1.1 \times 100 = 121 \\ S_{ud} &= udS = 1.1 \times 0.9 \times 100 = 99 \\ S_{dd} &= d^2S = 0.9 \times 0.9 \times 100 = 81 \end{aligned}\]Quyền chọn bán (put) tại thời điểm $2$ sẽ nhận giá trị:
\[\begin{aligned} P_{uu} &= \max(0, K - u^2S) \\ &= \max(0, 100 - 121) \\ &= 0 \\ P_{ud} &= \max(0, K - udS) \\ &= \max(0, 100 - 99) \\ &= 1 \\ P_{dd} &= \max(0, K - d^2S) \\ &= \max(0, 100 - 81) \\ &= 19 \end{aligned}\]Xác suất trung hòa rủi ro (risk-neutral probability) được tính theo công thức (6.12):
\[q = \frac{r_0 - d}{u - d} = \frac{1.05 - 0.9}{1.1 - 0.9} = 0.75\]Tại thời điểm $1$, áp dụng công thức (6.14) để tính giá quyền chọn như một kỳ vọng của chính nó với xác suất trung hòa rủi ro $q$ được chiết khấu về hiện tại bằng hệ số phi rủi ro $r_0$.
- Tại nút ($u$):
- Giá trị chờ đợi: \(\frac{1}{1.05} \times [0.75 \times 0 + 0.25 \times 1] = \frac{0.25}{1.05} \approx 0.24\)
- Giá trị thực hiện ngay: \(\max(0, K - uS) = \max(100 - 110, 0) = 0\)
Không thực hiện sớm vì $0.24 > 0$. Giá trị quyền chọn tại nút này là $P_u = \mathbf{0.24}$.
- Tại nút ($d$):
- Giá trị chờ đợi: \(\frac{1}{1.05} \times [0.75 \times 1 + 0.25 \times 19] = \frac{0.75 + 4.75}{1.05} = \frac{5.5}{1.05} \approx 5.24\)
- Giá trị thực hiện ngay: \(\max(0, K - dS) = \max(100 - 90, 0) = 10\)
Nên thực hiện sớm vì giá trị chờ đợi ($5.24$) nhỏ hơn giá trị thực hiện ngay ($10$). Giá trị quyền chọn tại nút này bằng giá trị lớn nhất là $P_d = \mathbf{10}$.
Trong trường hợp quyền chọn kiểu Âu, ở nút này ta sẽ lấy luôn giá trị chờ đợi mà không thực hiện phép lấy max ở trên, hay $P_d = 5.24$. Giá trị tại các nút trung gian thấp hơn dẫn đến giá trị quyền chọn kiểu Âu tại nút gốc cũng thấp hơn quyền chọn kiểu Mỹ.
Tại thời điểm $0$, ta lặp lại bước so sánh giữa giá trị chờ đợi và giá trị thực hiện ngay.
- Tại nút gốc
- Giá trị chờ đợi: \(\frac{1}{1.05} \times [0.75 \times 0.24 + 0.25 \times 10] = \frac{0.18 + 2.5}{1.05} = \frac{2.68}{1.05} \approx 2.55\)
- Giá trị thực hiện ngay: \(\max(0, K - S) = \max(100 - 100, 0) = 0\)
Không thực hiện sớm vì $2.55 > 0$ tại thời điểm bắt đầu. Nếu thực hiện ngay, bạn chỉ nhận được $0$. Giá trị của quyển chọn bán kiểu Mỹ sẽ là $P \approx \mathbf{2.55}$.
4. Lập trình Python: European vs American Option
4.1. Xây dựng cây nhị phân cho quyền chọn kiểu Mỹ
Bây giờ hãy cùng nhau biến những lý thuyết trên thành code. Chúng ta sẽ mở rộng Binomial Tree từ Bài 6 và Bài 7 để định giá American Option và so sánh trực tiếp với European Option.
Chi tiết thuật toán như sau:
- Xây dựng cây nhị phân: Tương tự Bài 6, giá cổ phiếu tại nút $(i, j)$ là $S_{i,j} = S_0 \, u^{i-j} \, d^j$.
- Thiết lập các nút tại thời điểm đáo hạn: Tại bước cuối $n$, giá trị quyền chọn chính là intrinsic value, không có gì để so sánh vì đây là thời điểm cuối cùng.
- Truy hồi ngược và kiểm tra quyền thực hiện sớm: Đây là điểm khác biệt duy nhất so với European Option. Tại mỗi nút, ta tính cả continuation value lẫn intrinsic value, rồi chọn cái lớn hơn. Nếu intrinsic value lớn hơn, đó là nút mà early exercise là tối ưu.
- Lặp lại đến nút gốc: Thuật toán lặp ngược từ bước $n-1$ về $0$. Nút gốc $V_{0,0}$ chính là giá American Option hợp lý.
Bạn có thể chạy thử thuật toán trên Google Colab.
import numpy as np
from scipy.stats import norm
def binomial(S, K, u, d, r0, n, option_type='call', exercise_type='european'):
q = (r0 - d) / (u - d)
sign = 1 if option_type == 'call' else -1
# 1. Initialize terminal payoffs
prices = S * (u**np.arange(n, -1, -1)) * (d**np.arange(n + 1))
values = np.maximum(sign * (prices - K), 0)
# 2. Backward induction
for i in range(n - 1, -1, -1):
values = (1 / r0) * (q * values[:-1] + (1 - q) * values[1:])
if exercise_type == 'american':
prices = prices[:-1] / u
exercise = np.maximum(sign * (prices - K), 0)
values = np.maximum(exercise, values)
return values[0]
Chú ý sự khác biệt giữa American và European chỉ là 4 dòng code trong điều kiện if. Tại mỗi nút của cây, thay vì lấy luôn giá trị values, ta thêm một bước so sánh giữa giá trị nếu thực hiện ngay exercise và giá trị nếu tiếp tục values như sau values = np.maximum(exercise, values).
Bây giờ hãy so sánh giá của hai loại quyền chọn này với cùng một bộ tham số như ví dụ ở trên để kiểm tra tính nhất quán $S=100$, $K=100$, $u=1.1$, $d=0.9$, $r_0=1.05$ lần này cho cả call và put, cả European lẫn American.
S, K, u, d, r0 = 100, 100, 1.1, 0.9, 1.05
print(f"European Call (n=2) : {binomial(S, K, u, d, r0, 2, 'call', 'european'):.4f}")
print(f"American Call (n=2) : {binomial(S, K, u, d, r0, 2, 'call', 'american'):.4f}")
print(f"European Put (n=2) : {binomial(S, K, u, d, r0, 2, 'put', 'european'):.4f}")
print(f"American Put (n=2) : {binomial(S, K, u, d, r0, 2, 'put', 'american'):.4f}")
European Call (n=2) : 10.7143
American Call (n=2) : 10.7143
European Put (n=2) : 1.4172
American Put (n=2) : 2.5510
Kết quả của European Call ($10.71$) giống kết quả đã tính trong Bài 6 và American Put ($2.55$) giống với kết quả đã tính trong ví dụ trên, xác nhận rằng thuật toán hoạt động tốt.
- American Call = European Call: Đây chính xác là điều lý thuyết đã dự đoán. Không bao giờ tối ưu để thực hiện sớm với quyển chọn mua (call) trên cổ phiếu không trả cổ tức.
- American Put > European Put: Giá trị thặng dư khi thực hiện sớm (early exercise premium) xuất hiện ngay cả với cây nhị phân hai bước. Điều này chứng minh người nắm giữ quyển chọn bán (put) có nhiều cơ hội để thực hiện sớm.
4.2. Khi nào nên thực hiện sớm quyền chọn?
Một câu hỏi khác thường gặp trong buổi phỏng vấn Quant liên quan tới quyền thực hiện sớm (early exercise) của American Option là:
💬 Quant Interview Question 4: Nếu bạn có một American Put deep in-the-money với thời gian đáo hạn còn rất ngắn, bạn nên làm gì?
🗨️ Answer: Thực hiện sớm ngay lập tức. Khi quyền chọn bán đang ở trạng thái deep in-the-money (ITM), tức là giá cổ phiếu thấp hơn rất nhiều so với giá thực hiện. Với thời gian đáo hạn ngắn, giá trị thời gian (time value) của quyền chọn gần như bằng $0$, nên không còn lý do để tiếp tục giữ quyền chọn. Thực hiện ngay để nhận $K - S$ và gửi vào ngân hàng hưởng lãi còn tốt hơn chờ đến ngày đáo hạn.
Để hiểu rõ hơn về câu hỏi này, ta thử xem xét giá trị thặng dư khi thực hiện sớm (early exercise premium) thay đổi như thế nào khi giá thực thi (strike) thay đổi.
Hình 3 miêu tả mối quan hệ này. Ta có thể rút ra một số kết luận sau:
- Khi giá thực thi thấp (deep out-of-the-money): Early exercise premium gần bằng $0$, tức quyền chọn gần như vô giá trị, không có lý do gì để thực hiện sớm.
- Khi giá thực thi cao (deep in-the-money): Early exercise premium lớn nhất, cổ phiếu có thể tăng giá trở lại trong khi đó không thể giảm xuống dưới mức âm. Thực hiện sớm để nhận $K - S$ và gửi ngân hàng hưởng lãi là lựa chọn tối ưu.
- Đỉnh của early exercise premium nằm ở vùng in-the-money. Đây chính là vùng mà quyết định early exercise khó nhất và thú vị nhất.
5. Tóm tắt và thảo luận
Trong bài viết này, chúng ta đã cùng bóc tách sự linh hoạt của quyền chọn kiểu Mỹ so với quyền chọn kiểu Âu trong việc thực hiện sớm. Chúng ta thấy rằng để định giá những sản phẩm phức tạp, tư duy về giải thuật như truy hồi ngược đôi khi còn quan trọng hơn cả kiến thức toán học cao siêu.
-
Tính linh hoạt rất có giá trị: Quyền thực hiện sớm (early exercise) là đặc tính làm nên giá trị của American Option. Quyết định tối ưu không chỉ dựa vào giá hiện tại, mà là sự cân nhắc giữa việc thực hiện ngay (exercise) hay chờ đợi cơ hội tốt hơn (continuation). Chính quyền lợi bổ sung này khiến giá American Option lớn hơn hoặc bằng European Option.
-
Chiến lược thực hiện sớm: Thực hiện sớm chỉ tối ưu khi giá trị nhận được ngay lớn hơn giá trị kỳ vọng (đã chiết khấu) của việc tiếp tục nắm giữ quyền chọn. Quyền này thường xảy ra khi quyền chọn bán (put) ở trạng thái lãi sâu (deep in-the-money) hoặc cổ phiếu sắp trả cổ tức đối với quyền chọn mua (call).
-
Công cụ định giá: Cây nhị phân là phương pháp tự nhiên và trực quan nhất để định giá American Option vì nó cho phép so sánh và chọn giá trị lớn nhất tại mỗi bước thời gian.
Lý thuyết về cây nhị phân giúp chúng ta hiểu tại sao và khi nào nên thực hiện sớm American Option. Vậy trong thế giới thực, cây nhị phân được sử dụng như thế nào? Hãy cùng chờ đón câu trả lời trong bài viết tới!