Как вычислить реализованный P&L отраслей запаса с помощью метода FIFO в Python?

Я ищу плагин 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

5
задан Nikola Miles 24 June 2010 в 17:38
поделиться

2 ответа

Это должно быть легко написать самому на Python. "FIFO" - это сокращение от "first in, first out queue". Покупки добавляются в конец очереди. Продажи убирают покупки (или их части) из передней части очереди.

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

4
ответ дан 14 December 2019 в 04:30
поделиться

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

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

.
4
ответ дан 14 December 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: