Monte Carlo Simulation
Mô phỏng Monte Carlo
Monte Carlo simulation (mô phỏng Monte Carlo) là phương pháp tạo ra hàng nghìn đến hàng triệu kịch bản ngẫu nhiên cho các biến đầu vào không chắc chắn, tính kết quả cho từng kịch bản, rồi đọc phân phối của kết quả. Thay vì một con số dự báo duy nhất, phương pháp cho biết xác suất của từng mức kết quả, ví dụ xác suất dự án có NPV âm hay mức lỗ tại phân vị 99%. Đây là công cụ phổ biến để tính VaR, định giá phái sinh phức tạp, lập kế hoạch hưu trí và phân tích dự án.
Explanation
Các mô hình tài chính thường có nhiều biến bất định cùng lúc: giá bán, sản lượng, tỷ giá, lãi suất, lợi suất từng tài sản. Phân tích độ nhạy chỉ đổi một biến, phân tích kịch bản chỉ xét vài trường hợp. Monte Carlo làm khác: gán cho mỗi biến một phân phối xác suất (ví dụ phân phối chuẩn với trung bình và độ lệch chuẩn ước lượng từ dữ liệu), tính đến tương quan giữa các biến, rồi rút ngẫu nhiên hàng nghìn bộ giá trị để tạo ra phân phối kết quả.
Quy trình gồm năm bước: xây mô hình tính kết quả; chọn phân phối và tham số cho từng biến đầu vào; sinh số ngẫu nhiên và chạy mô hình N lần; sắp xếp kết quả để đọc trung bình, độ lệch chuẩn, phân vị; kiểm tra độ hội tụ. Độ chính xác tăng theo căn bậc hai của số lần chạy: muốn sai số giảm một nửa phải chạy gấp 4 lần. Với các phân vị ở đuôi như 99,9%, cần rất nhiều lần chạy vì chỉ một phần nhỏ kịch bản rơi vào vùng đó.
Ưu điểm lớn nhất là linh hoạt: xử lý được phân phối lệch, quan hệ phi tuyến như quyền chọn, và phụ thuộc đường đi (path dependency). Hạn chế là kết quả chỉ tốt bằng giả định đầu vào: nếu chọn phân phối chuẩn cho lợi suất cổ phiếu, mô hình sẽ đánh giá thấp các cú sập thị trường. Đây là một nguồn model risk (rủi ro mô hình). Trong quản trị rủi ro, Monte Carlo VaR là một trong ba cách tính VaR chính, cùng historical simulation và phương pháp tham số.
Key Points
- Cho ra phân phối kết quả thay vì một con số dự báo.
- Cần chọn phân phối, tham số và tương quan cho các biến đầu vào.
- Sai số chuẩn giảm theo 1 / √N: gấp 4 lần số lần chạy thì sai số giảm một nửa.
- Phân vị đuôi cần nhiều kịch bản hơn hẳn so với ước lượng trung bình.
- Giả định đầu vào sai thì kết quả sai, dù chạy hàng triệu lần.
Formula
Ước lượng = (1 / N) × Σ f(X_i); Sai số chuẩn ≈ s / √N
- N
- Số lần mô phỏng (số kịch bản được sinh ra).
- X_i
- Bộ giá trị đầu vào ngẫu nhiên thứ i, rút từ phân phối đã chọn.
- f(X_i)
- Kết quả của mô hình với bộ đầu vào X_i, ví dụ NPV hay lãi lỗ danh mục.
- s
- Độ lệch chuẩn của các kết quả f(X_i) thu được.
Một bước mô phỏng lợi suất đơn giản theo ngày: r = μ + σ × Z, trong đó Z là số ngẫu nhiên phân phối chuẩn tắc.
Examples
Worked Example
Monte Carlo VaR cho danh mục cổ phiếu
Quỹ Đầu tư Minh Khang (số liệu giả định) có danh mục cổ phiếu 50 tỷ đồng, lợi suất ngày kỳ vọng 0,05%, độ lệch chuẩn ngày 1,8%. Quỹ chạy 10.000 kịch bản lợi suất ngày theo phân phối chuẩn để ước tính VaR 1 ngày ở mức tin cậy 99%.
- Một kịch bản với Z = -2,1: r = 0,05% + 1,8% × (-2,1) = 0,05% - 3,78% = -3,73%, lỗ = 50 × 3,73% = 1,865 tỷ đồng.
- Lặp lại 10.000 lần, sắp xếp các khoản lỗ từ lớn đến nhỏ. Phân vị 1% ứng với kịch bản thứ 1% × 10.000 = 100.
- Giả sử khoản lỗ ở kịch bản thứ 100 là 2,05 tỷ đồng: VaR 99% 1 ngày ≈ 2,05 tỷ đồng.
- Đối chiếu công thức tham số: (2,326 × 1,8% - 0,05%) × 50 = 4,1368% × 50 ≈ 2,07 tỷ đồng.
Hai cách cho kết quả gần nhau vì giả định phân phối chuẩn. Lợi thế của Monte Carlo thể hiện khi danh mục có quyền chọn, trái phiếu chuyển đổi hoặc lợi suất có đuôi dày, lúc đó công thức tham số không còn chính xác.
Real-World Scenario
Đánh giá rủi ro dự án nhà máy điện mặt trời
Chị Ngọc, chuyên viên phân tích đầu tư, phải trình hội đồng dự án điện mặt trời. Mô hình DCF cơ sở cho NPV dương 120 tỷ đồng, nhưng giá bán điện, số giờ nắng, chi phí vận hành và lãi suất vay đều bất định.
Chị gán phân phối cho bốn biến, có tương quan giữa lãi suất và giá bán điện, rồi chạy 20.000 kịch bản. Kết quả: NPV trung bình 105 tỷ đồng, nhưng 23% kịch bản cho NPV âm, chủ yếu khi giá bán điện thấp. Hội đồng quyết định chỉ đầu tư khi ký được hợp đồng mua bán điện có giá sàn, thay vì dựa vào một con số NPV duy nhất.
Common Mistakes
Common Mistake
Chạy quá ít kịch bản cho phân vị đuôi
Một chuyên viên muốn tính VaR 99,9% nhưng chỉ chạy 500 kịch bản để máy tính chạy nhanh, rồi báo cáo con số lỗ lớn nhất làm VaR.
Với 500 kịch bản, kỳ vọng chỉ có 500 × 0,1% = 0,5 kịch bản rơi vào vùng đuôi 0,1%, nên con số báo cáo gần như là may rủi, chạy lại với bộ số ngẫu nhiên khác sẽ ra kết quả rất khác. Cách đúng: tăng số kịch bản lên hàng chục nghìn trở lên, kiểm tra độ ổn định bằng cách chạy lại nhiều lần, hoặc dùng kỹ thuật giảm phương sai.
- Tin kết quả vì "đã chạy 1 triệu lần" trong khi phân phối đầu vào chọn sai.
- Bỏ qua tương quan giữa các biến, làm phân phối kết quả hẹp hơn thực tế.
- Chạy quá ít kịch bản khi cần ước lượng phân vị đuôi.
- Dùng phân phối chuẩn cho lợi suất trong khi dữ liệu có đuôi dày.
Exam Tip
FRM Part I (Quantitative Analysis, Valuation and Risk Models) hỏi ưu nhược điểm của Monte Carlo, sai số chuẩn theo √N và so sánh với historical simulation. CFA Level I (Quantitative Methods) có phần simulation, CFA Level II dùng khi bàn về định giá phái sinh.