You can find your historical PnL at ftx.com/pnl.
- There are many ways to calculate PnL, and different people have different preferences. FTX chose one of these ways to calculate it, but you might prefer a different one. If so, feel free to ignore the PnL page.
- The PnL page does not impact anything, what matters are your balances and positions. If the PnL does not line up with your calculations but the balances and positions do, you are probably just using a different PnL metric than FTX. That's fine!
- Because the PnL page has no impact and different users have different preferences for how to calculate it, FTX will not provide support on reconciling the PnL page with your records. Instead FTX will support on ensuring that your balances and positions are correct; those are what matter.
- Some of these examples ignore fees and funding rates, but those will also contribute to PnL.
The Central Question of PnL
Take the following scenarios:
- A user deposits 1 BTC when it's trading at $9,000, waits until BTC is trading at $10,000, and then withdraws the BTC. The user never does any trades.
- A user deposits $9,000, buys 1 BTC with it, waits until BTC is trading at $10,000, sells the BTC for $10,000, and withdraws the $10,000.
- A user deposits 1 BTC, sells it for $9,000, withdraws the $9,000--leaving their account empty. Then, later, BTC increases in price to $10,000.
In #2, it's pretty clear the user has +$1,000 of PnL. It's tempting to say that they have 0 PnL in case #1, because they never did any trades--basically ignoring deposits and withdrawals and just looking at the PnL associated with trades. But then what about #3? By the PnL metric where #1 has 0 PnL, #3 should probably have -$1,000 of PnL. But that's pretty weird--their account is accumulating negative PnL while completely empty!
Because of this, FTX calculates PnL by looking at the changes in the USD value of your entire account, treating a deposit as a 'purchase' and a withdrawal as a 'sale'. This means that, for #1 above, FTX would calculate the PnL as:
a) deposit 1 BTC worth $9,000; 0 PnL.
b) account value increases from $9,000 to $10,000; +1,000 PnL.
c) withdraw $10,000 worth of BTC; no new PnL.
So it would give a total historical PnL of $1,000. It would similarly assign a PnL of +$1,000 to #2, and of $0 to #3--in case #3, the user withdrew the BTC when it was still worth just $9,000, and so didn't have the BTC in their account to realize PnL when the price increased.
This isn't the only way to calculate PnL and you are free to use whatever way you'd like. You can use the FTX PnL page as a reference if it's helpful, but your balances and positions are what matter in the end.
How FTX calculates PnL
- FTX treats a deposit of an asset as a purchase at the market price at the time of deposit. So if you deposit 1 ETH when ETH/USD is trading at $195, that is treated as buying 1 ETH for $195. So there is no PnL associated with a deposit because you are "buying" at the current price.
- Similarly FTX treats a withdrawal as a sale of the asset at the market price at the time of withdrawal.
- All funding paid/received and fees paid also contribute to your PnL.
- FTX marks all futures trades and positions to market price at the end of each day. So if you buy 1 ETH-PERP for $190 on Day 1, on Day 1 its price ends at $192, on Day 2 its price increases to $196, on Day 3 its price decreases to $194, and on Day 4 you sell it for $191, you would have the following PnLs:
- FTX marks the value of all spot trades to the end of each day. So if you deposit 1 BTC when BTC is trading at $8,500, and then BTC's price rises to $9,250, you'll have +$750 of PnL. Similarly if you sell 1 ETH/USD for $182 and then ETH increases in price to $185, you'll have -$3 of PnL.
- FTX marks the value of all spot balances to the end of each day. So if you started and ended the day with 3 BTC in your account and BTC increased from $8,100 to $8,200 over the course of the day, you'd have +$300 of PnL from your spot BTC balance.
- Here's an example calculation for spot trades, deposits, and withdrawals:
This means that your total PnL for a day is equal to the ending USD value of your account minus the starting USD value of your account, plus the USD value of withdrawals at the time of withdrawing, minus the USD value of deposits at the time of depositing:
Total Daily Account PnL = (USD value at end) - (USD value at start) + (USD value of withdrawals) - (USD value of deposits)
Note that this means that funding rates and fees also affect your PnL. So if you are net paid $125 in funding and pay $12 in fees, that would increase the day's PnL by $113.