Backtesting term
Tekengegevens
Tickdata omvat elke koers en transactie die daadwerkelijk op de markt heeft plaatsgevonden, met de echte bied- en vraagprijs eraan gekoppeld, en niet slechts een enkele prijs die per bar is bemonsterd. Het is de basis voor eerlijke kostenmodellering, en de meeste backtests maken er geen gebruik van.
Een tick is een enkele koers- of handelsupdate, het moment waarop de markt daadwerkelijk een prijs vastlegde. Een candlestick van één minuut kan honderden ticks samenpersen tot vier getallen. Een candlestick van één uur zelfs tot duizenden. Alles wat in die compressie verloren gaat, is voorgoed verdwenen, en de backtest begint al blind voor die gegevens — voordat er ook maar één regel is toegepast, voordat de kosten überhaupt een rol spelen.
Dat is vooral belangrijk aan de randen van de candlestick, omdat een candlestick de spread niet registreert. Hij toont één prijs, niet de twee prijzen die op een bepaald moment daadwerkelijk verhandelbaar waren: de biedprijs waartegen je zou hebben verkocht en de vraagprijs waartegen je zou hebben gekocht, die alleen correct worden weergegeven in de bied/vraagspread . Als je één keer per candlestick meet, verdwijnt die gap simpelweg uit de data.
Bij een backtest op basis van slotkoersen handelt de strategie tegen een fictieve middenprijs die nooit een daadwerkelijke koers is geweest. Elke instap ziet er iets beter uit dan in werkelijkheid. Elke uitstap ziet er iets slechter uit dan de realiteit vereist. Als je dit over duizenden transacties herhaalt, blijkt de equity curve van de strategie zichzelf te vleien met uitgevoerde orders die niemand had kunnen uitvoeren.
Voor FX gebruiken we echte tickdata met daadwerkelijke bied- en vraagprijzen, zodat spreads en slippage worden gemeten in plaats van geschat. We testen alleen tijdsframes van 30 minuten en langer; FX met een tijdsframe van minder dan 15 minuten is te kostbaar voordat een strategie een eerlijke kans krijgt. Voor futures bouwen we 13 jaar aan historische gegevens op basis van CME-data, samengevoegd tot aaneengesloten contracten , zodat een strategie handelt in één overzichtelijke prijsreeks in plaats van een stapel aan elkaar geplakte aflopende maanden.
Dit is allemaal geen theoretische kwestie. Een systeem dat winst maakt op de middenprijs kan verliesgevend zijn zodra je de werkelijke kosten van een echte transactie voor in- en uitstappen in rekening brengt. Goedkope data levert goedkope antwoorden op, vermomd als wetenschappelijke nauwkeurigheid. Als het kostenmodel achter een backtest een gok is, is het oordeel over de strategie dat ook, hoe netjes de equity curve er ook uitziet.
Binnen ons data- en kostenmodel →
Het onderzoek hierachter
- López de Prado (2018). “Advances in Financial Machine Learning.” Wiley. — Behandelt backtest-overfitting en datalekken, de discipline die realistische kostengegevens op tick-niveau juist moeten ondersteunen, niet ondermijnen.
- Sullivan, Timmermann & White (1999). “Data-Snooping, Technical Trading Rule Performance, and the Bootstrap.” Journal of Finance 54(5). — Laat zien hoe winnende handelsregels binnen de steekproef vaak falen buiten de steekproef, dezelfde kloof die kan worden verhuld door slordige backtestgegevens die geen tick-informatie bevatten.
Extern onderzoek, met links voor context en verdere lectuur. FoxAlgo is onafhankelijk en niet gelieerd aan deze auteurs of uitgevers.
Dit zijn de voorwaarden achter De Nee-lijst — de volledige audit, waarbij elke strategie en indicator wordt genoemd, met het oordeel en de exacte reden waarom deze wel of niet is aangenomen.
Download de 'Nee'-lijst →