Aan de slag

Backtesten zoals het hoort: het verschil tussen tests die werken en tests die liegen

De meeste backtests zijn overgefit op historische data. Zo zet je een backtest op die je echt iets bruikbaars vertelt over toekomstige prestaties.

Het probleem van overfitting

Geef een computer genoeg parameters om te optimaliseren en hij vindt een combinatie die op historische data spectaculaire rendementen oplevert. Over de toekomst zegt dat vrijwel niets. De strategie heeft het verleden uit het hoofd geleerd, maar er niets van opgestoken. Dat heet overfitting, en het is veruit de meest voorkomende reden waarom gebackteste strategieën bij live handelen falen.

Bailey, Borwein en Lopez de Prado publiceerden in de Notices of the American Mathematical Society een paper met de titel “Pseudo-Mathematics and Financial Charlatanism”. Hun belangrijkste bevinding: hoge gesimuleerde prestaties zijn makkelijk te bereiken na het testen van een relatief klein aantal alternatieve strategieconfiguraties. Bij geheugeneffecten leidt backtest-overfitting tot negatieve verwachte rendementen out-of-sample. Niet nul. Negatief. Dat betekent dat de overgefitte strategie naar verwachting geld gaat verliezen.

Hetzelfde team publiceerde in 2015 “The Probability of Backtest Overfitting” in het Journal of Computational Finance en introduceerde daarmee een formeel raamwerk om te berekenen hoe waarschijnlijk het is dat een bepaalde backtest overgefit is. Hun Deflated Sharpe Ratio corrigeert voor selectiebias bij meervoudig testen en voor niet-normaal verdeelde rendementen.

Over out-of-sample testen valt niet te onderhandelen

De minimumnorm voor elke backtest is validatie out-of-sample. Splits je data in ten minste twee periodes. Ontwikkel je strategie op de eerste periode (in-sample) en test haar daarna zonder enige aanpassing op de tweede (out-of-sample). Verslechteren de prestaties out-of-sample aanzienlijk, dan is de strategie overgefit.

Walk-forward-analyse gaat een stap verder. In plaats van één splitsing train je telkens opnieuw op een voortschuivend venster van data en test je op de periode die daarop volgt. Train op jaar 1-3, test op jaar 4. Train op jaar 2-4, test op jaar 5. Enzovoort. Zo simuleer je hoe de strategie in de praktijk werkelijk zou worden gebruikt, met parameters die periodiek opnieuw worden geoptimaliseerd op recente data.

De verhouding tussen de prestaties out-of-sample en in-sample is de belangrijkste maatstaf. Een strategie met een Sharpe-ratio van 2.0 in-sample en 1.4 out-of-sample verslechtert met 30%, wat eigenlijk heel redelijk is en op een echte edge wijst. Een strategie met 3.0 in-sample en 0.5 out-of-sample is vrijwel volledig overgefit en moet je niet handelen. Volgens rapporten faalt meer dan 90% van de academische strategieën bij live handelen, en Sharpe-ratio's van 3.0+ in een backtest worden in productie vaak negatief.

Transactiekosten en slippage

Voor een strategie die 50 keer per dag handelt, ligt de lat veel hoger dan voor een strategie die twee keer per maand handelt. Elke trade brengt kosten met zich mee: de bied-laatspread, de kosten van de exchange en slippage.

Uit data van Kaiko Research uit 2024 blijkt dat de gemiddelde spread voor BTC-USDT op Binance rond de 0.0014 basispunten ligt, terwijl BTC-USD op Coinbase gemiddeld rond de 0.086 basispunten uitkomt. Bij kleinere altcoins kunnen spreads oplopen tot hele procentpunten. Bij institutionele brokers is in crypto een negatieve TWAP-slippage van -1 tot -2 basispunten gebruikelijk.

De kosten van exchanges tikken aan: Binance rekent 0.10% maker/taker op spot; OKX 0.08% maker en 0.10% taker; bij Coinbase Advanced loopt het uiteen van 0.00-0.40% maker en 0.05-0.60% taker, afhankelijk van de volumestaffel. Een realistische backtest moet met al deze kosten rekening houden, en veel amateurbacktests doen dat niet.

Survivorship bias

Als je universum alleen assets bevat die nu genoteerd zijn, is je backtest vertekend. Bedrijven die failliet gingen, tokens die naar nul gingen en instrumenten waarvan de notering is geschrapt, ontbreken in de data. Omdat juist die doorgaans het slechtst presteerden, laat hun afwezigheid elke longstrategie er beter uitzien dan ze in werkelijkheid was. In crypto is het effect ernstig, omdat honderden tokens die in 2017-2018 werden gelanceerd naar nul zijn gegaan en in de meeste datafeeds niet meer voorkomen.

Een degelijke backtest gebruikt point-in-time-data met alle effecten die op elk historisch moment beschikbaar waren, inclusief de effecten die daarna zijn verdwenen.

De duur van een drawdown doet ertoe

De maximale drawdown vertelt je wat de grootste daling van piek tot dal was. Maar voor het handelen in de praktijk is de duur van een drawdown net zo belangrijk. Een strategie kan een maximale drawdown van slechts 15% hebben, maar als die drawdown 18 maanden aanhield, zouden de meeste traders haar hebben opgegeven lang voordat ze herstelde. Als je zowel de diepte als de duur van historische drawdowns kent, kun je beter inschatten of je een strategie ook echt volhoudt tijdens de onvermijdelijke verliesperiodes.

Verder lezen

GESCHREVEN DOOR
Blockcircle-team

Financiële marktinformatie over crypto, aandelen, grondstoffen, edelmetalen en voorspellingsmarkten.