Trader's Second Brain Trader's Second Brain

Crypto Futures P&L: Gross vs Net After All Costs

A profitable position can produce a smaller account result because gross trade P&L and net account P&L answer different questions. The fix is a ledger, not a different screenshot.

Quick Answer

Start with realized price P&L, subtract trading fees, add or subtract funding, and include other execution costs once. Reconcile that number to actual balance changes after removing deposits, withdrawals, and transfers. Preserve each row instead of forcing the exchange dashboard and journal to match by editing P&L.

Strategy review · test against your trades
Backtester + execution review

Would this idea hold up in your own trades?

Test the idea against your own trades, then review where real execution diverges from the plan.

Test my trades
Trader's Second Brain preview

The gross-to-net bridge

Use a formula whose rows can be traced back to the export:

Net futures P&L = realized price P&L − trading fees ± funding − other direct trading costs.

The sign of funding depends on the contract, settlement, position side, and rate. Rebates are negative costs. Slippage is already embedded when actual fill prices are used; do not subtract an estimated slippage number again. Deposits, withdrawals, and internal transfers are external cash flows, not trading profit.

Why the numbers on one exchange disagree

NumberQuestion it answersCommon omission
Unrealized P&LWhat would the open position show at the current/mark price?Closing fees, future funding, and execution price
Realized/closed P&LWhat price result was crystallized?May exclude fees or funding depending on screen
Trade-history resultWhat did each execution contribute?Funding and account-level transfers
Wallet/account changeHow did equity move?Mixes trading with deposits, withdrawals, transfers, and rewards

Worked example

A trader closes a perpetual position with $420 of realized price P&L. Opening and closing fees total $34. The position paid $18 of funding over three settlements and received a $4 maker rebate already included in the fee ledger.

Net P&L = $420 − $34 − $18 = $368. Do not add the $4 again if the $34 is already the net fee total. If the account also received a $1,000 deposit, the wallet rose by $1,368—but trading performance is still $368.

Partial close example

A trader opens 2 BTC and closes 0.5 BTC, 0.5 BTC, then 1 BTC. The exchange can show three realized-P&L rows, six or more fills, and one completed position. Allocate entry and exit fees to the executed quantities, add funding only for settlements while size was open, and calculate the lifecycle result once. Summing a position summary and its fill-level P&L would double-count the same economic result.

The minimum reconciliation ledger

FieldSourceValidation
Executed quantity and priceFill/trade historySum partial fills; do not substitute order quantity
Realized price P&LClosed position or calculated fillsConfirm whether the field is gross or already net of costs
Trading fee and assetExecution/fee ledgerConvert only with a documented rate and timestamp
Funding amount and timeFunding ledgerMatch only to size open at settlement
External cash flowDeposit/withdrawal/transfer ledgerExclude from trading performance

Linear and inverse contracts need different currency handling

A USDT-margined contract usually reports price P&L, fees, and funding in a quote stablecoin, while a coin-margined inverse contract can settle them in the base asset. Do not add 0.0012 BTC of fees directly to a USDT profit number. Preserve the native amount and asset, then convert it using a documented price and timestamp that matches the reporting policy. Keep both values so a later reviewer can reproduce the conversion.

The same rule applies when a fee discount uses a platform token. The economic cost is the quantity of that token removed at the execution time, not zero merely because the contract’s settlement asset did not change.

Reconcile from source rows, not screenshots

  1. Export executed fills or closed positions for the exact UTC window.
  2. Export fee and funding rows for the same account, contract, and window.
  3. Separate external flows: deposits, withdrawals, transfers, staking, rewards, and conversions.
  4. Group partial fills into a proved position lifecycle without deleting the underlying executions.
  5. Calculate gross price P&L, then bridge each cost line to net P&L.
  6. Compare the result to ending equity after adjusting for external flows and open-position value.

The mistakes that create fake precision

  • Using order price instead of actual fill price.
  • Treating a transfer into the futures wallet as profit.
  • Ignoring fees paid in a different asset.
  • Assigning account-level funding to the wrong strategy.
  • Subtracting slippage twice: once through fills and again as an estimate.
  • Comparing a closed-trade report to equity while another position is still open.

Three control totals before review

First, execution quantity opened must equal quantity closed plus the verified remaining open size. Second, net trade P&L must equal gross result minus the cost ledger without duplicated rebates or fees. Third, account change must equal net trading result plus external flows and the change in open-position value. If one control fails, keep the batch unreconciled and locate the missing event instead of adjusting a trade manually.

How to classify the unexplained remainder

When the bridge is close but not exact, classify the difference before changing any trade. A stable difference per execution usually points to an omitted commission. A difference that appears only across settlement timestamps usually points to funding. A difference denominated in another asset often comes from fee-token conversion. A large round-number difference is commonly a transfer, deposit, reward, or manual adjustment. Preserve the unexplained amount as a reconciliation exception until its source row is found.

Worked period bridge

ComponentAmountRunning result
Gross realized price P&L+$1,280$1,280
Trading fees−$146$1,134
Funding paid−$38$1,096
Funding received+$11$1,107
Fee-token conversion difference−$7$1,100 net trading result
External deposit+$2,000$3,100 account change

The deposit explains wallet growth but does not improve trading performance. If the actual account change is $3,094, keep the remaining $6 as an exception until a missing fee, conversion, or valuation row is identified.

Set a reconciliation policy before seeing the answer

Define whether the batch must agree exactly in native asset units or may use a documented conversion tolerance. A percentage tolerance alone is weak because it grows with account size. Prefer exact quantity agreement for fills and native fees, plus a small fixed reporting-currency tolerance only for independently converted assets. Never hide an unexplained difference inside “slippage” when actual fill prices are already present.

The TSB route: import → reconcile → review

Open TSB Journal → Import trades and preserve each exchange file as its own batch. Review the detected source, then reconcile execution count, fees, funding, external flows, and account currency. Once the financial layer agrees, add setup and decision tags and use Daily Review to compare process outcomes rather than only gross winners.

Method and product references

Igor Manuilov
Written and reviewed by
Igor Manuilov
Founder of Trader's Second Brain · Trader since 2014
Editorial accountability

Trader since 2014. Built Trader's Second Brain to make execution review more evidence-based and less dependent on memory, scattered spreadsheets, or vague journaling.

Strategy review · test against your trades
Backtester + execution review

Turn trading theory into proof from your own history.

Test the idea against your own trades, then review where real execution diverges from the plan.

Test my trades
Trader's Second Brain preview

Frequently Asked Questions

Quick answers to the most common questions about Crypto Futures Gross vs Net P&L.

It is the position result from entry and exit prices before fees, funding, and other costs unless the exchange explicitly defines it otherwise.

For this guide, net P&L is gross realized P&L minus trading fees plus or minus funding and other directly attributable costs.

Balance change can also include deposits, withdrawals, transfers, rebates, conversions, interest, and unrealized changes.

Only when the position and settlement window can be proved. Otherwise keep funding as a separate account cash flow and reconcile it at the account/period level.

Choose one canonical fee field from the execution ledger and verify whether the exchange’s realized P&L already includes any fee component.