Hoofd- » algoritmische handel » Backtesting en Forward Testing: het belang van correlatie

Backtesting en Forward Testing: het belang van correlatie

algoritmische handel : Backtesting en Forward Testing: het belang van correlatie

Traders die graag een handelsidee op een live markt willen uitproberen, maken vaak de fout om volledig te vertrouwen op backtesting-resultaten om te bepalen of het systeem winstgevend zal zijn. Hoewel backtesting handelaren waardevolle informatie kan bieden, is dit vaak misleidend en vormt het slechts een onderdeel van het evaluatieproces.

Out-of-sample testen en forward performance testen bieden verdere bevestiging met betrekking tot de effectiviteit van een systeem en kunnen de ware kleuren van een systeem weergeven voordat echt geld op het spel staat. Een goede correlatie tussen backtesting, out-of-sample en forward performance testing-resultaten is van vitaal belang voor het bepalen van de levensvatbaarheid van een handelssysteem. (We bieden enkele tips over dit proces die u kunnen helpen uw huidige handelsstrategieën te verfijnen. Lees voor meer informatie: Backtesting: het verleden interpreteren .)

Basisbeginselen van backtesten

Backtesting verwijst naar het toepassen van een handelssysteem op historische gegevens om te verifiëren hoe een systeem zou hebben gepresteerd tijdens de opgegeven periode. Veel van de huidige handelsplatforms ondersteunen backtesting. Handelaren kunnen ideeën met een paar toetsaanslagen testen en inzicht krijgen in de effectiviteit van een idee zonder geld op een handelsaccount te riskeren. Backtesting kan eenvoudige ideeën evalueren, zoals hoe een voortschrijdend gemiddelde crossover zou presteren op historische gegevens, of meer complexe systemen met een verscheidenheid aan inputs en triggers.

Zolang een idee kan worden gekwantificeerd, kan het achteraf worden getest. Sommige handelaren en beleggers kunnen de expertise van een gekwalificeerde programmeur zoeken om het idee in een testbare vorm te ontwikkelen. Meestal houdt dit in dat een programmeur het idee codeert in de eigen taal van het handelsplatform. De programmeur kan door de gebruiker gedefinieerde invoervariabelen opnemen waarmee de handelaar het systeem kan "tweaken". Een voorbeeld hiervan zou zijn in het hierboven beschreven eenvoudige voortschrijdend gemiddelde crossover-systeem: de handelaar zou de lengtes van de twee voortschrijdende gemiddelden die in het systeem worden gebruikt, kunnen invoeren (of wijzigen). De handelaar kan backtesten om te bepalen welke lengtes van voortschrijdende gemiddelden het beste zouden hebben gepresteerd op de historische gegevens.

Optimalisatie Studies

Veel handelsplatforms maken ook optimalisatiestudies mogelijk. Dit houdt in dat u een bereik voor de opgegeven invoer moet invoeren en de computer moet laten "rekenen" welke invoer het beste zou hebben gepresteerd. Een multi-variabele optimalisatie kan de wiskunde voor twee of meer variabelen doen om te bepalen welke combinaties het beste resultaat zouden hebben bereikt. Handelaren kunnen bijvoorbeeld het programma vertellen welke input ze willen toevoegen aan hun strategie; deze zouden dan worden geoptimaliseerd tot hun ideale gewichten gezien de geteste historische gegevens.

Backtesting kan spannend zijn omdat een onrendabel systeem vaak op magische wijze kan worden omgezet in een machine om geld te verdienen met een paar optimalisaties. Helaas leidt het aanpassen van een systeem om het hoogste niveau van winstgevendheid in het verleden te bereiken, vaak tot een systeem dat in de echte handel slecht zal presteren. Deze overoptimalisatie creëert systemen die er alleen op papier goed uitzien.

Curve-aanpassing is het gebruik van optimalisatieanalyses om het hoogste aantal winnende transacties te creëren met de grootste winst op de historische gegevens die in de testperiode zijn gebruikt. Hoewel het er indrukwekkend uitziet in backtesting-resultaten, leidt curve-aanpassing tot onbetrouwbare systemen, omdat de resultaten in wezen op maat zijn ontworpen voor die specifieke gegevens en tijdsperiode.

Backtesting en optimalisatie bieden veel voordelen voor een handelaar, maar dit is slechts een deel van het proces bij het evalueren van een potentieel handelssysteem. De volgende stap van een handelaar is om het systeem toe te passen op historische gegevens die niet zijn gebruikt in de initiële backtesting-fase.

In-sample versus out-of-sample-gegevens

Wanneer u een idee op historische gegevens test, is het handig om een ​​periode van historische gegevens te reserveren voor testdoeleinden. De initiële historische gegevens waarop het idee wordt getest en geoptimaliseerd, worden de in-sample-gegevens genoemd. De gegevensset die is gereserveerd, wordt 'out-of-sample'-gegevens genoemd. Deze opstelling is een belangrijk onderdeel van het evaluatieproces omdat het een manier biedt om het idee te testen op gegevens die geen onderdeel waren van het optimalisatiemodel. Als gevolg hiervan zal het idee op geen enkele manier worden beïnvloed door de out-of-sample-gegevens en zullen handelaren kunnen bepalen hoe goed het systeem zou kunnen presteren op nieuwe gegevens, dat wil zeggen in de praktijk.

Voorafgaand aan het initiëren van een backtest of optimalisatie, kunnen handelaren een percentage van de historische gegevens reserveren om te reserveren voor testen buiten de steekproef. Een methode is om de historische gegevens in derden te verdelen en een derde te scheiden voor gebruik bij testen buiten de steekproef. Alleen de gegevens in de steekproef mogen worden gebruikt voor de eerste tests en eventuele optimalisatie. Figuur 1 toont een tijdlijn waarin een derde van de historische gegevens is gereserveerd voor testen buiten de steekproef en tweederde wordt gebruikt voor de testen in de steekproef. Hoewel figuur 1 de out-of-sample gegevens in het begin van de test weergeeft, hebben typische procedures het out-of-sample gedeelte onmiddellijk voorafgaand aan de voorwaartse prestatie.

Figuur 1: Een tijdlijn die de relatieve lengte van in-sample en out-of-sample gegevens weergeeft die in het backtestproces zijn gebruikt.

Correlatie verwijst naar overeenkomsten tussen de prestaties en de algemene trends van de twee gegevenssets. Correlatiestatistieken kunnen worden gebruikt bij het evalueren van strategische prestatierapporten die tijdens de testperiode zijn gemaakt (een functie die de meeste handelsplatforms bieden). Hoe sterker de correlatie tussen de twee, hoe groter de kans dat een systeem goed zal presteren in voorwaartse prestatietests en live handel.

Figuur 2 illustreert twee verschillende systemen die zijn getest en geoptimaliseerd op in-sample data, vervolgens toegepast op out-of-sample data. De grafiek links toont een systeem dat duidelijk in de curve past om goed te werken met de in-sample data en volledig mislukte met de out-of-sample data. De grafiek aan de rechterkant toont een systeem dat goed presteerde op zowel in- als out-of-sample data. Zodra een handelssysteem is ontwikkeld met behulp van in-sample-gegevens, is het klaar om te worden toegepast op de out-of-sample-gegevens. Traders kunnen de prestatieresultaten tussen de in-sample en out-of-sample data evalueren en vergelijken.

Figuur 2: Twee aandelenkrommen. De handelsgegevens voor elke gele pijl vertegenwoordigen in-sample testen. De transacties die tussen de gele en rode pijlen worden gegenereerd, duiden op testen buiten het monster. De transacties na de rode pijlen komen uit de voorwaartse prestatietestfasen.

Als er weinig correlatie is tussen de in-sample en out-of-sample testen, zoals de linker grafiek in figuur 2, is het waarschijnlijk dat het systeem te geoptimaliseerd is en niet goed zal presteren in live trading. Als er een sterke correlatie is in de prestaties, zoals te zien is in de rechtergrafiek in figuur 2, omvat de volgende evaluatiefase een extra type out-of-sample testen dat bekend staat als forward performance testing. (Raadpleeg voor meer informatie over prognoses: Financiële prognoses: de Bayesiaanse methode .)

Forward Performance Test Basics

Toekomstige prestatietests, ook bekend als papierhandel, bieden handelaren een andere set out-of-sample gegevens om een ​​systeem te evalueren. Forward performance testing is een simulatie van daadwerkelijke handel en houdt in dat de logica van het systeem wordt gevolgd in een live markt. Het wordt ook papierhandel genoemd omdat alle transacties alleen op papier worden uitgevoerd; dat wil zeggen, handelsinvoer en -uitvoer worden gedocumenteerd samen met eventuele winst of verlies voor het systeem, maar er worden geen echte transacties uitgevoerd.

Een belangrijk aspect van voorwaartse prestatietests is om de logica van het systeem exact te volgen; 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 een transactie op papier niet opnemen waarin wordt gerationaliseerd dat "ik die transactie nooit zou hebben genomen". Als de transactie zou hebben plaatsgevonden volgens de logica van het systeem, moet deze worden gedocumenteerd en geëvalueerd.

Veel makelaars bieden een gesimuleerde handelsaccount waar transacties kunnen worden geplaatst en de bijbehorende winst en verlies kan worden berekend. Het gebruik van een gesimuleerde handelsrekening kan een semi-realistische sfeer creëren waarop u kunt oefenen en het systeem verder kunt beoordelen.

Figuur 2 toont ook de resultaten voor voorwaartse prestatietests op twee systemen. Nogmaals, het systeem dat in de linkerkaart wordt weergegeven, doet het niet goed na de eerste tests op in-sample-gegevens. Het systeem dat in de juiste grafiek wordt weergegeven, blijft echter goed presteren tijdens alle fasen, inclusief de voorwaartse prestatietests. Een systeem dat positieve resultaten laat zien met een goede correlatie tussen in-sample, out-of-sample en forward performance testing is klaar om te worden geïmplementeerd in een live markt. (Zie ook: Voors en tegens van Paper Trading .)

Het komt neer op

Backtesting is een waardevol hulpmiddel dat beschikbaar is in de meeste handelsplatforms. Door historische gegevens in meerdere sets op te delen om in-sample en out-of-sample testen mogelijk te maken, kunnen handelaren een praktisch en efficiënt middel krijgen om een ​​handelsidee en -systeem te evalueren. Aangezien de meeste handelaren optimalisatietechnieken gebruiken bij backtesting, is het belangrijk om het systeem vervolgens op schone gegevens te evalueren om de levensvatbaarheid te bepalen.

Doorgaan met out-of-sample testen met voorwaartse prestatietests biedt nog een extra veiligheidslaag voordat een systeem op de markt wordt gezet dat echt geld riskeert. Positieve resultaten en een goede correlatie tussen in-sample en out-of-sample backtesting en forward performance testing vergroten de kans dat een systeem goed zal presteren in de daadwerkelijke handel. (Zie voor een uitgebreid overzicht van technische analyse: Basisprincipes van technische analyse .)

Vergelijk beleggingsrekeningen Aanbieder Naam Beschrijving Adverteerder Openbaarmaking × De aanbiedingen die in deze tabel worden weergegeven, zijn afkomstig van samenwerkingsverbanden waarvan Investopedia een vergoeding ontvangt.
Aanbevolen
Laat Een Reactie Achter