Du skickade mig aktiekurvan och handelsloggen och frågade om det är för bra för att vara sant. Kort svar: det är varken uppenbart äkta eller uppenbart falskt, och du kan ta reda på vilket på ungefär en dags arbete. Det längre svaret följer, eftersom diagnosen är viktigare än domen.
Det här har du: en mean-reversion-signal på 15 minuter för BTCUSDT- och ETHUSDT-perps på Binance, z-score för priset jämfört med ett medelvärde över 96 staplar, gå emot ytterligheterna och håll i 2-8 staplar. Backtestet sträcker sig från feb 2024 till jun 2026. Sharpe 2.9 efter din avgiftsmodell. När du sedan grupperade P&L efter minut på dagen hamnade 71% av den i de tre femtonminutersintervall som innehåller 00:00, 08:00 och 16:00 UTC.
Du vet redan varför det är misstänkt. Låt mig förklara varför det också delvis inte är det.
Fundingklockan finns på riktigt och den påverkar priset
Binance avräknar funding för perpetual futures kl. 00:00, 08:00 och 16:00 UTC. Varje position som är öppen vid avräkningstillfället betalar eller får funding. Det är ett fast, schemalagt och allmänt känt kassaflöde som skapar verkligt orderflöde kring avräkningen — det är ingen dataartefakt, utan något som handlare faktiskt gör.
Flödet har ett mönster. Under de tio till trettio minuterna före avräkningen stänger eller säkrar de positioner som inte vill betala. Om funding ligger på +0.04% för intervallet går en lång position som ändå ska stängas ut före avräkningen i stället för efter, medan en basistrader som ligger kort perp gärna håller kvar positionen. Det skapar ett asymmetriskt tryck med en deadline. Direkt efter avräkningen kommer sedan en del av flödet tillbaka — de fundingundvikande långa positionerna går in igen — och då får du en partiell rekyl.
En mean-reversion-signal som utlöses kl. 23:52 och stängs kl. 00:12 står alltså precis där en förutsägbar likviditetshändelse inträffar. En del av din edge är sannolikt rekylen efter en mekanisk, kalenderstyrd prisrörelse. Det är ett verkligt mikrostrukturfenomen som har funnits i flera år.
Men innan jag skulle tro på ett så stort resultat som ditt vill jag veta följande.
Sex saker att kontrollera, i den ordning jag skulle göra det
Börja med det billigaste, för de flesta sådana här strategier faller på kontroll två eller tre.
- Dubbelräknas din funding-P&L? Om din fillmotor tillämpar funding på öppna positioner och din prisserie bygger på mark price i stället för senaste avslut, kan du betala eller få funding två gånger — en gång uttryckligen och en gång genom markpriset när det konvergerar. Skriv ut det råa fundingkassaflödet per affär och jämför tio av dem med börsens historiska funding-endpoint.
- Vilken tidsstämpel har din fundingrad? Binances historik över fundingräntor returnerar ett fundingTime som är själva avräkningstidpunkten. Vissa leverantörer skickar samma rad tidsstämplad vid början av intervallet den gäller för. Om din är förskjuten med åtta timmar har du handlat på en signal som känner till framtiden. Det här är det vanligaste sättet jag har sett en falsk funding-edge uppstå på, och det ger exakt din P&L-profil — koncentrerad kring avräkningsstaplarna, med rätt tecken och snygg som bara den.
- Vad händer med spreaden kl. 00:00:00? Hämta orderboken, inte klines. På en 1-minutsstapel syns spreaden inte; sekunderna kring avräkningen kan den bli 3-5x bredare på en mellanstor handelsplats. Om dina fills modelleras till mittpriset eller stängningspriset får du tillgodoräkna dig en spread som inte fanns där.
- Fungerar den fortfarande vid enbart de två andra avräkningarna? Dela upp de tre tidsfönstren. 00:00 UTC har ett annat flöde än 08:00 (ungefär vid Asiens öppning) och 16:00 (på eftermiddagen i USA). Om alla pengar kommer från ett av de tre fönstren har du ungefär 300 händelser, inte 900, och Sharpe bör räknas om utifrån det.
- Fungerar den fortfarande på en handelsplats med en annan klocka? Det här är det bästa testet. Kör samma signal på en handelsplats där funding avräknas varje timme eller enligt ett annat schema. Om effekten drivs av funding bör den följa den handelsplatsens klocka. Om signalen fortfarande utlöses kl. 00:00 UTC på en handelsplats som inte avräknar funding kl. 00:00 UTC har du hittat en midnattsartefakt i datapipelinen, inte en fundingeffekt.
- Hur stor del av P&L ligger under de första och sista 90 sekunderna? Om hela edgen ryms i ett fönster på mindre än två minuter är dina 15-minutersstaplar alldeles för grova för att ge en rättvis bild av ingångspriset. Du bör utgå från att fillen du modellerar är den bästa som går att få under det fönstret, inte den du själv skulle få.
Kontroll fem är den jag skulle göra först om jag bara hade en timme. Det är ett rent naturligt experiment och kräver ingen ny infrastruktur utöver en andra datakälla.
Vad avräkningsfönstret faktiskt kostar dig
Anta att effekten är verklig och att strategin klarar alla sex kontrollerna. Beräkna nu kostnaden ordentligt, för affären du modellerar är inte den affär du faktiskt skulle få.
Här jämför vi en affär med 20 minuters innehavstid under en lugn timme med en som sträcker sig över en avräkning, på en USDⓈ-M-perp med taker-ingång och taker-utgång, för en position på $50k:
| Lugn timme (t.ex. 03:20 UTC) | Över 00:00 UTC | |
|---|---|---|
| Takeravgift, tur och retur | 0.09% | 0.09% |
| Typisk betald spread | ~0.4 bp | 1.5-3 bp |
| Slippage för en position på $50k | ~0.5 bp | 2-6 bp |
| Betald/mottagen funding | 0 | ±1 till ±4 bp (hela intervallet) |
| Realistisk totalkostnad | ~10 bp | 13-19 bp före funding |
Fundingraden är den intressanta, och det är därför jag fortsätter att trycka på kontroll ett. Om du håller positionen över avräkningen får du hela intervallets funding oavsett hur länge du höll den. Tolv sekunders exponering kl. 23:59:54 kostar dig åtta timmars funding. En strategi med 20 minuters genomsnittlig innehavstid som går över avräkningen betalar åtta timmars carry för en affär på tjugo minuter. Avgiftsmodellen måste ta ut hela kostnaden, inte proportionera den efter tiden.
En närliggande fallgrop: om du helt undviker att hålla över avräkningen — stänger kl. 23:58 och går in igen kl. 00:02 — har du fördubblat antalet avgiftsbelagda avslut. Då kör du en strategi vars hela tes är att två extra takeravslut kostar mindre än en fundingbetalning. Ibland stämmer det. Räkna ut det uttryckligen i stället för att låta backtestet avgöra åt dig.
Regimfrågan du ännu inte har ställt
Ditt urval sträcker sig från feb 2024 till jun 2026. Funding var inte i samma regim under hela den perioden. Under långa perioder låg 8-timmarsräntan fast vid golvet på 0.01%, och ingen hade anledning att ompositionera sig kring avräkningen. Andra veckor låg den på 0.05%+ i flera dagar och flödet före avräkningen var våldsamt.
Gruppera din P&L efter den rådande fundingräntan vid affärstillfället — säg fyra grupper baserade på den absoluta räntan. Om edgen drivs av fundingflöden bör den i stort sett öka monotont med |funding|. Nära noll i funding, nära noll i edge; hög funding, hög edge. Om den i stället är jämn mellan grupperna, eller ännu värre koncentrerad till gruppen med låg funding, är fundingförklaringen en berättelse du har lagt till i efterhand för att förklara något annat.
Jag gillar det här testet eftersom det ger en prövbar förutsägelse som följer av din egen förklaring. Du frågar inte ”fungerar det fortfarande?” utan ”fungerar det av den anledning jag påstod?”.
Vad jag faktiskt skulle göra med den
Om den klarar testerna: skala ned den. Den ärliga versionen av den här strategin är inte 900 affärer om året på ett 15-minutersintervall, utan några hundra väl valda händelser med ingångslogik specificerad på sekunden och en fillmodell byggd på ögonblicksbilder av orderboken, inte klines. Det blir mindre, fulare och lättare att försvara. Det är också den version som har en chans att ge samma resultat i paper trading, vilket är enda sättet att ta reda på om fillarna du antog faktiskt går att få.
Om den faller på kontroll två — tidsstämpelförskjutningen — behöver du inte bli alltför irriterad. Alla råkar ut för det åtminstone en gång. Läs igenom dataladdaren noga i stället för att bara justera tidsförskjutningen, för om funding är förskjuten finns det en rimlig chans att open interest också är det. Det vill du veta innan nästa idé.
En sak till, och det här är den del folk hoppar över. Oavsett vad du kommer fram till, skriv ned de sex kontrollerna och resultaten bredvid strategin. Om sex månader kommer du eller någon annan att skapa en strukturellt identisk signal, få samma fantastiska kurva och börja om exakt samma diskussion från början. Diagnosen är den bestående tillgången här. Strategin kanske inte är det.
← Alla inlägg


