Mô hình Monte Carlo là gì
Tháng chín 17, 2024

Mô hình Monte Carlo: Quản trị rủi ro dựa vào mô phỏng xác suất.

By habinh

Mô hình Monte Carlo là một trong những mô hình sử dụng mô phỏng ngẫu nhiên để dự đoán kết quả của các tình huống không chắc chắn, từ đó xây dựng các kịch bản có thể diễn ra trên thị trường. Monte Carlo thường được áp dụng trong việc quản trị rủi ro của Bank trader, vậy mô hình này hoạt động như thế nào? Hãy cùng tìm hiểu nhé.

Mô hình Monte Carlo là gì
Mô hình Monte Carlo là gì

1. Mô hình Monte Carlo là gì?

Monte Carlo ra đời trong những năm 1940, thời kỳ mà cả thế giới đang chìm đắm trong Chiến tranh thế giới thứ hai. Tại Mỹ vào thời điểm đó có một dự án mà mãi về sau nhân loại còn ám ảnh với cái tên Manhattan. Manhattan tập hợp những bộ óc vĩ đại lúc bấy giờ như Stanislaw UlamJohn von Neumann để nỗ lực phát triển vũ khí hạt nhân.

Trong bối cảnh khẩn cấp của cuộc chiến, Ulam và Neumann phải đối mặt với một câu hỏi hóc búa: làm thế nào để mô phỏng được hàng triệu kịch bản tiềm năng của các phản ứng hạt nhân mà không cần phải thực hiện hàng triệu thí nghiệm thực tế?

Stanislaw Ulam, một nhà toán học gốc Ba Lan, đã có một ý tưởng đột phá. Sau một thời gian ốm yếu và dành thời gian chơi bài solitaire để giải trí, ông nhận ra rằng các trò chơi bài hoàn toàn có thể được mô phỏng thông qua việc sinh ra các con số ngẫu nhiên.

Đó chính là những ý tưởng ban đầu cho việc phát triển phương pháp Monte Carlo, dựa trên nguyên tắc sử dụng các con số ngẫu nhiên để mô phỏng các hệ thống phức tạp.

Tên gọi “Monte Carlo”

Tại sao lại gọi là Monte Carlo? Tên của phương pháp này không phải ngẫu nhiên mà được đặt theo tên Monte Carlo, một sòng bạc xa hoa nổi tiếng ở Monaco.

Ulam và John von Neumann, những nhà khoa học tiên phong trong việc phát triển phương pháp này đã chọn cái tên Monte Carlo bởi sòng bạc là nơi tập trung của các trò chơi may rủi và những kết quả ngẫu nhiên – rất phù hợp với bản chất của phương pháp này, vốn dựa vào sự ngẫu nhiên và tính xác suất.

Cuộc cách mạng toán học và công nghệ

Monte Carlo không chỉ là một công cụ hỗ trợ việc phát triển vũ khí hạt nhân, mà nó đã mở ra một cuộc cách mạng trong nhiều lĩnh vực khác nhau, từ tài chính, vật lý, kỹ thuật đến sinh học. Phương pháp này đã giúp các nhà khoa học và nhà nghiên cứu giải quyết những vấn đề phức tạp, những bài toán không thể giải bằng phương pháp truyền thống.

Trong lĩnh vực tài chính, Monte Carlo đã trở thành một công cụ đắc lực giúp các nhà đầu tư dự báo biến động thị trường, tính toán rủi ro, và đưa ra các quyết định dựa trên các kịch bản xác suất.

2. Cách thức hoạt động của mô hình Monte Carlo

Mô phỏng Monte Carlo là một kỹ thuật được sử dụng rộng rãi trong tài chính để dự đoán hành vi của của thị trường dựa trên mô phỏng thực nghiệm. Sau đây là quy trình và luồng công việc khi áp dụng phương pháp này:

B1. Xác định mô hình

Bước đầu tiên là xác định mô hình tài chính mà bạn muốn mô phỏng. Ví dụ, trong tài chính, mô hình Chuyển động Brownian hình học (GBM) thường được sử dụng để mô phỏng sự biến động giá của cổ phiếu hoặc tài sản. Công thức cho mô hình GBM là:

B1
Mô hình Monte Carlo: Quản trị rủi ro dựa vào mô phỏng xác suất. 14

B2. Đầu vào của mô hình

Dữ liệu giá: Dữ liệu giá lịch sử được sử dụng để tính toán các tham số chính như tỷ suất lợi nhuận trung bình hàng ngày  (mean μ) và độ biến động (σ).

Số ngẫu nhiên: Để tạo ra các kịch bản ngẫu nhiên, các số ngẫu nhiên được lấy từ phân phối chuẩn sử dụng các công cụ như NORM.INV trong Excel.

B3. Tạo ra các thử nghiệm ngẫu nhiên

Khi mô hình đã được thiết lập, các mô phỏng sẽ thực hiện các thử nghiệm ngẫu nhiên. Ví dụ, hàng ngàn kịch bản sẽ được tạo ra để dự đoán giá tương lai của tài sản bằng cách rút các giá trị ngẫu nhiên từ các biến ngẫu nhiên đại diện cho độ biến động và lợi nhuận.

Mỗi thử nghiệm sẽ mô phỏng một chuỗi biến động giá dựa trên các giá trị ngẫu nhiên đã chọn, giúp mô hình phản ánh sự ngẫu nhiên vốn có trên thị trường.

B4. Mô phỏng kết quả

Mô phỏng sẽ chạy cho một số lượng vòng lặp xác định (thường là hàng ngàn hoặc hàng triệu), tạo ra một phân phối kết quả có thể xảy ra. Mỗi vòng lặp đại diện cho một kịch bản tiềm năng của giá tài sản theo các giả định về độ biến động và tỷ suất lợi nhuận.

B5. Phân tích kết quả

Sau khi thực hiện đủ số lần mô phỏng, mô hình sẽ đưa ra một phân phối xác suất của các kết quả có thể xảy ra. Phân phối này giúp ước lượng các chỉ số quan trọng như xác suất đạt đến một mức giá nhất định hoặc khả năng giá tài sản duy trì trong một khoảng nào đó. Phân phối này sau đó sẽ được phân tích để đưa ra các kết luận về tình hình thị trường trong tương lai.

Các yếu tố bổ sung

Phân tích độ nhạy: Quan trọng là hiểu cách kết quả thay đổi khi các biến đầu vào (như độ biến động hoặc tỷ suất lợi nhuận) thay đổi. Bằng cách điều chỉnh các yếu tố này, bạn có thể kiểm tra tính ổn định của dự đoán trong các điều kiện thị trường khác nhau.

Mô phỏng Monte Carlo có thể được thực hiện trong các công cụ như Excel, Python, hoặc các phần mềm chuyên dụng về tài chính như MATLAB. Excel thường được sử dụng cho các mô hình đơn giản do tính tiện lợi của nó, nhưng với các tập dữ liệu lớn hoặc mô phỏng phức tạp, cần sử dụng các công cụ mạnh hơn.

3. Cách tính toán các yếu tố đầu vào của mô hình Monte Carlo

Để áp dụng mô hình Monte Carlo cho các tài sản tài chính, chúng ta cần xác định các yếu tố đầu vào quan trọng và cách tính toán chúng. Dưới đây là các yếu tố đầu vào và phương pháp tính toán cho mô hình Monte Carlo:

Giá hiện tại của tài sản (S₀)

Giá tài sản tại thời điểm bắt đầu mô phỏng.

Cách tính toán: Giá mở cửa hoặc giá đóng cửa gần nhất được sử dụng làm giá hiện tại. Ví dụ, đối với tỷ giá EUR/USD, bạn có thể sử dụng giá mở cửa hoặc đóng cửa của ngày gần nhất.

Lợi suất kỳ vọng hàng ngày (Expected Daily Return)

Tỷ lệ sinh lời kỳ vọng từ tài sản trong một khoảng thời gian nhất định. Đây là mức lợi nhuận trung bình mà bạn mong đợi từ tài sản trong mỗi ngày giao dịch.

Cách tính toán:

Cách tính tỷ suất sinh lời hàng ngày
Cách tính tỷ suất sinh lời hàng ngày

Độ biến động (Volatility)

Độ biến động đo lường mức độ dao động của giá tài sản xung quanh giá trị trung bình.

Cách tính toán:

Cách tính Volatility
Cách tính Volatility

Thời gian mô phỏng (T)

Số ngày trong tương lai mà bạn muốn dự đoán.

Cách tính toán: Tùy vào khoảng thời gian bạn quan tâm, có thể là 1 ngày, 1 tháng (khoảng 21 ngày giao dịch), 1 quý (63 ngày), hoặc 1 năm (252 ngày).

Số lượng bước thời gian (Time Steps)

Ý nghĩa: Số lượng bước thời gian chia nhỏ trong khoảng thời gian 𝑇.

Cách tính toán: Nếu bạn muốn dự đoán trong 1 năm với 252 ngày giao dịch, thì số bước thời gian cũng là 252.

Số lượng mô phỏng (Number of Simulations)

Số lần mô phỏng để tạo ra các kịch bản khác nhau. Con số này càng lớn, kết quả mô phỏng càng chính xác.

Cách tính toán: Lựa chọn dựa trên yêu cầu về độ chính xác và tài nguyên tính toán. Thông thường, 1.000 đến 10.000 lần mô phỏng là phổ biến, nhưng có thể tăng lên 100.000 nếu cần.

Giá trị ngẫu nhiên (Random Numbers)

Các giá trị ngẫu nhiên lấy từ phân phối chuẩn, sử dụng để tạo ra các kịch bản khác nhau về biến động của tài sản.

Cách tính toán: Sử dụng hàm phân phối chuẩn chuẩn hóa để tạo các số ngẫu nhiên:

𝑍∼𝑁(0,1)

Mô phỏng giá tài sản (Price Simulation)

Mô phỏng giá tài sản trong tương lai dựa trên phương trình chuyển động Brownian hình học (Geometric Brownian Motion – GBM).

Cách tính toán: Sử dụng công thức sau để tính giá trong tương lai:

Cach tinh Price Simulation
Mô hình Monte Carlo: Quản trị rủi ro dựa vào mô phỏng xác suất. 15

4. Áp dụng mô hình Monte Carlo vào phân tích thị trường

Vậy là đã xong cái phần nội dung mà không ai muốn đọc. Bây giờ sẽ là món chính của ngày hôm nay, chúng ta sẽ áp dụng Data để phân tích một tài sản.

Mô phỏng mô hình Monte Carlo cho tỷ giá EUR/USD
Mô phỏng mô hình Monte Carlo cho tỷ giá EUR/USD

Hãy cùng bắt đầu với những tham số đơn giản, chúng ta sẽ tăng dần cấp độ khi các bạn đã thật sự hiểu được các khái niệm của phần nội dung này.

Trong ví dụ này, chúng ta đã thực hiện mô phỏng Monte Carlo cho tỷ giá EUR/USD với các tham số sau:

  • Tỷ giá ban đầu (S0): 1.10 (tức là 1 EUR = 1.10 USD)
  • Lợi suất kỳ vọng hàng ngày: 0.1% (0.001)
  • Độ biến động hàng ngày: 0.6% (0.006)
  • Số ngày giao dịch: 252 (tương đương một năm giao dịch)
  • Số lần mô phỏng: 1.000

Kết quả từ mô phỏng cho thấy:

  • Tỷ giá trung bình sau 1 năm: 1.1010 USD.
  • Phân vị thứ 5: 1.0896 USD (tức là trong 5% trường hợp xấu nhất, tỷ giá sẽ giảm xuống mức này).
  • Phân vị thứ 95: 1.1126 USD (tức là trong 5% trường hợp tốt nhất, tỷ giá sẽ tăng lên mức này).

Các số liệu trên sau khi phân tích có ý nghĩa gì?

Các tham số đầu vào của mô phỏng

Tỷ giá ban đầu (S0): Đây là tỷ giá EUR/USD tại thời điểm bắt đầu mô phỏng. Trong trường hợp này, tỷ giá ban đầu là 1.10, có nghĩa là 1 EUR bằng 1.10 USD.

Lợi suất kỳ vọng hàng ngày (mean_return): Đây là tỷ lệ lợi nhuận kỳ vọng hàng ngày. Trong mô phỏng, chúng ta sử dụng giá trị 0.1% (0.001), điều này có nghĩa là tỷ giá EUR/USD được kỳ vọng sẽ tăng trung bình 0.1% mỗi ngày.

Độ biến động hàng ngày (volatility): Đây là độ biến động của tỷ giá hàng ngày, tức là mức dao động của tỷ giá có thể tăng hoặc giảm. Ở đây, độ biến động được đặt là 0.6% mỗi ngày.

Số ngày giao dịch (T): Mô phỏng giả định rằng có 252 ngày giao dịch trong một năm (phù hợp với thực tế của thị trường tài chính).

Số lần mô phỏng (simulations): Để có được một tập hợp các kết quả đa dạng và đại diện cho nhiều kịch bản có thể xảy ra, chúng ta thực hiện 1.000 lần mô phỏng (các “lần thử” của thị trường).

Kết quả từ mô phỏng

Tỷ giá trung bình sau 1 năm: Kết quả mô phỏng cho thấy rằng sau 1 năm, tỷ giá EUR/USD trung bình dự kiến là 1.1010 USD. Điều này có nghĩa là sau 1 năm, với lợi suất và biến động hiện tại, giá trị trung bình dự kiến của EUR/USD sẽ không thay đổi nhiều so với mức ban đầu.

Phân vị thứ 5 (5th Percentile): Giá trị này là 1.0896 USD, nghĩa là có 5% khả năng tỷ giá sẽ giảm xuống dưới mức này sau 1 năm. Đây là kịch bản xấu nhất mà bạn có thể gặp phải trong 5% các trường hợp mô phỏng.

Phân vị thứ 95 (95th Percentile): Giá trị này là 1.1126 USD, nghĩa là có 5% khả năng tỷ giá sẽ vượt qua mức này sau 1 năm. Đây là kịch bản tốt nhất trong 5% các trường hợp mô phỏng, khi tỷ giá EUR/USD tăng cao hơn dự kiến.

Bây giờ tôi sẽ tăng độ khó của game bằng việc sử dụng Data thực tế của cặp EUR/USD từ đầu năm 2024. Các bạn có thể vào Investing để download.

Phân tích EUR/USD quý 4/2024 dựa vào mô hình Monte Carlo

Để tính toán độ biến động (volatility) của tỷ giá EUR/USD trong năm 2024, chúng ta sẽ sử dụng các bước sau:

Tính toán tỷ suất sinh lời hàng ngày: Sử dụng giá “đóng cửa” để tính toán tỷ suất sinh lời hàng ngày (return).

Tính độ lệch chuẩn của các tỷ suất sinh lời hàng ngày, đây chính là volatility hàng ngày.

Quy đổi thành volatility hàng năm: Nhân độ lệch chuẩn hàng ngày với căn bậc hai của số ngày giao dịch trong năm (khoảng 252 ngày) để tính độ biến động hàng năm.

Dựa trên dữ liệu tỷ giá EUR/USD trong năm 2024:

Độ biến động hàng ngày (daily volatility) là khoảng 0.32%.

Để tính biến động hàng ngày theo đơn vị pip, chúng ta chỉ cần chuyển đổi độ biến động hàng ngày từ phần trăm sang pip. Để chuyển đổi volatility hàng ngày sang đơn vị pip, chúng ta có thể lấy độ biến động hàng ngày nhân với giá trị EUR/USD hiện tại và sau đó chia cho giá trị tương ứng của pip (0.0001) là khoảng 35.82 pip.

Độ biến động hàng năm (annualized volatility) là khoảng 5.13%.

Mô phỏng Monte Carlo cho tỷ giá EUR/USD trong 1 năm
Mô phỏng Monte Carlo cho tỷ giá EUR/USD trong 1 năm

Kết quả từ mô phỏng Monte Carlo cho tỷ giá EUR/USD trong 1 năm, với độ biến động hàng năm khoảng 5.13%, cho thấy:

  • Tỷ giá trung bình sau 1 năm: 1.1113 USD.
  • Phân vị thứ 5 (5th Percentile): 1.0222 USD, tức là có 5% khả năng tỷ giá sẽ giảm xuống dưới mức này sau 1 năm.
  • Phân vị thứ 95 (95th Percentile): 1.2094 USD, tức là có 5% khả năng tỷ giá sẽ tăng cao hơn mức này sau 1 năm.

Cùng tiếp tục hack não nhé

Để dự đoán mức giá của tỷ giá EUR/USD trong quý 4 năm 2024 dựa trên mô hình Monte Carlo, chúng ta cần tập trung vào khoảng thời gian từ tháng 10 đến tháng 12 (tức là 1/4 của năm).

Cụ thể:

Thời gian mô phỏng: Sẽ là 1/4 năm, tương đương với khoảng 63 ngày giao dịch (giả sử có 252 ngày giao dịch trong một năm).

Các tham số khác: Sử dụng các tham số đã tính toán trước đó như lợi suất kỳ vọng (mean return) và độ biến động (volatility).

Tôi sẽ thực hiện mô phỏng Monte Carlo cho khoảng thời gian 63 ngày để dự đoán tỷ giá EUR/USD trong quý 4/2024. Tôi sẽ thực hiện lại mô phỏng với số lần lớn hơn (10.000 lần mô phỏng) để tăng độ chính xác của đầu ra.

Mô phỏng lên 10.000 lần cho tỷ giá EUR/USD trong quý 4 năm 2024
Mô phỏng lên 10.000 lần cho tỷ giá EUR/USD trong quý 4 năm 2024

Sau khi tăng số lần mô phỏng lên 10.000 lần cho tỷ giá EUR/USD trong quý 4 năm 2024, kết quả như sau:

Thông tin đầu vào:

  • Giá mở cửa của ngày hôm nay: 𝑆0 = 1.1088 USD.
  • Lợi suất kỳ vọng hàng ngày (tính từ dữ liệu lịch sử): gần như 0%.
  • Độ biến động hàng năm: ước tính là 5.13%.
  • Thời gian mô phỏng: 63 ngày (quý 4).

Kết quả đầu ra:

  • Tỷ giá trung bình sau 63 ngày (cuối quý 4): khoảng 1.1089 USD.
  • Phân vị thứ 5 (5th Percentile): khoảng 1.0174 USD, tức là có 5% khả năng tỷ giá sẽ giảm xuống dưới mức này sau quý 4.
  • Phân vị thứ 95 (95th Percentile): khoảng 1.2025 USD, tức là có 5% khả năng tỷ giá sẽ tăng cao hơn mức này sau quý 4.

Giải thích:

Tỷ giá trung bình gần bằng với giá mở cửa ban đầu, phản ánh sự kỳ vọng ổn định.

Phạm vi dao động dựa trên phân vị 5% và 95% cho thấy tỷ giá EUR/USD sẽ có khả năng dao động từ 1.0174 USD đến 1.2025 USD trong 90% các kịch bản được mô phỏng.

Nếu muốn tính mức giá có thể vào ngày mai dựa trên số pip biến động (volatility hàng ngày), ta có thể lấy giá mở cửa hiện tại và trừ đi số pip biến động. Đây là cách tính đơn giản hơn để dự đoán mức giá trong kịch bản giảm.

Công thức:

Giá dự kiến ngày mai = 𝑆0 −/+ Volatility (tính bằng pips)

Dựa trên mô phỏng Monte Carlo cho giá mở cửa ngày mai của EUR/USD, kết quả dự đoán là:

  • Giá mở cửa trung bình cho ngày mai: khoảng 1.1088 USD.
  • Phân vị thứ 5 (5th Percentile): khoảng 1.1029 USD, tức là có 5% khả năng giá mở cửa sẽ thấp hơn mức này.
  • Phân vị thứ 95 (95th Percentile): khoảng 1.1147 USD, tức là có 5% khả năng giá mở cửa sẽ cao hơn mức này.

Kết luận

Monte Carlo không phải là chén thánh nó chỉ là phương pháp quản trị rủi ro dựa vào số lần mô phỏng cực lớn để nhận diện được phạm vi của di chuyển của giá, qua đó nhà đầu tư có thể thực hiện các biện pháp phòng ngừa rủi ro như Hedge, Diversity, Deveratives…

Cùng tiếp tục theo dõi HabinhFx để đón đọc các phần tiếp theo. Đồng thời nếu các bạn muốn tìm hiểu chuyên sâu về SMC có thể đặt mua sách tại đây. Đậy là quyển sách do chính tác giả viết và đã được xuất bản trên Amazon. Trân trọng!