Bài 6: Mô hình định giá quyền chọn nhị phân (Binomial Options Pricing Model)
Khám phá cây nhị phân, mô hình Cox-Ross-Rubinstein (1979), và phương pháp số để định giá quyền chọn. Hiểu về danh mục mô phỏng, chiến thuật phòng hộ động, xác suất trung hòa rủi ro và cách hiện thực hóa bằng Python/Excel.
Trong Bài 3. Random Walk và Bài 4. Brownian Motion, chúng ta đã học cách mô phỏng giá tài sản. Nhưng có một câu hỏi thực tế và hóc búa hơn nhiều: “Nếu tôi biết cổ phiếu biến động như vậy, thì quyền chọn dựa trên nó đáng giá bao nhiêu tiền?” Đây chính là lúc chúng ta bước vào thánh địa của tài chính định lượng: Định giá phái sinh (Derivative Pricing).
Bài viết này trình bày một công thức đơn giản để định giá quyền chọn dựa trên mô hình Cox-Ross-Rubinstein (Cox et al., 1979) [1]. Đây là một mô hình thời gian rời rạc, giúp bạn nắm bắt được những ý tưởng cốt lõi đằng sau việc định giá quyền chọn, trong khi tránh được những biến đổi toán học phức tạp. Việc học mô hình nhị phân giống như việc leo một ngọn núi nhỏ, dễ dàng hơn nhiều, nhưng tầm nhìn vẫn vô cùng tuyệt vời gần như tương đương với những ngọn núi kế bên hùng vĩ và đáng sợ. Bài viết cũng giới thiệu phương pháp cây nhị phân (Binomial Tree) giúp định giá quyền chọn dưới góc nhìn của lập trình.
Dù đơn giản, mô hình này vẫn giới thiệu được nhiều khái niệm quan trọng trong lý thuyết định giá quyền chọn như:
- Điều kiện không có kinh doanh chênh lệch giá (No-Arbitrage)
- Danh mục mô phỏng (Replicating Portfolio) và phòng hộ động (Dynamic Hedging)
- Thước đo trung hòa rủi ro (Risk-Neutral Measure)
Và tuyệt vời nhất là ta có thể thực hiện được tất cả những điều đó mà không cần đến bất kỳ kiến thức toán học cao cấp nào.
Trong bài viết này:
- 1. Quyền chọn (Option)
- 2. Cây nhị phân (Binomial Tree)
- 3. Danh mục mô phỏng (Replicating Portfolio)
- 4. Thước đo trung hòa rủi ro (Risk-Neutral Measure)
- 5. Numerical Method: Khi lập trình thay thế những công thức nhức đầu
- 6. Tóm tắt và thảo luận
- Appendix
1. Quyền chọn (Option)
Trước khi đi sâu vào những công thức toán học, hãy cùng tìm hiểu lý do tại sao quyền chọn (option) lại là một trong những phát minh thú vị nhất của giới tài chính.
Quyền chọn không phải là một khái niệm mới mẻ của thế kỷ 21, lịch sử của các công cụ phái sinh đã bắt đầu từ rất lâu. Aristotle từng kể về Thales – một triết gia người Hy Lạp – người đã dự đoán một vụ mùa ô-liu bội thu nhờ vào quan sát thiên văn.
Thay vì mua toàn bộ máy ép ô liu, ông đã đặt một khoản tiền cọc nhỏ để giữ quyền được thuê các máy ép này khi vụ mùa đến. Khi dự đoán của ông thành hiện thực, ông đã cho thuê lại các máy ép đó với giá rất cao và thu về lợi nhuận khổng lồ. Thales đã thực hiện một giao dịch quyền chọn sơ khai nhất: Ông giữ quyền được hành động, nhưng không bị bắt buộc nếu vụ mùa thất bát [5].
1.1. Option: Khi quyền lợi không đi kèm nghĩa vụ
Hãy bắt đầu bằng việc mô tả về các quyền chọn (option). Nếu bạn đã nắm rõ các khái niệm này, bạn hoàn toàn có thể bỏ qua và chuyển sang phần tiếp theo.
Trong tài chính, quyền chọn là một loại chứng khoán phái sinh (derivative) đặc biệt cung cấp cho người sở hữu nó quyền, nhưng không phải nghĩa vụ thực hiện một giao dịch mua hoặc bán một tài sản khác, gọi là tài sản cơ sở. Điều này có nghĩa là nếu việc mua/bán mang lại lợi nhuận, bạn có thể thực hiện nó; nếu không, bạn đơn giản là để quyền chọn đó hết hạn mà không làm gì cả [4].
Quyền chọn mua (call) cho phép mua tài sản: Bạn sẽ mua quyền chọn này nếu bạn dự đoán giá tài sản sẽ tăng cao hơn mức giá đã thỏa thuận. Quyền chọn bán (put) cho phép bán tài sản: Đây thường là công cụ để bảo hiểm rủi ro khi bạn lo ngại giá tài sản sẽ giảm sâu.
Quyền chọn tồn tại vì chúng cho phép tinh chỉnh rủi ro theo ý muốn. Có hai lý do chính để nhà đầu tư sử dụng chúng:
-
Đòn bẩy (Leverage): Với một số tiền nhỏ (phí quyền chọn), bạn có thể duy trì trạng thái vị thế đối với tài sản cơ sở. Nếu giá đi đúng hướng, tỷ lệ lợi nhuận của bạn sẽ cao hơn rất nhiều so với việc mua trực tiếp tài sản đó.
-
Phòng hộ (Hedging): Quyền chọn giống như một hợp đồng bảo hiểm. Nó giới hạn mức lỗ tối đa (chính là phần phí đã trả) trong khi vẫn giữ nguyên khả năng kiếm lời không giới hạn nếu thị trường thuận lợi.
European Option
Một quyền chọn kiểu Âu (European option) là một hợp đồng tài chính cho người mua được mua hoặc bán một tài sản cơ sở (underlying asset) tại một mức giá cố định, gọi là giá thực hiện (strike), vào một ngày cố định, gọi là ngày đáo hạn (exercise date). Để sở hữu quyền này, người mua phải trả một khoản phí ngay từ đầu, gọi là phí quyền chọn (premium).
Ví dụ: Bạn đang muốn mua một chiếc iPhone mới vào tháng sau với giá 30 triệu VNĐ, nhưng bạn sợ tháng sau giá sẽ tăng lên 35 triệu. Bạn trả cho cửa hàng 1 triệu VNĐ để lấy một tấm phiếu. Tấm phiếu này cho phép bạn mua iPhone với giá đúng 30 triệu vào tháng sau, bất kể giá thị trường lúc đó là bao nhiêu.
- Trường hợp 1, giá tăng lên 35 triệu. Bạn dùng phiếu, mua với giá 30 triệu. Bạn lãi 4 triệu sau khi trừ 1 triệu tiền mua phiếu.
- Trường hợp 2, giá giảm còn 25 triệu. Bạn vứt tấm phiếu đi, vì dại gì mua 30 triệu khi thị trường bán 25 triệu. Bạn chỉ mất 1 triệu tiền mua phiếu ban đầu.
Đó chính là quyền chọn mua, tấm phiếu đó chính là một hợp đồng phái sinh. Nhiệm vụ của bài viết này là tìm ra giá của hợp đồng đó hay con số 1 triệu VNĐ bằng toán học.
1.2. Payoff: Phần thưởng cho người nắm giữ
Giá trị của một quyền chọn không chỉ là con số ngẫu nhiên. Nó bao gồm:
- Giá trị nội tại (Intrinsic Value): Là lợi nhuận bạn thu được nếu thực hiện quyền ngay bây giờ.
- Giá trị thời gian (Time Value): Là giá trị cộng thêm dựa trên sự không chắc chắn của tương lai. Thời gian càng dài, khả năng giá biến động có lợi cho bạn càng lớn, nên quyền chọn càng đắt.
Để hiểu tại sao việc định giá quyền chọn lại phức tạp và không hề hiển nhiên, hãy nhìn vào giá trị nội tại của một quyền chọn dưới dạng một hàm số của giá tài sản cơ sở. Giả sử một quyền chọn mua hoặc bán trên một cổ phiếu có giá hôm nay là $S_0$ với giá thực hiện là $K$. Bây giờ, hãy tưởng tượng ngày đáo hạn là một điểm thời gian rời rạc trong tương lai, khi đó cổ phiếu có giá trị là $S_T$. Giá trị nội tại của quyền chọn tại ngày đáo hạn còn được gọi là giá trị thanh toán khi đáo hạn.
Giá trị thanh toán khi đáo hạn (payoff) của một quyền chọn mua, ký hiệu là $C_T$, là:
\[C_T = \max\{0, S_T - K\} \tag{6.1}\]Nếu giá cổ phiếu lớn hơn giá thực hiện, chúng ta muốn thực hiện quyền chọn mua cổ phiếu với mức giá $K$. Vì chúng ta có thể bán ngay cổ phiếu đó trên thị trường tự do với giá $S_T$, chúng ta thu về lợi nhuận $S_T - K$ trừ đi phần phí quyền chọn đã trả. Nếu giá cổ phiếu thấp hơn giá thực hiện, quyền chọn đó trở nên vô giá trị (Hình 1, bên trái).
Giá trị thanh toán khi đáo hạn (payoff) của một quyền chọn bán, ký hiệu là $P_T$, là:
\[P_T = \max\{0, K - S_T\} \tag{6.2}\]Nếu giá thực hiện lớn hơn giá cổ phiếu, chúng ta muốn thực hiện quyền chọn bán (bán khống cổ phiếu) với giá $K$ và mua lại ngay lập tức trên thị trường tự do với giá $S_T$, thu về $K - S_T$ trừ đi phí quyền chọn. Nếu giá cổ phiếu cao hơn giá thực hiện, quyền chọn sẽ vô giá trị (Hình 1, bên phải).
Điểm mấu chốt ở đây là các quyền chọn rất khó định giá vì giá trị của chúng là một hàm phi tuyến tính (đứt gãy) của giá tài sản cơ sở. Câu hỏi mà các mô hình định giá quyền chọn phải giải quyết là: Với tư cách là một nhà môi giới, làm thế nào ta có thể mua/bán các quyền chọn mà không gặp phải những rủi ro đáng kể?
2. Cây nhị phân (Binomial Tree)
Chúng ta muốn xác định mức giá hợp lý cho một quyền chọn. “Hợp lý” có nghĩa là một nhà môi giới quyền chọn sẽ không kiếm được tiền từ việc định giá sai quyền chọn, mà thay vào đó chỉ kiếm tiền từ phí giao dịch hoặc phí quyền chọn. Để xây dựng một công thức chính xác, chúng ta cần mô hình hóa cách tài sản cơ sở vận động.
Từ Bài 3. Random Walk, bạn đã biết giá tài sản có thể được mô phỏng như một bước đi ngẫu nhiên trong thời gian rời rạc. Trong bài viết này, chúng ta sẽ đến với mô hình định giá quyền chọn nhị phân (Binomial Options Pricing Model). Mô hình còn được gọi là mô hình Cox-Ross-Rubinstein, CRR (1979), đặt theo tên họ của các tác giả.
Cox, Ross, Rubinstein (1979) giả định tài sản tuân theo một bước đi ngẫu nhiên nhân tính (multiplicative random walk). Gọi $S > 0$ là giá tài sản. Tại mỗi bước thời gian rời rạc, chúng ta tung một đồng xu với xác suất mặt ngửa là $p$.
- Nếu đồng xu ngửa, giá tài sản thay đổi theo hệ số $u$ thành $uS$.
- Nếu đồng xu sấp với xác suất $1-p$, giá tài sản thay đổi theo hệ số $d$ thành $dS$.
Chúng ta gọi đây là bước đi ngẫu nhiên nhân tính vì giá trị cổ phiếu tại thời điểm $n$ bằng giá trị trước đó nhân với một hệ số $X_n$:
\[S_n = X_n S_{n-1} \tag{6.3}\]Trong đó $X_n$ được lấy ra từ các lần tung đồng xu độc lập (i.i.d):
\[P(X_n = u) = p, \quad P(X_n = d) = 1-p \tag{6.4}\]Nếu lấy Logarit cả hai vế của phương trình (6.3), ta thấy bước đi ngẫu nhiên nhân tính thực chất là một bước đi ngẫu nhiên thông thường trên thang đo Logarit. Kỹ thuật lấy Logarit giúp biến phép nhân thành phép cộng khiến việc giải quyết vấn đề trở nên dễ dàng hơn. Bạn có thể tìm hiểu thêm kỹ thuật này trong (Ôn tập i. Log return). Ví dụ, nếu chúng ta có $\log d = -\log u$, thì một bước lên và một bước xuống sẽ đưa cổ phiếu trở lại vị trí ban đầu.
Nếu mở rộng mô hình này cho nhiều bước thời gian, ta có cây nhị phân (binomial tree) như Hình 3. Nút gốc đại diện cho giá trị cổ phiếu tại thời điểm $0$. Mỗi nút tiếp theo (từ trái sang phải) là một giá trị cổ phiếu có thể xảy ra dựa trên bước đi ngẫu nhiên nhân tính. Sau hai lần tung, cổ phiếu có giá trị là $u^2S$, $udS$, hoặc $d^2S$. Một lộ trình từ trái sang phải trong cây nhị phân là một quỹ đạo có thể có của cổ phiếu.
Ta thấy, phân phối của các kết quả tại một thời điểm nhất định tuân theo phân phối nhị phân. Nếu xét một nút riêng lẻ, xác suất đạt đến nút $u^3d$ là xác suất của ba lần tăng và một lần giảm. Xác suất đó là $p^3(1-p)$ nhân với số cách để tung được ba mặt ngửa trong bốn lần tung, hay tổ hợp $\binom{4}{3}$. Vì vậy, xác suất để cổ phiếu có $k$ lần tăng trong $n$ lần tung là:
\[\binom{n}{k} p^k (1-p)^{n-k} \tag{6.5}\]Trong đó,
\[\binom{n}{k} = \frac{n!}{k!(n-k)!} \tag{6.6}\]Giả định No-arbitrage
Khi đã nắm vững về sự vận động của giá tài sản, hãy cùng đến với một giả định quan trọng giúp chúng ta có thể định giá được quyền chọn: Không có kinh doanh chênh lệch giá (no-arbitrage).
Kinh doanh chênh lệch giá (arbitrage) là một chiến lược đầu tư tạo ra lợi nhuận mà: không tốn vốn ban đầu, không có rủi ro. Một mô hình toán học chấp nhận arbitrage sẽ không thể dùng để phân tích vì nó dẫn đến những kết quả phi lý [4].
Nguyên lý no-arbitrage giả định rằng trong một thị trường hiệu quả, các cơ hội như vậy sẽ không tồn tại lâu. Nếu có, các nhà đầu tư sẽ ngay lập tức khai thác chúng cho đến khi giá cả tự điều chỉnh về mức cân bằng. Nói một cách bình dân, điều kiện không có kinh doanh chênh lệch giá chính là: “Không có bữa trưa nào miễn phí”.
Trong mô hình định giá quyền chọn nhị phân, điều kiện no-arbitrage được thể hiện như sau:
\[0 < d < r_0 < u \tag{6.7}\]Lưu ý: $r_0$ đại diện cho giá trị của một đồng vốn sau một kỳ đầu tư, có thể được tính từ lãi suất phi rủi ro $r$ như sau $r_0 = e^r$. Vì sao là $e^r$? Bởi vì chúng ta dùng log return ở đây, xem thêm (Ôn tập i. Log return). Nếu lãi suất $r=0.04879$ trong một bước thời gian thì hệ số $r_0=1.05$. Trong các mô hình rời rạc, việc ký hiệu $r_0$ giúp đơn giản hóa công thức tính toán. Trong phần tiếp theo, đôi khi $r_0$ được gọi tắt là lãi suất phi rủi ro thay vì hệ số lãi suất phi rủi ro.
Tại sao bất đẳng thức (6.7) lại là điều kiện không có kinh doanh chênh lệch giá? Bởi vì nếu bất kỳ bất đẳng thức nào không được thỏa mãn, chúng ta có thể thực hiện một thương vụ arbitrage, xem Phụ lục (A1). Giả định no-arbitrage là cần thiết, nếu không bài toán sẽ trở nên vô nghĩa, vì các nhà môi giới trên thị trường sẽ liên tục thực hiện arbitrage cho đến khi mức giá tự điều chỉnh về trạng thái cân bằng và điều kiện này được thỏa mãn.
3. Danh mục mô phỏng (Replicating Portfolio)
Để định giá quyền chọn, công cụ quan trọng và nền tảng nhất chính là danh mục mô phỏng (Replicating Portfolio). Đây là chìa khóa để hiểu tại sao chúng ta có thể đưa ra mức giá hợp lý cho một sản phẩm tài chính có tương lai bất định như quyền chọn.
Ý tưởng cốt lõi của danh mục mô phỏng là dựa trên giả định no-arbitrage, cụ thể hơn là định luật một giá (The Law of One Price): nếu hai danh mục đầu tư mang lại cùng một mức lợi nhuận trong mọi kịch bản ở tương lai, thì chúng phải có cùng một mức giá ở hiện tại [4].
Hãy tạm gác lại những mô hình toán học phức tạp và chỉ cần tưởng tượng bạn là một nhà môi giới quyền chọn nghiệp dư. Cách đơn giản nhất để bạn phòng ngừa rủi ro (hedge) khi bán một quyền chọn mua là gì?
Bạn có thể thiết lập một danh mục “giả” chỉ bằng cách kết hợp cổ phiếu và tiền mặt sao cho kết quả cuối cùng của danh mục “giả” này khớp hoàn toàn với kết quả của quyền chọn, hay nói cách khác bạn không lãi, không lỗ từ quyền chọn đó. Đây chính xác là những gì các nhà môi giới quyền chọn đã cố gắng thực hiện trong nhiều năm, ngay cả trước khi công thức Black-Scholes (1973) ra đời. Khi đó, chi phí để xây dựng danh mục mô phỏng chính là giá trị hợp lý của quyền chọn.
3.1. One-step Model: Tuyệt chiêu copy dòng tiền của Quant
Trước hết, hãy tập trung vào cây nhị phân với một bước thời gian rời rạc duy nhất.
Vì giá quyền chọn mua là một hàm số phụ thuộc vào giá cổ phiếu cơ sở, chúng ta có thể mô hình hóa cách giá quyền chọn mua thay đổi sau một lần tung đồng xu. Ký hiệu $C$ là giá quyền chọn tại thời điểm ban đầu – cùng thời điểm với $S$, ta muốn định giá quyền chọn có giá trị tương ứng là $C_u$ khi kết quả là mặt ngửa (tăng), và $C_d$ khi là mặt sấp (giảm). Ví dụ, ở nút giá tăng $uS$, quyền chọn có giá trị là \(\max\{0, uS - K\}\) theo công thức (6.1).
Để mô phỏng quyền chọn này, chúng ta lập một danh mục gồm: $\Delta$ (Delta) số lượng cổ phiếu cần mua, $B$ (Bond) số tiền mặt hoặc vay hoặc gửi vào tài khoản ngân hàng với hệ số phi rủi ro $r_0$. Khi đó, giá trị ban đầu của danh mục đầu tư là:
\[\Delta S + B \tag{6.8}\]Rõ ràng, danh mục đầu tư này cũng thay đổi theo kết quả tung đồng xu. Sau một lần tung, giá trị của danh mục sẽ tăng hoặc giảm. Ví dụ, ở nút giá tăng, giá cổ phiếu tăng theo hệ số $u$, đồng thời tiền mặt cũng tăng theo hệ số $r_0$, cho chúng ta giá trị cuối cùng của danh mục là $\Delta uS + r_0B$.
Như đã thảo luận ở trên, nếu chúng ta là một nhà môi giới quyền chọn, thì $\Delta$ chính là số lượng cổ phiếu chúng ta cần mua để phòng ngừa rủi ro cho một vị thế quyền chọn mua mà chúng ta vừa bán. Chúng ta muốn chọn $\Delta$ và $B$ sao cho giá trị của danh mục mô phỏng khớp hoàn toàn với giá trị của quyền chọn tại mọi kịch bản.
Về mặt toán học, để khớp giá trị của danh mục và quyền chọn ở cả hai nút lên và xuống trên cây nhị thức, hệ phương trình tuyến tính sau đây cần được thỏa mãn:
\[\begin{cases} C_u = \Delta uS + r_0B \\ C_d = \Delta dS + r_0B \end{cases} \tag{6.9}\]Giải hệ phương trình, xem Phụ lục (A2), cho ta kết quả như sau:
\[\Delta = \frac{C_u - C_d}{(u - d)S}, \quad B = \frac{uC_d - dC_u}{r_0(u - d)} \tag{6.10}\]Điều này cho phép chúng ta tính được giá trị hợp lý của quyền chọn mua bằng $\Delta S + B$. Thay $\Delta$, $B$ theo công thức (6.10), xem Phụ lục (A3), ta được kết quả như sau:
\[C = \frac{1}{r_0} \left[ \left( \frac{r_0 - d}{u - d} \right) C_u + \left( \frac{u - r_0}{u - d} \right) C_d \right] \tag{6.11}\]Điều này thật thú vị! Kết quả cho thấy giá quyền chọn hiện tại có thể được biểu diễn dưới dạng các giá quyền chọn khả dĩ sau một bước thời gian ($C_u$ và $C_d$) với trọng số $\frac{r_0 - d}{u - d}$ và $\frac{u - r_0}{u - d}$, được chiết khấu về hiện tại với hệ số $r_0$.
Ví dụ: Giả sử giá cổ phiếu hôm nay (tại thời điểm $0$) là $S = 100$, với hệ số tăng $u = 1.1$ và hệ số giảm $d = 0.9$. Theo mô hình cây nhị phân, tại thời điểm $1$, giá trị của cổ phiếu sẽ là:
\[\begin{aligned} S_u &= uS = 1.1 \times 100 = 110 \\ S_d &= dS = 0.9 \times 100 = 90 \end{aligned}\]Quyền chọn mua với strike $K = 100$, tại thời điểm $1$ sẽ nhận một trong hai giá trị:
\[\begin{aligned} C_u &= \max(0, uS - K) \\ &= \max(0, 110 - 100) \\ &= 10 \\ C_d &= \max(0, dS - K) \\ &= \max(0, 90 - 100) \\ &= 0 \end{aligned}\]Giả sử hệ số $r_0 = 1.05$. Lưu ý, ta cần chọn $r_0$ thỏa mãn điều kiện no-arbitrage theo bất đẳng thức (6.7). Hãy tưởng tượng danh mục ban đầu của chúng ta có $\Delta = 0.5$ cổ phiếu và $B \approx -42.86$ tiền mặt vay với hệ số $r_0$. Tại thời điểm $1$, danh mục mô phỏng, ký hiệu là $V_1$, nhận hai giá trị $V_u$ hoặc $V_d$ như sau:
\[\begin{aligned} V_u &= \Delta uS + r_0 B \\ &\approx 0.5 \times 110 + 1.05 \times (-42.86) \\ &\approx 10 \\ V_d &= \Delta dS + r_0 B \\ &\approx 0.5 \times 90 + 1.05 \times (-42.86) \\ &\approx 0 \end{aligned}\]Điểm ma thuật thực sự nằm ở đây: $V_u = C_u \approx 10$ và $V_d = C_d \approx 0$. Nói cách khác, danh mục của chúng ta đã tái mô phỏng (replicate) chính xác giá quyền chọn mặc kệ thị trường biến động ra sao. Ví dụ này thành công là vì tôi đã cố ý chọn các giá trị $\Delta$ và $B$ phù hợp với công thức (6.10).
Đến đây, chúng ta có thể áp dụng định luật một giá. Do quyền chọn có cùng lợi nhuận với danh mục mô phỏng trong mọi kịch bản ở tương lai, giá quyền chọn tại thời điểm ban đầu phải bằng giá trị của danh mục mô phỏng:
\[C = \Delta S + B \approx 0.5 \times 100 -42.86 \approx \mathbf{7.14}\]3.2. Two-steps Model: Khi ma thuật cần sự kiên trì
Hãy tập trung vào hành vi của cổ phiếu sau hai bước thời gian. Tại đây, giá cổ phiếu có thể đã tăng hai lần theo hệ số $u^2$, giảm hai lần theo hệ số $d^2$, hoặc tăng và giảm theo hệ số $ud$. Lưu ý vì cổ phiếu có thể tăng rồi giảm hoặc giảm rồi tăng, nên có hai cách để giá cổ phiếu đạt tới giá trị $udS$. Tương tự phần trước, giá quyền chọn thay đổi theo sự biến động của cổ phiếu cơ sở như hình dưới.
Ví dụ: Ta tiếp tục với ví dụ trên $S = 100$, $K = 100$, $u = 1.1$, $d = 0.9$, $r_0 = 1.05$. Theo mô hình cây nhị phân, tại thời điểm $2$, 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 mua tại thời điểm $2$ sẽ nhận giá trị:
\[\begin{aligned} C_{uu} &= \max(0, u^2S - K) \\ &= \max(0, 121 - 100) \\ &= 21 \\ C_{ud} &= \max(0, udS - K) \\ &= \max(0, 99 - 100) \\ &= 0 \\ C_{dd} &= \max(0, d^2S - K) \\ &= \max(0, 81 - 100) \\ &= 0 \end{aligned}\]Tại thời điểm $2$, danh mục mô phỏng, ký hiệu $V_2$, nhận các giá trị $V_{uu}$, $V_{ud}$ hoặc $V_{dd}$ như sau:
\[\begin{aligned} V_{uu} &= \Delta u^2S + r_0^2 B \\ &\approx 0.5 \times 121 + 1.05^2 \times (-42.86) \\ &\approx 13.25 \\ V_{ud} &= \Delta udS + r_0^2 B \\ &\approx 0.5 \times 99 + 1.05^2 \times (-42.86) \\ &\approx 2.25 \\ V_{dd} &= \Delta d^2S + r_0^2 B \\ &\approx 0.5 \times 81 + 1.05^2\times (-42.86) \\ &\approx -6.75 \end{aligned}\]“Ma thuật” đã mất tác dụng? Giá trị danh mục mô phỏng khác hoàn toàn với giá quyền chọn tại mọi kịch bản? Để khắc phục điều này, bạn buộc phải thực hiện một chiến lược phòng hộ động (dynamic hedging), tức liên tục mua bán cổ phiếu cơ sở và thay đổi lượng tiền mặt để tạo ra danh mục mô phỏng mới tại mỗi bước thời gian. Đây chính xác là công việc hàng ngày của các nhà môi giới quyền chọn.
Trong mô hình một bước, bạn chỉ cần giữ cố định $\Delta$ và $B$ từ thời điểm $0$ tới $1$, nhưng trong mô hình nhiều bước, bạn buộc phải tái cân bằng (rebalancing) $\Delta$ và $B$ tại mỗi nút.
Tại thời điểm $1$, bạn có hai nút ($u$ và $d$). Mỗi nút này khởi đầu một “bài toán một bước” mới. Lưu ý khi áp dụng công thức (6.10) cho bước thứ hai (từ thời điểm $1$ sang $2$), mọi ký hiệu cần được cập nhật tương ứng.
- Tại nút ($u$): Bạn cần một $\Delta_u$ và $B_u$ mới để khớp với các giá trị $(C_{uu}, C_{ud})$.
Giá quyền chọn tương ứng sẽ là:
\[C_u = V_u = \Delta_u S_u + B_u \approx 0.9545 \times 110 -90 \approx 15\]- Tại nút ($d$): Bạn cần một $\Delta_d$ và $B_d$ mới để khớp với các giá trị $(C_{ud}, C_{dd})$. Do $C_{ud}$, $C_{dd}$ đều bằng $0$, ta có thể dễ dàng suy ra:
Trong mô hình hai bước, giá quyền chọn tại thời điểm ban đầu ($C$) không còn là $7.14$ nữa vì kỳ hạn đã thay đổi. Bạn phải tính ngược (backward induction) giá quyền chọn từ thời điểm $2$ về $1$, rồi từ thời điểm $1$ về $0$.
Tại thời điểm $0$, áp dụng công thức (6.10) ta có:
\[\Delta = \frac{C_u - C_d}{(u - d)S} = \frac{15 - 0}{(1.1 - 0.9) 100} \approx 0.75\] \[B = \frac{uC_d - dC_u}{r_0(u - d)} = \frac{1.1 \times 0 - 0.9 \times 15}{1.05 (1.1 - 0.9)} \approx -64.28\]Giá quyền chọn tại thời điểm ban đầu được tính như sau:
\[C = \Delta S + B \approx 0.75 \times 100 -64.28 \approx \mathbf{10.71}\]Bạn có thể thấy ngay, mô hình hai bước cho ra giá quyền chọn ($10.71$) cao hơn tương đối so với mô hình một bước ($7.14$). Sự khác biệt này phản ánh sự thật thú vị sau đây:
-
Thời gian là giá trị: Giá trị của quyền chọn phụ thuộc rất lớn vào độ biến động. Trong mô hình một bước, độ lệch tối đa so với giá gốc chỉ là $10$ đơn vị. Trong mô hình hai bước, giá cổ phiếu có thể tăng lên $121$ hoặc giảm xuống $81$. Sự phân tán của giá cổ phiếu tại thời điểm đáo hạn tăng lên theo thời gian. Vì quyền chọn mua chỉ lấy giá trị dương $\max(0, S-K)$, nên sự phân tán này có lợi cho người giữ quyền chọn, làm tăng phí quyền chọn.
-
Giá quyền chọn thực chất là chi phí của một chiến lược phòng hộ: Trong mô hình một bước, bạn chỉ cần mua $0.5$ cổ phiếu và để đó. Trong mô hình hai bước, chúng ta phải liên tục điều chỉnh vị thế (từ mua $0.75$ cổ phiếu lên $0.95$ hoặc bán sạch về $0$) để đảm bảo an toàn tuyệt đối cho dù thị trường biến động ra sao. Việc đối mặt với nhiều rủi ro tái cân bằng hơn khiến chi phí ban đầu cao hơn.
Định giá quyền chọn với danh mục mô phỏng dạy chúng ta rằng: Trong tài chính, rủi ro không được triệt tiêu bằng cách dự báo đúng tương lai, mà bằng cách hành động đúng tại mỗi bước đi của thị trường. Một quyền chọn đắt hơn đơn giản là vì nó bao hàm một chiến lược phòng hộ quy mô hơn và bền bỉ hơn qua thời gian.
3.3. Self-financing: Danh mục tự vận hành
Một đặc điểm quan trọng của chiến lược phòng hộ động (dynamic hedging) là tính tự tài trợ (self-financing). Điều này có nghĩa là sau khi thiết lập danh mục ban đầu, các bước tái cân bằng tiếp theo không đòi hỏi bạn phải nạp thêm tiền hay rút tiền ra [8]. Giá trị của danh mục cũ tại thời điểm điều chỉnh sẽ vừa đủ để trang trải chi phí thiết lập danh mục mới. Điều này thật khó tin?
Chúng ta thử kiểm chứng tính tự tài trợ này với ví dụ trên.
Tại thời điểm $1$, danh mục mô phỏng từ thời điểm $0$ bao gồm $\Delta = 0.75$ cổ phiếu và $B \approx -64.28$ tiền mặt. Giả sử, bạn ở nút kịch bản giá tăng, danh mục cũ có giá trị là:
\[V_u = 0.75 \times 110 - 1.05 \times 64.28 = 82.5 - 67.5 = \mathbf{15}\]Danh mục mới để phòng hộ cho thời điểm $2$ bao gồm $\Delta_u \approx 0.9545$ cổ phiếu và $B_u \approx -90$ tiền mặt. Chi phí để thiết lập danh mục này là:
\[0.9545 \times 110 - 90 = \mathbf{15}\]Bạn có đúng $15$ và bạn cần đúng $15$ để điều chỉnh danh mục. Trong kịch bản giá tăng, bạn cần mua thêm $\Delta$ từ $0.75$ lên $0.95$, tiền được lấy từ khoản vay thêm từ $-64.28$ xuống $-90.00$. Trong kịch bản giá giảm, quyền chọn lúc này không còn khả năng sinh lời, bạn bán sạch $0.75$ cổ phiếu đi để trả hết nợ và lãi, đưa mọi vị thế về $0$.
4. Thước đo trung hòa rủi ro (Risk-Neutral Measure)
Trong phần trước, chúng ta đã biết có thể định giá quyền chọn bằng cách xây dựng một danh mục mô phỏng. Mặc dù phương pháp này giúp chúng ta hiểu rõ bản chất của việc định giá quyền chọn cũng như phòng hộ rủi ro, nhưng trong thực tế, việc áp dụng nó cho cây nhị phân nhiều bước là một cơn ác mộng về mặt tính toán. Bạn có thể thấy chỉ với cây nhị phân hai bước chúng ta đã phải vất vả như thế nào.
Câu hỏi đặt ra là: Liệu có cách nào để tính thẳng ra giá quyền chọn ở thời điểm hiện tại mà không cần phải quan tâm đến việc mua bao nhiêu cổ phiếu hay vay bao nhiêu tiền tại mỗi nút trung gian hay không? Các nhà toán học đã tìm ra một con đường tắt mạnh mẽ hơn rất nhiều: Định giá với thước đo trung hòa rủi ro (Risk-Neutral Measure). Thay vì đi từng bước để mô phỏng danh mục, chúng ta sẽ biến định giá quyền chọn thành một bài toán kỳ vọng đơn giản.
4.1. Risk-neutral Probability: Con số giả, giá trị thật
Ta bắt đầu từ công thức tính giá quyền chọn (6.11) ở phần trước.
\[C = \frac{1}{r_0} \left[ \left( \frac{r_0 - d}{u - d} \right) C_u + \left( \frac{u - r_0}{u - d} \right) C_d \right]\]Bạn có tò mò thực chất các trọng số $\frac{r_0 - d}{u - d}$ và $\frac{u - r_0}{u - d}$ là gì không? Một điểm đáng ngạc nhiên là tổng các trọng số này bằng $1$, nên ta có thể coi chúng như những xác suất.
\[\frac{r_0 - d}{u - d} + \frac{u - r_0}{u - d} = \frac{r_0 - d + u - r_0}{u - d} = 1\]Gọi $q$ là trọng số bên trái:
\[q = \frac{r_0 - d}{u - d} \tag{6.12}\]trọng số bên phải sẽ là:
\[1 - q = \frac{u - r_0}{u - d} \quad \text{and} \quad 0 \leq q, \, 1-q \leq 1 \tag{6.13}\]Nhờ vậy, chúng ta có thể biểu diễn giá quyền chọn như một kỳ vọng (expectation) của chính nó với các “xác suất giả” $q$ và $1 - q$, được chiết khấu về hiện tại bằng hệ số phi rủi ro.
\[C = \frac{1}{r_0} [q \, C_u + (1 - q) \, C_d] \tag{6.14}\]Các “xác suất giả” này còn được gọi là xác suất trung hòa rủi ro (risk-neutral probability). Lưu ý quan trọng: $q$ không phải là xác suất thực tế $p$ (physical probability) xảy ra ngoài thị trường, nó chỉ là một giả định toán học giúp việc tính toán trở nên dễ dàng hơn.
4.2. Risk-neutral World: Giả định điên rồ nhưng hiệu quả kinh ngạc
Câu hỏi đặt ra là: Tại sao chúng ta có thể sử dụng “xác suất giả” hay xác suất trung hòa rủi ro để định giá quyền chọn?
Trong thực tế, hầu hết các nhà đầu tư đều lo ngại rủi ro (risk-averse). Nếu bạn yêu cầu họ nắm giữ một tài sản biến động mạnh như quyền chọn, họ sẽ đòi một mức lợi nhuận kỳ vọng cao hơn lãi suất phi rủi ro để bù đắp cho sự mạo hiểm đó. Tuy nhiên, hãy tưởng tượng một thế giới giả tưởng nơi mọi người không quan tâm đến rủi ro [6]. Trong thế giới này,
-
Mọi người không yêu cầu phần bù rủi ro (risk premium).
-
Tất cả các tài sản đầu tư, dù rủi ro đến đâu, đều chỉ mang lại lợi nhuận kỳ vọng đúng bằng lãi suất phi rủi ro. Cổ phiếu hay thậm chí tiền mã hóa (crypto) có cùng mức lợi nhuận kỳ vọng như trái phiếu chính phủ.
-
Giá trị của bất kỳ tài sản nào ở hiện tại đơn giản là giá trị kỳ vọng của nó trong tương lai được chiết khấu về hiện tại bằng lãi suất phi rủi ro.
Thế giới trung hòa rủi ro thực chất là một lối tắt toán học – một môi trường giả định được sử dụng để đơn giản hóa việc định giá các công cụ phái sinh. Trong thế giới thực, việc định giá rất khó vì bạn cần biết chính xác bao nhiêu phần bù rủi ro để cộng vào tỷ lệ chiết khấu nhằm bù đắp cho sự không chắc chắn. Trong thế giới trung hòa rủi ro, sự phức tạp này biến mất, tỷ lệ tăng trưởng tính trên hệ số $r_0$ và tỷ lệ chiết khấu cũng vậy [6].
Nếu bạn vẫn chưa thấy thuyết phục, điểm mấu chốt ở đây là: Giá trị hợp lý của một quyền chọn không phụ thuộc vào thái độ của nhà đầu tư đối với rủi ro. Điều này đúng nhờ vào cơ chế phòng vệ (hedging) và mô phỏng (replication) như bạn thấy ở Phần 3.
-
Rủi ro của quyền chọn có thể được triệt tiêu hoàn toàn bằng cách thiết lập một danh mục mô phỏng kết hợp giữa cổ phiếu và tiền mặt.
-
Nếu bạn có thể tạo ra một danh mục mô phỏng hoàn toàn khớp với khoản thanh toán của quyền chọn, thì quyền chọn phải có giá bằng đúng chi phí lập danh mục đó.
-
Vì rủi ro đã được phòng vệ, xu hướng tăng trưởng thực tế (drift) của cổ phiếu không còn ảnh hưởng đến giá quyền chọn. Hai nhà đầu tư – một người cực kỳ lạc quan và một người cực kỳ bi quan – vẫn sẽ đồng ý một giá quyền chọn chung miễn là họ đồng ý về độ biến động (volatility) của cổ phiếu [6].
4.3. Risk-neutral Valuation: Khi mọi thứ chỉ còn là bài toán tính trung bình
Bây giờ chúng ta hãy thử áp dụng xác suất trung hòa rủi ro để định giá quyền chọn mua. Mục tiêu là tìm ra một công thức tương tự như (6.14) nhưng có thể áp dụng cho nhiều bước thời gian.
Bạn chú ý điểm khác biệt duy nhất giữa Hình 8 và Hình 6 là ở đây ta định giá với xác suất trung hòa rủi ro $q$. Xác suất thực $p=0.5$ để tung được mặt ngửa của đồng xu không còn quan trọng nữa.
Hãy tưởng tượng lần tung đồng xu đầu tiên là ngửa (giá tăng), giá quyền chọn tại nút này là $C_u$. Do các lần tung đồng xu là độc lập với nhau, tất cả các logic từ phần trước vẫn giữ nguyên. Chúng ta có thể kết luận rằng giá trị của $C_u$ bằng với giá trị kỳ vọng của nó trong lần tung đồng xu tiếp theo đã chiết khấu theo thời gian như công thức (6.14):
\[C_u = \frac{1}{r_0} [q \, C_{uu} + (1-q) \, C_{ud}] \tag{6.15}\]Trong đó $C_{uu}$, $C_{ud}$ lần lượt là các giá trị của quyền chọn sau hai lần tăng và sau một lần tăng, một lần giảm. Tương tự, trường hợp lần tung đồng xu đầu tiên là sấp (giá giảm), ta có:
\[C_d = \frac{1}{r_0} [q \, C_{ud} + (1-q) \, C_{dd}] \tag{6.16}\]Thay $C_u$, $C_d$ từ (6.15) (6.16) vào (6.14) cho chúng ta giá quyền chọn mua tại thời điểm ban đầu dựa trên các giá trị khả thi của nó sau hai bước:
\[\begin{aligned} C &= \frac{1}{r_0} [q \, C_u + (1-q) \, C_d] \\ &= \frac{1}{r_0} \left[ q \left( \frac{1}{r_0} (q \, C_{uu} + (1-q)\, C_{ud}) \right) + (1-q) \left( \frac{1}{r_0} (q \, C_{ud} + (1-q) \, C_{dd}) \right) \right] \\ &= \frac{1}{r_0^2} [q^2 C_{uu} + 2q \, (1-q) \, C_{ud} + (1-q)^2 C_{dd}] \end{aligned} \tag{6.17}\]Ví dụ: Ta tiếp tục với ví dụ trên $S = 100$, $K = 100$, $u = 1.1$, $d = 0.9$, $r_0 = 1.05$. Theo công thức (6.12) (6.13), xác suất trung hòa rủi ro lần lượt là:
\[q = \frac{r_0 - d}{u - d} = \frac{1.05 - 0.9}{1.1 - 0.9} = 0.75 \quad \text{and} \quad 1 - q = 0.25\]Áp dụng công thức (6.17), giá quyền chọn tại thời điểm ban đầu là:
\[\begin{aligned} C &= \frac{1}{r_0^2} [q^2 C_{uu} + 2q \, (1-q) \, C_{ud} + (1-q)^2 C_{dd}] \\ &= \frac{1}{(1.05)^2} [(0.75)^2 \times 21 + 2 \times 0.75 \times 0.25 \times 0 + (0.25)^2 \times 0] \\ &\approx \mathbf{10.71} \end{aligned}\]Bạn có thể thấy kết quả ($10.71$) giống hệt như giá quyền chọn đã tính bằng danh mục mô phỏng ở phần trước, nhưng việc tính toán nhanh hơn nhiều. Đây chính là sức mạnh của phương pháp định giá trong thế giới trung hòa rủi ro.
Bây giờ, hãy lặp lại logic này cho trường hợp cây nhị phân ba bước ($n=3$). Một lần nữa, chúng ta có thể nói rằng giá trị của quyền chọn mua tại thời điểm $2$ có thể được biểu diễn dưới dạng kỳ vọng trung hòa rủi ro của nó trong thời điểm kế tiếp. Điều này cho chúng ta:
\[\begin{aligned} C_{uu} &= \frac{1}{r_0} [q \, C_{uuu} + (1 - q) \, C_{uud}] \\ C_{ud} &= \frac{1}{r_0} [q \, C_{uud} + (1 - q) \, C_{ddu}] \\ C_{dd} &= \frac{1}{r_0} [q \, C_{ddu} + (1 - q) \, C_{ddd}] \end{aligned} \tag{6.18}\]Hy vọng đến đây, các ký hiệu như $C_{uuu}$ đã trở nên rõ ràng đối với bạn. Chúng ta lại có thể viết giá quyền chọn mua tại thời điểm ban đầu thông qua giá của nó tại thời điểm $3$:
\[\begin{aligned} C &= \frac{1}{r_0^2} [q^2 C_{uu} + 2q(1 - q) C_{ud} + (1 - q)^2 C_{dd}] \\ &= \frac{1}{r_0^3} [q^3 C_{uuu} + 3q^2(1 - q) C_{uud} + 3q(1 - q)^2 C_{ddu} + (1 - q)^3 C_{ddd}] \end{aligned} \tag{6.19}\]Một lần nữa, chúng ta thấy giá quyền chọn mua tỷ lệ thuận với một khai triển nhị thức. Với một chút trực giác toán học, ta có thể suy ra công thức tổng quát cho giá trị của quyền chọn mua $C$ tại thời điểm $0$, dựa trên các giá trị khả dĩ của nó tại thời điểm $n$, là như sau:
\[C = \frac{1}{r_0^n} \left[ \sum_{k=0}^{n} \binom{n}{k} q^k (1 - q)^{n-k} \max[0, u^k d^{n-k} S - K] \right] \tag{6.20}\]Trong công thức (6.20), giá quyền chọn mua tại nút $k$ lần giá tăng trong $n$ lần thử, được biểu diễn trực tiếp theo giá tài sản và giá thực hiện như sau:
\[\text{C at node } k \text{ heads in } n \text{ trails} = \max\left[ 0, u^k d^{n-k} S - K \right] \tag{6.21}\]xác suất tại nút tương ứng là:
\[\text{Prob at node } k \text{ heads in } n \text{ trails} = \binom{n}{k} q^k (1 - q)^{n-k} \tag{6.22}\]Hãy chú ý rằng xác suất thực $p$ không hề xuất hiện trong mức giá này! Chúng ta không quan tâm việc một bước tăng hay giảm có khả năng xảy ra như thế nào trong thực tế, chúng ta chỉ quan tâm đến xác suất trung hòa rủi ro $q$.
5. Numerical Method: Khi lập trình thay thế những công thức nhức đầu
Cho đến nay, chúng ta đã đi sâu vào việc giải các phương trình toán học để tìm $\Delta$, $B$ hay xác suất trung hòa rủi ro $q$. Nhưng hãy thành thật với nhau khi số lượng bước của cây nhị phân tăng từ 2 lên 100 hoặc 1000 để mô phỏng thế giới thực, việc giải tay từng hệ phương trình là điều không thể. Đây là lúc phương pháp số (Numerical Method) lên ngôi.
5.1. Backward Induction: Tư duy ngược từ tương lai
Đầu tiên, tôi giới thiệu thuật toán truy hồi ngược (Backward Induction) cực kỳ thông minh. Backward Induction là kỹ thuật bắt đầu từ những gì chúng ta đã biết ở tương lai để suy luận ngược lại những gì chúng ta cần tìm ở hiện tại. Với thuật toán này, bạn không cần những biến đổi toán học phức tạp, để định giá quyền chọn bạn chỉ cần công thức (6.14).
Chi tiết thuật toán như sau:
- Thiết lập các nút tại thời điểm đáo hạn: Tại bước cuối cùng, giá quyền chọn hay payoff đơn giản là một hàm số của giá tài sản tại đó (6.1).
- Truy hồi ngược một bước: Đây là nơi toán học và lập trình giao thoa. Giá quyền chọn tại nút đó chính là kỳ vọng trung hòa rủi ro của chính nó ở bước tiếp theo, sau đó chiết khấu về hiện tại bằng lãi suất phi rủi ro (6.14).
- Lặp lại cho đến khi chạm nút gốc: Thuật toán sẽ lặp lại bước trên cho từng tầng của cây nhị phân. Mỗi tầng với số lượng nút giảm đi cho đến khi chỉ còn một nút duy nhất tại thời điểm ban đầu. Đó chính là giá quyền chọn hợp lý mà chúng ta đang tìm kiếm [7].
Bạn có thể chạy thử thuật toán trên Google Colab.
Tôi cũng chuẩn bị file Excel Excel Workbook cho bài này, mục đích chính là giúp bạn kiểm tra lại các phép tính trong code Python.
import numpy as np
def bopm_backward(S, K, u, d, r0, n):
q = (r0 - d) / (u - d)
# Calculate payoff at maturity
C = np.maximum(S * (u**np.arange(n, -1, -1)) * (d**np.arange(0, n + 1)) - K, 0)
# Backward induction
for i in range(n):
C = (1 / r0) * (q * C[:-1] + (1 - q) * C[1:])
return C[0]
Ta gọi hàm bopm_backward(S, K, u, d, r0, n) với các tham số như ví dụ trên $S = 100$, $K = 100$, $u = 1.1$, $d = 0.9$, $r_0 = 1.05$ để tính giá quyền chọn cho trường hợp một và hai bước.
bopm_backward(100, 100, 1.1, 0.9, 1.05, 1)
#7.142857142857152
bopm_backward(100, 100, 1.1, 0.9, 1.05, 2)
#10.714285714285717
Bạn có thể thấy kết quả Python giống hệt như giá quyền chọn đã tính ở phần trước với cây nhị phân một bước ($7.14$) và hai bước ($10.71$).
5.2. BOPM Closed-form Formula: Sức mạnh của toán học
Mặc dù thuật toán Backward Induction ở trên rất trực quan và dễ hiểu, nhưng về mặt thực thi, bạn sẽ nhận ra một vấn đề: Để tính giá tại thời điểm ban đầu, máy tính phải tính toán lại toàn bộ các nút trung gian của cây. Với một cây 10 000 bước, máy tính phải thực hiện hàng triệu phép tính lặp.
Đây là lúc sự pha trộn giữa toán và lập trình phát huy tác dụng. Ở đây, thay vì mô phỏng từng bước đi của thời gian, chúng ta sẽ sử dụng sức mạnh của toán học tổ hợp để nhảy vọt thẳng tới kết quả cuối cùng. Thuật toán này thực chất dựa trên công thức (6.20).
Chi tiết thuật toán như sau:
- Tại bước cuối cùng, tính giá quyền chọn hay payoff dựa trên giá tài sản tại nút đó (6.21). Hàm
max(0, S_n - K)chính là payoff của quyền chọn tại thời điểm đáo hạn. - Tính xác suất tại nút $k$ lần tăng trong $n$ bước tuân theo phân phối nhị thức (6.22). Hàm
choose(n, k) * (q**k) * ((1 - q)**(n - k))chính là thực thư của tính toán này. - Tính kỳ vọng tại bước cuối cùng sau đó chiết khấu về giá trị hiện tại bằng cách chia cho hệ số phi rủi ro tích lũy qua $n$ giai đoạn.
Tóm lại, với mô hình hai bước:
\[C = \frac{1}{1.105^2} \left[ 21 \times 0.5625 + 0 \times 0.3750 + 0 \times 0.0625) \right] \approx 10.71\]import numpy as np
from scipy.special import comb as choose
def bopm(S, K, u, d, r0, n):
df = 1 / (r0**n)
q = (r0 - d) / (u - d)
C = 0
for k in range(0, n + 1):
# Calculate the stock price after k up-moves and (n-k) down-moves
S_n = (u**k) * (d**(n - k)) * S
# Calculate the probability of reaching this specific node using the binomial distribution
prob_k = choose(n, k) * (q**k) * ((1 - q)**(n - k))
# Add the weighted payoff (max(0, S_n - K)) to the total
C += prob_k * max(0, S_n - K)
return df * C
bopm(100, 100, 1.1, 0.9, 1.05, 1)
#7.142857142857152
bopm(100, 100, 1.1, 0.9, 1.05, 2)
#10.714285714285719
Bạn thấy đấy dù chúng ta dùng thuật toán nào, kết quả là như nhau. Sự khác biệt ở đây là về hiệu năng, hay thuật ngữ lập trình gọi là độ phức tạp của thuật toán (algorithm complexity). Trong khi Backward Induction cần $O(n^2)$ phép tính (hai vòng lặp lồng nhau), thì Closed-form Formula chỉ cần $O(n)$ (một vòng lặp duy nhất). Sự khác biệt có vẻ nhỏ nếu chỉ để định giá một quyền chọn nhưng khi hệ thống cần định giá hàng triệu quyền chọn mỗi giây, kiến thức toán học về phân phối nhị thức sẽ giúp code của bạn từ chạy được trở thành chạy tốt.
Thực tế, thuật toán closed-form formula cho cây nhị phân ít được sử dụng vì thiếu tính ổn định (numerical instability). Khi $n$ rất lớn, hàm choose(n, j) và các lũy thừa $u^k$ có thể tạo ra những con số cực kỳ lớn, dẫn đến lỗi tràn bộ nhớ (overflow).
Nếu bạn nghĩ $O(n)$ đã là giới hạn của sự tối ưu, hãy chuẩn bị để toán học làm bạn kinh ngạc. Trong thế giới Quant, chúng ta không chỉ dừng lại ở việc tối ưu cho vòng lặp chạy nhanh hơn; chúng ta tìm cách để biến mất luôn vòng lặp đó. Đây chính là lý do vì sao công thức Black-Scholes trở nên thần thánh như vậy. Nếu mô hình nhị thức bắt bạn phải đếm từng kịch bản, thì Black-Scholes dùng giải tích để đo lường toàn bộ không gian giá trị cùng một lúc, với độ phức tạp $O(1)$. Trong các hệ thống giao dịch tần suất cao, nơi mà mỗi micro giây đều đáng giá triệu đô, việc đưa độ phức tạp về $O(1)$ không chỉ là tối ưu code - đó là một lợi thế sinh tồn.
Toán sâu thì Code sắc. Hãy nhớ rằng, trong thế giới Quant, hai kỹ năng này không thể tách rời. Một thuật toán được tối ưu bằng toán học sẽ luôn chạy nhanh hơn, chính xác hơn và ổn định hơn. Tùy vào nền tảng cá nhân, bạn có thể tiếp cận định giá quyền chọn theo những cách khác nhau, nhưng sự kết hợp của cả hai mới là vũ khí tối thượng.
6. Tóm tắt và thảo luận
Hành trình định giá quyền chọn của chúng ta đã đi qua rất nhiều tầng kiến thức, từ lý thuyết trừu tượng đến thực thi thực tế. Đừng lo lắng nếu bạn cảm thấy bị choáng ngợp bởi các ký hiệu toán học; thực tế có rất nhiều con đường để đi đến cùng một đáp án:
-
Về mặt lý thuyết (Theoretical): Chúng ta có công cụ danh mục mô phỏng (Replicating Portfolio) giúp hiểu rõ bản chất của việc phòng vệ rủi ro, và thước đo trung hòa rủi ro (Risk-neutral Measure) giúp biến mọi thứ thành một bài toán tính kỳ vọng đơn giản.
-
Về mặt thực hành (Practical): Chúng ta có thể dùng công thức đóng (Closed-form Formula) để tính toán cực nhanh cho các quyền chọn đơn giản, hoặc dùng truy hồi ngược (Backward Induction) để xử lý những quyền chọn phức tạp hơn như quyền chọn kiểu Mỹ.
-
Thực hành Excel
Excel Workbook
Nếu bạn không cảm thấy tự tin với những công thức tổng quát đầy những dấu $\Sigma$ hay tổ hợp $\binom{n}{j}$, hãy bắt đầu bằng cách lập trình truy hồi ngược.
Tại sao ư? Vì truy hồi ngược mô phỏng đúng cách con người tư duy về tương lai: Chúng ta nhìn vào những kết quả có thể xảy ra ở cuối con đường, rồi từ đó tính ngược lại xem giá trị ở hiện tại nên là bao nhiêu. Nó biến những phương trình phức tạp thành một chuỗi các phép cộng, nhân và chia cơ bản. Trong tài chính, đôi khi “đi ngược” lại chính là cách nhanh nhất để tiến về phía trước.
Hẹn gặp lại các bạn trong bài tiếp theo, chúng ta sẽ thử dùng mô hình nhị phân để định giá quyền chọn với dữ liệu thực tế trên thị trường.
Appendix
A1. Chứng minh điều kiện no-arbitrage
Để chứng minh bất đẳng thức $0 < d < r_0 < u$ là điều kiện no-arbitrage, ta xét hai trường hợp ngược lại để chứng minh tại sao nếu điều kiện này bị vi phạm, thị trường sẽ xuất hiện arbitrage.
Trường hợp lãi suất quá thấp ($r_0 \leq d$): Nếu lãi suất ngân hàng ($r_0$) nhỏ hơn hoặc bằng hệ số giảm ($d$) của cổ phiếu, cổ phiếu sẽ trở thành một tài sản ưu việt hơn hẳn vì ngay cả trong kịch bản tệ nhất, nó vẫn sinh lời tốt hơn gửi tiết kiệm.
Tại thời điểm ban đầu ($t=0$), nhà đầu tư bắt đầu với số vốn $W_0 = 0$, vay một khoản tiền $S_0$ từ ngân hàng với hệ số lãi suất $r_0$ để mua 1 cổ phiếu.
Tại thời điểm đáo hạn ($t=1$),
- Nếu giá giảm: Giá trị cổ phiếu là $d S_0 $, khoản nợ phải trả là $r_0 S_0 $. Lợi nhuận thu về:
- Nếu giá tăng: Vì $u > d$ và $d \geq r_0$, nên chắc chắn $u > r_0$. Lợi nhuận thu về:
Nhà đầu tư chắc chắn có lãi hoặc hòa vốn mà không chịu bất kỳ rủi ro do cả hai kịch bản đều đem lại lợi nhuận không âm, hay $P(W_1 \geq 0) = 1$. Đây là một cơ hội arbitrage, vi phạm giả định.
Trường hợp lãi suất quá cao ($u \leq r_0$): Nếu hệ số tăng ($u$) của cổ phiếu vẫn không theo kịp lãi suất ngân hàng ($r_0$), thì việc nắm giữ cổ phiếu là một sự lựa chọn tệ hơn so với giữ tiền mặt.
Tại thời điểm ban đầu ($t=0$), nhà đầu tư bắt đầu với số vốn $W_0 = 0$, thực hiện bán khống một cổ phiếu để thu về $S_0$ và gửi toàn bộ số tiền này vào ngân hàng để hưởng hệ số lãi suất $r_0$.
Tại thời điểm đáo hạn ($t=1$),
- Nếu giá tăng: Tiền gửi ngân hàng tăng lên thành $r_0 S_0$, trong khi chi phí để mua lại cổ phiếu trả nợ chỉ là $u S_0$. Lợi nhuận thu về:
- Nếu giá giảm: Vì $r_0 \geq u$ và $u > d$, nên chắc chắn $r_0 > d$. Lợi nhuận thu về:
Nhà đầu tư chỉ việc bán khống tài sản rủi ro để gửi vào tài sản an toàn là có thể thu về lợi nhuận chắc chắn. Đây là một cơ hội arbitrage, vi phạm giả định.
Điều cần chứng minh, bất đẳng thức (6.7).
A2. Lời giải $\Delta$ và $B$
Chúng ta cần giải hệ phương trình sau:
\[\begin{cases} C_u = \Delta uS + r_0 B \\ C_d = \Delta dS + r_0 B \end{cases} \tag{6.A2.1}\]Để tìm $\Delta$, ta thực hiện phép trừ phương trình trên với phương trình dưới:
\[C_u - C_d = \Delta(uS - dS)\] \[\Delta = \frac{C_u - C_d}{(u - d)S} \tag{6.A2.2}\]Để tìm $B$, thay giá trị $\Delta$ vào phương trình đầu trong hệ (6.A2.1):
\[\begin{aligned} B &= \frac{1}{r_0} (C_u - \Delta uS) \\ &= \frac{1}{r_0} \left[ C_u - \left( \frac{C_u - C_d}{(u - d)S} \right) uS \right] \\ &= \frac{1}{r_0} \left[ \frac{C_u(u - d) - uC_u + uC_d}{u - d} \right] \\ &= \frac{1}{r_0} \left[ \frac{uC_u - dC_u - uC_u + uC_d}{u - d} \right] \\ &= \frac{uC_d - dC_u}{r_0(u - d)} \end{aligned} \tag{6.A2.3}\]Điều cần chứng minh, công thức (6.10).
A3. Biểu diễn $C$ thông qua xác suất trung hòa rủi ro
\[\begin{aligned} C &= \Delta S + B \\ &= \left( \frac{C_u - C_d}{(u - d)S} \right) S + \left( \frac{uC_d - dC_u}{r_0(u - d)} \right) \\ &= \frac{1}{r_0} \left[ \left( \frac{r_0 C_u - r_0 C_d}{u - d} \right) + \left( \frac{uC_d - dC_u}{u - d} \right) \right] \\ &= \frac{1}{r_0} \left[ \frac{r_0 C_u - r_0 C_d + u C_d - d C_u}{u - d} \right] \\ &= \frac{1}{r_0} \left[ \frac{(r_0 - d)C_u + (u - r_0)C_d}{u - d} \right] \\ &= \frac{1}{r_0} \left[ \left( \frac{r_0 - d}{u - d} \right) C_u + \left( \frac{u - r_0}{u - d} \right) C_d \right] \end{aligned} \tag{6.A3.1}\]Điều cần chứng minh, công thức (6.11).
- Cox, J. C., Ross, S. A., & Rubinstein, M. (1979). Option pricing: A simplified approach. Journal of Financial Economics, 7(3), 229–263.
- Rendleman, R. J. (1979). Two-state option pricing. The Journal of Finance, 34(5), 1093–1110.
- Black, F., & Scholes, M. (1973). The pricing of options and corporate liabilities. Journal of Political Economy, 81(3), 637–654.
- Chisholm, A. M. (2004). Derivatives Demystified: A Step-by-Step Guide to Forwards, Futures, Swaps and Options. Wiley Finance.
- Taleb, N. N. (1997). Dynamic Hedging: Managing Vanilla and Exotic Options. Wiley Finance.
- Hull, J. C. (2008). Options, Futures, and Other Derivatives, 7th Edition, Pearson Education.
- Baxter, M. W., & Rennie, A. J. O. (1996). Financial Calculus: An Introduction to Derivative Pricing. Cambridge University Press.
- Deutsch, H. P. (2004). Introduction to Quantitative Methods for Financial Markets. Wiley Finance.