Skip to content
Alle optiegidsen
Kies welke historie een financieel model gebruikt12 min leestijd

Expanding en rolling windows voor walk-forward-validatie

Vergelijk groeiende en vaste rollende trainingsvensters voor financiële modellen, houd validatie apart van de eindtest en kies vensterregels zonder toekomstige uitkomsten.

In deze gidsEen walk-forward-fold heeft aparte trainings- en evaluatievensters

Korte samenvatting

Een expanding trainingsvenster behoudt de oudste bruikbare historie en voegt nieuwe gegevens toe zodra die bekend zijn. Een rolling venster bevat steeds een vast aantal van de meest recente bruikbare waarnemingen en laat oudere rijen vervallen. Beide zijn geschikt voor chronologische walk-forward-evaluatie; geen van beide vervangt de scheiding tussen modelselectie en de uiteindelijke testperiode.

Een walk-forward-fold heeft aparte trainings- en evaluatievensters

Op een voorspellingsoorsprong kent de onderzoeker bepaalde historische kenmerken en uitkomsten, past een model toe of werkt het bij, en evalueert het daarna op een later blok. Door de oorsprong vooruit te schuiven ontstaan opeenvolgende out-of-sampleperioden. De trainingsvensterregel bepaalt welke eerdere, bruikbare rijen bij elke fit worden gebruikt. De validatie- en testregels bepalen welke latere uitkomsten opties vergelijken en prestaties schatten. Die beslissingen hangen samen, maar zijn niet hetzelfde venster.

Een expanding regel begint bij een vaste historische grens en groeit zodra nieuwe uitkomsten beschikbaar komen. Een rolling regel schuift beide grenzen op, maar houdt na de opstartfase het aantal waarnemingen constant. Gebruik op geen van beide manieren een doel waarvan de uitkomst op de voorspellingsoorsprong nog niet vaststaat. Bij labels over meerdere sessies vertelt de datum van een rij mogelijk niet wanneer de uitkomst bekend werd; bewaar het eindtijdstip van het label en gebruik dat.

Houd ook de terugkijkperiode van kenmerken apart van het trainingsvenster. Een signaal kan de volatiliteit van elke rij over een korte recente periode berekenen, terwijl het model rijen van meerdere jaren gebruikt. De terugkijkperiode van een kenmerk wijzigen verandert de invoer; het trainingsvenster wijzigen verandert de waarnemingen waarmee het model wordt geschat.

Een expanding window houdt de eerste historie vast

Noem \(s\) de index van de eerste bruikbare waarneming en \(t\) die van de meest recente waarneming waarvan het label bij de fit volledig bekend is. De expanding trainingsset is \(\{s,s+1,\ldots,t\}\). Bij de volgende oorsprong blijven deze rijen staan en komen nieuw bruikbare rijen erbij. De steekproef groeit dus in de tijd, tenzij een aparte regel gegevens filtert of verwijdert.

Meer waarnemingen kunnen de steekproefruis van parameterschattingen verkleinen als oudere gegevens het onderzochte proces nog beschrijven. Ze kunnen zeldzame marktomstandigheden bewaren die een korte recente steekproef mist, en voorkomen dat je een willekeurige historische afkapdatum kiest. Oudere rijen verliezen echter niet vanzelf invloed door hun leeftijd. Als het verband tussen kenmerken en rendement verandert, kunnen vroege gegevens schattingen richting achterhaalde omstandigheden trekken. Grotere fits kunnen bovendien trager zijn. Historie behouden maakt die niet automatisch representatiever.

Een rolling window verwijdert waarnemingen buiten de gekozen periode

Bij een vaste lengte \(W\) is de trainingsset op tijdstip \(t\) \(\{t-W+1,\ldots,t\}\), na verwerking van labelvertraging en eventuele grensafstand. Op de volgende oorsprong schuift het eindpunt op en valt de oudste bruikbare rij weg. De lengte kan worden uitgedrukt in waarnemingen of kalenderduur; bij onregelmatige gegevens zijn die eenheden niet uitwisselbaar.

Een rolling window legt een actualiteitsregel vast. Dat kan passen bij onderzoek naar aanpassing aan veranderende omstandigheden of bij een operationele behoefte aan een vaste trainingsomvang. Het model past zich daarmee niet automatisch aan. Bij weinig frequente fits of geleidelijke verandering kan de reactie alsnog traag zijn. Een korte periode levert minder informatie, kan schattingen instabiel maken, zeldzame stressperioden uitsluiten of te weinig voorbeelden overlaten voor een complex model. Een langere periode behoudt meer historie, maar kan recente patronen verdunnen.

Ook de meeteenheid telt: hetzelfde aantal rijen kan door ontbrekende handelsdagen of een andere frequentie verschillende kalenderperioden omvatten. Definieer bij paneldata of het venster rijen of datumgroepen van activa verwijdert. Kies je \(W\) nadat je de eindtest hebt bekeken, dan is die test onderdeel van de selectie en niet langer onafhankelijk.

De twee regels leveren elke fit een andere historie

KeuzeTrainingsrijen bij een fitMogelijk voordeelTe onderzoeken kosten
ExpandingAlle bruikbare rijen vanaf een vaste start tot het tijdstipMeer waarnemingen en behoud van oudere episodenOude regimes blijven invloed houden; fits kunnen trager worden
RollingDe nieuwste vaste periode aan bruikbare rijenDuidelijke actualiteitsgrens en beperkte steekproefMinder informatie; resultaat gevoeliger voor de gekozen lengte

Houd de informatiegrens, kenmerken, modelklasse, trainingsdoel, fitdata, voorspelhorizon, testblokken en uitvoeringsaannames gelijk om alleen het vensterbeleid te vergelijken. Als het rolling model ook vaker wordt bijgewerkt of andere kenmerken krijgt, is een scoreverschil niet alleen aan het venster toe te schrijven.

Deze regels bepalen ook niet de voorspellingsoorsprong. Beide trainingsvensters kunnen met rollende oorsprongen worden geëvalueerd: trainen op bruikbare historie, het volgende blok voorspellen, opschuiven en herhalen. Leonard Tashmans overzicht van out-of-sample-voorspellingstests00065-0) bespreekt rollende oorsprongen en rollende schattingsvensters. Het ene bepaalt wanneer evaluatie plaatsvindt; het andere welke trainingsrijen blijven.

Een hypothetische tijdlijn laat zien wat elke fit gebruikt

Alle aantallen en datums zijn hypothetisch. Stel dat het model elke maand opnieuw wordt gefit om het rendement van de volgende maand te voorspellen, en dat de eerste fit 60 bruikbare waarnemingen gebruikt die eindigen in maand 120. Een label is pas bruikbaar wanneer de uitkomst ervan volledig is. Op de eerste voorspellingsoorsprong gebruiken beide regels dezelfde 60 rijen als het rolling venster 60 lang is.

Zodra een nieuwe maanduitkomst bekend is, bevat expanding 61 bruikbare rijen. Rolling voegt de nieuwe rij toe en verwijdert de oudste, zodat het er 60 houdt. Na 12 updates bevat expanding 72 rijen vanaf het oorspronkelijke begin; rolling houdt de meest recente 60. De schattingen kunnen uiteenlopen doordat de historie verschilt, ook al was elke gebruikte rij beschikbaar op het moment van de fit.

Reserveer in dit voorbeeld de laatste 24 maanden voor een externe test. Kies de vensterregel en -lengte, kenmerken en andere instellingen op eerdere chronologische validatieblokken. Evalueer daarna de bevroren keuze volgens het vooraf vastgelegde fitschema. De lengte aanpassen nadat je de externe testresultaten ziet, gebruikt die resultaten voor selectie en overschat de bewijskracht van de eindperiode.

Kies de vensterregel binnen chronologische validatie

Formuleer eerst de vraag: moet het model bij elke fit alle beschikbare historie gebruiken, of is er een reden om oude voorbeelden te laten vervallen? Verwacht je dat de doelrelatie stabiel is, of kunnen relevante invoervariabelen veranderen? Deze vragen helpen kandidaten afbakenen, maar bewijzen niet vooraf welke regel in een bepaalde markt beter presteert.

Vergelijk op eerdere ontwikkeldata een kleine, vooraf vastgelegde set, bijvoorbeeld expanding en enkele plausibele rolling lengtes, op dezelfde chronologische validatieblokken en met dezelfde fitfrequentie. Bepaal het doel vóór het scoren: voorspellingsverlies, kalibratie, portefeuillenut na omzet en maximale terugval beantwoorden verschillende vragen. Houd kosten en beperkingen gelijk en registreer mislukte fits en ontbrekende voorspellingen. Bij overlappende doelen of testblokken kunnen naburige scores rendementen delen; beschrijf die afhankelijkheid in plaats van elke rij als een onafhankelijk experiment te tellen.

Houd een latere chronologische periode apart als eindtest. In een genest ontwerp selecteert de interne validatie het venster en andere instellingen met alleen gegevens van vóór elk extern testblok; de externe uitkomsten beoordelen de volledige selectieprocedure. De gids voor purged cross-validation legt grensgevallen met overlappende labels uit. Overfitting van financiële modellen en multiple testing behandelen verwante selectierisico’s.

Stem labels, voorbewerking en fittiming af op wat toen bekend was

Gebruik op elke oorsprong alleen kenmerken en labels die toen bekend waren. Een voorwaarts rendement over meerdere sessies kan bij de validatiegrens nog onvolledig zijn, ook als de beslisdatum eerder ligt. Laat zo nodig een gat vallen of verwijder rijen op basis van de werkelijke labelintervallen. Een vast aantal rijen is alleen passend als waarnemingsfrequentie en doelhorizon dat rechtvaardigen. Geen vensterregel herstelt een kenmerk met toekomstige informatie.

Fit imputatie, schaling, kenmerkselectie en andere aangeleerde voorbewerking alleen op het trainingsdeel van elke fold. Gebruik bij keuze van een drempel of hyperparameter interne chronologische validatie binnen het trainingsdeel en zet de keuze vast voor de latere evaluatie. De officiële scikit-learn-documentatie voor TimeSeriesSplit beschrijft standaard een groeiende trainingsset en max_train_size om de omvang ervan te beperken. gap is een aantal samples; vergelijkbare foldduur veronderstelt gelijk verdeelde waarnemingen. Controleer ook financiële labeltijdstippen en de gebruikte bibliotheekversie.

Rapporteer prestaties per oorsprong en benoem de beperkingen

Vermeld vensterregel en exacte lengte, de oudste behouden datum, het aantal bruikbare rijen per fit, de labelbeschikbaarheidsregel, validatie- en testdatums, horizon en fitschema. Toon resultaten per testblok naast het totaal. Een gemiddelde kan verhullen dat één marktperiode de vergelijking bepaalt; opeenvolgende voorspellingen kunnen rendementen delen en zijn dan geen onafhankelijk bewijs.

Voorspellingsnauwkeurigheid is geen netto handelsresultaat. Positievorming, hefboom, omzet, liquiditeit, kosten, spread, marktimpact, lenen, funding en uitvoeringstiming beïnvloeden de uitkomst. Houd deze aannames gelijk en vermeld wat ontbreekt. De studie van Cerqueira, Torgo en Mozetič over prestatie-inschatting voor tijdreeksen rapporteert dat schattingen kunnen verschillen tussen stationaire en niet-stationaire situaties. De studie vergelijkt financiële vensterbeleidsregels niet rechtstreeks en bewijst niet dat één regel altijd wint.

Zie elke backtest als bewijs over een bepaalde historie en procedure. Expanding kan een verouderd regime behouden; rolling kan bruikbare informatie weggooien en ruisiger worden. De gekozen regel kan falen in een ander regime, instrumentenuniversum of kostenklimaat. Validatie verkleint onzekerheid over de geteste procedure, maar garandeert geen toekomstige opbrengst en bewijst geen optimaal venster.

Veelgestelde vragen

Q1Is een expanding window altijd beter omdat het meer gegevens gebruikt?

Nee. Meer rijen kunnen schattingen stabiliseren als oudere waarnemingen relevant blijven, maar verouderde regimes kunnen het model blijven beïnvloeden. Dat hangt af van gegevens, doel, kenmerken, schatter en evaluatieperiode.

Q2Past een rolling window zich automatisch aan een marktregimewisseling aan?

Nee. Het verwijdert rijen buiten de gekozen periode, maar detecteert geen verandering en garandeert niet dat de nieuwe steekproef het volgende regime vertegenwoordigt. Fitfrequentie, vensterlengte en modelontwerp blijven belangrijk.

Q3Mag ik dezelfde periode gebruiken om het venster af te stellen en eindprestaties te rapporteren?

Dan is die periode onderdeel van de modelselectie. Kies de regel met chronologische validatie en evalueer de bevroren procedure op een latere, ongemoeid gelaten test. Ook die uitkomst beschrijft alleen de geteste historie en aannames.

Bronnen en verder lezen

Probleem melden

We bereiden een e-mail met de link naar dit artikel voor. Mark ontvangt je melding pas nadat je die verstuurt

Snelle check

De gids gelezen? Test jezelf met 3 vragen

Vraag 1 / 3

Vraag 01

Wat verandert er bij de volgende fit in een rolling trainingsvenster met vaste lengte?

Kies een antwoord om de uitleg te zien

Optiewoordenlijst

Tijdreeksmodellen validerenPurged cross-validation en embargo: label-lekkage in tradingmodellen voorkomenLees hoe purging en embargo overlappende forward-labels in financiële tijdreeksen aanpakken en verschillen van walk-forward-validatie en CPCV.Waarom een model de geschiedenis kan verklaren en de volgende periode kan falenBias-variantieafweging en overfitting van financiële modellenBegrijp voorspellingsbias, schattingsvariantie, onherleidbare ruis, modelcomplexiteit, validatie van tijdreeksen, datasnooping, overfitting van backtests en governance voor financiële modellenWaarom een drempel faalt als onderzoekers veel ideeën testenMeerdere tests en valse ontdekkingstochten in de financiënBegrijp meerdere vergelijkingen, familie-wijs fout, valse ontdekkingscijfer, Bonferroni, Holm, Benjamini . Hochberg, afhankelijkheid, q-waarden, factor mining, backtest selectie, en onderzoek governanceOpties mechanicaWat is optie opdracht?Begrijpen hoe de optieopdracht een korte oproep verandert of een voorraadverplichting maakt, wanneer dit kan gebeuren, en hoe cash en aandelen kunnen worden voorbereidEen toegelaten aantal contracten is niet hetzelfde als een risicobudgetOptiepositielimieten vs. Oefengrenzen uitgelegdLeer hoe de limieten van de positie van de beursgenoteerde positie verschillen van de beperkingen van de uitoefening, waarom de samenvoeging en rapportage aan dezelfde zijde van belang zijn, en waarom de marge of de koopkracht niet laat zien of een hoeveelheid is toegestaan