In dit artikel
Na dit artikel kun je…
- Per label het laatste benodigde tijdstip controleren.
- Complete walk-forwardvensters en tie-break vooraf vastleggen.
- WFE van absolute verliezen en gecombineerd equitypad onderscheiden.
Begrippen uitgelegd binnen het artikel
Backtesting Handelsplan Demorekening Drawdown Winstpercentage van transactiesWalk-forwardanalyse herhaalt parameterkeuze op eerdere data en beoordeling op een later blok. Je onderzoekt een bijwerkprocedure, niet uitsluitend de laatste parameters. Leg kalender en keuzeregels vast vóór de beoordelingsuitkomsten. Gedeelde training en marktverband maken vensters niet automatisch onafhankelijk; achteraf een gunstige splitsing kiezen kan de procedure alsnog overfitten.
Leg de bijwerkprocedure vooraf vast
Definieer trainingsduur, beoordelingsduur, update-interval, kandidaatparameters, selectiecriterium, regel bij gelijke scores en actie als niets kwalificeert. Winst maximaliseren is een gekozen criterium, geen neutrale standaard. Verwerk kosten, blootstelling en steekproefomvang consequent. Meer alternatieven kunnen historische ruis selecteren, maar meer dan 75% winrate in tweehonderd trades of profit factor boven 3,5 bewijst op zichzelf geen curve-fitting.
Controleer data, kosten en volledige selectiegeschiedenis met Een strategie backtesten: data, kosten en tijdvolgorde controleren. Noteer ook mislukte pogingen en kalenderwijzigingen. Een later blok is alleen ongebruikt zolang de uitkomst de keuze niet beïnvloedt. De term out-of-sample is geen vrijstelling van gegevenscontrole.
Een tussenruimte helpt niet als het label in de test reikt
Index vóór de test is onvoldoende; de laatste benodigde labelinformatie moet al beschikbaar zijn.
- Gap 1
- Laatste sample 8 – Label vraagt slot 9 en 10: 10 nog onbekend.
- Gap 2
- Laatste sample 7 – Label vraagt slot 8 en 9: beide bekend.
- Andere horizon
- Opnieuw controleren – Geen universeel correct aantal tussenperioden.
In dit fictieve model gebruikt label t de complete slotkoersen van t+1 en t+2. Het eerste testtijdvak is 10. Train na sluiting 9 maar vóór begin 10. Met gap 1 is laatste trainingssample 8: het label vraagt slot 9 én 10. Slot 10 is nog onbekend en veroorzaakt toekomstinformatie.
Met gap 2 eindigt training bij sample 7; het label gebruikt slot 8 en 9, nu bekend. Controleer dus per behouden sample het laatste benodigde datatijdstip. Dit resultaat geldt alleen voor deze horizon, regelmatige perioden en fittingtijd. Een andere labelconstructie vraagt een nieuwe controle, geen blind vaste gap 2.
Een verschuivend venster uitvoeren
Kies vensters vóór tuning. Train bijvoorbeeld op 2018–2021 en beoordeel de bevroren keuze op 2022. Train daarna op 2019–2022 en beoordeel op 2023. Eerdere OOS-data mogen later historische training worden zonder dat de eerdere chronologie verandert. Pas eerdere resultaten achteraf niet aan.
Voeg OOS-trades chronologisch samen, beoordeel onzekerheid en reserveer een laatste onaangeraakt blok als eerdere evaluaties ontwerpkeuzes informeerden. Overlappende trainingsjaren en aangrenzende testjaren leveren geen automatische statistische onafhankelijkheid. Ook een nultradeperiode hoort in de rapportage.
Rolling of een vaste start met groei?
Rolling behoudt een vaste trainingslengte: 2018–2021, 2019–2022 en 2020–2023. Anchored of expanding behoudt de start: 2018–2021, 2018–2022 en 2018–2023. Korter geheugen verwijdert oudere condities maar verkleint de steekproef; langer geheugen houdt meer mogelijk afwijkende omstandigheden vast. Geen variant garandeert snellere aanpassing of stabiele parameters. Trendvolgen versus mean reversion beslist dit niet universeel.
Leer normalisatie, featureselectie en imputatie alleen uit toegestane training, niet uit alle historie. Een sample-index vóór de test bewijst geen tijdig beschikbaar label. TimeSeriesSplit verwijdert met gap laatste trainingssamples, maar ontdekt niet elke lekroute. Gelijk verdeelde waarnemingen maken vensterduren vergelijkbaar; onregelmatige gebeurtenissen vragen extra kalendercontrole.
Walk-forward efficiency met onderliggende uitkomsten lezen
Onder de beschreven TradeStation-conventie deel je geannualiseerd OOS-rendement door geannualiseerd IS-rendement, met gelijke kost-, blootstellings- en rendementsdefinities. Tien procent gedeeld door twintig procent geeft WFE 0,5 of 50%. Bij een nulnoemer is de verhouding ongedefinieerd.
Ook −5% gedeeld door −10% is 0,5, terwijl beide verliezen. Boven één bewijst niet automatisch toekomstinformatie. TradeStation noemt vijftig procent een vuistregel; het is geen algemene toestemming voor livegeld. Controleer netto uitkomsten, datadekking, gevoeligheid en Drawdown afzonderlijk. Een gunstige verhouding kan een ongunstig absoluut resultaat verbergen.
Vergelijk de werkelijk vooraf gekozen regels
Fictief geeft 12% geannualiseerd OOS tegenover 30% IS WFE 0,4; 20% tegenover 25% geeft 0,8. Dit bewijst niet welke methode een duurzaam voordeel heeft. In 2018–2023 passen met vier trainingsjaren en één testjaar twee complete beoordelingen: 2022 en 2023.
Een apart gelijkspelvoorbeeld heeft in beide kalibratiestappen A en B met gelijke score; de vooraf gekozen tie-break kiest A. Latere netto OOS-bedragen zijn A:+5 en −2, B:−1 en +6, zonder samenstelling. De vastgelegde procedure geeft +3. Na iedere uitkomst de winnaar kiezen geeft +11; B na inspectie van diens hele historie kiezen geeft +5. Dat zijn verschillende experimenten.
Bewaar de volledige gelijkspelset en gekozen ID vóór iedere evaluatie. Een beleid dat OOS-uitkomsten gebruikt krijgt een nieuwe versie en latere beoordeling. Een achteraf beter pad is geen resultaat van de oorspronkelijke regel.
Nieuw afzonderlijk EUR-tegenvoorbeeld: start met EUR 1.000 en geen stortingen. De eerste OOS-periode eindigt op 900. De tweede periode heeft netto factor 1,10 op het overgebleven vermogen: eindstand 990, totaal −1%. Reset je vóór periode twee onterecht naar 1.000, dan noteer je 1.100 en wis je de eerdere vermogensdaling. Als je alleen procentuele vensterrendementen −10% en +10% optelt, krijg je eveneens ten onrechte nul. Dit model veronderstelt volledige periodereturns zonder open posities op de grens.
Wat walk-forward niet oplost
Definieer open posities bij updates: sluiten inclusief kosten of verder beheren onder een expliciete regel. Wis geen open verliezen of balance bij de grens. Sluit kalibratiewinsten uit de gecombineerde OOS-reeks uit en los overlappende testblootstelling op in plaats van dubbel tellen. Bereken complete drawdown uit het samengevoegde equitypad; vensterdrawdowns middelen is iets anders.
Bekijk concentratie in een paar perioden en vergelijk met een vooraf gekozen niet-bijgewerkte basis onder dezelfde data, kosten en sizing. Een held-out blok, latere demo-observatie en Monte Carlo voor strategieën: bootstrap, stopgrenzen en drawdown beantwoorden andere vragen. Permutatie wijzigt volgorde van gegeven uitkomsten maar modelleert niet elk toekomstig regime of kostenpatroon.
MT5’s Forward test geselecteerde configuraties op het latere deel van een historisch interval. Dat is niet vanzelf een meerstaps walk-forward of een toekomstige demo. Geen WFE-grens, demoduur van drie tot zes maanden of gesimuleerd 95 e-percentiel met drawdown onder 25% garandeert winst. Ook een parameterverandering boven 50% diagnosticeert niet zelfstandig ruisfitten.
Een reproduceerbare kalender opstellen
- Kies vensters bij methode en beschikbare data. Vijf jaren geven één vier-plus-één-paar. Vijf jaarlijkse teststappen vragen negen jaren: vier begintraining plus vijf evaluaties.
- Bewaar voor 2018–2023 de twee beschreven stappen met kandidaten, selectiecriterium, tie-break en gekozen versie vóór OOS. Verleng de kalender expliciet voor meer stappen.
- Bereken WFE alleen bij interpreteerbare noemer en consistente annualisering. Bekijk onderliggende verliezen en het gecombineerde pad.
- Registreer ontwerpwijzigingen en beperkingen. Houd de laatste evaluatie alleen onaangeraakt zolang haar uitkomst geen selectie stuurt.
Test wat je hebt geleerd
Ongeveer 2 minuten oefenen.
Antwoord en uitleg bekijken
Slot 8 en 9 zijn compleet. Dit geldt voor de expliciete tweeperiodenhorizon.
Andere vragen
Verschilt dit van één IS/OOS-splitsing?
Walk-forward herhaalt een vooraf vastgelegde selectieprocedure. Met vier trainingsjaren en één testjaar zijn er in 2018–2023 twee complete OOS-blokken. Meer vensters betekenen geen automatische onafhankelijkheid.
Wat betekent WFE 0,5?
Onder de genoemde conventie is geannualiseerd OOS de helft van IS. Ook twee negatieve returns kunnen 0,5 geven; nul IS maakt de ratio ongedefinieerd. Controleer netto resultaten en drawdown apart.
Wanneer kies ik rolling?
Kies geheugenbeleid vóór evaluatie bij de vraag en data. Rolling verwijdert oudste waarnemingen; expanding behoudt de start. Geen vaste strategienaam of vijf-/tienjaarsregel bepaalt universeel de beste keuze.
Garandeert een nette test livewinst?
Nee. Kosten, fills, selectie en datatiming blijven bepalend. MT5-Forward is historisch; toekomstige demo en gespecificeerde simulaties hebben eigen beperkingen. Een gunstige drempel biedt geen zekerheid.
Bronnen en controle
- scikit-learn — TimeSeriesSplit
Primaire definitie 638–672 en gapvoorbeeld 724–738 gelezen. Gap verwijdert trainingssamples; gelijke tijdafstand ondersteunt vergelijkbare duur. Geen universele labellekcontrole.
- TradeStation — Walk-forwardoverzicht
Primaire korte overzichtspagina gelezen: geannualiseerde IS/OOS-vergelijking en 50%-vuistregel. Geen algemene grens voor live-inzet.
- MetaQuotes — Historische Forward-test
Primaire 147–150 en 446–464 gelezen: later deel van historisch testinterval na eerdere optimalisatie. Niet hetzelfde als latere demo-observatie.
De berekeningen gebruiken expliciete aannames. Ze vervangen geen actuele marktgegevens of voorwaarden van de aanbieder.
