PNL

具有 FIFO 和 LIFO 的 PnL

  • April 20, 2020

我有以下交易:

Sequence Side Quantity @ Price
1.       Buy    12     @ 100
2.       Buy    17     @ 99
3.       Buy    3      @ 103
4.       Sell   9      @ 101
5.       Sell   4      @ 105

with sold quantity = 9+4 = 13
and current position size = (12+17+3)-13 = 19
and markPrice = 99

我想計算netPnL,realizedPnlunrealizedPnl使用最精確的估值類型。我只知道 3種估值類型:FIFO、LIFO、WAC。我沒有選擇WAC,因為它不夠精確。所以我想選擇先進先出或後進先出。這裡的計算:

先進先出:

realizedPnL = (9*101 + 4*105) - (12*100 + 1*99) = +30
unrealizedPnL = 19*99 - (16*99 + 3*103) = -12
netPnL = 30 + (-12) = 18

後進先出:

realizedPnL = (9*101 + 4*105) - (3*103 + 10*100) = +20
unrealizedPnL = 19*99 - (7*99 + 12*100) = -12
netPnL = 20 + (-12) = 8

現在我的問題:

  1. 計算是否正確?我認為無論估值類型netPnl如何,都必須始終相同。但這裡不是這種情況。為什麼?
  2. 哪個更精確?先進先出還是後進先出?我應該使用哪個?
  3. 還有比先進先出或後進先出更精確的估值類型嗎?我需要最準確的估值類型

編輯:

錯誤在 LIFO 計算範圍內:

代替

realizedPnL = (9*101 + 4*105) - (3*103 + 10*100) = +20

必須使用:

realized PnL = (9*101 + 4*105) - (3*103 + 10*99) = +30

你是對的,這兩種方法的總損益(或者你稱之為淨損益)必須相同,所以出了點問題。此外,一個奇怪的巧合是,實現的損益雖然不同(9,21 對 6,24),但在最後(30)加起來是相同的數量,這通常不會發生。

這是我的計算

First let's use FIFO:
=====================

After the three buys we have the following Lot Table:
Lot Shrs Price Extensn
 1   12   100    1200
 2   17    99    1683
 3    3   103     309
     --          ----      
 Tot 32 at cost  3192

Sell 9 at 101
take 9 from lot 1
realized P&L on this trade = 9(101-100) = 9
Updated lot table:
Lot Shrs Price Extensn
 1    3   100     300
 2   17    99    1683
 3    3   103     309
     --          ----
total 23 at cost  2292

Sell 4 at 105
take 3 from lot 1 and 1 from lot 2
realized P&L on this trade = 3(105-100)+1(105-99)= 21
Updated lot table:
Lot Shrs Price Extensn
 1    0   100       0
 2   16    99    1584
 3    3   103     309
     --          ----
total 19 at cost  1893

mark to market of final holdings
value =19*99 = 1881
cost of final holdings = 0*100+16*99+3*103 = 1893
unrealized P&L = 1881-1893 = -12
cumulative realized P&L = 9+21=30
total P&L = 30-12 = 18

Now let's do it again using LIFO this time:
===========================================

After the three buys we have the following Lot Table:
Lot Shrs Price Extensn
 1   12   100    1200
 2   17    99    1683
 3    3   103     309
     --          ----      
 Tot 32 at cost  3192

Sell 9 at 101
take 3 from lot 3 and 6 from lot 2
realized P&L on this trade = 3(101-103)+6(101-99) = 6
Updated lot table:
Lot Shrs Price Extensn
 1   12   100    1200
 2   11    99    1089
 3    0   103       0
     --          ----
total 23 at cost  2289

Sell 4 at 105
take 4 from lot 2
realized P&L on this trade = 4(105-99) = 24
Updated lot table:
Lot Shrs Price Extensn
 1   12   100    1200
 2    7    99     693
 3    0   103       0
     --          ----
total 19 at cost  1893 /*by coincidence we again have 1893, unusual */

mark to market of final holdings
value =19*99 = 1881
cost of final holdings = 12*100+7*99+0*103 = 1893
unrealized P&L = 1881-1893 = -12
cumulative realized P&L = 6+24 = 30
total P&L = 30-12 = 18

現在回答你的問題:

  1. 兩種方法的淨損益(已實現+未實現)必須相同,實際上對於所有三種方法。只有已實現和未實現的區別可能不同。
  2. FIFO 和 LIFO 都不是“更精確”的。在期貨交易中我們一般使用先進先出。一位會計師曾經告訴我,CFTC 要求期貨交易賬戶使用 FIFO,但坦率地說,我從未遇到過明確規定這一點的法律或法規,我也從未研究過。
  3. 如前所述,我認為沒有一種方法更精確,但行業標准或法規可能需要或建議一種方法。

引用自:https://quant.stackexchange.com/questions/53415