Bài 5: Ứng dụng GBM trong thực tiễn

GBM không chỉ để mô phỏng cho vui. Cùng đi từ kiểm định dữ liệu thực, hiệu chuẩn tham số, đến ứng dụng thực tế (dự báo, quản trị rủi ro, định giá phái sinh).

Reading mode

Chúng ta đã đi qua một hành trình từ những bước đi ngẫu nhiên đến dòng chảy liên tục của chuyển động Brown. Nhưng lý thuyết sẽ chỉ là lý thuyết nếu chúng ta không thể áp dụng vào thực tế sinh động. Liệu chỉ số S&P 500 hay giá cổ phiếu Apple có thực sự tuân theo quy luật mà các nhà toán học đã đặt ra?

Trong bài viết này, chúng ta sẽ tạm rời xa các công thức khô khan để bắt tay vào kiểm chứng với dữ liệu thực tế xem thị trường có chuẩn hay không, học cách nắm bắt đặc tính của cổ phiếu qua bộ tham số $\mu, \sigma$, và cuối cùng tìm hiểu ứng dụng thực tế của GBM từ dự báo kịch bản tương lai của giá cổ phiếu, quản trị rủi ro, tới định giá phái sinh.

Trong bài viết này:

1. Normality Test: Kiểm định phân phối chuẩn

Trước khi áp dụng mô hình vào thực tế, chúng ta cần trả lời một câu hỏi nền tảng: dữ liệu thực tế có chuẩn như lý thuyết yêu cầu không? Bachelier giả định lợi nhuận tuyệt đối (absolute return), còn GBM thì yêu cầu tỷ suất lợi nhuận, gọi tắt là lợi suất (log return) phải tuân theo phân phối chuẩn. Hãy cùng kiểm chứng điều này với dữ liệu lịch sử.

1.1. Thu thập dữ liệu

Để thực hiện, chúng ta cần dữ liệu lịch sử chất lượng, tốt nhất là giá đóng cửa điều chỉnh (adjusted close) đã loại bỏ tác động của chia tách (split) và cổ tức (dividend). Có rất nhiều nguồn cho phép bạn truy cập miễn phí dữ liệu lịch sử giao dịch chứng khoán. Các lựa chọn này trải dài từ việc tải file .csv thủ công trên trang web cho đến các API mạnh mẽ giúp tự động lấy dữ liệu dành cho lập trình viên. Dưới đây là một vài nguồn dữ liệu miễn phí tốt năm 2026 để bạn tham khảo.

Nếu bạn chỉ cần một file .csv để mở trong Excel, đây là những lựa chọn tốt nhất:

  • Yahoo Finance: Vẫn được coi là tiêu chuẩn vàng cho việc tải dữ liệu nhờ tính bao quát thị trường và hoàn toàn miễn phí. Nó cung cấp dữ liệu của hầu hết các sàn chứng khoán lớn trên thế giới và cả ở Việt Nam. Cách làm: đăng nhập, tìm kiếm mã chứng khoán, ví dụ AAPL (Apple Inc.), nhấp vào tab Historical Data, chọn khoảng thời gian và nhấn Download.
  • Investing.com: Cung cấp cơ sở dữ liệu khổng lồ về cổ phiếu toàn cầu, các chỉ số, cũng như hàng hóa. Cách làm: đăng nhập, tìm kiếm mã chứng khoán, ví dụ JPM (JPMorgan Chase & Co.), đi đến tab Historical Data và bạn có thể Download dữ liệu trực tiếp.
  • Boursorama.com: Chuyên cung cấp dữ liệu thị trường Pháp, châu Âu, và Mỹ. Cách làm: không cần đăng nhập, tìm kiếm mã chứng khoán, bạn sẽ thấy nút Download ngay trên biểu đồ chart.

Nếu bạn muốn lấy trực tiếp dữ liệu qua API, đây là một vài nguồn tham khảo:

  • Alpha Vantage: Đây là API phổ biến nhất vì nó cung cấp hầu hết mọi thứ từ giá cổ phiếu, ngoại hối (Forex), tiền điện tử (Crypto) đến các chỉ báo kỹ thuật (RSI, MACD). Gói miễn phí giới hạn khoảng 25 yêu cầu/ngày, phù hợp để làm các dự án nhỏ, học tập hoặc nghiên cứu.
  • Polygon.io: Nếu bạn cần dữ liệu cực nhanh và chính xác cho thị trường chứng khoán Mỹ, Polygon là lựa chọn hàng đầu. Gói miễn phí cho phép truy cập dữ liệu lịch sử trong vòng 2 năm với giới hạn 5 yêu cầu/phút.

Nên lấy dữ liệu trong khoảng 2 đến 5 năm để có đủ cỡ mẫu cho các kiểm định thống kê, nhưng không quá xa để tránh việc cấu trúc thị trường đã thay đổi quá nhiều.

1.2. Mô tả dữ liệu

Để thuận tiện cho bài viết, tôi đã chuẩn bị sẵn dữ liệu thực tế của 4 mã cổ phiếu blue-chips trên sàn S&P500: AAPL (Apple Inc.), JPM (JPMorgan Chase & Co.), JNJ (Johnson & Johnson), XOM (Exxon Mobil Corp.). Bốn mã này sẽ theo chúng ta xuyên suốt cả bài, từ kiểm định, hiệu chuẩn, cho đến các ví dụ ở phần sau. Dữ liệu được lấy từ Polygon.io, từ 01/2024–01/2026. Bạn có thể download dữ liệu tại đây Zipmarket_data.zip.


Dữ liệu lịch sử giá cổ phiếu AAPL, JPM, JNJ, XOM
Hình 1: Dữ liệu lịch sử giá cổ phiếu AAPL, JPM, JNJ, XOM, giai đoạn 01/2024 – 01/2026.

Nhìn vào biểu đồ, bạn sẽ thấy những đoạn giá bỗng dưng dốc đứng, hoặc thậm chí đứt đoạn tạo thành một khoảng trống. Hiện tượng này không hiếm trong thị trường thực, và thường gọi là các bước nhảy giá (jump). Các bước nhảy này có thể đến từ một bản báo cáo lợi nhuận khủng khiến nhà đầu tư phấn khích, hay một tin tức vĩ mô bất ngờ từ chính phủ khiến mọi người trở tay không kịp. Hãy để ý các cột màu xanh ở dưới đồ thị. Một bước nhảy lớn thường đi kèm với một cột khối lượng giao dịch cao ngất ngưởng. Nó giống như việc bạn hét lớn và có cả một đám đông hàng ngàn người cùng hò reo theo như cùng xác nhận một xu hướng mới.


So sánh mô phỏng GBM và thực tế giá cổ phiếu AAPL (Apple Inc.)
Hình 2: So sánh mô phỏng GBM và thực tế giá cổ phiếu AAPL (Apple Inc.), giai đoạn 01/2024 – 01/2026.

Hãy thử dùng GBM để mô phỏng giá cổ phiếu Apple, để xem liệu ta có bắt được hiện tượng này vào trong mô hình hay không. Nhìn vào biểu đồ, giữa “lý thuyết màu hồng” và “thực tế màu xám” có những khoảng cách rất thú vị: đường lý thuyết (màu vàng đứt đoạn) trông hiền hơn rất nhiều so với đường giá thực tế (màu xanh) đầy gai góc. Mô hình bảo vệ bạn tốt trong điều kiện bình thường, nhưng khi thị trường biến động mạnh, nó thường đơ ra vì những cú nhảy này không nằm trong công thức toán học của nó.

1.3. Kiểm chứng với Python

Bạn có thể chạy thử trên Google Colab cho cổ phiếu AAPL (Apple Inc.). Nếu chạy trên máy tính của bạn, market_data cần đặt cùng thư mục chứa code Python.

Colab

Hàm pd.read_csv(file_path) giúp đọc file .csv và gán dữ liệu vào dataframe – một cấu trúc dữ liệu trong thư viện pandas. Hàm pd.to_datetime giúp chuẩn hóa dữ liệu thời gian sang định dạng ngày giờ.

import numpy as np
import pandas as pd
import scipy.stats as stats
import seaborn as sns

# --- 1. Load Historical Data  ---
df = pd.read_csv("market_data/AAPL.csv")
df['timestamp'] = pd.to_datetime(df['timestamp'])
   open     high    low      close   volume      vwap      timestamp            transactions  otc
0  182.160  184.26  180.934  183.63  65603041.0  182.8825  2024-01-16 05:00:00  767284  NaN
1  181.270  182.93  180.300  182.68  47317433.0  181.9201  2024-01-17 05:00:00  594632  NaN
2  186.090  189.14  185.830  188.63  78005754.0  187.9375  2024-01-18 05:00:00  787235  NaN
...

Kiểm tra nhanh dataframe df đầu vào, ta thấy 502 dữ liệu theo ngày tương đương với gần 2 năm dữ liệu (mỗi năm có 252 ngày giao dịch). Dữ liệu ta quan tâm là giá đóng cửa trong cột close. Tỷ suất lợi nhuận log_returns được tính từ cột này theo công thức $\ln(S_t/S_{t-1})$. Hàm dropna() giúp loại bỏ dữ liệu NaN trong mẫu.

# --- 2. Calculate Return ---
# GBM Model (log-return): ln(P_t / P_{t-1})
log_returns = np.log(df_prices['close'] / df_prices['close'].shift(1)).dropna()
   timestamp            close   log_returns
0  2024-01-16 05:00:00  183.63  NaN
1  2024-01-17 05:00:00  182.68  -0.005187
2  2024-01-18 05:00:00  188.63  0.032051
...

Tiếp theo, ta tính các chỉ số thống kê Skewness, Kurtosis, và kiểm định Jarque-Bera. HistogramQ-Q Plot cũng được vẽ để kiểm tra một cách trực quan.

# --- 3. Calculate Statistics ---
s = stats.skew(log_returns)
k = stats.kurtosis(log_returns)
jb_stat, p_val = stats.jarque_bera(log_returns)

# --- 4. Plot Histograms, Q-Q Plot ---
fig, axes = plt.subplots(1, 2, figsize=(10, 4))
sns.histplot(log_returns, kde=True, ax=axes[0], stat="density"); # Histogram
stats.probplot(log_returns, dist="norm", plot=axes[1]); # Q-Q Plot
--- AAPL (Lognormal Fit) ---
Skewness:            0.6364
Kurtosis:            11.7107
Jarque-Bera P-value: 0.0000e+00

Kiểm định phân phối chuẩn bằng Histogram và Q-Q Plot cho cổ phiếu AAPL
Hình 3: Kiểm định phân phối chuẩn bằng Histogram và Q-Q Plot cho AAPL, giai đoạn 01/2024–01/2026.

Kết quả cho thấy dữ liệu thực tế của Apple có hiện tượng đuôi béođỉnh nhọn rõ rệt, kiểm định Jarque-Bera cũng bác bỏ hoàn toàn giả thuyết phân phối chuẩn. Phần đỉnh vọt lên cao và nhọn nhiều hơn đường màu đỏ, được xác nhận qua chỉ số Kurtosis cực cao (11.7107 so với 0). Quan trọng hơn, phần đuôi ở biểu đồ Q-Q Plot bị uốn cong ra xa đường chéo $45^\circ$ ở cả hai đầu, minh chứng cho việc các biến động cực đoan (sập sàn hoặc tăng trần) xảy ra thường xuyên hơn so với dự báo lý thuyết.

Cổ phiếu công nghệ có thể vi phạm các giả định phân phối chuẩn do đặc thù tăng trưởng mạnh, nhưng cổ phiếu tài chính JPM (JPMorgan Chase & Co.), y tế JNJ (Johnson & Johnson), hay năng lượng XOM (Exxon Mobil Corp.) thì sao? Kiểm tra tương tự cho JPM, JNJ, XOM ta được biểu đồ dưới đây.


Kiểm định phân phối chuẩn bằng Histogram cho cổ phiếu JPM (JPMorgan Chase & Co.), JNJ (Johnson & Johnson), XOM (Exxon Mobil Corp.)
Hình 4: Kiểm định phân phối chuẩn bằng Histogram cho cổ phiếu JPM (JPMorgan Chase & Co.), JNJ (Johnson & Johnson), XOM (Exxon Mobil Corp.), giai đoạn 01/2024 – 01/2026.

Kết quả cho thấy cả 4 cổ phiếu đều vi phạm phân phối chuẩn ở các mức độ khác nhau, cổ phiếu công nghệ (AAPL) cho đỉnh nhọn nhất, cổ phiếu năng lượng (XOM) ít nhọn nhất nhưng rất lệch trái, cổ phiếu y tế (JNJ) bám sát lý thuyết nhất. Điều này cảnh báo các nhà đầu tư rằng: thị trường thực tế luôn có rủi ro mà các mô hình toán học không thể bao quát hết được. Nếu chỉ dựa vào lý thuyết để quản trị rủi ro, họ sẽ đánh giá thấp khả năng xảy ra các sự kiện sụp đổ hoặc tăng trưởng đột biến.

Vì sao Quant vẫn dùng GBM dù nó “sai”? Vì mọi mô hình đều là một phiên bản đơn giản hóa có chủ đích. Cái chúng ta cần không phải là một mô hình hoàn hảo, mà là một mô hình đủ tốt, có công thức tường minh, và cho phép định lượng được sai số của chính nó.

1.4. Kiểm chứng với Excel/VBA

Nếu bạn muốn tự tay kiểm tra lại bằng công thức thay vì code, file Excel bên dưới đã dựng sẵn Histogram.

ExcelExcel Workbook

Trong Excel, để tính Skewness, Kurtosis ta chỉ cần gọi trực tiếp hàm SKEW()KURT(). Kiểm định Jarque-Bera phức tạp hơn, nhưng ta có thể tính theo công thức $JB = \frac{n}{6} \left( S^2 + \frac{1}{4}(K)^2 \right)$ trong đó $n$ là số lượng mẫu, $S$ là Skewness, $K$ là Excess Kurtosis; và dựa vào giá trị này để đưa ra kết luận.

2. Calibration: Hiệu chuẩn

Hiệu chuẩn là việc nhìn vào dữ liệu quá khứ để tìm ra bộ tham số cốt lõi mô tả mô hình. Hãy tưởng tượng mỗi cổ phiếu là một vận động viên chạy marathon. Để dự đoán vận động viên đó sẽ chạy được bao xa trong tương lai, bạn cần biết tốc độ trung bình và nhịp thở/độ bền của họ dựa trên các cuộc đua trước đó. Trong mô hình GBM, chúng ta cần tìm:.

  • Drift ($\mu$) xu hướng tăng trưởng trung bình kỳ vọng của cổ phiếu. Nếu $\mu$ dương, giá cổ phiếu có xu hướng tăng trong dài hạn và ngược lại.
  • Volatility ($\sigma$) biên độ rung lắc, thước đo rủi ro. Nếu $\sigma$ càng cao, các đường mô phỏng sẽ càng zic-zac và lan tỏa rộng, thể hiện sự bất ổn của thị trường.

2.1. Phương pháp hiệu chuẩn

Trong bài toán này, chúng ta có hai hướng tiếp cận chính để tìm ra $\mu$ và $\sigma$. Một bên dựa trên tư duy tài chính thực dụng, một bên dựa trên nền tảng thống kê khắt khe.

Phương pháp tài chính là cách tiếp cận phổ biến nhất vì nó trực quan, dễ hiểu và dễ thực hiện. Các con số $\mu, \sigma$ đầu ra khớp với những gì nhà đầu tư nhìn thấy trên các trang tin chứng khoán như Bloomberg hay Reuters. Các bước thực hiện như sau:

  • Tính lợi nhuận hàng ngày: $r_i = S_i - S_{i-1}$ hoặc $r_i = \ln(S_i / S_{i-1})$.
  • Tính trung bình mẫu ($\bar{r}$), và độ lệch chuẩn mẫu ($s$).
  • Annualization: Dữ liệu vừa tính theo ngày, nhưng các tham số mô hình thường mặc định theo năm. Để chuyển đổi, chúng ta cần một chút thủ thuật toán học (252 ngày giao dịch trong một năm):

\[\mu_{financial} = \text{Average}(r_i) \times 252, \qquad \sigma_{financial} = \text{Stdev}(r_i) \times \sqrt{252} \tag{5.1}\]

Uớc lượng hợp lý tối đa là một phương pháp thống kê nhằm tìm ra các tham số sao cho xác suất xảy ra dữ liệu đã quan sát được là cao nhất. Các bước thực hiện như sau:

  • Thiết lập hàm Log-Likelihood: Chúng ta xây dựng một hàm toán học dựa trên hàm mật độ xác suất của phân phối chuẩn cho toàn bộ chuỗi dữ liệu.
  • Tối ưu hóa: Bằng cách lấy đạo hàm và giải phương trình, MLE đưa ra các ước lượng không chệch nhất về mặt toán học.

Quá trình MLE khớp hình chuông lý thuyết với dữ liệu thực tế của cổ phiếu AAPL (Apple Inc.) Quá trình MLE khớp hình chuông lý thuyết với dữ liệu thực tế của cổ phiếu AAPL (Apple Inc.)
Hình 5: Minh họa quá trình MLE khớp hình chuông lý thuyết với dữ liệu thực tế của cổ phiếu AAPL (Apple Inc.)

Bạn hãy tưởng tượng bạn có dữ liệu giá chứng khoán với phân phối thực tế như một dải núi nhấp nhô. Bạn biết dải núi đó gần với hình chuông, nhưng bạn không biết cái chuông này nên rộng bao nhiêu và nằm ở đâu. Tham số $\mu$ điều chỉnh cái chuông sang trái hoặc sang phải. Tham số $\sigma$ điều chỉnh cái chuông béo ra hoặc gầy lại. MLE chính là quá trình bạn thay đổi $\mu$ và $\sigma$ sao cho hình chuông lý thuyết khớp nhất với dữ liệu thực tế bạn đang có (Hình 5).

2.2. Hiệu chuẩn với Python

Hàm data.mean()data.std() là cách tiếp cận số học đơn giản mà chúng ta đã học ở trường với mean() để tính trung bình và std() để tính độ lệch chuẩn mẫu. Hàm stats.norm.fit(data) chính là nơi phép màu MLE xảy ra. Hàm này sẽ tự động điều chỉnh để tìm ra $\mu$ và $\sigma$ sao cho đường cong lý thuyết khớp nhất với biểu đồ thực tế của bạn.

# --- 5. Calibrattion ---
# --- Financial Approach ---
mean_annual = log_returns.mean() * 252
std_annual = log_returns.std() * np.sqrt(252)
    
# ---  MLE Approach ---
mu, sigma = stats.norm.fit(log_returns)
mu_annual = mu * 252
sigma_annual = sigma * np.sqrt(252)
--- AAPL (Lognormal Fit) ---
                    Metric  Financial       MLE
         Annual Drift (mu)   0.174843  0.174843
 Annual Volatility (sigma)   0.276458  0.276182

Kết quả cho thấy sự tương đồng rất lớn giữa phương pháp tài chính và MLE. Với $\mu$ đạt mức 17.48% và $\sigma$ khoảng 27.62%, chúng ta đã có một bộ tham số đáng tin cậy là nguyên liệu đầu vào cho các ứng dụng ở Phần 3.

2.3. Hiệu chuẩn với Excel/VBA

Với phương pháp tài chính, để tính $\mu$, $\sigma$ ta chỉ cần gọi trực tiếp hàm AVERAGE()STDEV.S() trong Excel. Đây chính là trung bình và độ lệch chuẩn mẫu theo ngày, ta cần chuyển về đơn vị theo năm.

Với phương pháp MLE yêu cầu chạy tính toán nhiều lần để tìm ra bộ tham số tối ưu. Trong Excel có công cụ Solver có thể làm điều này với một quá trình thử và sai có hệ thống. Để chạy Solver:

  • Vào thẻ Data > Solver (nếu chưa có, bạn cần kích hoạt trong File > Options > Add-ins).
  • Set Objective: Chọn ô $L$6 (chứa Log-Likelihood tính sẵn); To : Chọn Max.
  • By Changing Variable Cells: Chọn vùng $IK$4:$K$5 (chứa $\mu$ và $\sigma$ dự đoán).
  • Constraints: Nhấn Add thêm điều kiện $K$5 >= 0.0001 (vì biến động không thể bằng $0$ hoặc âm).
  • Nhấn Solve.

Cả hai phương pháp cho ta kết quả ước lượng $\mu$, $\sigma$ gần như giống hệt với phần Python.

3. Ứng dụng thực tế của GBM

Có bộ tham số hiệu chuẩn rồi, ta sẽ dùng nó để làm gì? Phần 3 trình bày những ứng dụng thông dụng nhất của GBM trong công việc Quant thực tế.

3.1. Dự báo kịch bản tương lai

Một hiểu lầm phổ biến là Quant dùng GBM để dự báo giá cổ phiếu trong tương lai, từ đó tìm kiếm cơ hội giao dịch mang lại lợi nhuận. Trong thực tế, GBM không có khả năng để làm việc này. Lý do rất đơn giản đến từ giả thuyết thị trường hiệu quả: nếu giá cổ phiếu dễ dàng dự báo được chỉ bằng một phương trình vi phân ngẫu nhiên đơn giản, cơ hội kinh doanh chênh lệch giá sẽ lập tức biến mất.

Mục đích ở đây không phải là đoán xem giá AAPL ngày mai là bao nhiêu, mà là xây dựng một mô hình cơ sở để đo lường sự phân tán của rủi ro dựa trên biến động. Ta không biết chính xác giá AAPL thực tế sẽ đi đường nào, nhưng mô hình cho ta tất cả những con đường khả thi mà AAPL có thể đi qua. Kết quả có được không chỉ là một giá mục tiêu, mà là một phễu xác suất giúp nhận biết vùng giá nào dễ xảy ra nhất.

Ta sử dụng công thức tính giá (4.7) như trong Bài 4. Brownian Motion, nhưng chú ý ở đây ta mô phỏng toàn bộ đường đi của giá cổ phiếu chứ không chỉ một điểm cuối cùng. Công thức được viết lại như sau với bước thời gian là $\Delta t$ (1 ngày) thay vì cả khoảng thời gian $T$.

\[S_{t + \Delta t} = S_t \exp\!\left[\left(\mu - \frac{\sigma^2}{2}\right)\Delta t + \sigma \Delta W_t \right] \tag{5.2}\]
# --- 6 Simulation Parameters ---
S_initial = df_prices['close'].iloc[-1]
dt = 1 / 252            # Time step (1 day)
n_steps = 90            # 90 trading days
n_simulations = 10000   # 10000 scenarios

# --- 7. Projection Random Paths ---
np.random.seed(42)
dW_t = np.random.normal(loc=0, scale=np.sqrt(dt), size=(n_steps, n_simulations))
daily_growth = np.exp((mu_annual - 0.5 * sigma_annual**2) * dt + sigma_annual * dW_t)
simulated_paths = S_initial * np.cumprod(daily_growth, axis=0)
simulated_paths = np.vstack([np.full(n_simulations, S_initial), simulated_paths])

Bây giờ ta thử vẽ 100 kịch bản đường đi ngẫu nhiên, cùng khoảng tin cậy 90%. Giá quá khứ history_window = 90 ngày trước cũng được thêm vào để giúp ta có cái nhìn trực quan nhất.


Dự đoán giá cổ phiếu AAPL trong 90 ngày bằng GBM – phễu xác suất 90% (P5–P95) và đường trung vị
Hình 6: Dự đoán giá cổ phiếu AAPL trong 90 ngày bằng GBM – phễu xác suất 90% (P5–P95) và đường trung vị.

Biểu đồ phía trên là một bức tranh toàn cảnh về cổ phiếu APPL: từ thực tế trần trụi quá khứ (đường màu xanh) đến một tương lai đầy biến động qua các kịch bản mô phỏng (những đường màu vàng).

  • Vùng tô màu xám nhạt chính là nơi mà mô hình tin rằng giá cổ phiếu Apple sẽ nằm trong đó với xác suất 90%. Bạn có thể thấy chiếc phễu này càng lúc càng loe rộng ra, phản ánh một quy luật tự nhiên trong tài chính: thời gian càng xa, sự bất định càng lớn.
  • Hãy để ý có một vài đường màu vàng nằm hẳn ra ngoài vùng tô màu đậm. Đây chính là những kịch bản thiên nga đen. Dù GBM có xu hướng đánh giá thấp rủi ro so với thực tế, nó vẫn cho ta cái nhìn trực quan về biên độ rủi ro tiềm năng.

Tóm lại, bước mô phỏng này không cung cấp một “con số dự báo”, mà tạo ra dữ liệu đầu vào cho các bài toán định giá phái sinh hoặc tính toán rủi ro ở các phần tiếp theo.

3.2. Quản trị rủi ro: Value-at-Risk và Expected Shortfall

Câu hỏi của một nhà quản trị rủi ro không phải là “giá tăng hay giảm bao nhiêu?”, mà là “trong kịch bản xấu, tôi có thể tổn thất tối đa bao nhiêu với một độ tin cậy cho trước?”. Hai công cụ quản trị rủi ro kinh điển dưới đây sẽ cho ta câu trả lời.

Value-at-Risk (VaR) cho biết mức thua lỗ tối đa mà một vị thế có thể gặp phải trong một khoảng thời gian nhất định, với một độ tin cậy cho trước (thường là 95% hoặc 99%). Khai báo lỗ $L = S_0 - S_T$ ($L > 0$ là lỗ) bằng giá ban đầu ($S_0$) trừ đi giá ở thời điểm cuối ($S_T$). VaR 95% được xác định như sau:

\[\text{VaR}_{95\%} = \text{percentile}_{95\%}(S_0 - S_T) \tag{5.3}\]

Ý nghĩa là trong 95% điều kiện thị trường bình thường, mức lỗ của bạn sẽ không vượt quá con số này. Hạn chế lớn nhất của chỉ số này là không cho biết mức độ nghiêm trọng ở phần đuôi phân phối. VaR chỉ đóng vai trò như một ngưỡng lỗ xấu, mà không quan tâm nếu rơi vào kịch bản xấu đó, bạn lỗ 100% hay 200%.

Expected Shortfall (ES), hay còn gọi là CVaR khắc phục nhược điểm này bằng cách lấy trung bình mức lỗ trong kịch bản xấu nhất (khi rủi ro đã vượt quá ngưỡng VaR):

\[\text{ES}_{95\%} = \mathbb{E}\big[S_0 - S_T \;\big|\; S_0 - S_T \geq \text{VaR}_{95\%}\big] \tag{5.4}\]
Dự đoán phân phối mức lỗ trong 10 ngày bằng GBM – Value-at-Risk và Expected Shortfall
Hình 7: Dự đoán phân phối mức lỗ trong 10 ngày bằng GBM – Value-at-Risk và Expected Shortfall.

Lưu ý ở Phần 3.1, ta mô phỏng phễu xác suất cho 90 ngày nhằm mục đích hình dung bức tranh dài hạn. Tuy nhiên, trong quản trị rủi ro, các quy định pháp lý và thực tế vận hành ngân hàng thường quy định khoảng rủi ro ngắn hơn nhiều: 1 ngày đến 10 ngày giao dịch. Do đó, để tính VaRES cho 10 ngày, ta sẽ chạy lại mô phỏng với n_steps = 10 và tăng số lượng kịch bản lên 100000 để kết quả chính xác hơn.

loss = S_initial - simulated_paths[-1]
VaR95 = np.percentile(loss, 95)
ES95  = loss[loss >= VaR95].mean()
VaR95 (10 days) = 21.34 USD (8.21% position)
ES95  (10 days) = 26.61 USD (10.24% position)

Đọc con số này thế nào? Với độ tin cậy 95%, bạn kỳ vọng không mất quá 21.34 USD trên mỗi cổ phiếu AAPL đang nắm giữ trong 10 ngày tới. Nhưng nếu rơi vào nhóm 5% kịch bản xấu nhất, mức lỗ trung bình trong nhóm là 26.61 USD – đây chính là con số mà bộ phận quản trị rủi ro thường báo cáo lên cấp quản lý.

3.3. Định giá phái sinh

Ứng dụng kinh điển nhất của GBM trong tài chính định lượng không phải là quản trị rủi ro, mà là định giá phái sinh. Thay vì đi tìm một công thức giải tích phức tạp, ta có thể dùng mô phỏng Monte Carlo dựa trên GBM để định giá hầu như mọi loại quyền chọn từ cơ bản đến phức tạp. Chi tiết sẽ được trình bày trong series về phương pháp Monte Carlo, bắt đầu từ Bài 10. Monte Carlo.

4. Quant Analyst vs. Quant Risk: Sự đối lập về triết lý mô hình

Cùng một mô hình nhưng cách sử dụng thực tế, cách thiết lập tham số đầu vào lại có sự khác biệt rất lớn. Qua đây ta cũng nhận thấy hai cách tư duy hoàn toàn trái ngược của Quant AnalystQuant Risk.

Quant Analyst (QA) sống trong thế giới lý tưởng của độ đo trung hòa rủi ro ($\mathbb{Q}$-measure). Nhiệm vụ của họ là tìm ra giá trị hợp lý cho các sản phẩm tài chính với giả định “rủi ro đã bị loại bỏ hoàn toàn”. Trong thế giới này, các tham số được ước lượng từ dữ liệu lịch sử không có nhiều ý nghĩa mà cần dựa trên kỳ vọng của nhà đầu tư về tương lai: $\mu$ được thay bằng lãi suất phi rủi ro $r$, còn $\sigma$ dựa trên implied volatility từ thị trường. Với họ, GBM là cỗ máy quy đổi các dòng tiền rủi ro trong tương lai thành một mức giá chính xác ở hiện tại.

Ngược lại, Quant Risk (QR) bắt buộc phải đối mặt với độ đo thực ($\mathbb{P}$-measure). Họ không thể dựa vào giả định “rủi ro đã được phòng ngừa hoàn toàn”, bởi trên thực tế thanh khoản có thể đóng băng và sai số phòng ngừa luôn tồn tại. Tham số của mô hình được ước lượng từ dữ liệu lịch sử, và dùng để đo lường rủi ro. Họ không quan tâm đến mức giá trung bình hôm nay, mà soi chiếu vào phần đuôi của phân phối tổn thất để tính toán mức độ thiệt hại trong kịch bản thảm họa thông qua các chỉ số như VaR hay ES.

Tóm lại, nếu QA là người thiết kế chiếc xe đua F1 – tối ưu hóa tốc độ và đường đua lý tưởng dưới giả định mọi hệ thống vận hành hoàn hảo, thì QR chính là kỹ sư kiểm định phanh và túi khí – kẻ luôn hoài nghi mô hình và đo lường lực va đập nếu chiếc xe lao khỏi đường ray. QA dùng GBM dưới $\mathbb{Q}$ để định giá hợp đồng trong điều kiện rủi ro đã được phòng ngừa, còn QR dùng GBM dưới $\mathbb{P}$ để đo lường thiệt hại nếu mọi hàng rào phòng ngừa đều thất bại.

5. Tóm tắt và thảo luận

GBM đóng vai trò như một tiêu chuẩn vàng trong tài chính định lượng: vừa là nền tảng toán học nhập môn, vừa là chiếc cầu nối đưa ta từ lý thuyết xác suất thuần túy sang các bài toán thực tế phức tạp.

  • GBM không đúng, nhưng hữu ích. Kiểm định thực nghiệm cho thấy: lợi suất thực tế không tuân theo phân phối chuẩn mà có đuôi béođỉnh nhọn. Nhưng một mô hình đơn giản, có công thức tường minh, và đo lường được sai số của chính nó vẫn hữu ích hơn nhiều so với việc không có mô hình nào.

  • Hiệu chuẩn là cầu nối duy nhất giữa lý thuyết và dữ liệu thật. Việc lựa chọn dữ liệu và phương pháp ước lượng tham số ($\mu, \sigma$) quyết định sự sống còn của mô hình. Một mô hình đơn giản được hiệu chuẩn chuẩn xác vẫn mang lại giá trị vận hành cao hơn một mô hình phức tạp nhưng bị chệch tham số.

  • Dự báo kịch bản tương lai, quản trị rủi ro, hay định giá phái sinh đều xuất phát từ một mô hình duy nhất. Khác biệt ở đây là bạn dùng tham số đầu vào như nào, xử lý tập kịch bản mô phỏng đầu ra ra sao: “giá sẽ ở đâu?”, “tôi có thể mất bao nhiêu?”, hay “giá nào là hợp lý khi rủi ro đã bị loại bỏ hoàn toàn?”.

  • Thực hành Python Colab Zipmarket_data.zip

  • Thực hành Excel ExcelExcel Workbook

Hiểu rõ những hạn chế của GBM chính là bước đầu tiên để bạn trở thành một nhà đầu tư thận trọng và thông minh hơn.

Hãy để lại câu hỏi tại phần bình luận hoặc trên GROUP để nhận được câu trả lời sớm nhất nhé. Bạn đọc có thể ủng hộ blog qua BUY ME A COFFEE ở góc trên bên phải. Cảm ơn bạn đã tiếp thêm năng lượng để tôi hoàn thiện những bài viết tâm huyết hơn mỗi ngày.

Cusdis

Đừng ngần ngại để lại bình luận nhé!
Bạn không cần tạo tài khoản, chỉ cần nhập tên và nội dung tin nhắn.