29. august 2026 · funding

Du byggede en strategi, der kun handler kl. 00:00 UTC — et brev om artefakter ved fundingtidspunkter

Du byggede en strategi, der kun handler kl. 00:00 UTC — et brev om artefakter ved fundingtidspunkter

Du sendte mig aktiekurven og handelsloggen og spurgte, om det er for godt til at være sandt. Kort svar: Det er hverken åbenlyst ægte eller åbenlyst falsk, og du kan finde ud af hvad det er på cirka en dags arbejde. Det lange svar følger, for diagnosen er vigtigere end dommen.

Det, du har: et 15-minutters mean-reversion-signal på BTCUSDT- og ETHUSDT-perps på Binance, z-score for prisen i forhold til et gennemsnit over 96 barer, fade af yderpunkterne, hold i 2-8 barer. Backtesten strækker sig fra feb. 2024 til jun. 2026. Sharpe 2.9 efter din gebyrmodel. Og da du fordelte P&L efter minut på dagen, lå 71% af den i de tre femtenminuttersintervaller, der indeholder 00:00, 08:00 og 16:00 UTC.

Du ved allerede, hvorfor det vækker mistanke. Lad mig fortælle, hvorfor det også til dels ikke gør.

Fundinguret findes, og det flytter faktisk prisen

Binance afregner funding på perpetual futures kl. 00:00, 08:00 og 16:00 UTC. Hver position, der er åben på afregningstidspunktet, betaler eller modtager funding. Det er en fast, planlagt pengestrøm, som alle kender, og den skaber reel ordrestrøm omkring tidspunktet — ikke et dataartefakt, men noget handlende faktisk gør.

Ordrestrømmen har et mønster. I de ti til tredive minutter før afregningen lukker eller afdækker handlende positioner, hvis de vil undgå at betale. Hvis funding ligger på +0.04% for intervallet, vil en longposition, der alligevel skal lukkes, blive lukket før markprisen frem for efter, mens en basis-handler, der er short perp, gerne holder positionen gennem afregningen. Det giver et asymmetrisk pres med en deadline. Lige efter afregningen vender noget af ordrestrømmen så tilbage — de longs, der ville undgå funding, går ind igen — og du får en delvis vending.

Så et mean-reversion-signal, der udløses kl. 23:52 og lukkes kl. 00:12, står lige dér, hvor der sker en forudsigelig likviditetshændelse. En del af din fordel skyldes sandsynligvis en vending efter et mekanisk skub drevet af kalenderen. Det er et reelt mikrostrukturfænomen, og det har været reelt i årevis.

Men her er, hvad jeg gerne vil vide, før jeg tror på et tal så stort som dit.

Seks ting, du skal tjekke, i den rækkefølge jeg selv ville gøre det

Begynd med det billigste, for de fleste af den slags strategier falder fra på tjek nummer to eller tre.

  1. Er din funding-P&L talt med to gange? Hvis din fillmotor bogfører funding på åbne positioner og din prisserie er en markprisserie frem for en serie baseret på seneste handler, kan du komme til at betale eller tjene funding to gange — én gang eksplicit og én gang gennem markprisens konvergensadfærd. Udskriv den rå fundingpengestrøm for hver handel, og sammenlign ti af dem med børsens historiske funding-endpoint.
  2. Hvilket tidsstempel har din fundingrække? Binances historik over fundingrater returnerer et fundingTime, der angiver afregningstidspunktet. Nogle dataleverandører sender samme række med et tidsstempel ved starten af det interval, den gælder for. Hvis din række er forskudt med otte timer, har du handlet på et signal, der kender fremtiden. Det er den mest almindelige årsag til en falsk fundingfordel, jeg har set, og det giver præcis din P&L-profil — koncentreret ved afregningsbarerne, korrekt fortegn, fantastisk.
  3. Hvad sker der med spreadet kl. 00:00:00? Hent ordrebogen, ikke kline-dataene. På en 1-minutsbar er spreadet usynligt; i sekunderne omkring afregningen kan det blive 3-5x større på en mellemstor børs. Hvis dine fills modelleres til midten af spreadet eller lukkekursen, indregner du et spread, der ikke var tilgængeligt.
  4. Holder den, hvis du kun bruger de to andre afregninger? Opdel de tre tidsvinduer. 00:00 UTC har en anden ordrestrøm end 08:00 (omkring Asiens åbning) og 16:00 (den amerikanske eftermiddag). Hvis alle pengene ligger i ét af de tre vinduer, har du omtrent 300 hændelser, ikke 900, og din Sharpe bør genberegnes på det grundlag.
  5. Holder den på en børs med et andet afregningstidspunkt? Det her er den gode test. Kør det identiske signal på en børs, hvor funding afregnes hver time eller efter en anden tidsplan. Hvis effekten skyldes funding, bør den følge børsens ur. Hvis signalet stadig udløses kl. 00:00 UTC på en børs, der ikke afregner funding kl. 00:00 UTC, har du fundet et midnatsartefakt i din datapipeline, ikke en fundingeffekt.
  6. Hvor stor en del af P&L ligger i de første og sidste 90 sekunder? Hvis hele fordelen ligger i et vindue på under to minutter, er dine 15-minuttersbarer alt for grove til at fastslå indgangsprisen på en troværdig måde. Du bør antage, at det fill, du modellerer, er det bedste, der var tilgængeligt i det vindue, ikke det fill, du selv ville få.

Tjek nummer fem er det, jeg ville lave først, hvis jeg kun havde en time. Det er et rent naturligt eksperiment, og det kræver ikke ny infrastruktur ud over en ekstra datakilde.

Hvad afregningsvinduet faktisk koster dig

Antag, at effekten er reel, og at den består alle seks tjek. Beregn nu omkostningen ordentligt, for den handel, du modellerer, er ikke den handel, du faktisk ville få.

Her er en sammenligning af en handel med 20 minutters samlet varighed i en stille time og en, der går hen over en afregning, på en USDⓈ-M-perp med taker-indgang og taker-udgang for en position på $50k:

Stille time (f.eks. 03:20 UTC)Hen over 00:00 UTC
Takergebyr, samlet handel0.09%0.09%
Typisk betalt spread~0.4 bp1.5-3 bp
Slippage ved en position på $50k~0.5 bp2-6 bp
Betalt/modtaget funding0±1 til ±4 bp (hele intervallet)
Realistisk samlet omkostning~10 bp13-19 bp før funding

Fundingrækken er interessant, og det er derfor, jeg bliver ved med at insistere på tjek nummer et. Hvis du holder positionen hen over afregningen, betaler du funding for hele intervallet, uanset hvor længe du har holdt den. Tolv sekunders eksponering kl. 23:59:54 koster dig funding for hele otte timer. En strategi med en gennemsnitlig holdetid på 20 minutter, der går hen over afregningen, betaler carry for otte timer på en handel på tyve minutter. Din gebyrmodel skal opkræve det sådan, ikke fordele beløbet forholdsmæssigt.

En beslægtet fælde: Hvis du helt undgår at gå hen over afregningen — lukker kl. 23:58 og går ind igen kl. 00:02 — har du fordoblet antallet af gebyrer og kører nu en strategi, hvis tese er, at to ekstra taker-handler koster mindre end én fundingbetaling. Det kan godt passe. Beregn det direkte i stedet for at lade backtesten afgøre det for dig.

Regimespørgsmålet, du endnu ikke har stillet

Din stikprøve går fra feb. 2024 til jun. 2026. Funding var ikke i samme regime gennem hele perioden. I lange stræk lå 8-timersraten fast ved gulvet på 0.01%, og ingen havde grund til at ændre position omkring afregningen. I andre uger lå den på 0.05%+ i flere dage, og ordrestrømmen før afregningen var voldsom.

Opdel din P&L efter den gældende fundingrate på handelstidspunktet — for eksempel i fire intervaller baseret på den absolutte rate. Hvis fordelen skyldes fundingens ordrestrøm, bør den stige nogenlunde monotont med |funding|. Funding tæt på nul, fordel tæt på nul; høj funding, stor fordel. Hvis den derimod er flad på tværs af intervallerne eller, endnu værre, koncentreret i intervallet med lav funding, er fundingforklaringen en historie, du har knyttet til noget andet.

Jeg kan godt lide den her test, fordi den giver en forudsigelse, der kan modbevises, og som følger af din egen forklaring. Du spørger ikke, "virker den stadig?" — du spørger, "virker den af den grund, jeg påstod?"

Hvad jeg faktisk ville gøre med den

Hvis den består: gør den mindre. Den ærlige udgave af den her strategi er ikke 900 handler om året på et 15-minutters gitter, men nogle få hundrede velvalgte hændelser med indgangslogik angivet ned til sekundet og en fillmodel bygget på snapshots af ordrebogen, ikke kline-data. Så får du noget mindre, grimmere og lettere at forsvare. Det er også den udgave, der har en chance for at holde i paper trading, som er det eneste sted, du finder ud af, om de fills, du antog, faktisk findes.

Hvis den dumper tjek nummer to — forskydningen af tidsstempler — så bliv ikke alt for irriteret. Alle oplever det mindst én gang. Og det er værd at læse din loader grundigt igennem frem for blot at rette forskydningen, for hvis funding er forskudt, er open interest det måske også. Det er rart at vide, før du går videre til den næste idé.

En ting mere, og det er den del, folk springer over. Uanset hvad du finder, så skriv de seks tjek og resultaterne ned sammen med strategien. Om seks måneder vil du eller en anden generere et strukturelt identisk signal, få den samme smukke kurve og begynde den samme diskussion forfra. Diagnosen er det varige aktiv her. Strategien er det måske ikke.

fundingraterperpetual futuresbacktestingovertilpasningkrypto
← Alle indlæg