onsdag 14 december 2011

Falsifierad alpha

För att fortsätta i samma anda som förra inlägget så ska vi diskutera hur ett mer vetenskapligt synsätt kan urskilja de som inte kan producera alpha ifrån de som faktiskt kan. Min slutsats var att alla handelssätt som baserades på subjektiva bedömningar var i grunden opålitliga då de inte gick att falsifiera. Att handla på känsla och "maginstinkt" kommer med största sannolikhet göra att man följer med resten av marknaden i avkastning långsiktigt. Genom att definiera vår hypotes objektiv kan vi åtminstone försöka bevisa motsatsen till skillnad från subjektiva hypoteser där sanningen för alltid kommer att vara oviss. Dock räcker det inte med att bevisa att hypotesen kan generera avkastning över det normala, vi måste även undersöka hur troligt det är att detta bara är ett resultat av slumpen. Det är därför vi tar hjälp av hypotestester.

Låt oss säga att vi vill bevisa att avkastningen för den sista börsdagen innan julafton är helt i linje med vad som skulle genereras av slumpen. Det vanligaste sättet att testa hypoteser likt den här är förmodligen genom ett t-test. Vi beräknar där medelvärdet, standardavvikelsen, antal observationer samt det förväntade medelvärdet för att få fram en kvot. Vi kan sedan jämföra det här värdet med en förväntad distribution och då få fram en signifikans. För historik på OMXS30 från 1986 till idag ger vårt test en signifikans på 0,0341. Det betyder att i ett fall av trettio så slumpen ge ett lika högt värde eller högre för avkastningen. Hade vi satt ett gränsvärde för där vi förkastar nollhypotesen vid 0,05 så kan vi bekräfta att alternativhypotesen är att acceptera, dvs att innan den 24 december har en effekt på börsens avkastning.

Dock finns det här ett antagande om att distributionen ska vara normalfördelad, vilket ibland inte går att göra speciellt inte för något så oberäkneligt som aktiepriser. Det är därför icke-parametriska tester kan vara bättre att använda.


Bootstrap
Med bootstrap-metoden gör vi färre antaganden om distributionen utan skapar genom att upprepade gånger slumpa fram urval ur vårt ursprungliga urval. Helt proceduren beskriv bäst genom att man föreställer sig en keno-dragning.
  1. Testa regeln på dagliga historiska avkastningar som justerats så att de har ett medelvärde på noll (för att undvika influenser av historiska trender).
  2. Ta ett medelvärde m av avkastningen för regeln och subtrahera varje daglig avkastning med det.
  3. Skriv ner varje värde på en boll, en boll för varje dag regeln gett en signal. Medelvärdet för alla bollar ska vara noll efter steg 2 för N bollar.
  4. Lägg alla bollar i en maskin som rör om dem. Dra slumpmässigt en boll, notera värdet och lägg sedan tillbaka bollen i maskinen.
  5. Upprepa steg 4 N gånger och ta ett medelvärde över alla bollar.
  6. Upprepa steg 4 och 5 många gånger så att en distribution fås. Antalet slumpade medelvärden som är lika med eller högre än m delas med antalet medelvärden som skapats för att beräkna ett p-värde. Detta är signifikansen att regelns positiva avkastning är ett resultat av slumpen.

Då vi låter slumpen skapa en distribution som vi jämför avkastningen med så kommer utfallet att skilja sig för varje gång vi gör en. För att undvika detta hade vi behövt köra steg 4 och 5 ett oändligt antal gånger, men pga av tidsbrist får vi nöja oss med det antal som ger tillräckligt stor exakthet. Jag testade signifikansen för regeln att köpa innan julafton är fick efter 10 miljoner iterationer ett p-värde på 0,0157. Detta är klart bättre än med ett t-test då det visar på ännu högre signifikans, chansen att det bara är slumpen som spelar in är en på 64.


Monte Carlo
Monte Carlo-metoden är förmodligen den som låter mest självklar när vi vill testa utfallet i jämförelse med slumpen. Den går ut på att slumpmässiga regler testas som ger lika många signaler som regeln vi vill testa. Det hela går till så här.
  1. Testa regeln på dagliga historiska avkastningar som justerats så att de har ett medelvärde på noll (för att undvika influenser av historiska trender).
  2. Regeln ger ett daglig medelvärde på m över N observationer.
  3. Avkastningen för alla dagar i testperioden (fortfarande justerande med ett medelvärde på noll) skrivs ner på en boll och läggs i en maskin.
  4. Dra en boll ur maskinen och notera värdet, lägg inte tillbaka den efteråt.
  5. Upprepa steg 4 N gånger och ta ett medelvärde på alla bollar. Lägg sedan tillbaka de i maskinen.
  6. Upprepa steg 4 och 5 många gånger för att få tillräckligt god precision.
  7. Beräkna sedan p-värdet genom att dividera alla medelvärden från steg 5 som är lika med eller högre än m med det totala antalet.

För att jämföra utfallet ifrån bootstrap-metoden och t-testet drog jag 25 (antalet jular OMXS30 funnits) unika värden ur testperioden och beräknade p-värdet för 10 miljoner iterationer till 0,0712. Detta är klart högre än resultatet av de andra testerna då det ger en chans på 14 att resultatet kommer från slumpen.


Informationsutvinning
Det kan vara viktigt att notera att resultaten här baseras på antagandet att vi bara har testat en regel. Hade jag testat 14 olika dagar på året och tagit den bästa för att göra Monte Carlo-testet så hade ett p-värde på 0,0712 inte varit speciellt signifikant då det ligger väl inom förväntad sannolikhet.


Sammanfattningsvis så är hypotestester ett viktig verktyg för att utvärdera påståenden om alpha från objektiva beslutsmetoder. Både Monte Carlo och Bootstrap kan oftast ersättas av ett t-test då signifikansen sällan skiljer sig åt i en speciellt hög grad. Monte Carlo är speciellt tidskrävande att göra då det kräver unika slumptal som är lite jobbigare att generera än ounika som för Bootstrap. Dock anser jag att Monte Carlo är mer exakt. Som alltid med aktiemarknaden är det ingen exakt vetenskap och trots att vi vill hålla besluten så objektiva som möjligt så kommer nog alltid det korrekta tillvägagångssättet att vara subjektivt.


KvA

Inga kommentarer:

Skicka en kommentar