Backtesting
Wat is backtesting?
Backtesting is de algemene methode om te zien hoe goed een strategie of model het achteraf zou hebben gedaan. Backtesting beoordeelt de levensvatbaarheid van een handelsstrategie door te ontdekken hoe deze eruit zou zien met behulp van historische gegevens. Als backtesting werkt, kunnen handelaren en analisten het vertrouwen hebben om het in de toekomst te gebruiken.
Belangrijkste leerpunten
- Backtesting beoordeelt de levensvatbaarheid van een handelsstrategie of prijsmodel door te ontdekken hoe het achteraf zou hebben uitgepakt met behulp van historische gegevens.
- De onderliggende theorie is dat elke strategie die in het verleden goed heeft gewerkt, waarschijnlijk ook in de toekomst goed zal werken, en omgekeerd, elke strategie die in het verleden slecht heeft gepresteerd, zal in de toekomst waarschijnlijk ook slecht presteren.
- Bij het testen van een idee op historische gegevens is het nuttig om een tijdsperiode met historische gegevens te reserveren voor testdoeleinden. Als het lukt, kan het testen op alternatieve tijdsperioden of gegevens buiten de steekproef helpen om de mogelijke levensvatbaarheid ervan te bevestigen.
Inzicht in backtesting
Met backtesting kan een handelaar een handelsstrategie simuleren met behulp van historische gegevens om resultaten te genereren en het risico en de winstgevendheid te analyseren voordat hij daadwerkelijk kapitaal riskeert.
Een goed uitgevoerde backtest die positieve resultaten oplevert, verzekert traders dat de strategie fundamenteel gezond is en waarschijnlijk winst zal opleveren wanneer deze in de praktijk wordt geïmplementeerd. Een goed uitgevoerde backtest daarentegen die suboptimale resultaten oplevert, zal traders ertoe aanzetten om de strategie te wijzigen of af te wijzen.
Bijzonder gecompliceerde handelsstrategieën, zoals strategieën die worden geïmplementeerd door geautomatiseerde handelssystemen, zijn sterk afhankelijk van backtesting om hun waarde te bewijzen, omdat ze te geheimzinnig zijn om anders te beoordelen.
Zolang een handelsidee kan worden gekwantificeerd, kan het worden getoetst. Sommige handelaren en investeerders kunnen de expertise van een gekwalificeerde programmeur zoeken om het idee in een toetsbare vorm te ontwikkelen. Meestal houdt dit in dat een programmeur het idee codeert in de eigen taal die wordt gehost door het handelsplatform.
De programmeur kan door de gebruiker gedefinieerde invoervariabelen opnemen waarmee de handelaar het systeem kan “tweaken”. Een voorbeeld hiervan is het eenvoudige voortschrijdend gemiddelde (SMA) crossover-systeem. De handelaar zou de lengtes van de twee voortschrijdende gemiddelden die in het systeem worden gebruikt, kunnen invoeren (of wijzigen). De handelaar zou dan een backtest kunnen uitvoeren om te bepalen welke lengtes van voortschrijdende gemiddelden het beste zouden hebben gepresteerd op basis van de historische gegevens.
Het ideale scenario voor backtesting
De ideale backtest kiest voorbeeldgegevens uit een relevante tijdsperiode met een duur die een verscheidenheid aan marktomstandigheden weerspiegelt. Op deze manier kan men beter beoordelen of de resultaten van de backtest een toevalstreffer of een gezonde handel vertegenwoordigen.
De historische dataset moet een echt representatieve steekproef van aandelen bevatten, inclusief die van bedrijven die uiteindelijk failliet gingen of werden verkocht of geliquideerd. Het alternatief, dat alleen gegevens bevat van historische aandelen die er nog steeds zijn, zal kunstmatig hoge rendementen opleveren bij backtesting.
Bij een backtest moet rekening worden gehouden met alle handelskosten, hoe onbeduidend ook, aangezien deze in de loop van de backtestingsperiode kunnen oplopen en de winstgevendheid van een strategie drastisch kunnen beïnvloeden. Handelaren moeten ervoor zorgen dat hun backtestingsoftware deze kosten opneemt.
Out-of-sample testing en forward performance testing geven verdere bevestiging van de effectiviteit van een systeem en kunnen de ware kleuren van een systeem laten zien voordat er echt geld op het spel staat. Een sterke correlatie tussen backtesting, out-of-sample en forward performance testing resultaten is essentieel voor het bepalen van de levensvatbaarheid van een handelssysteem.
Backtesting versus Forward Performance Testing
Voorwaartse prestatietests, ook wel papieren handel genoemd, bieden handelaren een andere set niet-steekproefgegevens waarop ze een systeem kunnen evalueren. Forward performance testing is een simulatie van daadwerkelijke handel en omvat het volgen van de systeemlogica in een live markt. Het wordt ook wel papieren handel genoemd, aangezien alle transacties alleen op papier worden uitgevoerd; dat wil zeggen dat het invoeren en verlaten van transacties wordt gedocumenteerd samen met eventuele winst of verlies voor het systeem, maar er worden geen echte transacties uitgevoerd.
Een belangrijk aspect van voorwaartse prestatietests is het exact volgen van de systeemlogica; anders wordt het moeilijk, zo niet onmogelijk, om deze stap van het proces nauwkeurig te evalueren. Handelaren moeten eerlijk zijn over alle in- en uitgangen van transacties en gedrag vermijden, zoals transacties met cherry picking of het niet opnemen van een transactie op papier door te rationaliseren dat “ik die transactie nooit zou hebben gedaan”. Als de transactie zou hebben plaatsgevonden volgens de logica van het systeem, zou deze moeten worden gedocumenteerd en geëvalueerd.
Backtesting versus scenario-analyse
Terwijl backtesting feitelijke historische gegevens gebruikt om te testen op geschiktheid of succes, maakt scenarioanalyse gebruik van hypothetische gegevens die verschillende mogelijke uitkomsten simuleren. Scenario-analyse simuleert bijvoorbeeld specifieke veranderingen in de waarde van de effecten van de portefeuille of sleutelfactoren die plaatsvinden, zoals een verandering in het rentetarief.
Scenario-analyse wordt vaak gebruikt om veranderingen in de waarde van een portefeuille in te schatten als reactie op een ongunstige gebeurtenis en kan worden gebruikt om een theoretisch worstcasescenario te onderzoeken.
Enkele valkuilen van backtesting
Om backtesting zinvolle resultaten te geven, moeten handelaren hun strategieën ontwikkelen en deze te goeder trouw testen, waarbij vooringenomenheid zoveel mogelijk wordt vermeden. Dat betekent dat de strategie moet worden ontwikkeld zonder te vertrouwen op de gegevens die bij backtesting worden gebruikt.
Dat is moeilijker dan het lijkt. Handelaren bouwen over het algemeen strategieën op basis van historische gegevens. Ze moeten streng zijn in het testen met andere datasets dan die waarop ze hun modellen trainen. Anders zal de backtest stralende resultaten opleveren die niets betekenen.
Evenzo moeten handelaren het baggeren van gegevens vermijden, waarbij ze een breed scala aan hypothetische strategieën testen tegen dezelfde set gegevens, wat ook successen zal opleveren die mislukken in realtime markten omdat er veel ongeldige strategieën zijn die de markt in een mum van tijd zouden verslaan. specifieke tijdsperiode door toeval.
Een manier om de neiging tot data baggeren of cherry-pick te compenseren, is door een strategie te gebruiken die slaagt in de relevante, of in-sample, tijdsperiode en backtest deze met data uit een andere, of out-of-sample, tijdsperiode.. Als in-sample en out-of-sample backtests vergelijkbare resultaten opleveren, is de kans groter dat ze geldig worden bewezen.