2️⃣Profit & Loss (PnL) and How It's Calculated

Profit and Loss (PnL) indicator reflects the Profit or Loss of a deal. PnL is calculated in two different ways, depending on if a deal is still currently open or if it has already been closed.

The Profit and Loss (PnL) indicator reflects the Profit or Loss of a position. PnL is calculated in 2 different ways, depending on if a position is still currently Open or if it has already been Closed.

For open positions Realized PnL and Unrealized PnL are taken into account. The potential profit from the deal refers to the Unrealized PnL. Realized PNL in open positions equals already paid commissions (i.e. trade fees and funding).

  • PnL is not reflected in Open positions. It can be calculated by adding Realized PnL + Unrealized PnL.

  • Calculating Unrealized PnL of Open positions requires the use of AskPrice and BidPrice, while calculating Unrealized PnL of Closed positions requires the use of ClosePrice

Below are examples of calculation of PnL in Open Positions and in Closed Positions:

How to calculate PnL in OPEN positions

The general formulas for calculating PnL of OPEN positions:

PnL = Realized PnL + Unrealized PnL, where:

  • Realized PnL = -OpenOrderCommission - Funding, where

    • OpenOrderCommission = (MarginCol * Leverage) * Maker or Taker fee%

    • Funding = (MarginCol * Leverage) * FundingFeeRate%

  • Unrealized PnL (Long) = MarginCol * Leverage * (CurrentAsk - OpenPrice) / OpenPrice

  • Unrealized PnL (Short) = MarginCol * Leverage * (OpenPrice - CurrentBid) / OpenPrice

Note: CloseOrderCommision is NOT included in PnL until a position has been closed.

EXAMPLE:

Parameters of an OPEN position:

  • Direction: Long

  • Order Size: 0.1 BTC

  • Leverage: x100 (-> Margin = 0.001 BTC)

  • Open Order: Limit

  • Funding fee charged: 1 time

First, we must calculate the OpenOrderCommission and Funding:

  • OpenOrderCommission = (MarginCol * Leverage) * MakerFee% = (0.001 * 100) * 0.019% = 0.000019

  • Funding = (MarginCol * Leverage) * FundingFeeRate% = (0.001 * 100) * 0.12% = 0.00012

Next, must calculate Realized PnL and Unrealized PnL:

  • Realized PnL = -OpenOrderCommission - Funding = -0.000019 - 0.00012 = -0.000139

  • Unrealized PnL (Long) = MarginCol * Leverage * (AskPrice- OpenPrice)/OpenPrice = (0.001 * 100) * (11000 - 10000)/10000 = 0.01

Finally, the last step is calculating PnL. As seen above, the Realized PnL= -0.000139 and Unrealized PnL = 0.01;

  • PnL(Long) = Realized PnL + Unrealized PnL = -0.000139 + 0.01 = 0.009861

How to calculate PnL in CLOSED positions

The general formulas for calculating PnL of CLOSED positions:

PnL = Realized PnL + Unrealized PnL - CloseOrderCommission , where:

  • Unrealized PnL (Long) = MarginCol * Leverage * (ClosePrice- OpenPrice)/OpenPrice

  • Unrealized PnL (Short) = MarginCol * Leverage * (OpenPrice - ClosePrice)/OpenPrice

  • CloseOrderCommission = (MarginCol * Leverage) * TakerFee%

  • OpenOrderCommission = (MarginCol * Leverage) * Maker or Taker fee%

  • Funding = (MarginCol * Leverage) * FundingFeeRate%

EXAMPLE:

Parameters of a CLOSED position:

  • Direction: Long

  • Order Size: 0.1 BTC

  • Leverage: x100 (-> Margin = 0.001 BTC)

  • Open Order: Market

  • Close Order: Market

  • Funding fee charged: 1 time

Firstly, we must calculate the CloseOrderCommission:

  • CloseOrderCommission = (MarginCol * Leverage) * TakerFee = (0.001 * 100) * 0.06% = 0.00006

Secondly, we must calculate Realized PnL and Unrealized PnL:

  • Realized PnL = -OpenOrderCommission - Funding = -((MarginCol * Leverage) * TakerFee%) - ((MarginCol * Leverage) * FundingFeeRate%) = -((0.001 * 100) * 0.06%) - ((0.001 * 100) * 0.12%) = -(0.1 * 0.06% ) - (0.1 * 0.12%) = -0.00006 - 0.00012 = -0.00018

  • Unrealized PnL (Long) = MarginCol * Leverage * (ClosePrice - OpenPrice)/OpenPrice = 100 * 0.001 * (11000-10000)/10000 = 0.01

FInally, the last step is calculating PnL. As seen above, the Unrealized PnL = 0.01, Realized PnL = -0.00018, and CloseOrderCommission = 0.00006:

  • PnL = Realized PnL + Unrealized PnL - CloseOrderCommission = -0.00018 + 0.01 - 0.00006 = 0.00976

Last updated