torsdag 28 oktober 2010

Glidande medelvärden och börsklimat: del II

"It's all just one big trade"
I en tid då man genom bara några knapptryckningar kan investera i en tefabrik i Indonesien så har aktiemarknaden blivit mer och mer korrelerad med den globala aktiemarknaden. Kapital cirkulerar runt hela världen och letar efter den bästa alternativet att investera i bland all världens aktier. Så hur korrelerad är egentligen aktiemarknaderna med varandra?

För att göra ett test har jag valt ut 7 av världens största aktieindex:

  • NASDAQ 100 (USA)
  • DJIA (USA)
  • S&P 500 (USA)
  • Nikkei 225 (Japan)
  • FSTE 100 (Storbritannien)
  • Hang Sheng (Hong Kong)
  • All Ordinaries (Australien)
Så, låt oss undersöka korrelationen mellan dessa index och OMXS30 sedan 1990.




Diagrammet visar klar och tydligt hur korrelerade Sveriges börs är till t.ex. USAs börser. Undantaget verkar vara Japan som är negativt korrelerad till OMXS30.
Vad innebär nu det här då? Jo, för det första så är det svårt att diversifiera mellan marknader som rör sig ungefär samma. Vad är det för mening att investera i två marknader när de faller och stiger ungefär lika mycket under samma tid (om man nu måste följa MPT).
För det andra så ger det här en intressant möjlighet att se hur vi kan utnyttja korrelationen till vår fördel när vi handla OMXS30.



Grafen ovan visar utvecklingen av två fiktiva portföljer jämfört med OMXS30 sedan 1990. Den ena portföljen köper när MA50 för OMXS30 är över MA200 och säljer när det är under.
Den andra portföljen köper när antalet av de index som finns listade ovan som är i en uppåtgående trend är lika med eller fler än 4 och säljer när antalet är under eller lika med 3.


Alla siffror förbättras en aning, fast vi inte ens tog hänsyn till hur OMXS30 agerade. För att ytterligare förbättra avkastningen så kan man undersöka om det fler index ger mer träffsäkerhet, eller bara ta med index med hög korrelation. Men för nu räcker det här gott och väl. Så nästa gång du vill veta om klimatet är gynnsamt för att investera i börsen, se till att kolla in flera marknader.


KvA

Glidande medelvärden och börsklimat: del I

Det vanligaste sättet att undersöka hur börsens nuvarande klimat ter sig är att se om medelvärdet (MA) för de senaste 50 börsdagarna är över eller under medelvärdet för de senaste 200 dagarna. Är det över betyder det att börsen är i en uppåtgående trend och klimatet är lämpat för att investera. Är dock medelvärdet för 50 dagar under det för 200 så är marknaden i en nedåtgående trend och man bör vara aktsam med att köpa aktier.
Men hur bra är den här strategin?

Vi gör ett enkelt test. Vi tar avkastningen för MA50MA200-strategin på den svenska börsen och jämför den med avkastningen för OMXS30 med start den första börsdagen 1990. Avkastningen för strategin är 755% jämfört med 419 % för index. Det är överavkastning på 336 %.
Okej, men gäller samma om vi ändrar längden på medelvärdena? För att inte diskriminera så borde vi också testa alla medelvärdes-kombinationer som man kan tänkas använda. Vi sätter den kortare medelvärdet till m-dagar och det längre till n-dagar. M kan vara ett tal mellan 1 och 99, medan n kan vara ett tal mellan 100 och 300. För den som kan sin multiplikation så blir antalet möjliga kombinationer 99*201=19 899, ett hyfsat stort antal. Vi undersöker alla kombinationers avkastning över OMXS30.



Funktionsytan visar ett väldigt toppigt landskap. Endast ett litet blått område klarade inte av att mäta sig med index. De ursprungliga inställningarna 50 och 200 är långt ifrån det optimala, det kommer inte ens upp till det lila strecket. De optimala längderna på medelvärdena är m=1 och n=101. Det skulle ge nära tusen procent i överavkastning. Men det hjälper tyvärr inte oss.

De långa trenderna på aktiemarknaden skapas av en kombination av ekonomiska världshändelser och kapitalets agerande, något som inte går att förutsäga. Så även om vi har de optimala inställningarna för att pricka i trenderna perfekt historiskt så betyder det inte att vi kommer att kunna träffa rätt lika bra i framtiden. Det är förmodligen bäst att hålla sig till 50 och 200, de har lika stor chans att förutspå framtida trender.

Finns det då inget sätt vi kan öka chansen att gissa rätt på framtidens börsklimat? Jo, men då måste vi nog se mer globalt....

onsdag 27 oktober 2010

OMXS30: MACD

Aktier som ska handlas
  • Endast aktier som är inkluderade i det nuvarande OMXS30 handlas, så det är definitivt en del survivorship bais i historiken.
  • All historiska prisdata kommer från Yahoo Finance och är justerad för split och utdelning.
  • OMXS30-index används som jämförelse.

Tidsperiod för testet
  • Från den 23 oktober 2003 till den 24 september 2010 (1783 handelsdagar).

Portföljfördelning
  • Varje aktie tilldelas 1/30-del av kapitalet vid testets start.

Antaganden
  • Courtaget på varje affär är 0,085 %.
  • Slippage på 0,05 %.
  • Total friktion för varje position öppnad och stängd är 0,27 %.
  • Alla affärer görs vid stängning med signal från dagens slutkurs.

MACD strategier
  • Variant 1: Köp när MACD går över signallinjen
  • Variant 2: Köp när MACD är positiv
  • Variant 3: Köp när signallinjen är positiv
  • Variant 4: Köp när MACD både är över signallinjen och positiv



tisdag 26 oktober 2010

RSI Smoothed på OMXS30

För att fortsätta på det här inlägget så kommer här ett test av min version av en utjämnad RSI-indikator.
I vanliga fall är inställningarna för RSI 14 dagar, men baserat på de testar jag gjort på är RSI(14) helt värdelös för att hitta överköpta eller översålda nivåer för de flesta värdepapper. Så, i kreativitetens anda har jag modifierat RSI en aning för att göra den mer träffsäker. Egentligen är beräkningen samma som förut, men jag har ändrat tidsperioden den beräknar värdet på. Jag använder mig av medelvärden för att vikta RS-värdet så att RSI-kurvan blir mer jämn och inte påverkas för mycket av falska signaler.

50 är då mittpunkten för oscillatorn och då SRSI är under eller över så tar portföljerna en position vid stängningen. För jämförelse finns kurvan OMXS30 med i rött.
Värden under 50 utpresterar klar värden över 50 vilket ger förtroende till indikatorn. Dock så verkar den få det kämpigt i dåliga börsår, något som kanske kan förbättras genom att lägga till ett trendfilter.

För att avsluta så är här SRSI på OMXS30 för de senaste 100 börsdagarna.



KvA

tisdag 19 oktober 2010

Två RSI-strategier för OMXS30

För att följa upp på förra inlägget så kommer här ett test av två strategier som har utvecklats fram av den genetiska algoritmen. Algoritmen började från noll och utvecklade genom slumpmässiga förändringar fram hur strategierna skulle agera. Alla lösningar rankades och de tio bästa fick ligga till grund för bästa generation av individer. Här är resultatet för OMXS30 sedan 2003.

Strategi I: köper när RSI(4) över 24 och säljer när RSI(4) går över 42, alla köp stoppas när MA20 är under MA93. Det här strategin verkar ha hittat ett vinstgivande område mellan 24 och 42 hos RSI(4).



















Strategi II: köper när RSI(13) över 80 och säljer när RSI(13) går under 2, alla köp stoppas när MA77 är under 95. Det här strategin agerar som en trendföljare och köper vid väldigt överköpta nivåer och säljer vid väldigt översålda.




















Jag planerar fler tester av den genetiska algoritmen på andra strategier också, och på fler olika instrument. Näst ut är ett test av strategier baserade på tre glidande medelvärden.

söndag 3 oktober 2010

Evolution av strategier

Låt oss säga att jag vill utveckla en strategi som använder sig av en RSI-indikator och två medelvärden. Jag ska köpa när RSI-indikator står över eller under ett visst värde och sälja när det står över eller under ett visst värde. Jag ska filtrera mina affärer så att jag inte köper när trenden är åt fel håll. Det kan jag enkelt göra med de två medelvärdena.

Okej, allt lugnt så långt. Nu ska jag bara komma på vad mina parametrar ska vara. Vad ska perioden på RSI-indikatorn vara för att jag ska få bäst resultat? Ska jag köpa när värdena är höga eller när de är låga? Ska jag sälja när värdena är låga eller höga? Ska jag kanske köpa höga värden för att sälja ännu högre värden? Och vad ska jag ha för inställningar på medelvärdena?

Sanningen är att även för en enkel strategi som denna så är antalet kombinationer flera miljarder. Självklart kan vi anta en del baserat på vad vi redan vet. Men vad är det för kul med det.
En vida använd optimerings teknik för att lösa problem som dessa är genetisk programmering där varje möjlig lösning representeras av en individ med gener för att efterlikna biologiska evolution. "Generna" eller variationerna på lösningen förs vidare till nästa generation när nya individer skapas av de bästa individerna från förra generationen. Dåliga gener eller lösningar på problemet förs inte vidare lika bra medan bra lösningar förs vidare i högsta grad.

Dock är det bara halva magin med evolution. För gener förs inte vidare från föräldrarna, de skapas och förändras hela tiden i takt att slumpmässiga mutationer sker. Detta gör att en framträdande gen kan bytas ut om en ny, bättre uppstår.

Så, låt oss nu omsätta detta till vår ursprungliga strategi. Parametrar representeras av siffror och siffrorna representerar gener för varje strategi. Varje generation innehåller 100 individer och bara de 10 bästa mätt med en speciellt prestations-statistik får lova att reproducera. Generna förändras slumpmässig och varje ny gen får en chans att prestera. Flera hundra generationer skapas och
resultatet är fascinerande.




KvA