Det här kan bli kul.
Som jag la ut i ett föregående inlägg så kan man undersöka dugligheten hos candlestick -formationer genom att först definiera de objektivt och sedan låta en algoritm optimera fram den bästa formationen. Den algoritm jag främst hade i åtanke var en genetisk algoritm, där man låter principen bakom det naturliga urvalet arbeta fram den bästa candlestick-formationen. Projektet ska läggas upp ungefär så här:
Genetisk Algoritm: en simulerad evolution av olika lösningar på ett problem, i det här fallet en värdematris som representerar hur en viss candlestick-formation ter sig. Man börjar helt enkelt med en population och låter sedan den populationen ge upphov till en ny generation med en förutbestämd selektionsprocess. För att ranka individerna använder man någon sorts fitness-funktion. Här finns det många varianter för att bestämma vilka som ska få föröka sig. Ett sätt är att ha turneringar där man låter två slumpmässigt valda individer tävla om vilken som ska bli en av förälder. Ett annat sätt är att man bara rensar bort sämsta x-procent av populationen. Jag har bestämt mig för att gå en annan väg och låta sannolikheten att bli utvald till förälder till individerna i den nya generationen stå i direkt relation till individens fitness-värde. Man kan föreställa sig det som ett rouletthjul där de bättre individerna enligt fitness-funktionen tar upp större utrymma vilket gör att kulan hamnar på de oftare. Det ger de sämre individerna en chans att föröka sig vilket bidrar till att hålla variationen uppe och minskar risken för att algoritmen ska fastna i ett lokalt maximum. Men det skulle ge en ganska seg algoritm om det inte fanns någon större selektion som sållade ut de mindre bra individerna så att de kan ersättas av bättre. Därför har jag satt en restriktion på att en individ måste vara bättre än median för att få föröka sig. Alla under "dör".
Fitness-funktionen: sätter jag till att vara slutvärdet för en portfölj där man handlat enligt candlestick-mönstret. När det nuvarande mönstret för en aktie stämmer överens med det mönster som testas till över 90% mätt i ett enkel korrelationstest så köps aktien till stängningskursen. Portföljen börjar på ett värde på 100 och investerar alltid 100% av tillgängligt kapital. Inga kostnader för handeln simuleras.
Testdata: de aktier som ska testas är alla nuvarande komponenter i OMXS30. All tillgänglig data från Yahoo Finance har används fram till den sista mars 2009. Resresterande historik ska användas för att validera slutresultatet.
Population: jag har valt att sätta antalet till 500 individer. Det ger evolutionen lite att jobba med, men samtidigt inte för mycket för att sakta ner utvecklingen till det bättre. Jag gör ingen skillnad på honor och hanar, mina candlestick-mönster ska vara hermafroditer.
DNA: varje mönster eller individ representeras av 13 värden. Jag har valt att fokusera på mönster som sker över tre dagar. För många dagar skulle ge för många mönster, vilket gör det svårt att generalisera. För få och jag får inte tillräckligt många olika kombinationer av kurser.
Öppningskursen, högsta kursen, lägsta kursen och stängningskursen ger 4 värde för varje dag och totalt 4*3=12 för tre dagar. Det trettonde värdet är det antal dagar som ska gå efter positionen initieras tills den stängs. Strategin bygger alltså på en tidsstopp.
Mutationer: varje värde, eller gen, har en chans på 1,5% att muteras. I en population på 500 individer ger det ungefär 98 mutationer. Det är tillräckligt för att ge variation, ett för högt värde på mutationstakten ger för många dåliga individer då mutationer för det mesta är misslyckade. Prisvärdena kan muteras med en förändring på 0,25% positivt eller negativt. Det trettonde gener kan muteras till ett värde mellan 1 och 5. Jag har satt restriktionen 5 så att algoritmen inte får för sig att utveckla fram mönster som håller positioner flera år och då bara överoptimerar konjunktursvängningarna.
Iteration: för att beskriva det mer klart och tydligt fungerar en iteration så här.
- Två individer slumpas fram ur populationen med en sannolikhet som motsvarar det relativa fitness-värdet för individerna.
- En ny individ genereras genom att 13 gener tas av föräldrarna slumpmässigt. Eventuella mutationer uppstår.
- Individen testas och får ett fitness-värde.
- Individen ersätter den sämsta individen i populationen.
- Steg 1 till 4 upprepas tills populationen består av ett och samma mönster.
I nästa inlägg ska jag presentera resultatet.
KvA
Ifall du inte upptäckt det, så erbjuder uppsatser.se en funktion där man kan begära att ett e-mail skicka till sin adress så fort en uppsats skrivs med de nyckelord du valt ut.
Så skriv in ord med koppling till det ämne du är intresserad av och ta del av vad våra fina svenska studenter producerar!
Det stora problemet med strategier avsedda att fånga trender med glidande medelvärden är att i en konsoliderande marknad kommer det kortare medelvärdet att snöra sig runt det längre. Detta orsakar många affärer och förluster, för att inte tala om påfrestningar på tålamodet. För att undvika detta brukar det vara bra att välja mycket långa perioder som inställningar på sina medelvärden. Ett 50-dagars medelvärde skär mycket sällan ett 200-dagars, vilket ger mycket hög säkerhet i trendens riktning. Dock missar man många av de kortare trenderna som ett 20-dagars glidande medelvärde hade fångat upp.Inom styrteknik har problemet med ständigt skiftande signaler lösts genom att använda något som kallas hysteres. Hysteres är ett fysikaliskt fenomen där effekten av en applicerad kraft inte bara beror på kraftens momentana värde utan även dess historia. Om vi föreställer oss att vi ställer in vår termostat på att se till att temperaturen i rummet ligger på en konstant nivå vid 20 grader. Skulle temperaturen gå ner till 19 grader slås elementen på och värmer upp rummet tills det är 20 grader igen och elementen slås av. Men små variationer skulle hela tiden orsaka att temperaturen skiljer sig lite från 20 grader och ge upphov till att elementen slås på och av oavbrutet. För att undvika det ställer vi istället in termostaten på att slå på elementen när temperaturen är några tiondels grader under 20. Temperaturen kommer då att pendla mellan dessa nivåer, men vi undviker att systemet uppträder oroligt.Samma idé kan appliceras på tekniska strategier. Istället för att byta fot varje gång medelvärdena skär genom varandra så väntar vi tills avståndet är tillräckligt stort. Vi kan undersöka hur det skulle ha gått om vi sätter avståndet till standardavvikelsen för de senaste 50 dagarna multiplicerat med 0,5. Medelvärdena sätter vi till 50 och 200, vilket är det konventionella. Reglerna är ganska enkla, om MA50 är en halv standardavvikelse över MA200 köper vi. Vi säljer inte förrän MA50 är en halv standardavvikelse under MA200. Det här kan liknas vid att använda ett bollingerband.
Kanske inte det mest imponerande filtret, men genom att införa hysteres har vi minskat antalet affärer från 26 till 18. Samtidigt har avkastningen inte lidit. För även om vi kommer in senare i trenden så undviker hysteres-komponenten att vi drabbas av vissa felaktiga signaler. Hade courtage varit inräknat hade det gett ännu en anledning att införa en hysteres. KvA
I förra inlägget visade det sig att volatiliteten mätt i KVX har en stark tendens till autokorrelation, hög volatilitet följs av högre och så vidare. Det här är säkert användbart om man försöker förutspå framtida risk eller för att värdera derivat, men knappast för att förutspå någon riktning. Får man för sig att mäta korrelationen mellan framtida avkastning och volatilitet finner man att de är mycket nära noll.Det är faktiskt ganska logiskt. Volatilitet är bara ett mått på hur stark en rörelse är, inte hur vida den är positiv eller negativ. I det normala fallet bör volatiliteten inte ha någon inverkan på prisrörelsernas riktning, men hur förhåller det sig i extremfallen?Vi börjar med att undersöka det som vanligtvis får investerare att sova så dåligt, extremt hög volatilitet. Om volatiliteten idag är den högsta på n dagar, vad är den genomsnittliga avkastningen dagen efter? Vi undersöker alla n från 2 till 30 och jämför det med vad vi skulle förvänta oss, det vill säga samma som medelvärdet under hela perioden undersökt från 1987 och framåt.
Här visar sig extremt hög volatilitet (eller i alla fall extremt relativt till de senaste dagarna) ha en tendens att följas av positiva rörelser. I vissa fall mer än dubbelt så hög avkastning som det normala. Om vi vågar gissa på att det finns en viss symmetri i detta fenomen, så borde avkastningen vända till det negativa när vi undersöker tillfällen av extremt låg volatilitet.
Precis som förutspått, fast effekten av låg volatilitet verkar inte ha samma styrka som hög volatilitet. Så varför denna avvikelse? Om vi bara hade undersökt extremt hög volatilitet skulle vi kunna anta att den högre avkastningen var en effekt av större rörelser. Men då låg volatilitet visar sig ge negativ avkastning kan man inte anta att det bara är en effekt av ökad risk. Ytterligare beräkningar med signifikanstester behövs för att dra några större slutsatser .KvA
För att följa upp på ämnet volatilitet;Vårt volatilitetsmått var en enkelt beräkning av standardavvikelsen för de senaste 21 dagarna annualiserat. Men för att ha någon värde av att veta volatiliteten idag måste vi undersöka vad det innebär för framtiden. Vad har dagens volatilitet för korrelation med framtidens? Vi sätter x som volatiliteten idag och ser vad vi kan få för funktion för att beskriva volatiliteten y 21 dagar senare.
Tydligen ganska positiv korrelation. Oroliga tider följa vanligtvis av mer oroligheter och lugna tider följs av mer lugn. Så kan vi alltså förutspå vad volatiliteten kommer att vara?Bara för kul kommer här ett hypotetiskt exempel på hur det skulle sett ut om vi kunde handla volatilitet. Om KVX idag är över medelvärdet för de senaste 21 dagarna; köp och ligg lång. Annars så ligger vi kort. Avkastning beräknas inte i procent utan i nominell förändring för att slippa löjligt stora svingar.
Hyfsat jämn kurva (R^2 = 98%), under se senaste 24 åren har volatilitet haft en starkt trendande effekt. Nu ska vi bara se hur man kan dra nytta av detta på mer "handel-bara" instrument.KvA