November 5, 2026 · research

Your Funding Backtest Is Missing the Cash That Never Changed Hands

Your Funding Backtest Is Missing the Cash That Never Changed Hands

At a $100,000 notional, 10 basis points of funding moves $100. A position held through eight funding timestamps in a day can see eight separate cash flows. A trade opened one second after a timestamp may see none of the payment that a bar-based backtest assigns to it. The surprising number is often not the rate; it’s the notional the exchange used to calculate it.

Perpetual futures funding is a transfer between long and short position holders, usually settled at scheduled times. It is not an exchange trading fee, and a historical rate series alone is not enough to reconstruct the cash flow. You also need the position that was eligible at each settlement and the venue’s rules for determining eligible exposure.

Why can a small funding rate become a large backtest result?

Funding applies to position notional. If a strategy holds $100,000 through a 0.10% payment, the cash flow is $100. Repeat that every eight hours for 30 days and the simple sum is $9,000, before accounting for changing positions or rates. That is a material component of a strategy’s reported P&L.

For a linear contract, a useful first approximation is:

funding cash flow = signed position notional × funding rate

Under the common convention, a positive rate means longs pay shorts; a negative rate means shorts pay longs. If the strategy is long $100,000 at +0.10%, its cash flow is -$100. A short of the same notional receives $100. That sign convention is easy to reverse accidentally, especially when a data vendor labels the rate from the payer’s perspective.

Funding is a position cash flow. It belongs in the account ledger at settlement time, alongside realized P&L and fees, rather than as a percentage subtracted from the signal or applied to the whole bar.

Which position pays when a trade crosses funding time?

Use the position eligible at the exchange’s funding calculation or settlement, according to that venue’s documented rule. A backtest that samples the rate once per bar and multiplies it by the position at the bar’s end can charge funding on exposure that did not exist at settlement.

Here’s a small example. The funding time is 08:00 UTC. A strategy is long $50,000 until 07:59:59, closes, then reopens a $50,000 long at 08:00:01. If the exchange snapshots eligible positions at 08:00, neither trade should be charged merely because the backtest’s hourly bar contains 08:00. The result changes if the venue uses a different measurement window or settlement convention, so verify the contract specification and actual venue records.

Backtest shortcutWhat it can get wrongBetter treatment
Apply each rate to the bar’s closing positionExposure opened after settlement may be chargedPost a funding event against eligible position at the event time
Use the rate’s sign without checking its definitionPayer and receiver can be reversedRecord the venue’s sign convention with the data
Apply funding to contract quantity as dollarsInverse contracts may have coin-denominated cash flowsUse the contract multiplier and settlement currency

Why does contract type change the calculation?

For a linear contract settled in dollars or a dollar-pegged asset, notional is commonly expressed in quote currency. For an inverse contract, the contract’s face value and settlement currency matter: the funding payment may be denominated in the underlying coin. Multiplying contract count by a rate and calling the result dollars can produce a plausible-looking but dimensionally wrong ledger.

Track the units explicitly: contracts, multiplier, mark or reference price, funding rate, and settlement currency. Convert to portfolio reporting currency using a price available at the time of the cash flow. Keep the original amount and currency too; a later conversion should not rewrite what the account received.

How should I validate funding in a backtest?

Start with a hand-checkable event, then compare the ledger to venue statements or a small paper account. For each funding timestamp, inspect the position, rate, calculated amount, sign, and currency. When the strategy changes position near settlement, include trades just before and just after the timestamp.

Funding can make a carry strategy look compelling or make a directional trade look worse than its price chart suggests. The rate series tells you the market’s quoted transfer. The position ledger tells you whether your simulated account was there to pay or receive it.

funding ratescrypto futuresbacktestingcash flowsaccounting
← All posts