Investor's wiki

tilbaketesting

tilbaketesting

Hva er backtesting?

Backtesting er den generelle metoden for å se hvor godt en strategi eller modell ville ha gjort det i etterkant. Backtesting vurderer levedyktigheten til en handelsstrategi ved å finne ut hvordan den vil fungere ved å bruke historiske data. Hvis backtesting fungerer, kan tradere og analytikere ha tillit til å bruke det fremover.

Forstå Backtesting

Backtesting lar en trader simulere en handelsstrategi ved å bruke historiske data for å generere resultater og analysere risiko og lønnsomhet før han risikerer faktisk kapital.

En godt utført backtest som gir positive resultater forsikrer tradere om at strategien er grunnleggende sunn og sannsynligvis vil gi fortjeneste når den implementeres i virkeligheten. I motsetning til dette vil en godt utført backtest som gir suboptimale resultater få tradere til å endre eller avvise strategien.

Spesielt kompliserte handelsstrategier, for eksempel strategier implementert av automatiserte handelssystemer, er sterkt avhengige av backtesting for å bevise verdien, siden de er for mystiske til å vurdere noe annet.

Så lenge en handelsidé kan kvantifiseres, kan den tilbaketestes. Noen tradere og investorer kan søke ekspertisen til en kvalifisert programmerer for å utvikle ideen til en testbar form. Vanligvis involverer dette en programmerer som koder ideen til det proprietære språket som er vert for handelsplattformen .

Programmereren kan inkorporere brukerdefinerte inngangsvariabler som lar traderen "tweak" systemet. Et eksempel på dette vil være i det enkle glidende gjennomsnittet (SMA) crossover-systemet. Handelsmannen vil kunne legge inn (eller endre) lengdene til de to glidende gjennomsnittene som brukes i systemet. Traderen kan deretter teste tilbake for å finne ut hvilke lengder av glidende gjennomsnitt som ville ha prestert best på de historiske dataene.

Det ideelle backtesting-scenarioet

Den ideelle backtesten velger eksempeldata fra en relevant tidsperiode med en varighet som gjenspeiler en rekke markedsforhold. På denne måten kan man bedre bedømme om resultatene av backtesten representerer en fluke eller god handel.

Det historiske datasettet må inneholde et virkelig representativt utvalg av aksjer, inkludert de fra selskaper som til slutt gikk konkurs eller ble solgt eller likvidert. Alternativet, som kun inkluderer data fra historiske aksjer som fortsatt eksisterer i dag, vil gi kunstig høy avkastning i backtesting.

En backtest bør vurdere alle handelskostnader, uansett hvor ubetydelige, da disse kan øke i løpet av backtesting-perioden og drastisk påvirke utseendet til en strategis lønnsomhet. Traders bør sørge for at deres backtesting-programvare står for disse kostnadene.

Testing utenfor prøven og ytelsestesting fremover gir ytterligere bekreftelse angående et systems effektivitet og kan vise systemets sanne farger før ekte penger er på spill. En sterk korrelasjon mellom resultater fra backtesting, out-of-sample og forward ytelsestesting er avgjørende for å bestemme levedyktigheten til et handelssystem.

Backtesting vs. Fremover ytelsestesting

Forward ytelsestesting, også kjent som papirhandel,. gir handelsmenn et annet sett med data utenfor prøven som de kan evaluere et system på. Forward ytelsestesting er en simulering av faktisk handel og innebærer å følge systemets logikk i et live marked. Det kalles også papirhandel siden alle handler kun utføres på papir; det vil si at handelsinnganger og -utganger dokumenteres sammen med eventuell fortjeneste eller tap for systemet, men ingen reelle handler utføres.

Et viktig aspekt ved fremdriftstesting er å følge systemets logikk nøyaktig; ellers blir det vanskelig, om ikke umulig, å nøyaktig evaluere dette trinnet i prosessen. Traders bør være ærlige om eventuelle handelsinnganger og -utganger og unngå atferd som cherry-picking- handler eller ikke inkludere en handel på papir som rasjonaliserer at "jeg ville aldri ha tatt den handelen." Dersom handelen ville ha skjedd etter systemets logikk, bør den dokumenteres og evalueres.

Backtesting vs. Scenarioanalyse

Mens backtesting bruker faktiske historiske data for å teste for passform eller suksess, bruker scenarioanalyse hypotetiske data som simulerer ulike mulige utfall. For eksempel vil scenarioanalyse simulere spesifikke endringer i verdiene til porteføljens verdipapirer eller nøkkelfaktorer som finner sted, for eksempel en endring i renten.

Scenarioanalyse brukes ofte til å estimere endringer i en porteføljes verdi som svar på en ugunstig hendelse, og kan brukes til å undersøke et teoretisk worst-case scenario.

Noen fallgruver ved backtesting

For at backtesting skal gi meningsfulle resultater, må tradere utvikle sine strategier og teste dem i god tro, og unngå skjevhet så mye som mulig. Det betyr at strategien bør utvikles uten å stole på dataene som brukes i backtesting.

Det er vanskeligere enn det ser ut til. Traders bygger vanligvis strategier basert på historiske data. De må være strenge med å teste med andre datasett enn de de trener modellene sine på. Ellers vil backtesten gi strålende resultater som ikke betyr noe.

På samme måte må handelsmenn unngå datamudring, der de tester et bredt spekter av hypotetiske strategier mot samme sett med data, noe som også vil gi suksesser som mislykkes i sanntidsmarkeder fordi det er mange ugyldige strategier som vil slå markedet over en bestemt tidsperiode ved en tilfeldighet.

En måte å kompensere for tendensen til datamudre eller cherry-pick er å bruke en strategi som lykkes i den relevante, eller in-sample, tidsperioden og tilbaketeste den med data fra en annen, eller out-of-sample, tidsperiode . Hvis tilbaketester i utvalget og utenfor utvalget gir lignende resultater, er det mer sannsynlig at de blir bevist gyldige.

##Høydepunkter

– Den underliggende teorien er at enhver strategi som fungerte bra i fortiden, sannsynligvis vil fungere bra i fremtiden, og omvendt vil enhver strategi som fungerte dårlig i fortiden sannsynligvis vil fungere dårlig i fremtiden.

  • Backtesting vurderer levedyktigheten til en handelsstrategi eller prismodell ved Ã¥ oppdage hvordan den ville ha utspilt seg i ettertid ved Ã¥ bruke historiske data.

  • NÃ¥r du tester en idé pÃ¥ historiske data, er det fordelaktig Ã¥ reservere en tidsperiode med historiske data for testformÃ¥l. Hvis det er vellykket, kan testing av det pÃ¥ alternative tidsperioder eller data utenfor prøven bidra til Ã¥ bekrefte den potensielle levedyktigheten.