2010-06-24 5 views
5

Sto cercando un plug-in Python che calcoli il P & L realizzato per un numero di transazioni stock utilizzando il metodo FIFO.Come si calcola il conto economico di compravendite di azioni utilizzando il metodo FIFO in Python?

Per esempio, supponiamo di avere le seguenti tre mestieri MSFT:

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

la vendita di 100 azioni a 25.22 farebbe completamente netta contro l'acquisto di 75 a 25,10 e parzialmente netto contro l'acquisto di 50 a 25.12 cioè

realizzati P & L = 75 * (25.22 - 25,10) + 25 * (25,22 - 25,12) = $ 11,50

La posizione eccezionale sarebbe:

+25 MSFT 25.12

+0

non sto cercando di codificarlo per me - piuttosto, sto cercando una libreria che gestisce l'aspetto transazionale e contabile del trading. –

risposta

4

No Python, ma il progetto di Rblotter --- che fa parte/core del più ampio progetto TradeAnalytics su R-Forge fa proprio questo.

Recentemente ho avuto bisogno di un sottoinsieme delle funzionalità in C++ e ho utilizzato il codice blotter per eseguire il benchmark/guida della mia porta su C++. (Era al lavoro, quindi nessun C++ pubblico da quello, mi dispiace.)

+0

I plugin rpy http://rpy.sourceforge.net/ e rpy2 http://rpy.sourceforge.net/rpy2.html in python consentono di chiamare il codice R all'interno di python. Sono piuttosto dolorosi da usare, ma puoi farli funzionare abbastanza facilmente se conosci R. Probabilmente è eccessivo usare questi strumenti in questa situazione. – Wilduck

+0

blotter darà 'Period.Realized.PL' di $ 11,2 e' Period.Unrealized.PL' di $ 1,3 per l'esempio sopra. non è lo stesso di fifo. blotter usa 'TxnQty * ConMult * (PrevPosAvgCost - TxnAvgCost)' per calcolare 'Period.Realized.PL' –

4

Questo dovrebbe essere facile da scrivere in Python. "FIFO" è l'abbreviazione di "first in, first out queue". Gli acquisti vengono aggiunti sul retro della coda. Vende acquisti di munch (o parti di essi) fuori dalla coda della coda.

Python's collection.deque (coda a doppio attacco) è ciò che serve per i meccanici.

+0

Ehi John, potresti voler modificare la tua risposta al conto per le posizioni corte. –

Problemi correlati