Python có tốt hơn Excel về tài chính không?
Ngôn ngữ Python có chức năng gửi nhiều bảng tính chứa VBA, được giữ cùng với băng dính, vào thùng rác. Tính dễ sử dụng và tính phù hợp của nó đối với sự phát triển lặp đi lặp lại phù hợp với các quy trình công việc dựa trên tài chính. Chúng tôi đi sâu vào vấn đề này và cung cấp một hướng dẫn ngắn gọn Show
Qua Stefan Thelin Stefan là một chủ ngân hàng M&A kiêm Giám đốc tài chính khởi nghiệp với kinh nghiệm tài chính chuyên sâu trong các dự án, từ huy động vốn chuỗi A trị giá 6 triệu đô la cho đến 7 tỷ đô la BO ĐĂNG LẠI ĐĂNG LẠI Tóm tắt điều hànhTại sao Python là ngôn ngữ lập trình tuyệt vời cho các chuyên gia tài chính học?
Một số trường hợp sử dụng để triển khai Python và tài chính cùng nhau là gì?
Các chuyên gia tài chính từ lâu đã có quyền truy cập vào VBA (Visual Basic for Applications) trong Excel để xây dựng chức năng tùy chỉnh và tự động hóa quy trình công việc. Với sự xuất hiện trong những năm gần đây của Google Trang tính như một ứng cử viên nặng ký trong không gian bảng tính, Google Apps Script hiện cung cấp thêm một lựa chọn Tuy nhiên, tôi muốn thu hút sự chú ý đến tùy chọn thứ ba, ngôn ngữ lập trình Python, đã trở nên cực kỳ phổ biến trong một số lĩnh vực Trong bài viết này, tôi sẽ cung cấp một số ví dụ về những gì bạn có thể đạt được với Python, bắt đầu với tổng quan về ngôn ngữ này và lý do tại sao nó trở nên phổ biến trong nhiều lĩnh vực khác nhau, từ phát triển web, học máy, tài chính, . Phần thứ hai sau đó sẽ bao gồm hướng dẫn từng bước Mục đích tôi viết bài này là để giúp bạn quyết định xem Python có đủ hấp dẫn để bạn xem xét thêm nó vào hộp công cụ tài chính của mình hay không. Nếu bạn thực hiện bước nhảy vọt, có rất nhiều ứng dụng, khóa học, video, bài báo, sách và bài đăng trên blog để học ngôn ngữ. Ở cuối phần này, tôi đã liệt kê một số tài nguyên đã giúp tôi trong suốt quá trình Trường hợp sử dụng. Ví dụ về những gì tôi đã sử dụng Python choGiới thiệu về lập trình của tôi là học CƠ BẢN trên Oric 1 vào giữa những năm 1980. Hồi đó BASIC là ngôn ngữ phổ biến nhất dành cho người mới bắt đầu. Các ngôn ngữ khác mà tôi đã học vào cuối những năm 80 cho đến giữa những năm 90 là Pascal và C, nhưng tôi chưa bao giờ sử dụng chúng trong bất kỳ khả năng chuyên môn nào và tôi không mong đợi sẽ cần hoặc sử dụng các kỹ năng lập trình. Theo hiểu biết của tôi vào thời điểm cuối những năm 90, tài chính và lập trình là những lĩnh vực rất khác nhau, khi tôi chọn dấn thân vào con đường sự nghiệp trong lĩnh vực tài chính Tua nhanh đến năm 2012, và tôi đang muốn chọn lập trình trở lại như một sở thích, vì vậy tôi bắt đầu nghiên cứu các ngôn ngữ có sẵn vào thời điểm đó. Hóa ra có một chút chuyện đã xảy ra, và khi tôi bắt gặp Python, tôi đã bị cuốn hút, vì nhiều lý do mà tôi sẽ trình bày trong phần tiếp theo. Kể từ đó, tôi đã sử dụng Python cho nhiều nhiệm vụ khác nhau, từ các tập lệnh nhỏ đến các dự án lớn hơn, cả cá nhân và chuyên nghiệp. Nhiều, nhưng không phải tất cả, có liên quan đến bảng tính, bàn làm việc của nhiều chuyên gia tài chính Dưới đây là một số ví dụ về cách bảng tính và Python có thể kết hợp với nhau tốt như thế nào 1. Theo dõi hàng trăm hoạt động theo thời gian trong thiết lập PMO tích hợp M&ATôi làm việc với tất cả các khía cạnh của giao dịch M&A, không chỉ thực hiện mà còn tích hợp. Trong một trường hợp gần đây, nhóm PMO đã quyết định sử dụng phương pháp quản lý dự án và chương trình kết hợp, sử dụng kế hoạch thác nước và biểu đồ Gantt cho các kế hoạch cấp cao cho mỗi trong số 12 luồng công việc tích hợp, ngoài ra còn có bảng Kanban để theo dõi hàng trăm hoạt động đang diễn ra. . Công cụ Kanban đã được chọn, MeisterTask, có một số tính năng thống kê và báo cáo, nhưng nhu cầu của chúng tôi vượt xa điều đó về mặt phân tích và trình bày, đòi hỏi phải có giải pháp tùy chỉnh. Đây là quy trình làm việc mà tôi đã tự động hóa bằng Python
Việc phát triển kịch bản yêu cầu đầu tư trước vài giờ, nhưng hiện tại, việc cập nhật gói báo cáo cho các cuộc họp của ban chỉ đạo hoặc phân tích đột xuất chỉ mất vài phút. Theo nghĩa đen, mất khoảng 30 giây để chuyển đến đúng thư mục và chạy tập lệnh bằng lệnh một dòng, sau đó mất vài phút để sao chép-dán kết quả đầu ra vào trang trình bày. Với khoảng 500 hoạt động (thẻ) trên 12 luồng công việc đã được thực hiện trong khoảng một tháng, theo dõi hàng tuần về cách chúng di chuyển, trong khung thời gian của chương trình là hai năm, bạn nhanh chóng thấy mình đang xử lý hàng nghìn và cuối cùng là hàng chục nghìn điểm dữ liệu trên hàng chục . Không có tự động hóa, chúng ta đang nói về một số nhiệm vụ rất tẻ nhạt ở đây Sự đánh đổi giữa “giá trị thời gian của tiền bạc” giữa việc tiếp tục với mọi thứ hoặc bổ sung thêm khối lượng công việc ban đầu bằng cách thiết lập tự động hóa là một chủ đề phổ biến trong lĩnh vực tài chính. Tôi đã đưa ra quyết định tương tự với bước đầu tiên của quy trình này, bằng cách xuất dữ liệu dưới dạng tệp CSV. MeisterTask, giống như nhiều ứng dụng web hiện đại, có một API, có thể được kết nối với ứng dụng Python của bạn, nhưng thời gian thiết lập nó sẽ vượt xa thời gian tiết kiệm được cho trường hợp sử dụng của chúng ta ở đây Vì vậy, như bạn thấy, đôi khi giải pháp tối ưu là tự động hóa các bước nhất định của quy trình làm việc và giữ các bước khác thủ công 2. Phân tích thống kê giá nhà bằng cách sử dụng Web Scraping, Google Maps API và ExcelMột ví dụ khác là điều tôi đã làm vì sở thích cá nhân nhưng tôi muốn làm nổi bật nó vì nó chứa một số yếu tố thú vị khác của tiện ích Python
Các kết quả ở đây có thể được kết hợp với trọng số cá nhân của riêng bạn về sở thích và giới hạn tài chính khi tìm kiếm bất động sản Đây chỉ là hai ví dụ, tập trung vào việc tự động hóa công việc liên quan đến bảng tính và thêm các tính năng, nhưng cơ hội với Python gần như vô tận. Trong phần tiếp theo, tôi sẽ phác thảo lý do tại sao nó trở nên phổ biến như vậy, trước khi chuyển sang hướng dẫn mô phỏng Monte Carlo từng bước bằng Python Tại sao Python là một lựa chọn tuyệt vời cho các chuyên gia tài chínhNgôn ngữ lập trình Python đã xuất hiện từ những năm 1990 nhưng phải đến những năm gần đây thì mức độ phổ biến của nó mới bùng nổ. Có một số lý do cho điều này, chúng ta hãy lần lượt xem xét từng lý do 1. Python là ngôn ngữ lập trình cấp caoNgôn ngữ lập trình cấp cao là ngôn ngữ trừu tượng hóa nhiều chi tiết về hoạt động bên trong của máy tính. Một ví dụ điển hình là quản lý bộ nhớ. Các ngôn ngữ lập trình cấp thấp hơn yêu cầu sự hiểu biết chi tiết về sự phức tạp của cách bố trí, phân bổ và giải phóng bộ nhớ của máy tính, ngoài thời gian sử dụng và các dòng mã cần thiết để xử lý các tác vụ. Python trừu tượng hóa và tự động xử lý nhiều chi tiết này, giúp bạn tập trung vào những gì bạn muốn đạt được 2. nó ngắn gọnVì Python là ngôn ngữ lập trình cấp cao, nên mã này ngắn gọn hơn và gần như hoàn toàn tập trung vào logic nghiệp vụ của những gì bạn muốn đạt được, thay vì các chi tiết triển khai kỹ thuật. Lựa chọn thiết kế ngôn ngữ góp phần vào điều này. như một ví dụ, Python không yêu cầu sử dụng dấu ngoặc nhọn hoặc dấu chấm phẩy để mô tả các hàm, vòng lặp và dòng theo cách mà nhiều ngôn ngữ khác làm, điều này làm cho nó ngắn gọn hơn và, như một số người tranh luận, cải thiện khả năng đọc 3. Dễ học và dễ hiểuMột quan sát đã ảnh hưởng đến các lựa chọn thiết kế ngôn ngữ trong Python là các chương trình được đọc thường xuyên hơn là được viết. Python vượt trội ở đây vì mã của nó trông rất gần với tiếng Anh thuần túy, đặc biệt nếu bạn đặt tên cho các thành phần khác nhau của tập lệnh hoặc chương trình của mình một cách hợp lý 4. Thích hợp cho phát triển nhanh, lặp đi lặp lại
Python lý tưởng cho việc tạo nguyên mẫu và phát triển lặp đi lặp lại nhanh chóng (và vâng, thử và sai) vì các công cụ thông dịch tương tác như Python shell, IPython và sổ ghi chép Jupyter luôn ở phía trước và trung tâm trong chuỗi công cụ Python. Trong các môi trường tương tác này, bạn có thể viết và thực thi từng dòng mã một cách riêng biệt và xem kết quả (hoặc thông báo lỗi hữu ích) ngay lập tức. Các ngôn ngữ khác cũng có điều này, nhưng trong hầu hết các trường hợp không ở cùng mức độ với Python 5. Có thể được sử dụng cho cả Mã sản xuất và Mã sản xuấtNgoài việc tuyệt vời để tạo nguyên mẫu, Python còn là một ngôn ngữ tuyệt vời và mạnh mẽ cho các ứng dụng sản xuất lớn. Một số công ty phần mềm lớn nhất trên thế giới sử dụng Python rất nhiều trong nhiều ứng dụng và trường hợp sử dụng 6. Đi kèm với “Đã bao gồm pin. ” Thư viện chuẩn PythonMọi thứ cần thiết cho các hoạt động cơ bản đều được tích hợp ngay trong ngôn ngữ, nhưng ngoài ra, thư viện chuẩn Python còn có các công cụ để làm việc với tệp, phương tiện, mạng, thông tin ngày và giờ, v.v. Điều này cho phép bạn hoàn thành nhiều nhiệm vụ khác nhau mà không cần phải tìm kiếm các gói của bên thứ ba 7. Thư viện tuyệt vời của bên thứ ba để phân tích tài chínhĐối với các chuyên gia tài chính, Pandas với các đối tượng DataFrame và Series và Numpy với ndarray của nó là những công cụ phân tích tài chính bằng Python. Kết hợp với matplotlib và các thư viện trực quan khác, bạn có các công cụ tuyệt vời để hỗ trợ năng suất 8. Python miễn phíPython được phát triển theo giấy phép nguồn mở, khiến nó miễn phí cho mục đích thương mại Hướng dẫn từng bước sử dụng Python và tài chính cùng nhauPhần tiếp theo là hướng dẫn từng bước chỉ ra cách tạo phiên bản đơn giản hóa của mô phỏng Monte Carlo được mô tả trong bài đăng trên blog trước đây của tôi, nhưng sử dụng Python thay vì plugin @RISK cho Excel Phương pháp Monte Carlo dựa vào lấy mẫu ngẫu nhiên để thu được kết quả số. Một ứng dụng như vậy là lấy các mẫu ngẫu nhiên từ phân phối xác suất đại diện cho các trạng thái tiềm ẩn không chắc chắn trong tương lai của thế giới nơi các biến hoặc giả định có thể nhận một loạt các giá trị Sẽ rất hữu ích khi thực hiện mô phỏng Monte Carlo trên mô hình định giá DCF đơn giản thay vì các ví dụ phổ biến hơn mà bạn thấy thể hiện việc định giá quyền chọn hoặc các công cụ phái sinh khác, vì đối với điều này, chúng ta không cần bất kỳ phép toán nào ngoài những điều cơ bản về tính toán báo cáo tài chính và . Xin lưu ý rằng mô hình hướng dẫn cơ bản này nhằm minh họa các khái niệm chính và không hữu ích cho bất kỳ mục đích thực tế nào. Tôi cũng sẽ không đề cập đến bất kỳ khía cạnh học thuật nào của mô phỏng Monte Carlo Hướng dẫn giả định rằng bạn đã quen thuộc với các khối lập trình cơ bản, chẳng hạn như biến và hàm. Nếu không, có thể hữu ích nếu bạn dành 10 phút để kiểm tra các khái niệm chính trong phần giới thiệu này chẳng hạn Điểm khởi đầu và kết quả mong muốnTôi bắt đầu với cùng một mô hình định giá DCF rất đơn giản được sử dụng trong hướng dẫn mô phỏng Monte Carlo. Nó có một số mục dòng chính từ ba báo cáo tài chính và ba ô đầu vào được đánh dấu, trong phiên bản Excel có các ước tính điểm mà giờ đây chúng tôi muốn thay thế bằng phân phối xác suất để bắt đầu khám phá các phạm vi kết quả tiềm năng Cách tiếp cận hai bước để phát triển một tập lệnh nhỏ
Mục đích của hướng dẫn này là cung cấp cho các chuyên gia tài chính mới làm quen với Python không chỉ giới thiệu về một chương trình hữu ích có thể trông như thế nào mà còn giới thiệu về quy trình lặp mà bạn có thể sử dụng để phát triển nó. Do đó, nó có hai phần
1. Phát triển một nguyên mẫu làm việcThiết lập Máy tính xách tay JupyterSổ tay Jupyter là một công cụ tuyệt vời để làm việc với Python một cách tương tác. Nó là một trình thông dịch Python tương tác với các ô có thể chứa mã, văn bản Markdown, hình ảnh hoặc dữ liệu khác. Đối với hướng dẫn này, tôi đã sử dụng Nền tảng Python Quant, nhưng tôi cũng có thể đề xuất Colaboratory của Google, miễn phí và chạy trên đám mây. Khi đó, chỉ cần chọn “New Python 3 Notebook” trong menu “File” và bạn đã sẵn sàng để sử dụng Sau khi hoàn thành việc đó, bước tiếp theo là nhập các gói của bên thứ ba mà chúng tôi cần để thao tác và trực quan hóa dữ liệu, đồng thời cho chương trình biết rằng chúng tôi muốn xem các biểu đồ nội tuyến trong sổ ghi chép của mình thay vì trong các cửa sổ riêng biệt
Một lưu ý trước khi chúng tôi bắt đầu đặt tên cho các biến đầu tiên của mình. Như tôi đã nhấn mạnh, khả năng đọc là một trong những thế mạnh của Python. Thiết kế ngôn ngữ đi một chặng đường dài để hỗ trợ điều đó, nhưng mọi người viết mã đều có trách nhiệm làm cho nó dễ đọc và dễ hiểu, không chỉ cho người khác mà còn cho chính họ. Như Luật Eagleson nêu rõ, “Bất kỳ đoạn mã nào của riêng bạn mà bạn chưa xem trong sáu tháng trở lên cũng có thể được viết bởi người khác. ” Một nguyên tắc nhỏ là đặt tên cho các thành phần của chương trình của bạn theo cách mà bạn giảm thiểu nhu cầu nhận xét riêng giải thích chương trình của bạn làm gì Với ý nghĩ đó, hãy tiếp tục Lập báo cáo tài chínhCó nhiều cách để chúng ta có thể làm việc với dữ liệu bảng tính hiện có trong Python. Ví dụ: chúng ta có thể đọc một trang tính vào Khung dữ liệu Pandas bằng một dòng mã bằng cách sử dụng lệnh 2. Nếu bạn muốn tích hợp chặt chẽ hơn và liên kết theo thời gian thực giữa bảng tính và mã Python, thì có cả tùy chọn thương mại và miễn phí để cung cấp chức năng đóVì mô hình ở đây rất đơn giản và để tập trung vào các khái niệm Python, chúng tôi sẽ tạo lại nó từ đầu trong tập lệnh của mình. Ở cuối phần đầu tiên, tôi sẽ chỉ cho bạn cách xuất những gì chúng ta đã tạo sang bảng tính Là bước đầu tiên hướng tới việc tạo biểu diễn Python của báo cáo tài chính, chúng tôi sẽ cần một cấu trúc dữ liệu phù hợp. Có rất nhiều thứ để lựa chọn, một số được tích hợp trong Python, một số khác từ các thư viện khác nhau hoặc chúng ta có thể tạo của riêng mình. Hiện tại, hãy sử dụng một Sê-ri từ thư viện Pandas để xem chức năng của nó
Đầu vào này và đầu ra tương ứng của nó được hiển thị bên dưới Với ba dòng đầu tiên, chúng tôi đã tạo cấu trúc dữ liệu với chỉ mục bao gồm các năm (mỗi dòng được đánh dấu để hiển thị nếu đó là Thực tế, Ngân sách hoặc Dự kiến), giá trị ban đầu (tính bằng triệu euro, như trong mô hình DCF ban đầu) và . Dòng thứ tư in một biểu diễn của dữ liệu - nói chung, nhập tên của một biến hoặc các đối tượng khác trong trình thông dịch tương tác thường sẽ cung cấp cho bạn một biểu diễn hợp lý về nó Tiếp theo, chúng tôi khai báo một biến để đại diện cho mức tăng trưởng doanh thu hàng năm dự kiến. Ở giai đoạn này, nó là một ước tính điểm, con số tương tự như trong mô hình DCF ban đầu của chúng tôi. Trước tiên, chúng tôi muốn sử dụng các đầu vào giống nhau đó và xác nhận rằng phiên bản Python của chúng tôi hoạt động giống nhau và cho kết quả giống như phiên bản Excel, trước khi xem xét thay thế các ước tính điểm bằng phân phối xác suất. Sử dụng biến này, chúng tôi tạo một vòng lặp tính toán doanh số bán hàng trong mỗi năm của các dự đoán dựa trên năm trước và tốc độ tăng trưởng
Bây giờ chúng tôi có doanh số bán hàng dự kiến, thay vì NaN Sử dụng phương pháp tương tự, chúng tôi tiếp tục thông qua các báo cáo tài chính, khai báo các biến khi chúng tôi cần và thực hiện các tính toán cần thiết để cuối cùng đạt được dòng tiền tự do. Khi chúng tôi đến đó, chúng tôi có thể kiểm tra xem những gì chúng tôi có tương ứng với những gì phiên bản Excel của mô hình DCF nói
Điều này mang lại cho chúng ta dòng tiền tự do Một dòng ở trên có lẽ cần bình luận ở giai đoạn này là tài liệu tham khảo thứ hai của 3. Ở đây, chúng tôi áp dụng một chức năng nhỏ để đảm bảo rằng trong các trường hợp lợi nhuận trước thuế bị âm, thì chúng tôi sẽ không có khoản thanh toán thuế dương. Điều này cho thấy mức độ hiệu quả mà bạn có thể áp dụng các chức năng tùy chỉnh cho tất cả các ô trong Sê-ri Pandas hoặc DataFrame. Tất nhiên, chức năng thực tế được áp dụng là một sự đơn giản hóa. Một mô hình thực tế hơn cho một bài tập định giá lớn hơn sẽ có một mô hình thuế riêng tính toán thuế tiền mặt thực tế được trả dựa trên một số yếu tố cụ thể của công tyThực hiện Định giá DCFKhi đã đạt được dòng tiền dự kiến, giờ đây chúng ta có thể tính toán giá trị đầu cuối đơn giản và chiết khấu tất cả các dòng tiền về hiện tại để có kết quả DCF. Đoạn mã sau giới thiệu tính năng lập chỉ mục và cắt lát, cho phép chúng tôi truy cập một hoặc nhiều phần tử trong cấu trúc dữ liệu, chẳng hạn như đối tượng Pandas Series Chúng tôi truy cập các phần tử bằng cách viết dấu ngoặc vuông ngay sau tên của cấu trúc. Lập chỉ mục đơn giản truy cập các phần tử theo vị trí của chúng, bắt đầu bằng 0, nghĩa là 4 sẽ cung cấp cho chúng ta phần tử thứ hai. 5 là cách viết tắt để truy cập phần tử cuối cùng (dòng tiền của năm ngoái được sử dụng để tính giá trị cuối cùng) và việc sử dụng dấu hai chấm sẽ cho chúng ta một lát cắt, nghĩa là 6 cung cấp cho chúng ta tất cả các phần tử ngoại trừ phần tử đầu tiên, vì chúng ta không muốn 0Điều đó kết thúc phần đầu tiên của nguyên mẫu của chúng tôi - chúng tôi hiện có một mô hình DCF đang hoạt động, mặc dù là một mô hình rất thô sơ, bằng Python. Xuất dữ liệuTrước khi chuyển sang mô phỏng Monte Carlo thực tế, đây có thể là thời điểm tốt để đề cập đến các khả năng xuất có sẵn trong gói Pandas. Nếu bạn có đối tượng Pandas DataFrame, bạn có thể ghi đối tượng đó vào tệp Excel bằng một dòng bằng phương pháp 8. Cũng có chức năng tương tự để xuất sang hơn chục định dạng và đích khác 2Tạo phân phối xác suất cho mô phỏng Monte Carlo của chúng tôiBây giờ chúng tôi đã sẵn sàng để giải quyết thử thách tiếp theo. để thay thế một số đầu vào ước tính điểm bằng phân phối xác suất. Mặc dù các bước cho đến thời điểm này có vẻ hơi rườm rà so với việc xây dựng cùng một mô hình trong Excel, nhưng một vài dòng tiếp theo sẽ cho bạn một cái nhìn sơ lược về sức mạnh của Python. Bước đầu tiên của chúng tôi là quyết định số lần lặp lại mà chúng tôi muốn chạy trong mô phỏng. Sử dụng 1.000 làm điểm bắt đầu tạo ra sự cân bằng giữa việc có đủ điểm dữ liệu để có được các biểu đồ đầu ra hợp lý, so với việc kết thúc mô phỏng trong một khung thời gian hợp lý. Tiếp theo, chúng tôi tạo ra các bản phân phối thực tế. Để đơn giản, tôi đã tạo ba bản phân phối bình thường ở đây, nhưng thư viện NumPy có một số lượng lớn các bản phân phối để lựa chọn và cũng có những nơi khác để xem, bao gồm cả thư viện chuẩn Python. Sau khi quyết định sử dụng phân phối nào, chúng ta cần chỉ định các tham số cần thiết để mô tả hình dạng của chúng, chẳng hạn như giá trị trung bình và độ lệch chuẩn cũng như số lượng kết quả mong muốn 3Ở đây, bạn có thể lập luận rằng EBITDA không nên là một biến ngẫu nhiên riêng biệt độc lập với doanh số bán hàng mà thay vào đó có tương quan với doanh số bán hàng ở một mức độ nào đó. Tôi đồng ý với điều này và nói thêm rằng nó nên được thúc đẩy bởi sự hiểu biết vững chắc về động lực của cấu trúc chi phí (chi phí biến đổi, bán biến đổi và cố định) và các yếu tố thúc đẩy chi phí chính (một số trong số đó có thể có phân phối xác suất riêng, . Bạn càng có ít dữ liệu để cung cấp thông tin cho lựa chọn phân phối và tham số của mình, thì bạn càng phải dựa vào kết quả của các luồng công việc thẩm định khác nhau, kết hợp với kinh nghiệm, để hình thành quan điểm đồng thuận về các phạm vi tình huống có thể xảy ra. Trong ví dụ này, với các dự báo về dòng tiền, sẽ có một thành phần chủ quan lớn, điều đó có nghĩa là việc trực quan hóa các phân phối xác suất trở nên quan trọng. Tại đây, chúng ta có thể hình dung cơ bản, hiển thị phân phối tăng trưởng doanh số bán hàng, chỉ với hai dòng mã ngắn. Bằng cách này, chúng tôi có thể nhanh chóng xem bất kỳ phân phối nào đối với nhãn cầu phản ánh đúng nhất quan điểm tập thể của nhóm Bây giờ chúng tôi có tất cả các khối xây dựng mà chúng tôi cần để chạy mô phỏng, nhưng chúng không ở định dạng thuận tiện để chạy mô phỏng. Đây là cùng một mã mà chúng tôi đã làm việc cho đến nay nhưng tất cả được tập hợp trong một ô và sắp xếp lại thành một hàm để thuận tiện 4Bây giờ chúng ta có thể chạy toàn bộ mô phỏng và vẽ biểu đồ phân phối đầu ra, đây sẽ là giá trị dòng tiền chiết khấu của công ty này trong mỗi 1.000 lần lặp, với đoạn mã sau. Lệnh 9 không phải là mã Python mà là một cách viết tắt của sổ ghi chép đo thời gian để chạy một thứ gì đó (thay vào đó, bạn có thể sử dụng hàm Python từ thư viện chuẩn). Nó phụ thuộc vào máy tính bạn chạy nó, nhưng phiên bản này cần 1-2 giây để chạy 1.000 lần lặp và hình dung kết quả 62. Tinh chỉnh Nguyên mẫu
Tái cấu trúc đề cập đến quá trình viết lại mã hiện có để cải thiện cấu trúc của nó mà không thay đổi chức năng của nó và đây có thể là một trong những yếu tố thú vị và bổ ích nhất của mã hóa. Có thể có một số lý do để làm điều này. Nó có thể là
Để cho thấy một bước trong quy trình đó có thể trông như thế nào, tôi đã dọn sạch nguyên mẫu mà chúng ta vừa xem qua bằng cách thu thập tất cả các biến ban đầu vào một nơi, thay vì rải rác khắp nơi như trong tập lệnh nguyên mẫu và tối ưu hóa tốc độ thực thi của nó thông qua một quy trình có tên là
Bây giờ nó trông rõ ràng hơn và dễ hiểu hơn 7 0Sự khác biệt chính mà bạn sẽ nhận thấy giữa phiên bản này và phiên bản trước là không có vòng lặp 0. Sử dụng thao tác mảng của NumPy, phiên bản này chạy trong 18 mili giây so với phiên bản 1. 35 giây cho phiên bản nguyên mẫu - nhanh hơn khoảng 75 lần 1Tôi chắc chắn rằng có thể tối ưu hóa hơn nữa vì tôi đã tổng hợp cả phiên bản nguyên mẫu và phiên bản tinh chỉnh trong một thời gian ngắn chỉ cho mục đích của hướng dẫn này. Đưa nó đi xa hơnHướng dẫn này cho thấy một số tính năng mạnh mẽ của Python và nếu bạn muốn phát triển điều này hơn nữa thì cơ hội gần như là vô tận. Bạn có thể ví dụ
Tôi thậm chí còn chưa đề cập đến những gì bạn cũng có thể làm với các ứng dụng web, khoa học dữ liệu và máy học khác nhau đã góp phần vào thành công của Python Tóm tắt. Ngôn ngữ hữu ích cho hộp công cụ tài chính của bạnBài viết này giới thiệu về ngôn ngữ lập trình Python, liệt kê một số lý do khiến nó trở nên phổ biến trong lĩnh vực tài chính và chỉ ra cách xây dựng một tập lệnh Python nhỏ. Trong hướng dẫn từng bước, tôi đã hướng dẫn cách Python có thể được sử dụng để tạo mẫu lặp, phân tích tài chính tương tác và mã ứng dụng cho các mô hình định giá, chương trình giao dịch theo thuật toán, v.v. Đối với tôi, vào cuối ngày, tính năng tuyệt vời của công nghệ Python là nó rất thú vị khi làm việc với. Nếu bạn thích giải quyết vấn đề, xây dựng mọi thứ và làm cho quy trình làm việc hiệu quả hơn, thì tôi khuyến khích bạn dùng thử. Tôi rất thích nghe những gì bạn đã làm với nó hoặc muốn làm gì với nó Tài nguyên được đề xuất cho các chuyên gia tài chính để học Python
Hiểu những điều cơ bảnPython được sử dụng như thế nào trong tài chính?Python chủ yếu được sử dụng để phân tích định lượng và định tính cho các dự đoán và xu hướng giá tài sản. Nó cũng rất phù hợp để tự động hóa quy trình công việc trên các nguồn dữ liệu khác nhau Python được tạo ra khi nào?Python được hình thành vào những năm 1980 và được triển khai lần đầu tiên vào tháng 12 năm 1989 Lập trình Python dùng để làm gì?Python là ngôn ngữ lập trình tổng quát, dễ uốn với các trường hợp sử dụng trên nhiều lĩnh vực. Bằng cách quan tâm đến khía cạnh lập trình của ứng dụng, nó cho phép lập trình viên tập trung vào chức năng tạo ra của họ Thẻ Tài chínhPhân tích dữ liệuMô hình hóaNgười làm việc tự do? Tìm công việc tiếp theo của bạn. Công việc tự do từ xa Xem thông tin đầy đủ Stefan Thelin Chuyên gia tài chính Thông tin về các Tác giả Là một chủ ngân hàng đầu tư, giám đốc tài chính khởi nghiệp, nhà tư vấn gây quỹ và giám đốc M&A của công ty, Stefan đã xây dựng các mô hình tài chính và tiến hành thẩm định và phân tích cho các dự án từ gây quỹ khởi nghiệp trị giá 6 triệu euro đến LBO trị giá 7 tỷ euro. Công việc tự do không thường xuyên cho phép anh ấy giải quyết những thách thức tài chính thú vị trong các lĩnh vực nằm ngoài phạm vi công việc toàn thời gian của mình với tư cách là giám đốc M&A Thuê Stefan Bình luậnNgõ Sharman tôi yêu cái này. Đây là vấn đề. Sau khi bạn hoàn thành một dự án tuyệt vời bằng Python, dự án khác sẽ xuất hiện và sau đó là dự án khác. Bạn còn lại ba cơ sở mã để hỗ trợ. ?. Các ngôn ngữ hiện đại và hướng đối tượng mạnh mẽ như Java cho phép bạn tạo các bản tóm tắt và giao diện được sử dụng lại trên các ứng dụng khác nhau và đang phát triển. Ngoài ra, có rất nhiều hàng nhập khẩu đã được chứng minh có sẵn với tài liệu tuyệt vời. Java thực thi các giao diện mạnh tách biệt việc triển khai khỏi giao diện thư viện (nghĩ rằng JDBC). Đối với tự động hóa quy mô nhỏ, Python thật tuyệt vời. Hãy suy nghĩ về nơi bạn sẽ đến khi chọn một ngôn ngữ lập trình hiện đại. Trăn, nhỏ. Java, lớn Ngõ Sharman tôi yêu cái này. Đây là vấn đề. Sau khi bạn hoàn thành một dự án tuyệt vời bằng Python, dự án khác sẽ xuất hiện và sau đó là dự án khác. Bạn còn lại ba cơ sở mã để hỗ trợ. ?. Các ngôn ngữ hiện đại và hướng đối tượng mạnh mẽ như Java cho phép bạn tạo các bản tóm tắt và giao diện được sử dụng lại trên các ứng dụng khác nhau và đang phát triển. Ngoài ra, có rất nhiều hàng nhập khẩu đã được chứng minh có sẵn với tài liệu tuyệt vời. Java thực thi các giao diện mạnh tách biệt việc triển khai khỏi giao diện thư viện (nghĩ rằng JDBC). Đối với tự động hóa quy mô nhỏ, Python thật tuyệt vời. Hãy suy nghĩ về nơi bạn sẽ đến khi chọn một ngôn ngữ lập trình hiện đại. Trăn, nhỏ. Java, lớn Illahi Bux Cảm ơn Stefan, bạn đã giải thích rõ ràng với các bài đánh giá toàn diện về Python. Illahi Bux Cảm ơn Stefan, bạn đã giải thích rõ ràng với các bài đánh giá toàn diện về Python. Ramshah Akbar bố trí tốt Ramshah Akbar bố trí tốt Youssouf Traore quan điểm tuyệt vời. Cảm ơn Youssouf Traore quan điểm tuyệt vời. Cảm ơn Stefan Josefsson chào ngõ. Cảm ơn đã dành thời gian để đọc và bình luận. Tôi rất vui vì bạn thích nó. Tôi đồng ý rằng việc chọn ngôn ngữ lập trình nào để học hoặc sử dụng cho một dự án cụ thể là một cam kết lớn. Sự lựa chọn cuối cùng dẫn đến một số sự đánh đổi, mà tôi đã không đi sâu vào bài báo. Cảm ơn vì đã chỉ ra điều đó và cảm ơn vì đã làm nổi bật một số điểm mạnh của Java. Tôi nghĩ Python cũng có nhiều điểm mạnh cho các dự án lớn hơn, nhưng cả điều đó và cuộc thảo luận rộng hơn về các mô hình lập trình đều nằm ngoài phạm vi những gì tôi dự định đạt được với bài viết này. Tôi hy vọng rằng nó có thể là phần giới thiệu hữu ích về lập trình cho các chuyên gia tài chính và tôi rất vui vì nó cũng khơi dậy một số suy nghĩ khác Stefan Josefsson chào ngõ. Cảm ơn đã dành thời gian để đọc và bình luận. Tôi rất vui vì bạn thích nó. Tôi đồng ý rằng việc chọn ngôn ngữ lập trình nào để học hoặc sử dụng cho một dự án cụ thể là một cam kết lớn. Sự lựa chọn cuối cùng dẫn đến một số sự đánh đổi, mà tôi đã không đi sâu vào bài báo. Cảm ơn vì đã chỉ ra điều đó và cảm ơn vì đã làm nổi bật một số điểm mạnh của Java. Tôi nghĩ Python cũng có nhiều điểm mạnh cho các dự án lớn hơn, nhưng cả điều đó và cuộc thảo luận rộng hơn về các mô hình lập trình đều nằm ngoài phạm vi những gì tôi dự định đạt được với bài viết này. Tôi hy vọng rằng nó có thể là phần giới thiệu hữu ích về lập trình cho các chuyên gia tài chính và tôi rất vui vì nó cũng khơi dậy một số suy nghĩ khác Jose Aquino Ý kiến đơn giản của tôi sau nhiều dự án thực tế. Java đắt, khó học và mã lớn, quá lớn. Python rẻ, miễn phí, nhẹ, dễ học. Vì vậy, để thao tác dữ liệu Python là lựa chọn của tôi. Bài báo tuyệt vời Stefan Jose Aquino Ý kiến đơn giản của tôi sau nhiều dự án thực tế. Java đắt, khó học và mã lớn, quá lớn. Python rẻ, miễn phí, nhẹ, dễ học. Vì vậy, để thao tác dữ liệu Python là lựa chọn của tôi. Bài báo tuyệt vời Stefan preeti mishra Best python Training Institute inn Bangalore. https://riainstitutebangalore.com/ Khoa NA Cảm ơn, Stephan. Rất khuyến khích bước vào thế giới lập trình. Tôi có một số nền tảng về đầu tư nhưng không có nền tảng về lập trình => học nó để quay trở lại thế giới đầu tư mà tôi khao khát nhất cho sự nghiệp của mình Pavel Šumichrast Bài viết hoàn hảo, cảm ơn bạn và chúc bạn thành công Ruben Dario Carvajal Herrera Cảm ơn, xuất sắc Indranil Dasgupta Bài viết hoàn toàn xuất sắc. Ngay cả đối với mô hình DCF nhỏ hơn, với tư cách là người mới bắt đầu, tôi thấy việc tiếp cận chủ đề theo cách có cấu trúc và dễ đọc hơn sẽ dễ dàng hơn. Các ví dụ trong bài viết này từ một chuyên gia tài chính rất hữu ích trong việc giải thích cho mọi người về lợi ích của việc chuyển sang python Python có tốt cho phân tích tài chính không?Python hiện đang trở thành ngôn ngữ lập trình số 1 cho khoa học dữ liệu. Do tính đơn giản và khả năng đọc cao của python, nên nó ngày càng trở nên quan trọng trong ngành tài chính . Khóa học kết hợp cả mã hóa python và các khái niệm thống kê và áp dụng vào việc phân tích dữ liệu tài chính, chẳng hạn như dữ liệu chứng khoán.
Python có hữu ích hơn Excel không?Nó có thể dễ dàng thay thế các tác vụ thông thường bằng tự động hóa. Python cũng mang lại hiệu quả và khả năng mở rộng cao hơn . Nó nhanh hơn Excel cho các đường dẫn dữ liệu, tự động hóa và tính toán các phương trình và thuật toán phức tạp.
Khi nào tôi nên sử dụng Python thay vì Excel?Khi nói đến việc mở rộng quy mô và làm việc với nhiều tập dữ liệu lớn hơn , Python có một số lợi thế nghiêm trọng không thể bỏ qua. Excel chỉ có thể xử lý rất nhiều dữ liệu và bạn càng có nhiều dữ liệu và tab trong sổ làm việc của mình thì càng khó quản lý và tệp sẽ càng chậm.
Tài chính có cần Python không?Học lập trình tài chính với Python đang trở thành một yêu cầu . Tài chính ngân hàng nổi tiếng với mức lương rất cao nên lĩnh vực việc làm thu hút một lượng lớn ứng viên. Nếu bạn là một trong số họ, bạn nên biết Python cực kỳ phổ biến trong tài chính — và vẫn đang ngày càng phổ biến. |