Как рассчитать реализованный P & L сделок с акциями, используя метод FIFO в Python? - PullRequest
5 голосов
/ 24 июня 2010

Я ищу плагин Python, который вычислял бы реализованный P & L для ряда сделок с акциями, используя метод 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

Ответы [ 2 ]

4 голосов
/ 25 июня 2010

Это должно быть легко написать себе на Python. «FIFO» - сокращение от «первый пришел, первый вышел очередь ». Покупки добавляются в конец очереди. Продает мунк покупает (или их части) с начала очереди.

Python's collection.deque (двусторонняя очередь) - это то, что вам нужно для механики.

4 голосов
/ 24 июня 2010

Нет Python, но R проект blotter --- который является частью / ядром более крупного TradeAnalytics проекта на R-Forge делает именно это.

Недавно мне потребовалось подмножество функциональных возможностей в C ++, и я использовал код blotter , чтобы сравнить / направить мой порт к C ++. (Это было на работе, поэтому нет общедоступного C ++, извините.)

...