How to calculate realized P&L of stock trades using the FIFO method?

Nikola Miles picture Nikola Miles · Jun 24, 2010 · Viewed 9.3k times · Source

I'm looking for a Python plugin that would calculate the realized P&L for a number of stock transactions using the FIFO method.

For example, assume we have the following three MSFT trades:

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

The sell of 100 shares at 25.22 would fully net against the buy of 75 at 25.10 and partially net against the buy of 50 at 25.12 i.e.

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

The outstanding position would be:

+25 MSFT 25.12

Answer

Dirk Eddelbuettel picture Dirk Eddelbuettel · Jun 24, 2010

No Python, but the R project blotter --- which is part / core of the larger TradeAnalytics project on R-Forge does just that.

I recently needed a subset of the functionality in C++ and used the blotter code to benchmark / guide my port to C++. (That was at work, so no public C++ from that, sorry.)