Att köra en backtest räcker inte

Innehållsförteckning:

Anonim

Backtest är ett sätt att kontrollera effektiviteten i en strategi tidigare. Fungerar det här verktyget verkligen?

När du börjar i handeln är en av de första sakerna du lär dig begreppet backtesting. Innan du använder en strategi är det tillrådligt, om inte nödvändigt, att kontrollera resultaten av vissa regler under tidigare perioder. Vi kallar dessa regler för ett handelssystem eller helt enkelt ett system. Själva konceptet, eller åtminstone idén, är mycket bra. Även om det nu verkar uppenbart för oss har det inte alltid varit det. Dessutom finns det även idag handlare eller investerare som av misstag eller underlåtenhet överlåter sitt kapital till ödeens framtid.

Uppenbarligen spekulerar alla med sitt kapital efter eget tycke. Naturligtvis, med hjälp av åtminstone ett klick bort för att åtminstone försöka verifiera, och med relativt lätthet, de avkastningar som en strategi har haft tidigare, verkar det åtminstone absurt att inte göra det.

Obs! Vi utelämnar de delar av en analys som inte är kvantifierbara. Något som händer i alla typer av analyser. Det finns alltid något vi saknar.

Tidigare avkastning garanterar inte framtida avkastning

Vissa av dem som är ovilliga att kvantifiera sina strategier kan hävda - och mycket väl argumenterade - att tidigare avkastning inte garanterar framtida avkastning. Men med tanke på att de har rätt kommer jag alltid till följande slutsats: om du inte kan försäkra att det som har fungerat kommer att fortsätta att fungera, vad får dig att tro att det som inte fungerade kommer att fungera nu. Kan det fungera? Ja, men det verkar mer som en troshandling än någonting annat.

Hopp är det sista som går förlorat, för naturligtvis, innan du förlorar det, kommer du säkert att förlora ditt kapital.

Backtestet fungerar inte heller

Med tanke på tanken att ett backtest är bättre än att förlita oss på astrologi, måste vi fortsätta att förfina för att inte göra samma misstag som många handlare har gjort, gör och tyvärr kommer att fortsätta att göra.

Vid denna tidpunkt måste vi sätta olja på duk för att bekräfta att en backtest är bättre än att förlita oss på destinationens slumpmässighet, men det är långt ifrån tillräckligt.

Varför räcker det inte?

En backtest räcker för att kontrollera om vi, efter att ha använt ett visst handelssystem tidigare, skulle ha genererat vissa resultat. Men verktyget slutar där. Själva ordet säger det, "Tillbaka" (förflutet) och "test" (Bevis). Extrapolering, utan att analysera ytterligare, är vissa resultat - om än i mindre utsträckning - en annan troshandling. Eftersom det av en slump kunde fortsätta att fungera, och har hittat ett system som fungerar utan att veta varför eller att det fungerar och du vet inte förrän när. Detta sätt att fortsätta av vissa kvantitativa analytiker står i kontrast till deras oupphörliga kritik av teknisk analys. Det vill säga de kritiserar något som de själva, omedvetet, tillämpar dagligen.

Vad finns det att analysera?

Förutsatt att ett system har fasta parametrar är det nödvändigt att kontrollera dess giltighet i olika marknadsmiljöer. Även i miljöer som inte finns. Kontrollera hur ett system skulle ha fungerat i miljöer med hög volatilitet, låg volatilitet före och efter strukturförändringar på hausseartade, baisseartade och laterala marknader. Och så kunde vi fortsätta på obestämd tid.

Om systemet har variabla parametrar, vilket vanligtvis händer i de flesta fall, kommer vi att göra samma process, men med tanke på att systemet är modifierbart och därför optimerbart. Och det faktum att det är optimerbart gör det mottagligt för att vara överoptimerat. Denna punkt är av avgörande betydelse för att försöka uppnå stabil avkastning i framtiden.

Det vanliga steget efter att ha hittat en strategi som fungerade bra tidigare är att försöka optimera modellen. Stort misstag. Först måste du sätta det i spänning, eller vad jag kallar betonar systemet. Sätt den i den värsta möjliga miljö som är känd för sådana system. Således, till exempel, om vi har ett trendsystem, kommer det att vara nödvändigt att sätta det i funktion under långa sidopunkter för att se hur det beter sig när det inte finns något gynnsamt scenario för att generera avkastning från systemet. Anledningen till ovanstående är att vi inte vet vad som kommer att hända i framtiden, så att sätta oss i värsta möjliga scenario tar oss så långt som möjligt från den oundvikliga (och önskvärda) slumpmässigheten.

Vad ska jag göra förutom att stressa ut det?

Begreppen som förändrar allt är framåt test och test ur provet. Men om vi inte vet framtiden, hur ska vi testa något om något vi inte vet? Vi har två alternativ som vi snart kommer att se. Å andra sidan har vi begreppet out of sample. Valet av detta prov - vilket jag rekommenderar att de är en hel del (inte bara en) och med sannolikhetsfördelningar som har olika egenskaper - är viktigt för att uppnå ett system som fungerar. Tanken är att backtest och optimering genomförs under olika perioder. Således förblir gratisprover. Även om detta är upp till analytikerns smak. Det kan göras på ett annat sätt men vi kan hamna i statistiska fel som inte är målet för denna artikel.

  • Det första sättet att genomföra processen är vad vi kommer att kalla traditionellt: Vi skapar ett system, vi optimerar det och efter att ha tittat på några mätvärden använder vi det med fiktiva pengar eller med lite riktiga pengar. Om allt går bra sätter vi det på riktigt.
  • Det andra sättet att genomföra processen är vad vi kommer att kalla 'nytt', även om det i verkligheten har lite nytt: Vi utför ett system, vi optimerar det, vi kontrollerar parametrarnas stabilitet över tiden, vi utför från provtest, konstgjorda framåtprov och vi sätter det i funktion med ett riktigt framåtprov. Om allt går bra sätter vi det på riktigt.

Det andra sättet att gå vidare, jämfört med det första, är baserat på två begrepp: parametrarnas stabilitet över tid och konstgjorda framåtprov. Konstgjorda framåtprov är inte en typ av prov utanför provet som försöker simulera ett riktigt framåtprov. Låt oss tänka på följande:

Vi har gjort en process för ett system för det senaste året. Att sätta det i arbete från denna månad (juli) till slutet av året (december) är praktiskt taget detsamma som att gå framåt alla 6 månaderna och simulera framåtprovet från januari till juli. Det är inte detsamma, eftersom verkliga förhållanden alltid ger oss situationer som är svåra att uppfinna, men vi går vidare och uppnår bättre resultat. Och efter dessa ”uppfinningar” eftersom de faktiskt är uppfinningar, utförde vi testet framåt i realtid. Det är vad jag menar med artificiella framåtprov. Vissa kanske inte gillar det på det här sättet, men att tänka på annat sätt är mentalt partisk. Om du hade upptäckt denna strategi 6 månader tidigare, skulle du ha gjort detsamma.

Å andra sidan har vi systemparametrarnas stabilitet över tiden. För mig är detta det viktigaste måttet och berättar för oss om systemet är överoptimerat. Om parametrarna förblir stabila över tiden efter optimeringar varje X-period betyder det att det är mindre troligt att parametrarna har överoptimerats än andra som varierar mer. Om vi ​​till detta lägger till att för var och en av optimeringarna utför vi ett konstgjort test framåt och resultaten också är stabila, står vi inför ett system med sannolikheten att bli riktigt lönsam.

Allt detta kan bli mycket mer invecklat. Även om det verkar komplicerat är det inte. Det är tungt, men det är enklare än mekanismen för en kanna. Som alltid har alla sitt eget sätt att göra saker, det här är inte det enda sättet, men det jag ville klargöra är att ett backtest utan resekamrater är värdelöst och värdelöst. Åtminstone naturligtvis i handeln.