2010-06-24 23 views
5

Tôi đang tìm một plugin Python có thể tính P & L cho một số giao dịch cổ phiếu bằng phương thức FIFO.Làm thế nào để tính toán P & L được thực hiện của các giao dịch chứng khoán bằng cách sử dụng phương thức FIFO trong Python?

Ví dụ, giả sử chúng ta có ba ngành nghề MSFT sau:

75 MSFT 25.10
50 MSFT 25,12
-100 MSFT 25,22

Các bán 100 cổ phiếu với 25,22 sẽ hoàn toàn ròng so với đồng mua 75 tại 25.10 và phần ròng so với đồng mua 50 tại 25,12 tức là

Nhận ra P & L = 75 * (25,22-25,10) + 25 * (25,22-25,12) = $ 11.50

Vị trí nổi bật sẽ là:

+25 MSFT 25,12

+0

không tìm kiếm bạn để mã cho tôi - thay vào đó, tôi đang tìm thư viện xử lý khía cạnh giao dịch và kế toán của giao dịch. –

Trả lời

4

Không Python, nhưng dự án Rblotter --- đó là một phần/cốt lõi của dự án lớn hơn TradeAnalytics trên R-Forge hiện điều đó.

Gần đây tôi cần một tập con của chức năng trong C++ và sử dụng mã blotter để đo điểm chuẩn/hướng dẫn cổng của tôi tới C++. (Đó là tại nơi làm việc, vì vậy không có C++ công khai nào từ đó, xin lỗi.)

+0

Các phần mềm gián điệp http://rpy.sourceforge.net/ và rpy2 http://rpy.sourceforge.net/rpy2.html bổ sung cho python cho phép bạn gọi mã R từ bên trong python. Chúng là một nỗi đau để sử dụng, nhưng bạn có thể làm cho chúng hoạt động khá dễ dàng nếu bạn biết R. Nó có lẽ quá mức cần thiết để sử dụng chúng trong tình huống này. – Wilduck

+0

blotter sẽ cung cấp 'Period.Realized.PL' là $ 11.2 và' Period.Unrealized.PL' với $ 1.3 cho ví dụ trên. nó không giống như nămo. blotter sử dụng 'TxnQty * ConMult * (PrevPosAvgCost - TxnAvgCost)' để tính 'Period.Realized.PL' –

4

Điều này sẽ dễ dàng để tự viết bằng Python. "FIFO" viết tắt của "đầu tiên trong, trước tiên ra hàng đợi". Mua được thêm vào mặt sau của hàng đợi. Bán mua munch (hoặc một phần của chúng) ra khỏi hàng đợi.

Python's collection.deque (hàng đợi có hai hàng) là những gì bạn cần cho cơ học.

+0

Hey John, bạn có thể muốn sửa đổi câu trả lời của bạn để giải thích cho các vị trí ngắn. –

Các vấn đề liên quan