Een backtest is de meest overtuigende leugen in trading. De equitycurve loopt netjes omhoog naar rechts, de winratio oogt gezond, en de drawdowns voelen overkomelijk aan. Vervolgens verhandel je de strategie live en verdampt de edge stilletjes. Dit is geen pech. Backtests overschatten de live prestaties op systematische, voorspelbare manieren, en zodra je de faalpatronen kent, ben je er niet meer door verrast.
Deze post gaat ervan uit dat je al weet hoe je een backtest uitvoert. Zo niet, begin dan met de bijbehorende gids over hoe je een tradingstrategie backtest, die de mechanica, steekproefgrootte en forward testing behandelt. Hier gaan we dieper in op een lastigere vraag: waarom het getal dat een backtest je geeft bijna altijd beter is dan het getal dat je daadwerkelijk zult verdienen.
Een Backtest Is een Beste Geval, Geen Schatting
Het kernprobleem is dat een backtest geen neutrale meting is. Het is de uitkomst van een proces waarin je tientallen kleine keuzes hebt gemaakt, en elk van die keuzes had de kans om optimisme in het resultaat te laten sijpelen. Je koos de markt, de periode, de indicator, de parameters, de exit. Elke beslissing werd genomen met enige kennis van wat werkte. Die kennis is de besmetting.
Statistisch gezien is het resultaat dat je overhoudt geen willekeurige trekking uit de verdeling van mogelijke uitkomsten. Het is het maximum van vele ruizige trekkingen. Wanneer je de beste van honderd dingen selecteert, meet je geen vaardigheid, maar de bovenste staart van geluk. Wat volgt is een catalogus van de mechanismen die die opwaartse vertekening produceren.
Vijf manieren waarop een backtest de live prestaties overschat
| Vertekening | Hoe het het resultaat opblaast | Hoe je het herkent | Oplossing |
|---|---|---|---|
| Survivorship | Test alleen activa die tot nu toe hebben overleefd | Controleer of het universum point-in-time is | Gebruik een dataset inclusief delistings |
| Look-ahead | Gebruikt data die op het handelsmoment niet bekend kon zijn | Traceer elk signaal terug naar zijn tijdstempel | Vertraag de data; vul in op de volgende bar |
| Overfitting | Beste van veel afgestemde runs oogt geweldig door geluk | Tel je parameters en je runs | Minder parameters; out-of-sample testen |
| Kostenblindheid | Negeert spread, slippage, commissie | Bereken alles opnieuw netto na echte kosten | Modelleer de heen-en-terugkosten per trade |
| Regimeafhankelijkheid | Codeert één markttijdperk als een wetmatigheid van markten | Noteer het geteste rente- en volatiliteitsregime | Test over bull, bear en hoge volatiliteit |
De Vijf Manieren Waarop het Getal Liegt
1. Survivorship Bias: Je Hebt Alleen de Winnaars Getest
Stel dat je een eenvoudig idee backtest: koop de dip op S&P 500-aandelen. Je haalt de huidige indexleden op, downloadt hun koershistorie en simuleert het kopen van elke drawdown van 10%. De resultaten zijn uitstekend, omdat de strategie eruitziet alsof hij altijd herstelt. Dat is niet zo. Het lijkt alleen zo omdat elk bedrijf in je test tot vandaag heeft overleefd om in de index te staan.
De S&P 500 vervangt jaarlijks ongeveer 20 tot 25 bedrijven. Over een backtest van 20 jaar zijn dat meerdere honderden samenstellingswijzigingen die je nooit ziet. Je test heeft nooit de dip gekocht op Lehman Brothers, Bear Stearns, Enron of Washington Mutual, omdat die daalden en bleven dalen tot ze werden geschrapt uit de index. De strategie is nooit blootgesteld aan de verliezers. De conclusie dat "dips altijd herstellen" was ingebakken door de constructie van het universum, niet ontdekt in de data. Point-in-time-data die geschrapte namen bevat, is de enige eerlijke oplossing.
2. Look-Ahead Bias: Informatie Gebruiken die Je Niet Had
Look-ahead bias betekent dat je simulatie informatie gebruikte die op het moment van de trade niet beschikbaar was. De subtiele, veelvoorkomende versie is een timingfout. Stel dat je regel is "koop wanneer de dagelijkse slotkoers boven het 50-daags voortschrijdend gemiddelde uitkomt", en je backtest vult die koop op de slotkoers van dezelfde dag. In werkelijkheid kun je de slotkoers pas kennen nadat de sessie voorbij is, en tegen die tijd is de enige prijs waartegen je kunt handelen de volgende opening, die tegen je in kan gappen. Vullen tegen de signaalprijs in plaats van de eerstvolgende beschikbare prijs kan een edge fabriceren die niet bestaat.
De andere klassieke versie is herziene data. Bedrijfswinsten worden herzien. Als je backtest het uiteindelijke, herziene EPS-cijfer gebruikt dat vandaag in de database staat, handel je op cijfers die op de handelsdatum niet bekend waren, toen alleen het eerst gerapporteerde cijfer bestond. De regel is gemakkelijk te formuleren en gemakkelijk te overtreden: elke input moet vertraagd worden tot wat op dat tijdstempel bekend kon zijn.
3. Overfitting en de Valkuil van Meervoudige Vergelijkingen
De mechaniekgids behandelt basale curve-fitting. Het diepere probleem is statistisch. Als je 200 parametercombinaties test en elk beoordeelt tegen een significantiedrempel van 5%, zal ongeveer 10 daarvan er puur toevallig "significant" uitzien, zelfs als geen enkele een echte edge heeft. Het selecteren van de beste run is niet het vinden van de goede. Het is het vinden van de gelukkigste.
Een strategie met 12 geoptimaliseerde parameters heeft genoeg vrijheidsgraden om vrijwel elke historische prijsreeks te fitten. Hij heeft geen regel over markten geleerd, maar de specifieke ruis van je steekproef uit het hoofd geleerd. De eerlijke vuistregel volgt hier direct uit: hoe meer parameters je hebt afgesteld en hoe meer combinaties je hebt geprobeerd, hoe groter de korting die je op het resultaat moet toepassen. Een schoon systeem met drie parameters dat één keer is getest, verdient meer vertrouwen dan een systeem met twaalf parameters dat de winnaar was van een optimalisatie met duizend runs.
4. Kostenblindheid bij Transacties
Spreads, slippage en commissies worden per trade in rekening gebracht, dus ze stapelen zich op met frequentie. Een backtest die uitgaat van nul kosten modelleert je strategie niet, hij modelleert een fantasieversie die gratis handelt. Neem een kortetermijnsysteem met een dunne bruto edge van 0,10% per heen-en-terugtrade en realistische heen-en-terugkosten van 0,12% zodra je spread, slippage en commissie meetelt. De onderstaande grafiek zet het bruto rendement af tegen het netto rendement naarmate het aantal trades stijgt, met eenvoudige opgetelde rendementen voor de duidelijkheid.
Dezelfde strategie, bruto vs netto: een dunne edge die door kosten wordt opgevreten
Kijk wat er gebeurt. Bij 1.000 trades per jaar toont de bruto backtest een spectaculair rendement van 100%, terwijl het echte, voor kosten gecorrigeerde resultaat -20% is. Hoe meer deze strategie handelt, hoe beter de backtest eruitziet en hoe meer echt geld hij verliest, omdat de edge per trade de kosten per trade nooit heeft overleefd. Dit is waarom hetzelfde verleidelijke 40%-bruto hoogfrequente systeem stevig negatief netto kan uitpakken. Kosten vervormen ook stilletjes de risk-reward-ratio's die een backtest rapporteert, aangezien elke betaalde spread de echte beloning op elke winnaar verkleint.
5. Regimeafhankelijkheid
Een strategie die van 2010 tot 2021 is teruggetest, is bijna volledig binnen één enkel marktregime getest: nulrentes, kwantitatieve verruiming, lage volatiliteit en de langste bullmarkt in de geschiedenis. In die wereld herstelden dips en hielden trends aan, dus een mean-reversion- of trendvolgend systeem dat dat gedrag "leerde", codeert eigenlijk gewoon het regime alsof het een permanente wetmatigheid van markten was. Toen kwam 2022 met renteverhogingen, een bearmarkt en verhoogde volatiliteit, en de strategie kreeg te maken met omstandigheden die hij nog nooit had gezien. Een backtest die beperkt is tot één tijdperk vertelt je hoe een strategie het deed in dat tijdperk, en vrijwel niets over hoe hij de volgende omgaat.
Hoeveel Korting Moet Je Toepassen op een Backtest?
Je kunt deze vertekening niet volledig verwijderen, maar je kunt hem wel inprijzen. Behandel het hoofdgetal als een plafond en pas er een korting op toe naargelang hoe de test is opgebouwd. Hoe rommeliger het proces, hoe dieper de korting.
Hoeveel korting toe te passen op een backtest voordat je hem gelooft
| Kenmerk van de backtest | Realistische behandeling | Waarom |
|---|---|---|
| Alleen in-sample, één marktregime | Zware korting of verwerpen | Hij heeft nooit een andere wereld gezien |
| 10+ geoptimaliseerde parameters | Zware korting | Waarschijnlijk de steekproef uit het hoofd geleerd |
| Kosten aangenomen als nul of genegeerd | Kan het teken omdraaien | Netto is het enige getal dat telt |
| Universum zonder survivorship | Matige korting | De verliezers zijn stilletjes verwijderd |
| Out-of-sample, walk-forward, realistische kosten | Lichte korting, toch live verifiëren | Dichtst bij eerlijk wat je kunt krijgen |
Wat Werkelijk Helpt
Niets hiervan betekent dat backtesten nutteloos is. Het betekent dat een backtest een filter is dat slechte ideeën verwijdert, geen belofte over goede ideeën. Een paar praktijken versmallen de kloof tussen de backtest en de realiteit aanzienlijk. Reserveer out-of-sample-data die het model nooit heeft aangeraakt, en gebruik walk-forward testing. Pas een agressieve korting toe naar gelang het aantal parameters. Test bewust over verschillende regimes, inclusief de lelijke. En bevestig dat live uitvoering daadwerkelijk de fills en positiegroottes kan behalen die de backtest veronderstelde, want een systeem dat stilletjes leunt op perfecte entries of je regels voor positiegrootte negeert, zal zich heel anders gedragen met echt geld op het spel.
Het laatste filter is papertrading, en daarna klein live handelen. Een backtest leeft in een wereld zonder gemiste fills, zonder emoties en zonder verrassingen. Echte uitvoering is de enige test die alle drie omvat.
Belangrijkste Punten
- Een backtest is de beste van vele ruizige proeven, dus is hij al opwaarts vertekend voordat je hem zelfs maar leest.
- Survivorship bias test alleen de activa die overleefden; look-ahead bias handelt op informatie die je niet had.
- Overfitting schaalt mee met het aantal parameters en het aantal geprobeerde combinaties, dus pas de korting daarop aan.
- Kosten worden per trade in rekening gebracht en kunnen een groot bruto rendement stevig negatief netto maken.
- Een backtest binnen één regime codeert dat regime als wet en breekt zodra het regime verandert.
Een backtest vertelt je dat een strategie zou hebben gewerkt. Hij vertelt je nooit dat hij zal werken. De kloof tussen die twee zinnen is waar de meeste tradingrekeningen sterven.
Disclaimer: Deze inhoud is uitsluitend bedoeld voor educatieve doeleinden en vormt geen financieel advies. Handelen brengt aanzienlijk risico op verlies met zich mee. Prestaties uit het verleden bieden geen garantie voor toekomstige resultaten.