söndag 19 juni 2011

Candlestick-projekt: Utvärdering

För att få lite djupare förståelse för hur det mönster som den genetiska algoritmen utvecklat så har jag gjort lite statistiska tester. Samma historik från Yahoo, alla affärer görs vid stängning.




I den övre tabellen visas statistik för in-sample-perioden, alltså den period fram till sista mars 2009 som användes för att optimera mönstret. Utfall är den genomsnittliga affären, längd är hur länge en position hölls i genomsnitt. Att längden inte är exakt fem dagar som var den utvecklade stoppen för strategin beror på att en formation kan hålla i sig i flera dagar. Vinst/förlust visar vad kvoten mellan den totala sammanlagda vinsten från vinstaffärer delat i förlustaffärer är. Ett värde större än ett visar att du går med vinst.

Daglig avkastning är den genomsnittliga utvecklingen för en dag i en position. CAGR beräknas utifrån det med ett antagande att ett år innehåller 252 börsdagar.



Notera att resultatet blir bättre out-of-sample, på den historik som vi inte använt för att optimera resultatet. Detta beror på att de år som representerar vårt out-of-sample är alla starka börsår, t.ex. 2009 och 2010. En positiv marknadsutveckling är bundet att påverka vårt resultat positivt då denna strategi endast tar långa positioner (i motsatts till strategier som även tar korta, eller negativa positionen mot prisutvecklingen). Så för att egentligen vara rättvisa måste vi justera för marknadens resultat, och även volatiliteten som förstärker avkastningen.

Ett enkelt statistiskt test för signifikans är Students t-test. Där vi tar medelvärdet för urvalet minus vårt hypotetiska medelvärde, vilket är den genomsnittliga utvecklingen för alla dagar för en aktie. Om vår strategi är helt slumpmässig så borde medelvärdet för strategin vara samma som medelvärdet för alla dagar, då det bara är det slumpmässigt urval. För att bevisa att strategins medelvärde verkligen skiljer sig från det hypotetiska medelvärdet måste det ligga tillräckligt långt från medelvärdet enligt vanligt normalfördelning. Typiskt sätter man kriteriet till 95%, vilket är då man kan säga med en sannolikhet på 95% att urvalet skiljer sig från medel. Dock kan man inte anta att marknaden är normalfördelad men vi bortser från det för tillfället. Formeln för t-testet ser ut så här:




Efter att man beräknat skillnaden mellan urvalet och hypotesvärdet så delar man det med standardavvikelsen för urvalet delat i roten ur antalet observationer. Från detta kan man kolla signifikansen i en tabell.

Jag gjorde ett t-test för varje aktie som hade testats och sedan tagit ett medelvärdet på detta. För in-sample-perioden var resultatet att med 68% sannolikhet skiljde sig strategins affärer från de som kunde åstadkommas med slumpen. Detta betyder inte speciellt mycket då vi använt en optimerings-algoritm för att få fram det resultatet. Skulle vår fitness-funktion i den genetiska algoritmen vara ett t-test skulle det värde vara mycket högre. Vad vi är intresserade av är hur det går i out-of-sample-perioden.
Där är signifikansen 55%, vilket är sämre än i in-sample-perioden även om denna period hade högre vinst. Då 55% chans till framgång är ungefär vad man kan åstadkomma med ett mynt så kan vi dra slutsatsen att mönstret inte ger någon större fördel i aktiehandel.

KvA

Inga kommentarer:

Skicka en kommentar