Excel so với Python cho tài chính

Chuyên gia tính toán, định lượng và các chuyên gia tài chính toán học khác sử dụng Excel rất nhiều. Họ biết rằng sử dụng Excel để lập mô hình phức tạp không phải là một phương pháp hay, nhưng họ vẫn tiếp tục sử dụng nó

Excel tệ vì nó dễ bị lỗi. Các số được nhập thủ công vào các ô nhỏ trong trang tính lớn. Các công thức có dấu ngoặc đơn lồng nhau và tham chiếu đến các ô khác theo địa chỉ, khiến chúng khó hiểu. Sổ làm việc khó so sánh với nhau và không lý tưởng để kiểm soát phiên bản

Bất chấp tất cả những điều đó, các chuyên gia tính toán vẫn trung thành với Excel. Một số cố gắng giới thiệu Python hoặc bất kỳ ngôn ngữ lập trình nào họ thích, nhằm mục đích thay thế Excel bằng nó. Tuy nhiên, trong hầu hết các trường hợp, những sáng kiến ​​như vậy đều thất bại vì người dùng quá yêu thích Excel và không khám phá nhiều, họ nghĩ rằng Python không phù hợp với công việc của họ.

Sự phổ biến của Excel thường được cho là do nó phổ biến và dễ học. Nhưng chúng tôi muốn nghĩ sâu hơn ở đây, vì lý do modelx ra đời là để mang những ưu điểm của Excel vào Python. Điều gì khiến mọi người cảm thấy thoải mái khi sử dụng Excel hơn Python?

Python chạy, Excel ở lại

Một chương trình Python chạy. Nó chạy từ đầu tệp script cho đến cuối tệp. Trước khi nó chạy, nó chỉ là một tệp văn bản. Chương trình chỉ tồn tại trong một khoảng thời gian ngắn khi đang chạy và khi kết thúc, chương trình sẽ biến mất và quay trở lại tệp văn bản

Ngược lại, Excel không chạy. nó thậm chí không có nút "Chạy". Nó vẫn tồn tại. nó tĩnh, theo cách mà nó luôn giữ kết quả của các công thức của bạn

Cái nào giúp bạn an tâm hơn, một thứ phải chạy để tồn tại và thực hiện yêu cầu của bạn, hay một thứ đứng yên và luôn nắm giữ kết quả cho bạn?

Vòng lặp hoặc đệ quy

Làm cách nào để tính giá trị hiện tại của dòng tiền trong Python?

pv = 0
for i in range[10]:
    pv += cashflow[i] / [1 + 0.5]**[i + 1]

Hoặc nếu bạn thiên về Pythonic hơn, thì mã của bạn sẽ giống như

pv = sum[cashflow[i] / [1 + 0.5]**[i + 1] for i in range[10]]

Dù bằng cách nào, cùng một logic được lặp lại và các giá trị trung gian, chẳng hạn như pvi=5 hoặc cashflow[i] / [1 + 0.5]**[i + 1], không được ghi nhớ ở cuối vòng lặp

Bây giờ, hãy xem bạn sẽ làm điều đó như thế nào trong Excel

Như bạn thấy ở bên trái, Excel sử dụng đệ quy thay vì vòng lặp, để lặp lại cùng một công thức, do đó, có sẵn pv cho tất cả các i. Bên phải là một cách khác để lấy giá trị hiện tại. Trong trường hợp này, cashflow[i] / [1 + 0.5]**[i + 1] cho tất cả các i được giữ nguyên. Excel ghi nhớ và trình bày các giá trị trung gian được sử dụng để thu được kết quả cuối cùng. Excel cho phép bạn kiểm tra các giá trị trung gian và theo dõi các phụ thuộc của công thức, điều này cho phép bạn cảm thấy thoải mái hơn với độ chính xác của kết quả

Khớp nối công thức-giá trị

Trong Excel, một công thức và giá trị của nó nằm trong cùng một ô. Chúng luôn đi đôi với nhau. Miễn là Excel ở chế độ tính toán tự động, bạn chắc chắn rằng giá trị luôn được cập nhật và mọi cập nhật về công thức đều được phản ánh

Trong Python, một đoạn mã và kết quả của nó được tách biệt. Trong trường hợp của ví dụ trên, kết quả được lưu trữ trong biến pv. pv và mã của nó, ví dụ,

pv = sum[cashflow[i] / [1 + 0.5]**[i + 1] for i in range[10]]
1, tồn tại riêng biệt. Và ngay cả khi mã được cập nhật, pv vẫn giữ giá trị cũ. Ví dụ: bạn cần cập nhật rõ ràng pv bằng cách chạy lại toàn bộ tập lệnh

Lối ra một lần

Một chương trình python có một điểm vào và một điểm thoát. Python diễn giải một tệp script từ đầu tệp đến cuối. Thông thường, một phần của toàn bộ chương trình không chạy riêng lẻ nếu không có ngữ cảnh

Mặt khác, một tệp Excel không có điểm vào và điểm thoát rõ ràng, bởi vì nó không “chạy”. Vì vậy bạn không cần quan tâm đến thứ tự tính toán. Bạn không cần phải suy nghĩ xem nên đánh giá công thức nào trước công thức nào. Excel giải quyết đơn đặt hàng cho bạn. Nếu thứ tự không hợp lệ, Excel sẽ phát hiện tham chiếu theo chu kỳ

hướng đối tượng

Excel được hướng đối tượng ra khỏi hộp. Bạn thậm chí không nhận thấy rằng mình đang xây dựng một mô hình theo cách hướng đối tượng. Bạn không cần phải tự xác định các lớp và phương thức vì các đối tượng, chẳng hạn như sổ làm việc, trang tính và phạm vi đã được Excel cung cấp sẵn để bạn bắt đầu xác định công thức. Điều này cho phép bạn chia toàn bộ logic thành các công thức nhỏ. Thậm chí không nhận thấy, bạn làm theo cách tốt nhất để chia logic lớn thành các thành phần

Trong Python, bạn có thể sẽ viết hàng trăm dòng mã trong một tệp script mà không xác định bất kỳ lớp hoặc hàm nào. Thật khó để bắt đầu từ việc xác định lớp và chức năng từ đầu trên một tệp văn bản thuần túy nếu không có kinh nghiệm phù hợp. Ngay cả khi bạn có khả năng làm, rất có thể, đồng nghiệp trong nhóm của bạn không

thiết kế người mẫu

modelx được phát minh để giải quyết những vấn đề đó. Các mô hình trong modelx hoạt động giống như sổ làm việc Excel. Mô hình modelx không chạy. Nó ở lại. Nó giữ tất cả các giá trị trung gian để bạn có thể theo dõi các công thức và giá trị. Các công thức và giá trị của chúng được kết hợp. Các mô hình không có điểm vào hoặc điểm kết thúc cụ thể. Các mô hình hướng đối tượng. Bạn không cần phải viết lớp hoặc phương thức. Đây là lý do tại sao câu cửa miệng của modelx là “Sử dụng Python như một bảng tính. ”

Học Excel hay Python tốt hơn?

Excel là một công cụ tuyệt vời dành cho người mới bắt đầu và là một cách nhanh chóng và dễ dàng để phân tích tập dữ liệu. Tuy nhiên, đối với kỷ nguyên hiện đại, với các tập dữ liệu lớn và các phân tích cũng như tự động hóa phức tạp hơn, Python cung cấp các công cụ, kỹ thuật và sức mạnh xử lý mà Excel, trong nhiều trường hợp, còn thiếu.

Python có tốt cho Mô hình hóa tài chính không?

Trong số các ngôn ngữ lập trình phổ biến nhất, bạn sẽ thấy Python trở thành công nghệ được lựa chọn cho ngành Tài chính . Ngành tài chính đang ngày càng áp dụng Python để lập trình mục đích chung và phân tích định lượng, từ tìm hiểu động lực giao dịch đến xây dựng các mô hình học máy tài chính.

Python có thể thay thế Excel không?

Python và Excel không có cùng mục đích . việc sử dụng nó không giới hạn trong việc quản lý dữ liệu; . Rõ ràng là cần phải học cách viết mã để sử dụng Python.

Excel có khó hơn Python không?

Python là mạnh mẽ . Tính toán nhanh hơn và các công thức có thể phức tạp và cụ thể hơn so với VBA của Excel

Chủ Đề