2010-06-24 74 views
5

我正在尋找一個Python插件,它將使用FIFO方法計算多個股票交易的已實現P & L.如何使用Python中的FIFO方法計算股票交易已實現的損益?

例如,假設我們有以下三個MSFT行業:

+75 MSFT 25.10
+50 MSFT 25.12
-100 MSFT 25.22

100股的25.22賣盤將充分網針對75在25.10和針對50買入部分淨買入在25.12即

實現P & L = 75 *(25.22 - 25.10)+ 25 *(25.22 - 25.12)= $ 11.50

的突出位置是:

+25 MSFT 25.12

+0

沒有找你爲我編碼 - 而是,我正在尋找一個圖書館,處理交易的交易和會計方面。 – 2010-06-24 17:47:57

回答

4

沒有Python,但在R項目blotter ---這是大TradeAnalytics項目的一部分/核心上R-Forge做到了這一點。

我最近需要C++中的一部分功能,並使用blotter代碼來基準/指導我的端口爲C++。 (這是工作,所以沒有公開的C++,對不起),

+0

rpy http://rpy.sourceforge.net/和rpy2 http://rpy.sourceforge.net/rpy2.html python插件讓你可以從python內部調用R代碼。他們使用起來很痛苦,但是如果你知道R,你可以很容易地讓他們工作。但是在這種情況下使用它們可能是矯枉過正的。 – Wilduck 2010-06-24 21:41:21

+0

對於上面的例子,吸墨紙將賦予Period.Realized.PL' $ 11.2和'Period.Unrealized.PL' $ 1.3。它與fifo不一樣。吸墨紙使用'TxnQty * ConMult *(PrevPosAvgCost-TxnAvgCost)'來計算'Period.Realized.PL' – 2016-03-01 07:07:40

4

這應該很容易在Python中編寫自己。 「FIFO」是「先進先出隊列」的簡稱。購買被添加到隊列的後面。將munch購買(或其中的一部分)從隊列的前面買走。

Python's collection.deque(雙端隊列)是你需要的力學。

+0

嘿約翰,你可能想要修改你的答案來解釋空頭頭寸。 – 2014-03-20 23:36:13