Trăn xirr
Trả về Tỷ lệ hoàn trả nội bộ cho một lịch biểu các dòng tiền không nhất thiết phải là định kỳ. Để tính toán Tỷ lệ hoàn trả nội bộ cho một loạt các dòng tiền định kỳ, hãy sử dụng hàm IRR cú phápXIRR(giá trị, ngày, [đoán]) Cú pháp của hàm XIRR có các đối số sau đây
Chú thích
Ví dụSao chép ví dụ dữ liệu trong bảng sau đây và dán vào ô A1 của bảng tính Excel mới. Để công thức hiển thị kết quả, hãy chọn chúng, nhấn F2 và sau đó nhấn Enter. Nếu cần, bạn có thể điều chỉnh độ rộng của cột để xem tất cả dữ liệu Đầu tiên, hãy tạm dừng. Lộ trình được đề xuất số 1 ở đây là tạo một thủ tục được lưu trữ để tính toán XIRR. Tại sao? . nó chỉ dễ quản lý hơn rất nhiều. Thế giới của Python + Tableau (TabPy) rất thú vị nhưng phần lớn không được Tableau hỗ trợ. Tuy nhiên, có một số tình huống trong đó nó có thể có ý nghĩa
Được rồi, tôi đã cảnh báo bạn và rõ ràng bạn đã phớt lờ những cảnh báo của tôi (hoặc có thể bạn đã bị phân tâm bởi ảnh GIF Jeff Goldblum đó). Nếu bạn đã làm được đến đây và hiện đang thắc mắc TabPy là gì hoặc XIRR là gì, tôi sẽ chỉ cho bạn hướng tổng quan về TabPy và wiki IRR tuyệt vời này Nếu bạn đang tìm kiếm một phép tính IRR đơn giản, thì có một phương pháp rất dễ dàng trong thư viện NumPy của Python Cấu trúc dữ liệuĐược rồi, cẩn thận đi. Làm thôi nào. Bạn có tập dữ liệu của mình và bạn đã thiết lập máy chủ TabPy của mình. Đối với ví dụ này, chúng tôi sẽ cố gắng hết sức để tạo lại hàm XIRR() của Excel, vì nó cung cấp cho chúng tôi thứ gì đó để kiểm tra. Bạn có thể thấy cách chúng tôi có bộ dữ liệu mẫu của chúng tôi (được tìm thấy ở cuối bài đăng này) được cấu trúc trong hình ảnh bên dưới. Tiền gửi, Phân phối và Giá trị tài sản ròng đều nằm trong cùng một cột. Điều này cho phép chúng tôi thao tác dữ liệu dễ dàng hơn nếu chúng ở trong các cột khác nhau Ghi chú. Nói chung, có thể tính toán XIRR() với cấu trúc dữ liệu khác, nhưng vì có quá nhiều biến thể nên bài đăng trên blog này chỉ dựa vào tập dữ liệu cột tiêu chuẩn Từ đó, chúng tôi có thể thấy rằng chúng tôi có ba quỹ, tất cả đều yêu cầu cùng một khoản tiền gửi. Chúng ta cũng có thể thấy rằng từ 125.000 đến 133.000 đô la đã được thanh toán và 702.000 đến 709.000 đô la là giá trị hiện có. Không tệ. Chúng tôi đã đầu tư 750.000 đô la vào ba vòng trong ba năm qua và hiện chỉ còn hơn 100.000 đô la từ mỗi quỹ Mức độ chi tiếtBây giờ chúng tôi đã có ý tưởng về nơi tiền của chúng tôi bắt đầu và kết thúc, chúng tôi muốn biết làm thế nào chúng tôi có được ở đây. Tỷ lệ hoàn vốn nội bộ của chúng tôi là gì? . Do đó, chúng tôi cần thêm Ngày vào Hàng của mình và xóa Loại vì chúng tôi muốn gửi tất cả các dòng tiền cùng một lúc vào phép tính Python của mình Tính toán XIRRBây giờ mức độ chi tiết của chúng tôi là chính xác, chúng tôi có thể tính toán thành công XIRR. Đây là nơi phép tính Python xuất hiện. Bạn có thể tải xuống tệp Python ở cuối bài đăng này để dán vào trường tính toán của bạn. Nhưng trước khi chúng ta đến đó, tôi muốn làm nổi bật các chức năng đang được sử dụng ở đây
Hai chức năng đầu tiên ở đây là các chức năng trợ giúp để truy cập XIRR(). Nếu bạn muốn tìm hiểu thêm về phép tính đi vào các hàm này, có các tài liệu tham khảo ở cuối trang này, cũng như nội tuyến trong mã Để giải thích ngắn gọn phép tính xirr(). sau khi thực hiện một số kiểm tra để đảm bảo các khoản thanh toán và ngày đáp ứng các tiêu chí của chúng tôi, chúng tôi lấy tỷ lệ chiết khấu bằng cách sử dụng eir_func(), sau đó tìm công cụ phái sinh bằng cách sử dụng eir_derivative_func(). Cuối cùng, chúng tôi trả về kết quả của Phương pháp Newton để cung cấp cho chúng tôi XIRR Một điều nữa cần lưu ý là dữ liệu của bạn có thể không được định hình như trên và có thể cần định hình lại. Một ví dụ trong mã này là nhu cầu định dạng lại ngày tháng. Chúng xuất hiện trong Python dưới dạng Unicode và điều đó gây ra một số lỗi với các hàm được đề cập ở trên. Bạn có thể cần tạo các hàm trợ giúp, tương tự như multi_format date_parse(), để đưa dữ liệu của bạn về đúng hình dạng hoặc định dạng, đặc biệt nếu dữ liệu của bạn không vừa khít trong hai cột Bây giờ bạn đã biết về sự phức tạp ở đây, hãy làm phần đơn giản nhất. Sao chép và dán mã của bạn vào một trường được tính toán và thả nó vào viz của bạn Logic tính bảngBây giờ chúng ta đã có XIRR, phải không? . Chúng tôi cần đảm bảo rằng phép tính TabPy của chúng tôi đang giải quyết đúng phân vùng (điều này cũng giống như việc đảm bảo các phép tính Bảng của chúng tôi đang sử dụng tính toán chính xác bằng cách sử dụng). Bạn có thể gặp phải một số sự cố khi cố gắng tính toán phù hợp bằng cách sử dụng. Tuy nhiên, vấn đề này đăng trên GitHub đã giúp tôi đi đúng hướng. Trong trường hợp này, chúng tôi cần điều chỉnh phép tính Python của mình để giải quyết Ngày và Tên quỹ và khởi động lại mọi Tên quỹ Bây giờ cho bước cuối cùng. Chúng tôi cần để lại tất cả các ngày trên viz, nhưng chúng tôi chỉ có thể ẩn chúng bằng phép tính bảng LAST() và đặt nó thành 0. Thuận tiện, đây cũng là giá trị NAV của chúng tôi Và cuối cùng, sau một số phép thuật ở mức độ chi tiết hơn, chúng ta có thể có một báo cáo tài chính được định dạng rõ ràng cho thấy hiệu suất của tất cả các tài khoản của chúng ta Có thể câu trích dẫn “Công viên kỷ Jura” đó đang văng vẳng bên tai bạn, hoặc có thể bạn đã sẵn sàng tiếp nhận điều này. Dù bằng cách nào, có rất nhiều tính linh hoạt và tùy chỉnh có sẵn với TabPy của Tableau. Nếu không có gì khác, nó sẽ tạo ra một dự án phụ thực sự thú vị để tìm hiểu Python tốt hơn một chút. Mã hóa vui vẻ Để tìm tài liệu tham khảo cho phép tính đằng sau eir_derivative_func(), eir_func(), hãy tham khảo các liên kết bên dưới |