# 이익 및 손실(PnL)과 그 계산 방법

**이익 및 손실(PnL)** 지표는 포지션의 이익 또는 손실을 반영합니다. PnL은 포지션이 아직 **열려 있는지** 또는 이미 **닫힌** 경우에 따라 두 가지 방법으로 계산됩니다.

**열린** 포지션의 경우 **실현된 PnL**과 **미실현된 PnL**이 고려됩니다. 거래에서 발생할 수 있는 잠재적 이익은 미실현된 PnL에 해당합니다. 열린 포지션에서 실현된 PnL은 이미 지불된 수수료 (즉, [**거래 수수료 및 펀딩**](https://help.margex.com/help-center/ko/margex/trading-conditions/margex-fees))입니다.

* *PnL은 열린 포지션에 반영되지 않습니다. 이는 실현된 PnL과 미실현된 PnL을 합산하여 계산할 수 있습니다.*
* *열린 포지션의 미실현된 PnL을 계산하려면 **AskPrice**와 **BidPrice**를 사용해야 하며, 닫힌 포지션의 미실현된 PnL을 계산하려면 **ClosePrice**를 사용해야 합니다.*

아래에는 열린 포지션과 닫힌 포지션에서 PnL을 계산하는 예시가 있습니다.<br>

<details>

<summary>열린 포지션에서 PnL 계산 방법</summary>

열린 포지션의 PnL을 계산하는 일반적인 공식은 다음과 같습니다:

**PnL** = **실현된 PnL** + **미실현된 PnL**, 여기서:

* **실현된 PnL** = -OpenOrderCommission - 펀딩, 여기서
  * OpenOrderCommission = (MarginCol \* Leverage) \* Maker 또는 Taker 수수료 %
  * 펀딩 = (MarginCol \* Leverage) \* FundingFeeRate %
* **미실현된 PnL (롱)** = MarginCol \* Leverage \* (CurrentAsk - OpenPrice) / OpenPrice
* **미실현된 PnL (숏)** = MarginCol \* Leverage \* (OpenPrice - CurrentBid) / OpenPrice

**참고:** CloseOrderCommission은 포지션이 종료될 때까지 PnL에 포함되지 않습니다.

#### **예시:**

**열린 포지션의 파라미터:**

* 방향: 롱
* 주문 크기: 0.1 BTC
* 레버리지: x100 (-> **마진 = 0.001 BTC**)
* 열린 주문: 지정가
* 펀딩 수수료 부과: 1회

**첫 번째로**, OpenOrderCommission과 펀딩을 계산해야 합니다:

* OpenOrderCommission = (MarginCol \* Leverage) \* MakerFee% = (0.001 \* 100) \* 0.019% = 0.000019
* 펀딩 = (MarginCol \* Leverage) \* FundingFeeRate% = (0.001 \* 100) \* 0.12% = 0.00012

**다음으로**, 실현된 PnL과 미실현된 PnL을 계산해야 합니다:

* 실현된 PnL = -OpenOrderCommission - 펀딩 = -0.000019 - 0.00012 = -0.000139
* 미실현된 PnL (롱) = MarginCol \* Leverage \* (AskPrice - OpenPrice) / OpenPrice = (0.001 \* 100) \* (11000 - 10000) / 10000 = 0.01

**마지막으로**, PnL을 계산합니다. 위에서 본 것처럼, 실현된 PnL = -0.000139, 미실현된 PnL = 0.01 이므로:

* PnL(롱) = 실현된 PnL + 미실현된 PnL = -0.000139 + 0.01 = 0.009861

</details>

<details>

<summary>닫힌 포지션에서 PnL 계산 방법</summary>

닫힌 포지션의 PnL을 계산하는 일반적인 공식은 다음과 같습니다:

**PnL** = **실현된 PnL** + **미실현된 PnL** - **CloseOrderCommission**, 여기서:

* **실현된 PnL** = -OpenOrderCommission - 펀딩, 여기서
  * OpenOrderCommission = (MarginCol \* Leverage) \* Maker 또는 Taker 수수료 %
  * 펀딩 = (MarginCol \* Leverage) \* FundingFeeRate %
* **미실현된 PnL (롱)** = MarginCol \* Leverage \* (ClosePrice - OpenPrice) / OpenPrice
* **미실현된 PnL (숏)** = MarginCol \* Leverage \* (OpenPrice - ClosePrice) / OpenPrice
* **CloseOrderCommission** = (MarginCol \* Leverage) \* TakerFee%

#### **예시:**

**닫힌 포지션의 파라미터:**

* 방향: 롱
* 주문 크기: 0.1 BTC
* 레버리지: x100 (-> **마진 = 0.001 BTC**)
* 열린 주문: 시장가
* 닫힌 주문: 시장가
* 펀딩 수수료 부과: 1회

**첫 번째로**, CloseOrderCommission을 계산해야 합니다:

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

**두 번째로**, 실현된 PnL과 미실현된 PnL을 계산해야 합니다:

* 실현된 PnL = -OpenOrderCommission - 펀딩 = -((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
* 미실현된 PnL (롱) = MarginCol \* Leverage \* (ClosePrice - OpenPrice) / OpenPrice\
  \= 100 \* 0.001 \* (11000 - 10000) / 10000\
  \= 0.01

**마지막으로**, PnL을 계산합니다. 위에서 본 것처럼, 미실현된 PnL = 0.01, 실현된 PnL = -0.00018, CloseOrderCommission = 0.00006:

* PnL = 실현된 PnL + 미실현된 PnL - CloseOrderCommission\
  \= -0.00018 + 0.01 - 0.00006 = 0.00976

</details>

{% hint style="success" %}
열린 포지션과 닫힌 포지션의 PnL은 자동으로 계산되며, 편의를 위해 [거래](https://margex.com/app/trade?label=BTCUSD) 페이지의 열린 포지션 및 포지션 역사 섹션에 반영됩니다
{% endhint %}
