Trăn mô phỏng Monte Carlo

Không có gì là cố định trong thế giới tài chính. Cho dù bạn đang quản lý một công ty hay đầu tư tiền tiết kiệm của mình, bạn phải cân nhắc cẩn thận tất cả các yếu tố chuyển động khi đưa ra bất kỳ quyết định nào về tiền bạc. Rất may, có những công cụ mà bạn có thể sử dụng để áp dụng khoa học dữ liệu vào lĩnh vực tài chính một cách đơn giản và dễ dàng.  

Mô phỏng Monte Carlo làm được điều đó. Chúng được sử dụng rộng rãi trong tài chính doanh nghiệp, định giá đầu tư, quản lý tài sản, quản lý rủi ro, ước tính nợ bảo hiểm, định giá quyền chọn và các công cụ phái sinh khác

Trong bài viết này, chúng tôi sẽ giải thích cơ chế mô phỏng Monte Carlo và xem cách nó có thể được sử dụng cho phân tích tài chính tiêu chuẩn.  

Mô phỏng Monte Carlo là gì?

Bất kỳ hành động hoặc quyết định nào chúng ta thực hiện trên thế giới đều có thể có một số kết quả phụ thuộc vào các yếu tố ngoài tầm kiểm soát của chúng ta. Những gì một mô phỏng Monte Carlo làm là xem xét các biến thể có thể xảy ra trong các tình huống xung quanh một sự kiện để thử và dự đoán kết quả của nó

Nói cách khác, khi chúng tôi chạy mô phỏng Monte Carlo, chúng tôi quan tâm đến việc quan sát các khả năng thực hiện khác nhau của một sự kiện trong tương lai. Chúng ta có thể sử dụng dữ liệu trong quá khứ, thứ mà chúng ta đã biết, để tạo mô phỏng – một tập hợp dữ liệu hư cấu nhưng hợp lý mới

Những nhận thức này được tạo ra bằng cách quan sát sự phân bố của dữ liệu lịch sử và tính toán giá trị trung bình và phương sai của nó. Giá trị trung bình hoặc trung bình đơn giản của tập dữ liệu được tính bằng cách cộng tất cả các thành phần của nó rồi chia chúng cho số lượng thành phần có trong tập dữ liệu. Mặt khác, phương sai đo độ phân tán của một tập hợp các điểm dữ liệu xung quanh giá trị trung bình của chúng. Những thông tin như vậy rất có giá trị vì nó cho phép chúng tôi xem xét một đại diện tốt về xác suất của các kết quả khác nhau và có thể giúp chúng tôi đưa ra quyết định sáng suốt

Để xem hết phân tích của chúng tôi, chúng tôi cũng sẽ cần thêm hai thuật ngữ thống kê – độ lệch chuẩn và phân phối chuẩn. Cả hai đều xuất hiện sau trong bài viết này, vì vậy bạn có thể muốn đọc chúng trước khi chúng tôi tiếp tục

Mô phỏng Monte Carlo trong Tài chính

Bây giờ, hãy tưởng tượng bạn là người quản lý tài chính và bạn muốn hiểu rõ hơn về hướng đi của công ty mình. Để ước tính doanh thu năm hiện tại, bạn sẽ sử dụng phương trình đơn giản này

\[ Hiện hành\. Doanh thu = Cuối cùng\. Năm\. Doanh thu \lần  [1 + YoY\. Sự phát triển\. Tỷ lệ] \]

Hai thông số bạn cần, tăng trưởng doanh thu và độ lệch chuẩn, có thể thu được bằng cách xem xét các số liệu lịch sử hoặc được chọn tùy ý, dựa trên trực giác của người dùng

Lý do về Giá vốn hàng bán [COGS] và Chi phí hoạt động [Opex] gần như giống nhau, với một điểm khác biệt chính. Chúng ta cần biểu thị giá vốn hàng bán và chi phí hoạt động dưới dạng phần trăm doanh thu, sau đó lập mô hình phát triển tỷ lệ phần trăm doanh thu

Khi bạn khấu trừ giá vốn hàng bán từ doanh thu của một công ty, bạn sẽ nhận được lợi nhuận gộp của công ty đó

Mô phỏng Monte Carlo bằng Python. Thí dụ

Hãy xem cách chúng ta có thể sử dụng mô phỏng máy tính Monte Carlo để chuẩn bị dự báo tài chính của mình. Để làm được điều này, bạn sẽ cần có hiểu biết cơ bản về cách thức hoạt động của Python. Chúng tôi cũng sẽ sử dụng Jupyter Notebook, vì vậy bạn cũng nên cập nhật kiến ​​thức về nó

Như chúng tôi đã nói, mục tiêu của chúng tôi là dự đoán lợi nhuận gộp trong tương lai của công ty. Chúng ta sẽ cần các giá trị của doanh thu dự kiến ​​và giá vốn hàng bán dự kiến

Trước tiên, hãy nhập hai công cụ chính sẽ giúp chúng tôi phân tích Monte Carlo. NumPy và Matplotlib Py-lô

import numpy as np
import matplotlib.pyplot as plt

Phần 1. Doanh thu dự kiến

Đối với phần đầu tiên của ví dụ mô phỏng Monte Carlo, chúng tôi sẽ thực hiện 1.000 mô phỏng về doanh thu dự kiến ​​của công ty

Giả sử bạn đã xem xét doanh thu của năm ngoái và bạn có ý tưởng về tốc độ tăng trưởng doanh thu mà bạn có thể mong đợi, vì vậy doanh thu dự kiến ​​cho năm nay là \$170 triệu và độ lệch chuẩn của con số này sẽ là \$20 triệu

Do đó, hãy gán 170 cho biến “rev_m”, viết tắt của “trung bình doanh thu” và 20 cho biến “rev_stdev”, viết tắt cho “độ lệch chuẩn doanh thu”

Giá trị quan trọng tiếp theo chúng ta cần chỉ định là số lần lặp lại. Chúng tôi dự định tạo ra 1.000 quan sát mô phỏng từ phân phối chuẩn. Vì vậy, trong một biến có tên là "lặp đi lặp lại", hãy ghi lại giá trị 1.000

rev_m = 170
rev_stdev = 20
iterations = 1000

Dòng mã tiếp theo sẽ tạo ra mô phỏng doanh thu trong tương lai

Chúng tôi sẽ áp dụng trình tạo phân phối chuẩn ngẫu nhiên của NumPy. Các đối số chúng tôi có ở đây là giá trị trung bình dự kiến ​​của doanh thu, độ lệch chuẩn của chúng và số lần lặp mà chúng tôi muốn thực hiện

Chúng tôi sẽ lưu trữ thông tin này trong một biến, được gọi là "rev". Kết quả sẽ là 1.000 giá trị, hầu hết trong số đó gần với giá trị trung bình mà chúng tôi đã chọn

rev = np.random.normal[rev_m, rev_stdev, iterations]
rev

Hãy vẽ những quan sát này và xem phân phối của chúng

plt.figure[figsize=[15, 6]]
plt.plot[rev]
plt.show[]

Các giá trị mô phỏng được tập trung vào giá trị trung bình của 170. Rõ ràng là hầu hết tất cả các điểm dữ liệu đều nằm trong khoảng từ 150 đến 190. Hai giá trị bằng giá trị trung bình trừ một độ lệch chuẩn và giá trị trung bình cộng một độ lệch chuẩn. Đối với 1.000 điểm dữ liệu, chúng tôi hiếm khi quan sát thấy các tình huống nằm ngoài các giới hạn này

Phần 2. Ước tính giá vốn hàng bán

Đối với phần thứ hai của ví dụ mô phỏng Monte Carlo, chúng tôi sẽ cố gắng ước tính giá vốn hàng bán [COGS]

Giả sử bạn có kinh nghiệm trong lĩnh vực kinh doanh này và có thể nói rằng, thông thường, giá vốn hàng bán chiếm khoảng 60% doanh thu hàng năm của công ty. 60% doanh thu của nó được dành để sản xuất hàng hóa mà nó bán. Và chúng ta có ý nghĩa gì khi nói xấp xỉ?

Chà, nếu các giá trị COGS trong quá khứ đã từng bằng 55% doanh thu, sau đó là 62%, 63% và cuối cùng là 55%, bạn có thể xem xét một cách hợp lý phân phối bình thường với trung bình là 60% doanh thu và ước tính của . Giá vốn hàng bán chênh lệch 6% giá trị doanh thu không thành vấn đề. Để thiết lập phân phối, nó phải sai lệch 10% so với giá vốn hàng bán trung bình

Đây là cách chúng ta có thể gõ cái này trong Python. COGS là tiền chi tiêu; . Khi đó, biểu thức phải phản ánh phép nhân doanh thu với 60%

Chúng tôi sẽ không mô phỏng COGS 1.000 lần. Điều này đã được thực hiện đối với doanh thu và chúng tôi có 1.000 điểm dữ liệu doanh thu. Chúng ta phải chỉ định một giá trị COGS ngẫu nhiên cho từng điểm này. Giá vốn hàng bán là tỷ lệ phần trăm doanh thu. Do đó, giá trị doanh thu mà chúng tôi thu được phải được nhân với giá trị được trích xuất từ ​​phân phối chuẩn ngẫu nhiên, với giá trị trung bình là 0. 6 và độ lệch chuẩn là 0. 1

COGS = - [rev * np.random.normal[0.6,0.1]]

plt.figure[figsize=15, 6]]
plt.plot[COGS]
plt.show[]

Phần 3. Tính toán lợi nhuận gộp

Đối với phần cuối cùng của ví dụ mô phỏng Monte Carlo, chúng tôi sẽ tính lợi nhuận gộp

Vì chúng tôi đã tạo ra 1.000 giá trị doanh thu và giá vốn hàng bán tiềm năng, nên việc tính toán mô phỏng lợi nhuận gộp yêu cầu chúng tôi kết hợp doanh thu và giá vốn hàng bán [mà chúng tôi đã tạo dưới dạng số âm, vì vậy việc sử dụng dấu cộng chứ không phải dấu trừ ở đây là đúng. ]

Gross_Profit = rev + COGS
Gross_Profit

plt.figure[figsize=[15, 6]]
plt.plot[Gross_Profit]
plt.show[]

Từ thời điểm này, với sự trợ giúp của các hàm max và min, thật dễ dàng để có được giá trị tiềm năng lớn nhất và nhỏ nhất của lợi nhuận gộp. Các phương pháp “trung bình” và “STD” có thể cung cấp đầu ra tương ứng với giá trị trung bình và độ lệch chuẩn của lợi nhuận gộp

Mô phỏng Monte Carlo. Kết quả ví dụ

Hãy trực quan hóa kết quả của ví dụ mô phỏng Monte Carlo của chúng tôi

Bạn có thể phân tích sâu hơn nữa bằng cách sử dụng biểu đồ, một công cụ trực quan hóa dữ liệu phổ biến. Cú pháp để triển khai nó giống với cú pháp chúng ta đã sử dụng cho một biểu đồ thông thường, nhưng điểm khác biệt là, trên dòng thứ hai sau “plt”, bạn cần nhập “hist”. Sau đó, bạn có thể thêm nhiều đối số, nhưng có hai đối số quan trọng. Một trong số đó là giá trị của tiền lãi, trong trường hợp của chúng tôi, là lợi nhuận gộp. Một cái khác liên quan đến các thùng. Đây là những phần mà dữ liệu trong biểu đồ sẽ được chia

plt.figure[figsize=[10, 6]];
plt.hist[Gross_Profit, bins = 20];
plt.show[]

Đây là cách Mô phỏng Monte Carlo được sử dụng trong phân tích tài chính tiêu chuẩn. Khóa học Python for Finance của chúng tôi bao gồm các quy trình này và các quy trình phức tạp hơn một cách chuyên sâu. Ước tính giá cổ phiếu và EBIT của một công ty hoặc định giá quyền chọn cổ phiếu đều là những kỹ năng cần thiết đối với các nhà khoa học dữ liệu làm việc trong lĩnh vực tài chính và việc thành thạo chúng có thể thúc đẩy triển vọng công việc của bạn rất nhiều

Bạn đã sẵn sàng cho bước tiếp theo hướng tới sự nghiệp trong khoa học dữ liệu chưa?

Chương trình Khoa học Dữ liệu 365 cung cấp các khóa học theo nhịp độ riêng do các chuyên gia nổi tiếng trong ngành hướng dẫn. Bắt đầu từ những kiến ​​thức cơ bản cho đến chuyên môn hóa nâng cao, bạn sẽ học bằng cách thực hành với vô số bài tập thực tế và các trường hợp kinh doanh trong thế giới thực. Nếu bạn muốn xem cách hoạt động của khóa đào tạo, hãy bắt đầu với các bài học miễn phí của chúng tôi bằng cách đăng ký bên dưới

Python mô phỏng Monte Carlo là gì?

Mô phỏng Monte Carlo là một loại thuật toán tính toán ước tính xác suất xảy ra của một sự kiện không thể xác định do có sự tham gia của các biến ngẫu nhiên . Thuật toán dựa vào việc lấy mẫu ngẫu nhiên lặp đi lặp lại để cố gắng xác định xác suất.

Có thể mô phỏng trong python không?

Python cung cấp một hàm sum[] có sẵn để tính tổng các số trong danh sách . cú pháp. tổng [có thể lặp lại, bắt đầu] có thể lặp lại. iterable có thể là bất kỳ danh sách, bộ dữ liệu hoặc từ điển nào, nhưng quan trọng nhất nó phải là số. bắt đầu. bắt đầu này được thêm vào tổng số trong lần lặp.

Sự khác biệt giữa mô phỏng và mô phỏng Monte Carlo là gì?

Sawilowsky phân biệt giữa mô phỏng, phương pháp Monte Carlo và mô phỏng Monte Carlo. một mô phỏng là một đại diện hư cấu của thực tế, một phương pháp Monte Carlo là một kỹ thuật có thể được sử dụng để giải quyết một vấn đề toán học hoặc thống kê, và một mô phỏng Monte Carlo sử dụng lấy mẫu lặp đi lặp lại để thu được

Tại sao bạn lại sử dụng mô phỏng Monte Carlo?

Mô phỏng Monte Carlo được sử dụng để ước tính xác suất của một khoản thu nhập nhất định . Do đó, nó được các nhà đầu tư và nhà phân tích tài chính sử dụng rộng rãi để đánh giá khả năng thành công của các khoản đầu tư mà họ đang xem xét. Một số sử dụng phổ biến bao gồm. Định giá quyền chọn cổ phiếu.

Chủ Đề