Geautomatiseerd handelen
Geautomatiseerd handelen · gids 5 van 14

Eerlijk backtesten van een strategie

Overfitting, look-ahead bias, fees en slippage modelleren – waarom de meeste backtests liegen en hoe je de jouwe eerlijk maakt.

6 min leestijdGecontroleerd door Pim Feltkamp · 11 aug 2026Vertaald uit het Engelse origineel

Kort samengevat

Backtests liegen standaard in jouw voordeel; jouw taak is elke optimistische vertekening te vinden en om te keren, niet de equity curve te bewonderen.

In deze gids
  1. Waarom de meeste backtests je vleien
  2. Overfitting: tunen tot het verleden perfect lijkt
  3. Look-ahead bias en verwante vertekeningen
  4. Fees, slippage en de kosten van vaak handelen
  5. De resultaten beoordelen als een scepticus
  6. Belangrijkste punten

Backtesten betekent dat je een tradingstrategie loslaat op historische koersdata om te zien hoe die zou hebben gepresteerd. Eerlijk gedaan is het de goedkoopste manier om een slecht idee te doden voordat het je geld kost. Onzorgvuldig gedaan – wat de standaard is – levert het prachtige equity curves op die verdampen zodra er echt geld mee in aanraking komt, omdat de test stiekem kennis, fills en kosten veronderstelde die geen enkele live trader ooit krijgt.

Waarom de meeste backtests je vleien

Een backtest is een simulatie, en elke vereenvoudiging in die simulatie slaat meestal in jouw voordeel door. Historische candles tonen de spread niet die je zou hebben moeten oversteken. De strategie die je test is meestal de overlever van tientallen verworpen varianten, dus haar resultaten zijn al geselecteerd op geluk. En de coins die je koos om te testen zijn doorgaans degene die het goed genoeg deden om nog op je radar te staan.

Niets hiervan vereist oneerlijkheid. Het gebeurt via een reeks afzonderlijk redelijke keuzes: "ik pas alleen even deze drempel aan", "ik test op BTC omdat daar de meeste data voor is", "ik negeer fees voorlopig en voeg ze later toe". Elke keuze brengt een kleine optimistische vertekening aan, en de vertekeningen stapelen zich op. Een strategie die in een naïeve backtest +80% over twee jaar laat zien, kan gemakkelijk vlak of negatief zijn zodra je de vier onderstaande problemen meerekent. Het doel van eerlijk backtesten is niet elke vertekening te elimineren – dat is onmogelijk – maar te weten in welke richting elk ervan duwt en ervoor te zorgen dat ze allemaal tegen je werken in plaats van voor je.

Overfitting: tunen tot het verleden perfect lijkt

Overfitting is je strategie afstemmen op de ruis in één specifiek stuk geschiedenis in plaats van op iets wat herhaalbaar is. Het is de meest voorkomende manier waarop backtests liegen.

Het mechanisme is eenvoudig. Stel dat je een RSI-mean-reversionbot test en koopdrempels van 20, 25, 30 en 35 probeert, met take-profits van 2%, 3% en 5%, op drie timeframes. Dat zijn 36 combinaties. Zelfs als het onderliggende idee geen enkele edge heeft, ziet er op elke gegeven dataset door puur toeval een van die 36 er geweldig uit – en die ben je geneigd te houden. Je hebt geen edge ontdekt; je hebt een loterij gespeeld en het winnende lot bewaard.

Waarschuwingssignalen van een overfitte strategie:

  • Verdacht specifieke parameters. RSI 27,5 met een take-profit van 3,8% presteert geweldig, maar RSI 25 of 30 verliest geld. Een echte edge neemt geleidelijk af als je parameters verschuift; een valse valt van een klif.
  • Veel regels, weinig trades. Een strategie met zes instapvoorwaarden die in twee jaar 40 keer afging, heeft ruwweg één regel per zeven trades. Dat is uit het hoofd leren, geen strategie.
  • Prestaties geconcentreerd in een handvol trades. Als de equity curve vlak wordt zodra je de drie beste trades weghaalt, heb je een paar gelukkige gebeurtenissen gebacktest.

De verdedigingen zijn even eenvoudig, al zijn ze ongemakkelijk: geef de voorkeur aan minder parameters, test of aangrenzende parameterwaarden ook werken (een plateau van redelijke resultaten is meer waard dan één spectaculaire piek) en eis een steekproef van minstens een paar honderd trades voordat je een statistiek vertrouwt.

Look-ahead bias en verwante vertekeningen

Look-ahead bias betekent dat je simulatie informatie gebruikt die op het moment van de gesimuleerde trade niet beschikbaar was. Het is in code vaak onzichtbaar en altijd fataal voor de geldigheid.

Veelvoorkomende vormen:

  • Handelen op een niet-gesloten candle. Een indicator die op de slotkoers van een candle wordt berekend, is pas bekend wanneer die candle sluit – vaak de meest voorkomende bug in zelfgebouwde backtests. Als je test koopt tegen de slotkoers van diezelfde candle op het moment dat het signaal ontstaat, is dat prima; als hij koopt tegen de opening of het laagste punt van die candle, heb je door de tijd gereisd.
  • Repainting-indicatoren. Sommige indicatoren (bepaalde zigzag-, fractal- of afgevlakte signalen) herberekenen eerdere waarden zodra er nieuwe data binnenkomt. Gebacktest op definitieve historische waarden lijken ze profetisch; live tekent het signaal waarop je handelde zichzelf opnieuw.
  • Survivorship bias. Alleen testen op de huidige top 20 van coins betekent alleen testen op activa die per definitie niet zijn ingestort. De portefeuille uit 2021 met coins die later 95% daalden of werden gedelist, zag er heel anders uit dan wat een top-20-selectie vandaag laat zien.
  • Data snooping over meerdere pogingen heen. Elke keer dat je de resultaten over de volledige geschiedenis bekijkt en daarna de strategie aanpast, is die volledige geschiedenis geen eerlijke test meer. Je hebt al je data in trainingsdata veranderd.

De structurele oplossing is out-of-sample testen: zet een deel van de geschiedenis weg – zeg de meest recente 30% – voordat je begint te tunen. Tune alleen op het oudere deel en laat de afgewerkte strategie daarna één keer lopen op de achtergehouden data. Als de prestaties out-of-sample instorten, onthield de strategie alleen maar in plaats van te generaliseren. Walk-forward testing breidt dit uit: tune herhaaldelijk op een venster, test op het volgende stuk en rol vooruit, zodat elke geteste periode bij het tunen echt ongezien was.

Fees, slippage en de kosten van vaak handelen

Kostenmodellering is waar eerlijke en oneerlijke backtests in ruwe cijfers het meest uiteenlopen, omdat kosten meeschalen met de handelsfrequentie en kleine remmingen per trade hevig oplopen.

Een rekenvoorbeeld. Een bot doet gemiddeld drie round trips per dag. Takerfees van 0,10% per kant kosten 0,20% per round trip. Tel daar een realistische 0,05% per kant bij voor spread en slippage op een liquide paar – meer bij dunne paren – en elke round trip kost ruwweg 0,30%. Bij drie trades per dag is dat ongeveer 0,9% van het verhandelde kapitaal per dag aan wrijving. Een strategie waarvan een gemiddelde winnende round trip vóór kosten 0,5% oplevert, is niet marginaal – het is een donatiemachine, hoe glad haar equity curve zonder fees er ook uitziet.

Een eerlijke backtest:

  • Rekent de takerfee aan, tenzij de strategie echt limietorders laat staan, en modelleert het reële risico dat openstaande orders niet worden uitgevoerd wanneer de koers wegloopt.
  • Voegt slippage toe die meeschaalt met ordergrootte en marktomstandigheden – fills tijdens een volatiele breakout zijn slechter dan de candle laat zien, en stoporders in een crash kunnen ver onder het stopniveau worden uitgevoerd.
  • Gebruikt feetiers die jij echt zou hebben, niet de VIP-tier van de marketingpagina van een exchange.
  • Draait de test opnieuw met 50% hogere kosten als stresstest. Een echte edge overleeft dat; een luchtspiegeling die gevoelig is voor kosten niet.

De resultaten beoordelen als een scepticus

Zelfs een schone backtest moet sceptisch worden gelezen. Het totale rendement is het minst informatieve getal op het rapport.

Kijk in plaats daarvan naar de maximale drawdown (zou je de bot echt hebben laten draaien door een daling van 40% in jaar één?), het aantal trades (minder dan ~100 betekent brede foutmarges op alles) en hoe rendementen over tijd en activa zijn verdeeld. Vergelijk met een domme benchmark: als simpelweg hetzelfde activum houden over dezelfde periode meer opleverde met minder complexiteit, voegde de strategie negatieve waarde toe. Controleer de afhankelijkheid van het marktregime door resultaten op te splitsen in stijgende, dalende en zijwaartse perioden – veel cryptostrategieën zijn gewoon "long tijdens een bullmarkt" in een indicatorkostuum.

Behandel ten slotte backtestprestaties als een plafond, niet als een schatting. Live resultaten zijn bijna altijd slechter: markten verschuiven, uitvoering valt tegen en het resterende optimisme dat je niet kon verwijderen, komt je op de rekening te staan. Een gangbare nuchtere regel is te eisen dat een strategie na alle kosten en out-of-sample-testen duidelijk goed oogt – niet marginaal –, daarna live te starten met een kleine positiegrootte, gedurende een paar weken de live fills te vergelijken met de gesimuleerde (eerst paper trading helpt) en alleen op te schalen als de werkelijkheid de simulatie volgt.

Belangrijkste punten

  • Backtests liegen standaard in jouw voordeel; jouw taak is elke optimistische vertekening te vinden en om te keren, niet de equity curve te bewonderen.
  • Overfitting is de grootste killer: geef de voorkeur aan weinig parameters, eis honderden trades en vertrouw parameterplateaus meer dan pieken.
  • Look-ahead bias – niet-gesloten candles, repainting-indicatoren, door survivorship gefilterde coinlijsten – maakt een test volledig ongeldig; houd recente data achter waarop je nooit tunet.
  • Modelleer takerfees, spread en slippage per round trip; strategieën met een hoge handelsfrequentie sterven vaak aan realistische kosten van ~0,2-0,4% per trade.
  • Behandel backtestresultaten als een plafond: vergelijk met buy-and-hold, stresstest de kosten en ga eerst met een klein bedrag live voordat je iets gelooft.

Educatieve content, geen financieel advies. Lees de volledige disclaimer.

Woordenlijsttermen in deze gids