Định nghĩa ngắn
Mô phỏng Monte Carlo (Monte Carlo simulation) là cách ước tính các kết quả có thể xảy ra bằng cách cho máy tính chạy lặp lại rất nhiều kịch bản, mỗi kịch bản dùng các giá trị được lấy ngẫu nhiên.
Phương pháp này không dự báo kết quả nào sẽ xảy ra. Nó cho thấy một dải kết quả có thể xảy ra và khả năng tương đối của từng vùng trong dải đó.
Sẵn sàng thử trên tài khoản thật hoặc demo?
Liên kết đối tác · giao dịch có rủi ro thua lỗ cao
Định nghĩa chính xác hơn
Về mặt hình thức, phương pháp Monte Carlo ước lượng một đại lượng, chẳng hạn kỳ vọng, xác suất hoặc phân vị, như sau:
- Mô hình hóa đầu vào bằng các phân phối xác suất, ví dụ lợi suất mỗi kỳ hoặc kết quả mỗi lệnh.
- Lấy mẫu ngẫu nhiên từ các phân phối đó để tạo một kịch bản.
- Tính đại lượng cần quan tâm trên kịch bản vừa tạo.
- Lặp lại nhiều lần, rồi dùng phân phối thực nghiệm của các kết quả làm ước lượng.
Sai số của ước lượng giảm khi số lần chạy tăng, nhưng giảm khá chậm. Muốn kết quả chính xác hơn đáng kể thì cần tăng số lần chạy lên nhiều lần.
Ví dụ giả định
Một trader có lịch sử lệnh trên tài khoản demo. Mỗi lệnh có kết quả lãi hoặc lỗ tính theo tỷ lệ rủi ro cố định trên vốn.
Thay vì chỉ nhìn đúng thứ tự các lệnh đã xảy ra, trader dùng Monte Carlo:
- Mỗi lần chạy, rút ngẫu nhiên các lệnh từ lịch sử, có hoàn lại, để tạo một chuỗi lệnh mới cùng độ dài.
- Tính đường vốn và mức sụt giảm lớn nhất (max drawdown) của chuỗi đó.
- Lặp lại rất nhiều lần.
Kết quả là một phân phối của max drawdown. Trader có thể thấy rằng thứ tự lệnh trong lịch sử thực tế cho drawdown nhẹ, còn một phần đáng kể các chuỗi mô phỏng có drawdown sâu hơn nhiều. Kết luận rút ra là về rủi ro: cùng một hệ thống có thể trải qua những giai đoạn lỗ liên tiếp tệ hơn những gì lịch sử đã cho thấy.
Để tính lot và mức rủi ro cho từng lệnh, bạn có thể dùng các công cụ trên trang Công cụ tính toán.
Bạn gặp thuật ngữ này ở đâu
- Phần mềm backtest và kiểm định chiến lược: nhiều công cụ có chức năng xáo trộn hoặc lấy mẫu lại chuỗi lệnh để ước tính drawdown và xác suất mất vốn.
- Báo cáo quản lý quỹ và rủi ro: dùng để ước tính Value at Risk, kiểm tra kịch bản căng thẳng (stress test) và định giá quyền chọn phức tạp.
- Tin tức về hưu trí và kế hoạch tài chính: "Monte Carlo trong đầu tư" thường xuất hiện khi nói về khả năng một danh mục đủ dùng trong dài hạn.
Giới hạn và trường hợp biên
- Đầu vào sai thì kết quả sai. Nếu giả định phân phối chuẩn trong khi thị trường có fat tails, mô phỏng sẽ đánh giá thấp rủi ro cực đoan.
- Giả định độc lập. Rút ngẫu nhiên từng lệnh sẽ phá vỡ chuỗi tự tương quan, ví dụ các giai đoạn biến động cụm. Lấy mẫu theo khối giúp giảm vấn đề này.
- Tương quan giữa tài sản. Bỏ qua hệ số tương quan giữa các vị thế làm rủi ro danh mục trông nhỏ hơn thực tế.
- Sự kiện chưa từng có. Mô phỏng chỉ dựa trên lịch sử sẽ không tạo ra được một thiên nga đen.
Giao dịch CFD và forex có đòn bẩy có thể làm mất tiền nhanh. Một kết quả mô phỏng đẹp không bảo đảm kết quả thực tế. Xem thêm tại Quản lý rủi ro.
Thuật ngữ liên quan
- Đường vốn Equity Curve
- Biến động quy năm
- Mức độ rủi ro Exposure
- Fat tails và tail risk
- Thuật ngữ tài chính
Câu hỏi thường gặp
Mô phỏng Monte Carlo có dự báo được giá không?
Không. Phương pháp này mô tả dải kết quả có thể xảy ra dựa trên các giả định đầu vào. Nó không cho biết giá sẽ đi về đâu.
Phương pháp Monte Carlo khác backtest thế nào?
Backtest chạy chiến lược trên đúng một chuỗi dữ liệu lịch sử. Monte Carlo tạo ra nhiều biến thể của chuỗi đó để xem kết quả thay đổi ra sao khi điều kiện thay đổi.
Cần chạy bao nhiêu lần là đủ?
Không có con số cố định. Hãy tăng số lần chạy cho đến khi các phân vị bạn quan tâm gần như không đổi giữa các lần mô phỏng.
Kết quả tốt có nghĩa là chiến lược an toàn không?
Không. Kết quả chỉ đáng tin bằng các giả định đầu vào, và thị trường thực có thể biến động ngoài mọi kịch bản đã mô phỏng.
