The idea is one sentence
Buy spot, short the same notional in perpetual futures. That really is the whole strategy.
One clarification before the problems: “neutral” here means the book does not care which way price goes. It does not mean risk-free, and it is not the options desk’s version of the term, which is maintained by continuous re-hedging and earns from volatility instead. Same mathematical definition, two unrelated cost structures — separated out in delta neutral explained.
Between that sentence and a system running real money around the clock sit four problems. None of them is conceptually hard. All four are the kind that fail quietly — the position still looks hedged on the screen while the exposure creeps back in.
One: lot sizes do not line up
Spot and perpetuals are two different markets with two different rulebooks. Each has its own minimum order size and its own tick size, and for the same symbol they are frequently not the same.
Divide a target notional by the price and you get a quantity that neither market will accept verbatim. Both venues round it — and they round by different amounts, in directions you do not control.
So you believe you hedged 100% and you actually hedged 99.7%. The remaining 0.3% is naked.
Once, that is noise. Several hundred entries later it is a real directional position that nobody decided to take, assembled entirely out of rounding.
The fix is ordering, not arithmetic: round each leg to its own venue’s rules first, then check the resulting notionals against each other, and adjust until they match. Computing one quantity and sending it to both venues is the version that silently drifts.
Two: one leg fills and the other does not
Spot fills. The perp order does not. For as long as that lasts you are holding an unhedged long.
This is not a “top it up in a moment” problem. In those seconds the price can move, and the entire premise of the position is that price does not matter. Waiting also tends to be the wrong instinct — the reason the second leg failed is often the same volatility that is about to move the price.
The correct response is to unwind the leg that did fill, immediately, and give up the opportunity. Missing an entry costs nothing. Carrying an accidental directional position overnight is the exact risk the structure exists to remove.
This has to be automatic. A rollback that depends on somebody noticing is not a rollback.
Three: margin has to survive a rally
When price rises sharply, the short perp leg goes underwater and the futures account’s margin ratio falls.
The spot leg is up by the same amount at that moment — and it cannot help. Liquidation looks only at the futures account. Profit sitting in spot does not reach across the boundary, and by the time you could move it manually, the position is gone.
A unified or portfolio margin account softens this by letting the two balances see each other, but it does not remove it. Position size still has to leave enough headroom that an extreme move does not touch the liquidation price. Which account types to use, which three API permissions to enable and the one never to enable, is walked through in funding rate arbitrage on Binance.
There is a second-order effect worth naming: as margin tightens, the system reduces the position automatically, and reducing the position thins that period’s return. So in this structure margin risk usually shows up as earning less long before it shows up as a liquidation. Where that risk and the others land, and on whom, is itemised in the risk breakdown.
This is the one of the four that is not an engineering problem. It is sizing, and no amount of good code substitutes for it.
Four: the rebalancing threshold
Price moves, and the two legs stop matching. The spot leg’s value has grown with the price; the perp leg’s notional has moved too, but the margin it consumes has changed differently. Past some drift, the position needs rebalancing back to matched notional.
Rebalancing costs fees every time. Too often and the fees eat the funding you are collecting; too rarely and the drift accumulates into exposure.
There is no universal number here. The threshold depends on the symbol’s volatility, your fee tier, and how large the position is relative to book depth. It has to be tuned, and it has to be re-tuned when any of those change.
Tuning it requires knowing what one round trip actually costs. On our own account INJUSDT came to 0.30% in fees and 0.048% in spread for a full round trip — against a 0.01% per-period rate, one unnecessary rebalance gives back more than thirty periods of funding. These are the costs no funding leaderboard displays; six hidden costs puts a measured figure on each.
What this looks like at scale
None of the four is a one-off setup cost. They recur on every entry, and the cadence is set by the contract rules rather than by how often anyone feels like checking.
| Quantity | Value |
|---|---|
| Settlement times, standard schedule | 00:00, 08:00 and 16:00 UTC |
| Settlements per day, standard schedule | 3 |
| Settlements per year, standard schedule | 1,095 |
| BTCUSDT settlements recorded since 2020-01-01 | 7,344 |
| Of those, positive | 85.95% |
| ETHUSDT positive share, same span | 86.19% |
| Symbols in the full dataset | 450 |
| Total settlement records | 878,142 |
“Standard schedule” is doing real work in those first three rows. Eight hours is the default and still covers most pairs, including both of the ones above, but Binance moved a batch of contracts to four-hour and a few to one-hour settlement from 18 September 2025, with an 8 / N term added to the formula to keep a day’s total cost from scaling with frequency. Hard-code “three per day” into a collector and it will under-sample those contracts without raising anything — the cadence trap and two others are in how the funding rate is calculated.
Rows four and five are the statistical case for the strategy: across 7,344 consecutive BTCUSDT settlements, 85.95% paid the short side. The remaining 14% is not hypothetical either — what it means when the sign flips, and whether the structure can simply be inverted, is negative funding rates.
Rows two and three are why the execution problems matter. At 1,095 settlement points a year, a rollback path that works 99% of the time still leaves about eleven unhedged positions, and a rounding rule that drifts 0.3% per entry compounds across every one of them. Neither failure announces itself.
The market-wide breakdown behind these figures, including the symbols where funding ran persistently negative, is on the funding rate data page.
The detail that gets overlooked: the denominator
Return = funding collected over a period ÷ principal.
The denominator sounds trivial. It is not, because it can only be sampled at the moment of settlement.
When you backfill historical flows later, the money comes back but the account equity at that instant does not. All you can do is divide by the most recent snapshot — and if the account was topped up during the period, the computed return comes out noticeably low. If money was withdrawn, it comes out high.
So the collector has to sit on the settlement points themselves — every one of them, at whatever cadence that contract actually uses — and record equity alongside each payment. It also has to record how many settlements carried an equity snapshot at all.
That last number is the one nobody publishes. A return computed from three samples and a return computed from three hundred look identical on the page. Without the sample count, there is no way to tell which one to believe — which is why our performance page prints it next to the figures rather than in a footnote.
