19. oktober 2011

Eureka!!

Hvis du kender mig lidt mere end bare fra denne blog, ved du nok også, at een af mine store interesser er matematik, og mere præcist matematikken bag diverse indikatorer til konjunktur-, rente-, råvare-, valuta- og aktieanalyser. Lidt nørdet måske, men ikke desto mindre en billig og – til tider – indbringende hobby ;-)

For mange år siden faldt jeg tilfældigt over en beskrivelse af en indikator, der bl.a. var baseret på J. Welles Wilder’s Average True Range fra 1978, og den har siden rumsteret rundt i hovedet på mig.
Selve beskrivelsen er forlængst forsvundet, men i perioder har MS Excel, BCview og Vikingen været flittigt brugt, for at finde frem til en lignende indikator.

I sommeren 2011 (også kaldet "den grønne vinter") kom gennembruddet så, da det lykkedes at få nogle af brikkerne til at passe sammen!

Indikatoren er egentlig ikke bare en indikator, men en oscillator kombineret med et overlay på selve kursen.

Denne kombination indebærer flere muligheder for tolkning af signalerne, både objektivt og subjektivt, så en decideret automatisk test er svær at gennemføre. I min backtesting af indikatoren valgte jeg derfor en relativ simpel tilgangsvinkel: Køb og sælg når trendretningen skifter til hhv. op og ned.
En del  handler vil dog give et væsentligt bedre afkast, hvis man også tager hensyn til momentum på volatiliteten og/eller kigger efter divergenser mellem kursen og volatilitetsstyrken!

Oscillatoren (nederst i vedhæftede chart) udtrykker momentum på aktiens volatilitet. Volatiliteten beregnes vha. True Range over en given periode, og der beregnes et kort og et langt vægtet gennemsnit af hhv. stigende og faldende volatilitet - altså fire gennemsnit i alt. Differencen mellem de korte og de lange gennemsnit betegnes som Volatilitetsstyrken eller volatilitetsmomentum. Denne tilgang minder meget om beregningen af MACD, der jo er differencen mellem 2 eksponentielt glidende gennemsnit.

Overlay’et (de røde og grønne linier ved kursen) er baseret på et glidende gennemsnit på True Range, justeret hhv. op og ned med et antal standardafvigelser. De angiver trendretningen, og kun den del, der danner hhv. støtte og modstand for kursen, medtages på chartet. Visningen svarer lidt til Bollinger Bands eller en Keltner Channel, men jeg synes personligt, at dette overlay giver et væsentligt bedre udtryk rent visuelt.



Men hvad skulle barnet hedde?
I mangel af bedre valgte jeg at kalde indikatoren for MAI (Mother of All Indicators). Lidt prangende måske, men hvis du har et bedre forslag, så sig endelig til!

En af udfordringerne ved MAI er mængden af indstillingsmuligheder. Oscillatoren har 6 forskellige parametre og overlay’et har 5. Derudover har oscillatoren et købs- og et salgsniveau, hver især udtrykt som en procentdel af den seneste periodes laveste/højeste værdi af oscillatoren.

Alt i alt giver det temmelig mange kombinationsmuligheder, så risikoen for at sub-optimere ifm. en backtest af modellen er absolut til stede.

Det har dog efterfølgende vist sig, at hvis 2 parametre med samme modelmæssige funktion i beregningen (f.eks. en periode), også får den samme numeriske værdi, så bliver modellen mere robust. Jo mere robust en model er, jo mindre ændrer performance sig, når parametrene justeres...og en lavere men robust performance er at foretrække fremfor en højere men ustabil ditto.

Jeg vil naturligvis teste modellen i real life fremover, så måske dukker der også et par MAI-analyser op her på siden.