Storingsmodus
Aanname van intrabar-/bar-vulling
Een grafiek toont slechts vier prijzen, niet in de volgorde waarin ze zijn verschenen. Als je die volgorde verkeerd inschat, krijgt een trailing stop een order die in de live modus nooit zou zijn uitgevoerd.
Een dagelijkse of uurlijkse grafiek toont slechts vier getallen: open, hoog, laag en slot. De volgorde waarin deze prijzen zich daadwerkelijk hebben voorgedaan, is niet zichtbaar. Een backtester moet deze volgorde raden om te bepalen of een trailing stop of een limietorder zou zijn uitgevoerd. Deze naïeve gok is waar de problemen beginnen.
De meeste goedkope backtesting-engines gaan uit van een vaste volgorde binnen elke candlestick, bijvoorbeeld: openingsprijs, hoogste prijs, laagste prijs, slotprijs. De werkelijke prijsbewegingen houden zich niet aan dat patroon. Een candlestick kan naar zijn hoogste prijs stijgen, terugvallen naar zijn laagste prijs en sluiten in de buurt van de openingsprijs, in willekeurige volgorde, tientallen keren als je inzoomt op de ticks eronder. Als je uitgaat van de verkeerde volgorde, wordt een trailing stop uitgevoerd tegen een prijs die de strategie op dat moment onmogelijk had kunnen bereiken. De engine beloont een transactie die niet reëel is.
Trailing-stop-systemen zijn het meest kwetsbaar. Hun voordeel zou voortkomen uit het meeliften op een koersbeweging en het snel beperken van verliezen, wat betekent dat de exacte intrabar-sequentie vrijwel elke transactie bepaalt. Als de sequentie ruim is, ziet de equity curve er vloeiend uit. Als de sequentie realistisch is, gelden dezelfde regels niet meer. Het is een nauwe verwant van de look-ahead bias , maar dan zonder de letterlijke blik op de toekomst. Het is gewoon een vriendelijkere versie van het verleden, die je één voor één ziet.
We hebben het verschil direct gemeten: het uitvoeren van trailing-stop-strategieën op een naïef bar-by-bar-fill-model, vergeleken met een realistisch intrabar-model gebouwd op tickdata , overschat de prestaties met 42 tot 84 procent . Dat is geen ruis. Voor een groot deel van de strategieën die we testen, is dat verschil het volledige voordeel dat wordt verkocht. Haal dat eruit en de strategie presteert vlak of slechter. Slippage verergert dit nog, omdat een fill die nooit echt beschikbaar was, ook de kosten voor het verkrijgen ervan overslaat.
Een betere parameter zal dit niet redden. De backtest krijgt een vraag voorgelegd die hij niet eerlijk kan beantwoorden. Subdagelijkse en intradagsystemen hebben staafdiagrammen nodig die fijn genoeg zijn om een geloofwaardig pad door de candlestick te reconstrueren, en niet een willekeurige gok op hoog-laag of laag-hoog. Alles minder dan dat, en de backtest beoordeelt een transactie die in werkelijkheid nooit heeft plaatsgevonden.
Het onderzoek hierachter
- López de Prado (2018). “Advances in Financial Machine Learning.” Wiley. — Behandelt hoe backtests informatie over de toekomst lekken; dezelfde leklogica is van toepassing wanneer een uitvoeringsmodel een transactie een prijs toekent die het niet had kunnen krijgen.
- Aronson (2006). “Evidence-Based Technical Analysis: Applying the Scientific Method and Statistical Inference to Trading Signals.” Wiley. — Stelt de bewijslast voor handelssignalen in het algemeen, dezelfde strengheid waaraan een aanname over intrabar-uitvoering moet voldoen voordat het voordeel ervan als reëel wordt beschouwd.
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 →