MEXC Exchange/Learn/Beginner's Guides/Futures/PNL Calculations Explained

PNL Calculations Explained

Related Articles
Beginner
Jul 4, 2025MEXC
0m
Share to

In Futures trading, unrealized PNL and realized PNL can be confusing. Why does the profit and loss displayed while holding a position differ from the actual PNL after closing it? This article uses simple formulas and examples to help clarify the difference between the two.


1. Difference Between Unrealized and Realized PNL


1.1 Basic Definition


The key difference between unrealized and realized PNL lies in whether the position has been closed.

Unrealized PNL: This refers to the profit or loss of an open position, which fluctuates in real time with market price changes. On MEXC, unrealized PNL is calculated by default using the fair price. Users can choose the pricing basis for unrealized PNL within their current position settings.


Realized PNL: The actual profit or loss generated after a position is closed. This includes all realized PNL from the position, covering trading fees, funding fees, and the closing PNL. The closing PNL is calculated based on the market price matched by the system at the time of closing.


Note: The fair price is calculated based on a combination of the index price and market price, and it may differ from the last price of the contract. This discrepancy is one of the factors that can cause differences between unrealized PNL and realized PNL.

1.2 Calculation Formula Comparison


Position Type
Unrealized PNL Calculation Formula
Realized PNL Calculation Formula
Long
(Fair Price − Avg Entry Price) x Position x Size
(Avg Close Price − Avg Entry Price) x Position x Size
Short
(Avg Entry Price − Fair Price) x Position x Size
(Avg Entry Price − Avg Close Price) x Position x Size

1.3 Example


Why does the profit decrease after closing a position? Let's look at an example using USDT-M ETHUSDT Futures.

While holding the position:

After closing the position:

Position information:
  • Trading pair: ETHUSDT (Long position: bullish on ETH)
  • Avg entry price: 2721.18 USDT
  • Fair price: 2723.92 USDT
  • Avg close price: 2722.91 USDT
  • Position size: 50 cont. (1 cont. = 0.01 ETH)
  • Opening fee: −0.2722 USDT
  • Closing fee: −0.2722 USDT

Unrealized PNL = (Fair Price − Avg Entry Price) x Position x Size = (2723.92 − 2721.18) x 50 x 0.01 = 1.37 USDT
Current Unrealized Profit = 1.37 USDT

Realized PNL = (Avg Close Price − Avg Entry Price) x Position x Size − Trading Fees − Funding Fees = (2722.91 − 2721.18) x 50 x 0.01 − (0.2722 + 0.2722) − 0 = 0.3206 USDT
Actual Profit = 0.3206 USDT

1.4 Why is PNL Different Before and After Closing a Position?


The following reasons may cause unrealizedPNL and realized PNL to differ:

Reason 1: When the fair price deviates from the market price, it causes unrealized and realized PNL to differ.

Unrealized PNL is calculated based on the fair price by default, while realized PNL is based on the actual matched market price. Large market fluctuations may cause differences between these prices, resulting in discrepancies between unrealized and realized PNL.

Reason 2: Deduction of trading fees and funding fees.

Closing a position deducts fees, so actual realized PNL after fees may differ from unrealized PNL. If the position is held across funding fee periods, funding costs may also apply.

Note: If the funding rate is positive, longs pay funding fees to shorts; if negative, shorts pay longs.

Reason 3: Real-time price fluctuations.

Cryptocurrency prices depend heavily on user trading behaviors. Large buy or sell orders can cause sharp, short-term market price swings. These swings may cause the PNL shown while holding the position to differ from the actual PNL after closing.

Reminder:
  • The fair price mechanism reduces the impact of market manipulation, but the actual realized PNL depends on the market price when the order is matched.
  • In Futures trading, unrealized losses may trigger liquidation, so controlling position risk is crucial.

2. How to Calculate the PNLRate


2.1 Calculation Formula


In Futures trading, the PNL rate is a key metric to measure trade performance:
PNL Rate = (PNL / Initial margin) x 100%
Initial Margin = (Avg Entry Price x Contracts x Size) / Leverage
ROI = Unrealized PNL / Initial margin
The ROI only depends on current leverage, not on margin increases or decreases.

2.2 Example

Position Information
  • Trading pair: ETHUSDT (Long position – bullish on ETH)
  • Leverage: 500x
  • Direction: Long (bullish)
  • Entry price: 2697.30 USDT
  • Real-time fair price: 2703.67 USDT
  • Position size: 50 cont. (1 cont. = 0.01 ETH)
  • Trading fee = 0.2697 USDT
  • Funding fee = 0 USDT

Initial Margin = (Avg Entry Price x Contracts x Size) / Leverage = (2697.30 x 50 x 0.01) / 500 = 2.6973 USDT

PNL= Unrealized PNL − Trading fees − Funding Fees = 3.185 − 0.2697 − 0 = 2.9153 USDT

PNL Rate = (PNL / Initial Margin) x 100% = (2.9153 / 2.6973) x 100% = 108%

Disclaimer: This information does not provide advice on investment, taxation, legal, financial, accounting, consultation, or any other related services, nor does it constitute advice to purchase, sell, or hold any assets. MEXC Learn provides information for reference purposes only and does not constitute investment advice. Please ensure you fully understand the risks involved and exercise caution when investing. MEXC is not responsible for users' investment decisions.