Bankovní institut vysoká škola Praha Katedra matematiky a statistiky
Technická analýza měnových kurzů Bakalářská práce
Autor:
Erik Gärtner Bankovní management
Vedoucí práce:
Praha
Ing. Petr Čihák, Ph.D.
Červen, 2009
Prohlášení:
Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a s použitím uvedené literatury.
V Praze dne
Děkuji vedoucímu práce ing. Petru Čihákovi, Ph.D. za důležité rady. Především však děkuji své rodině za trpělivost.
Anotace Práce popisuje charakteristické rysy finančních časových řad, konkrétně měnových kurzů. Navrhuje pro ně Lévyho rozdělení místo normálního rozdělení. Klasické indikátory technické analýzy – Moving Average Convergence / Divergence a Relative Strength Index – a moderní indikátory – Polarised Fractal Efficiency a Fractal Dimension Index – jsou vysvětleny. Představen je software Statistica Neural Networks a základní typy neuronových sítí. Rozebrána je příprava dat pro vstup do neuronové sítě a návrh její struktury, extrakce vzorů a testování kvality sítě. Diskutovány jsou výsledky testu sítě na reálných datech s projektem budoucího rozšíření práce o fundamentální analýzu, kolekce sítí a genetické algoritmy. Jádrem práce jsou soubory vytvořené v Excelu a Statistice.
Annotation This work describes characteristic attributes of financial time series, exchange rates in the concrete. Levy distribution is proposed for them instead of the normal distribution. Classic technical analysis indicators – Moving Average Convergence / Divergence and Relative Strength Index – and modern indicators – Polarised Fractal Efficiency and Fractal Dimension Index – are explained. Statistical Neural Networks software package and basic neural network types are introduced. The data preparation for a neural network input is analyzed as well as the architecture layout, pattern extraction and network quality testing. Real life data test results are discussed with an ongoing project for future integration of the fundamental analysis, network ensembles, and genetic algorithms. Both the Excel sheets and Statistica files are the pivotal points of this thesis.
Obsah Úvod (cíl práce)............................................................................................................................. 7 1
Vybrané klasické indikátory technické analýzy .................................................................... 9 1.1
Data ............................................................................................................................. 10
1.1.1 1.2
Popis souborů .............................................................................................................. 13
1.3
Histogram .................................................................................................................... 14
1.4
Moving Average Convergence / Divergence (MACD).............................................. 17
1.4.1
Konstrukce .......................................................................................................... 17
1.4.2
Interpretace .......................................................................................................... 18
1.5
2
4
Relative Strength Index (RSI) ..................................................................................... 20
1.5.1
Konstrukce .......................................................................................................... 20
1.5.2
Interpretace .......................................................................................................... 21
Vybrané moderní indikátory technické analýzy .................................................................. 23 2.1
Fraktál ........................................................................................................................ 24
2.2
Polarized Fractal Efficiency .......................................................................................... 25
2.1.1
Konstrukce .......................................................................................................... 26
2.1.2
Interpretace .......................................................................................................... 27
2.3
3
Logaritmy výnosů ............................................................................................... 12
Fractal Dimension Index ............................................................................................. 29
2.3.1
Konstrukce .......................................................................................................... 30
2.3.2
Interpretace .......................................................................................................... 31
2.3.3
Poznámky k FDI.................................................................................................. 33
Neuronové sítě v programu Statistica ................................................................................. 34 3.1
Vícevrstvá perceptronová síť ...................................................................................... 35
3.2
Síť RBF ....................................................................................................................... 35
3.3
Kohonenova síť ........................................................................................................... 36
Technická analýza pomocí neuronových sítí ...................................................................... 37 4.1
Data ............................................................................................................................. 38
4.2
Popis souborů .............................................................................................................. 38
4.3
SNN – časové řady ...................................................................................................... 38
4.4
Vlastní návrh sítě ......................................................................................................... 39
4.4.1
Extrakce vzorů..................................................................................................... 40
5
4.4.2
Konfigurace sítě .................................................................................................. 42
4.4.3
Trénování sítě ...................................................................................................... 43
4.4.4
Nákupní a prodejní signály ................................................................................. 44
4.4.5
Testování sítě novými daty.................................................................................. 44
Výsledky ..................................................................................................................................... 48 Závěry a doporučení .................................................................................................................... 49 Seznam použité literatury ............................................................................................................ 50
6
Úvod
V Zadání bakalářské práce projednaném dne 13. listopadu 2007 jsem jako cíl této práce uvedl „Porovnání základních indikátorů technické analýzy a pokus o ověření jejich kvality pomocí neuronových sítí“. Takový skutečně byl původní záměr, avšak kombinace neuronových sítí a finančních časových řad je natolik složitou tématikou, že jsem své plány v průběhu psaní práce částečně přehodnotil. Samotná příprava dat pro neuronovou síť může být (a byla) námětem pro odborný text s mnohem vyššími ambicemi než jsou mé v této práci. Ze studia podkladů jsem pochopil, že pokud má práce s neuronovými sítěmi přinášet konzistentní výsledky po delší dobu než několik dnů nebo týdnů, je nezbytně nutné vybudovat architekturu vzájemně si konkurujících sítí a tu neustále inovovat, například pomocí genetických algoritmů. Zjistil jsem, že vývojové prostředí Statistica Neuronové sítě je pro takovou aplikaci výborným nástrojem. Konečným cílem mého snažení je nalezení pokud možno optimálního způsobu využití neuronových sítí při obchodování na měnových trzích. Získat relevantní data, ať už z oblasti technické nebo fundamentální analýzy, a využít je k vybudování systému, který mezi těmito analýzami osciluje. Každý zkušený obchodník ví, že právě tak skutečné trhy fungují. Nejsou dokonalé, všichni účastníci nemají stejné informace, dynamika trhu se neustále mění a hypotéza náhodné procházky1 je pouze salonní teoretickou konstrukcí. Rozhodl jsem se tedy pro postup jiným způsobem. Nejdříve budu analyzovat podkladová data, tj. měnové páry EUR/USD, GBP/USD a USD/JPY. Úplnost časových řad, histogramy rozdělení četností a navrhnu rozdělení, které finanční řady popisuje lépe než rozdělení normální. Taková analýza prováděná kontinuálně umožní sledovat trendy ve vývoji sledovaných dat. Více párů sleduji proto, abych porovnal možné rozdíly mezi nimi.
1
Finanční teorie, která předpokládá, že tržní ceny (akcií, měn, komodit, atd.) se vyvíjejí po náhodné trajektorii a proto není možné budoucí hodnoty předpovědět. Tuto teorii popularizovali například ekonomové Eugene Fama, Burton Markiel nebo již před nimi v padesátých letech 20. století Maurice Kendall.
7
Dále vymezím několika indikátory alespoň hrubě možnosti technické analýzy a pokrok v jejím využívání. Výpočtově náročný indikátor FDI je postaven na analýze škálovaných rozpětí. Tato velmi zajímavá metoda je opět námětem mnohem odbornějších prací než je tato. Některé uvádím v bibliografii. (Vzhledem ke konečnému cíli by měla následovat část zabývající se obdobným způsobem fundamentální analýzou. Na tomto oddílu intenzivně v současnosti pracuji. První část se zabývá získáváním dat, kterých je velké množství v různých formátech a která pocházejí z různých zdrojů. Tato data budu opět analyzovat jak pomocí matematických metod, tak vizuálně. Plánuji jejich uložení v databázi mysql a vystavení na internetu v open source CMS2 Joomla3 s použitím Google Chart API4. Druhá část bude řešit detailně přípravu dat pro použití v neuronových sítích.) Některé možnosti, ale především základní typy sítí vývojového prostředí Statistica Neural Networks stručně vyzdvihnu v teoretické třetí části práce. Praktické návrhy stavby sítí a kolekcí, postup extrakce vzorů z dat měnového páru EUR/USD, jejich rozdělení do bloků pro trénování a testování sítě, hodnocení výstupů neuronové sítě. To vše je náplní čtvrté části této bakalářské práce. Časově zdaleka nejnáročnější byla praktická část provedená v Excelu a Statistice, zde leží skutečný základ pro další využití všech poznatků v praxi. Takto vytvořené soubory jsou popsány vždy v příslušných kapitolách.
2
content management system http://joomla.org 4 http://code.google.com/intl/cs-CZ/apis/chart/ 3
8
1
Vybrané klasické indikátory technické analýzy
V této kapitole popíšu dva nejpoužívanější indikátory technické analýzy, kterými jsou Moving Average Convergence Divergence a Relative Strength Index. Ačkoliv se v poslední době prosazují i jejich variace, například Displaced Moving Average5, jedná se stále o ukazatele, které naleznete třeba i na monitorech odpůrců technické analýzy.
5
Jedná se o klouzavý průměr, který je časově posunutý, nejčastěji vpřed. Cílem je umožnit, aby indikátor věrněji a časněji naznačoval změny trendu.
9
1.1 Data Finanční data použitá v této práci byla získaná ze serveru společnosti Reuters®6. Jedná se o hodinové uzavírací ceny z RICů EUR=, JPY= a GBP=, tj. měnové páry EUR/USD, USD/JPY a GBP/USD. Data pokrývají dva různě dlouhé časové intervaly. Prvním je období od 28.11.2007 do 14.3.2008 včetně, druhým úsek od 3.10.2008 do 17.3.2009. Protože data nebyla stoprocentně kompletní v žádném měnovém páru7 bylo nutno chybějící data podle nějakého vzorce doplnit. Pro odhad dat jsem využil excelovskou funkci RANDBETWEEN(dolní, horní), která generuje náhodné číslo v intervalu (dolní, horní). Za dolní jsem dosadil nižší z poslední hodnoty před a po mezeře v datech. Za horní jsem dosadil vyšší z poslední hodnoty před a po mezeře v datech. Ve prvním
období chybělo nejvíce údajů jednoznačně 1.1.2008 a to 13 kotací na EUR/USD, 7 kotací na GBP/USD a dokonce 16 kotací na USD/JPY při celkovém počtu dat 1960 pro každý měnový pár. V druhém období chybělo na Nový rok 8 kotací na EUR/USD, 7 kotací na GBP/USD a opět 16 kotací na USD/JPY při celkovém počtu dat 2969. Tabulka 1
ilustruje typickou situaci na přelomu týdne. V pátek večer GMT chybí data pro
asijskou měnu a naopak v neděli večer GMT nejsou kompletní data evropských měn.
TIMESTAMP 6.3.09 20:00 6.3.09 21:00 6.3.09 22:00 6.3.09 23:00 8.3.09 18:00 8.3.09 19:00 8.3.09 20:00 8.3.09 21:00 8.3.09 22:00 8.3.09 23:00 9.3.09 0:00 9.3.09 1:00 9.3.09 2:00
EUR=
GBP=
JPY=
BID CLOSE 1,2663 1,2638 1,2658 1,2665
BID CLOSE 1,4095 1,4075 1,4096 1,41 1,4096 1,4093 1,4092 1,4093
BID CLOSE 97,94 98,30 98,34
1,266 1,2655 1,2656 1,2673 1,2677 1,2718 1,2707 1,2685
1,413 1,4164 1,4158 1,4136
98,29 98,31 98,30 98,36 98,41 98,28 97,98 98,24 98,30
Tabulka 1. Typické obchodování na přelomu týdne
6
Využitím doplňku PowerPro pro Excel v rámci mé běžné pracovní náplně. Z různých důvodů - například svátky na jednotlivých měnách; typicky se opakující inkonzistence časové řady v hodinách a dnech, kdy je likvidita nejnižší, typicky neděle večer GMT času) 7
10
Pokud si to žádala konstrukce některého indikátorů, byla pro jeho použití příslušná řada upravena, zpravidla na celé týdny. Kompletní sadu dat pro všechny tři měny a obě období jsem použil pouze v úvodní analýze pomocí histogramu, kde šlo porovnání charakteru dat z hlediska rozdělení jejich hodinových výnosů. Indikátory technické analýzy a jejich grafy jsem konstruoval pouze pro EUR/USD, pro další měnové páry lze samozřejmě postupovat analogicky. Ačkoliv jsem mohl využít například pro výpočet klouzavých průměrů vestavěných funkcí MS Excel nebo nástroje Statistica, provedl jsem ze studijních důvodů všechny podobné výpočty sám. Proto jsou i případné chyby ve výpočtech pouze mé vlastní. Přirozeně se nabízí také otázka, proč nepoužít měnový pár EUR/CZK. Jeho mělká likvidita však ztěžuje konstrukci kompletní časové řady, protože počet obchodů uzavřených od 17h do 08h SEČ je dramaticky nižší než v hodinách od 08h do 17h8.
1.50 1.49 1.48 1.47 1.46 1.45 1.44
05/02/08
01/02/08
30/01/08
29/01/08
25/01/08
23/01/08
ma [120h] 21/01/08
18/01/08
ma [24h] 16/01/08
14/01/08
08/01/08
10/01/08
EUR/USD
1.43
Graf 1. Vývoj EUR/USD, ma [24], ma {120]
8
Takové omezení samo o sobě ale neznamená, že nelze provádět smysluplnou technickou analýzu. Například v softwaru Reuters lze jednoduše vložit business hours jednotlivě od pondělí do neděle, data mimo takto zadané rozpětí jsou ignorována.
11
1.1.1
Logaritmy výnosů
Pro malé absolutní hodnoty výnosů sice platí, že aritmetické a logaritmické procentní
výnosy jsou přibližně stejné, ale aritmetický kladný procentní výnos se nerovná stejnému výnosu zápornému, výnosy nejsou symetrické. U větších procentních výnosů jsou však rozdíly značné. Platí, že
1
1, zatímco ln ln .
Z tohoto důvodu se v pracích souvisejících s finančními časovými řadami používají téměř výhradně přirozené logaritmy výnosů.
0.02 0.015 0.01 0.005 0 -0.005 -0.01 -0.015 ln(EURUSDt/EURUSDt-1) -0.02
ln(USDJPYt/USDJPYt-1)
01/12/08
27/11/08
25/11/08
21/11/08
19/11/08
17/11/08
13/11/08
11/11/08
07/11/08
05/11/08
03/11/08
30/10/08
28/10/08
24/10/08
22/10/08
20/10/08
16/10/08
-0.025
Graf 2. Logaritmy výnosů EUR/USD a USD/JPY
12
1.2 Popis souborů
•
BP_GARTNER_ZAKLAD_V01.xlsx, BP_GARTNER_ZAKLAD_V01_2009.xlsx Obsahují následující listy: raw původní hodinová close data EURUSD, GBPUSD a USDJPY stáhnutá ze serveru Reuters rare upraven formát, rozdělení na týdny, označení míst bez hodnot well kompletní data, mezery zaplněny generováním náhodných hodnot v rozpětí (hodnota před / hodnota po), doplněna data pro 14.3.2008 EUR_det, GBP_det, JPY_det close data + jejich klouzavé průměry za 24 a 120 hodin EUR_graf, GBP_graf, JPY_graf grafy měnových párů a jejich klouzavých průměrů
•
BP_GARTNER_CLASSIC_V01.xlsx, BP_GARTNER_CLASSIC_V01_2009.xlsx Obsahují postup konstrukce indikátorů RSI a MACD ve zvláštních souborech pro rok 2008 a 2009, i s příslušnými grafy.
•
BP_GARTNER_MODERN_V01.xlsx, BP_GARTNER_MODERN_V01_2009.xlsx Tyto soubory počítají hodnoty relativně moderních indikátorů PFE a FDI pro 2008 i 2009, opět s grafy.
•
BP_GARTNER_HISTOGRAM_V01.xlsx, BP_GARTNER_HISTOGRAM_V01_2009.xlsx Zachycují histogramy výnosů jednotlivých měnových párů, společně s odhady grafů funkcí, které se snaží realisticky popsat rozdělení výnosů
13
1.3 Histogram Analýza finančních trhů v posledních letech prokázala, že modely založené na podmínce normality nejsou realistické. Popírají tak dříve obecně přijímaný názor, že trhy jsou efektivní a řídí se bezvýhradně statistikou tzv. náhodné procházky (random walk). Možnou metodou analýzy časových řad, která odhalí, zda se v případě uvažované časové řady jedná o random walk je výpočet Hurstova exponentu. Tento exponent je roven 0,5 pokud je řada náhodná, která nemá žádnou korelaci mezi svými minulými a budoucími výnosy. Pokud je exponent větší než 0,5, jedná se o trendující řadu, řadu s fraktálovým šumem. B. Mandelbrot9 poukázal na fakt, že gaussiánská statistika je schopna popsat pouze časové řady se spojitými derivacemi, tj. bez mezer. Když však studoval ceny bavlny, zjistil, že obsahují vertikální gapy a proto navrhl pro tyto případy použití paretiánské statistiky. Z toho vyplývá, že pokud chceme obchodovat v nějakém trhu, je třeba si vyvinout vlastní model jeho statistického chování. Jednoduchá analýza pomocí histogramu odchylek výnosů od klouzavých průměrů odhalí skutečné rozdělení výnosů.
EUR/USD
-0.023
GBP/USD
-0.013
USD/JPY
norm USD/JPY
norm GBP/USD
-0.003
norm EUR/USD
0.007
Graf 3. Srovnání rozdělení reálných logaritmů výnosů a logaritmů výnosů simulovaných norm. rozdělením
Výsledek obdobného postupu je zakreslen v následujících grafech. 9
Benoît Mandelbrot (narozen 1924 ve Varšavě), profesor univerzity Yale, všeobecně považován za zakladatele fraktálové geometrie, autor pojmu „fraktál“.
14
Rozdělení četností odchylek od výnosů v histogramech je srovnáno s „normální“ křivkou. Už na první pohled je zcela jasné, že normální rozdělení není schopno popsat věrně rozdělení analyzovaných řad. Skutečné rozdělení má valnou většinu hodnot v poměrně úzkém rozpětí kolem nuly a navíc je výrazně šikmé10. V reálném trhu pozorovaná křivka má mnohem vyšší počet extrémních hodnot – v různých oblastech křivky u různých měnových párů. Jak uvádí v úvodní kapitole své knihy (1) Arltovi, na tyto vlastnosti upozorňoval například B. Mandelbrot už v šedesátých letech minulého století. Jeho učitelem na École Polytechnique byl P. Levy11, který navrhl celou třídu rozdělení, nazvanou ‚stabilní‘. Levyho stabilní rozdělení pravděpodobně pozorovaným vlastnostem vyhovuje lépe, proto jsem se pokusil nadefinovat jeho parametry12 tak, aby se výsledná křivka co nejvíce blížila reálnému rozdělení výnosů. Levyho rozdělení je importováno z výstupu programu STABLE J.P.Nolana dostupného na webové stránce http://academic2.american.edu/~jpnolan.
10
S rostoucím počtem vstupních dat se šikmost příslušného rozdělení mění a blíží k nule. Paul Pierre Levy (1886-1971) francouzský matematik, zabýval se převážně teorií pravděpodobnosti 12 index stability 0,2 , šikmost 1,1, váha 0, poloha 11
15
70 Četnost Norm. rozdělení Levy α=0.85 β=0.15
60
Četnost
50 40 30 20 10
0,0185
0,01475
0,011
0,00725
0,0035
-0,00025
-0,004
-0,00775
-0,0115
-0,01525
-0,019
0
Třídy Graf 4. EUR/USD histogram, data 2008
90
Četnost Levy α=1.25 β=-0.10 Normální rozdělení
80 70
50 40 30 20 10
0,0382
0,031
0,0238
0,0166
0,0094
0,0022
-0,005
-0,0122
-0,0194
-0,0266
-0,0338
0 -0,041
Četnost
60
Třídy Graf 5. EURUSD histogram, data 2009
16
1.4 Moving Average Convergence / Divergence (MACD) Tento klasický indikátor byl vytvořen v 60. letech 20. století Geraldem Appelem, téměř legendárním autorem prací v oblasti technické analýzy a tržního načasování (market timing). Prostřednictvím své společnosti Signalert spravuje Appel asi USD300mio privátního kapitálu, vydává knihy a vzdělává další generace obchodníků. MACD sleduje rozdíl mezi rychlým (tj. pro kratší období) a pomalým (tj. pro delší období) exponenciálním klouzavým průměrem (ema) cen měnového páru. Prodejní nebo nákupní signály generuje signální křivka vytvořená dalším vyhlazením
MACD pomocí ema. Do finální podoby, ve které se MACD indikátor dnes používá, jej dovedl v roce 1986 Thomas Aspray. Tento vzděláním biochemik začal velmi brzy
využívat svých počítačových znalostí k analýze finančních trhů a stal se uznávaným obchodníkem, kterého i Wall Street Journal považoval za jednoho z nejzkušenějších bondových technických analytiků na světě. Aspray přidal k MACD histogram tvořený rozdílem hodnot MACD a signální křivky a výsledný indikátor pojmenoval MACD Histogram/Momentum.
1.4.1
Konstrukce
Začneme výběrem period pro jednotlivé průměry – typická je například kombinace 5|34|7, Aspray po několikaletém studiu doporučuje 10|20|9. Podle jedné z teorií by první ema měl být roven ¼ interpretovatelné periody a druhý roven ½ takového cyklu. V
případě EUR/USD hodinových dat by touto periodou mohl být pracovní týden, který má 126 hodin (5x24h + úvodních 6 hodin obchodování v Asii v neděli večer podle GMT,
avšak v pondělí ráno dle místního času v Tokiu). Délka prvního ema by pak byla rovna asi 32, druhá délka by se rovnala 63.
Najít „ideální periody“ pro obchodování měn není předmětem této práce, nicméně pochybuji, že by se k takovému ideálu dalo dojít a používat ho delší dobu beze změn. Mnohem reálnější je varianta neustálého testování kvality indikátoru a následných úprav period. Ve své práci se budu držet period navržených původně Appelem pro obchodování se stříbrem – 12|26|9.
17
1.4.1.1
Exponenciální klouzavý průměr (exponential moving average)
Ema používá váhové faktory, které klesají exponenciálně. Proto nová data mají pro celkovou hodnotu ema mnohem větší význam než starší hodnoty. Stupeň rychlosti poklesu vah vyjádříme parametrem σ takto
2 1
kde 1, … , ! je počet členů (v našem případě hodinových hodnot) klouzavého
průměru
"#$% "#$%& ' ()/)+,% "#$%& -
Chybí samozřejmě první člen této rovnice, tj. "#$ , dosadíme za něj prostý průměr
předchozích N členů časové řady.
1.4.1.2
Postup výpočtu jednotlivých členů MACD
Pro periody x|y|z platí
./0, "#$1 "#$2 +34!$5 "#$6
7389:4;$# ./0, +34!$5 1.4.2
Interpretace
Signál I • •
Nákup: ema [12] roste nad ema [26], tj. MACD>0
Prodej: ema [12] klesá pod ema [26], tj. MACD<0
Signál II •
Nákup: hodnoty „histogramu“ jsou záporné, ale začínají směřovat k nule
•
Prodej: „histogramu“ jsou kladné, ale začínají směřovat k nule
18
Divergence – mohou být včasným a cenným signálem významné změny trendu •
Medvědí: nových maxim dosahují ceny podkladového aktiva, ale nikoliv časově odpovídající hodnoty MACD
•
Býčí: nové minimum ceny je výše než předchozí, tento trend však MACD nepotvrdí
MACD dává informaci nejen o aktuálním trendu, ale i o jeho momentu, energii.
0.0006
histogram MACD signal EUR/USD
0.0005
1.31 1.29
0.0004
1.27 0.0003
1.25
0.0002
1.23
1E-04
20/02/09
1.17 18/02/09
-0.0002 16/02/09
1.19
12/02/09
-0.0001
10/02/09
1.21
08/02/09
-1E-18
Graf 6. EUR/USD MACD, výsek dat 2009
19
1.5
Relative Strength Index (RSI)
J. Welles Wilder se původně několik let věnoval trhu nemovitostí, než ho jeho partneři počátkem sedmdesátých let vykoupili, což mu umožnilo věnovat příštích třináct let výzkumu trhu a obchodování. Začínal s obchodováním stříbra a zjistil, že nejlepším způsobem, jak využít pákového efektu je obchodovat futures. Welles Wilder se stal téměř guru trhu díky svým indikátorům, které patří k základu vybavení každého software13 pro technickou analýzu. Mezi tyto indikátory patří Directional Movement, Parabolic Stop and Reverse, Average True Range, ale především Relative Strength Index (index poměrné síly). RSI měří mohutnost cenového pohybu ve srovnání s předcházejícím vývojem. Do grafu se dále zakreslují linie překoupení (obvykle 30) a přeprodání (většinou 70). Úrovně těchto linií se mohou lišit v závislosti na sledovaném období a trhu, stanovuje si je každý obchodník individuálně na základě vlastních zkušeností
1.5.1
Konstrukce
Pro každou periodu vytvoříme pár pomocných proměnných U a D, kde pro
())+,% ())+,%& - 0 < ) ())+,% ())+,%& - = , 0-
())+,% ())+,%& - > 0 < ) 0- = , ())+,%& ())+,% ())+,% ())+,%& - 0 < ) 0- = , 0-
Dále vypočteme příslušné ema analogicky k vzorci výše u MACD. "#$%? +
"#$%@
RS následně převedeme do intervalu <0,100>
+A 100 100 '
1 1 +
13
Mezi nejznámější patří Metastock®, eSignal, CQG a další. Téměř každý broker nabízí vlastní software, který klientům umožňuje alespoň základní indikátory technické analýzy používat.
20
Obvykle se volí n = 14, ale nejedná se o dogma. Běžně se používá i hodnota n = 22. Se klesajícím n roste počet nákupních a prodejních signálů, které RSI generuje překročením dolní nebo horní hranice.
1.5.2
Interpretace
MACD ani RSI se obvykle nepoužívají samostatně, jejich vývoj se porovnává s vývojem nějakého dalšího indikátoru, např. s trendovými liniemi. Obdobně jako u MACD platí u RSI, že pro jeho využití není vhodné použít první desítky až stovky výstupů. Z konstrukce indikátorů je zřejmé, že vyhlazení jejich křivky závisí na počtu vstupních dat exponenciálního klouzavého průměru.
Oscilátor je indikátor, který kolísá nad a pod středovou linií. Obvykle má horní a dolní rozpětí, které indikuje přeprodaný nebo překoupený stav v trhu. Výjimkou je MACD, který je také oscilátor, ale není obemknut rozpětím. RSI reprezentuje momentum (pohybová energie) určitého finančního instrumentu a také pokud dosahuje extrémních úrovní v horní (překoupený stav) i dolní (přeprodaný stav) poloze. Vzorec porovnává nedávné zisky (nárůsty ceny) aktiva proti jeho nedávným ztrátám (poklesy ceny). Výsledná linie kolísá mezi 0 a 100. Hranice jsou nastaveny na 30 a 70, kde 30 je považován za extrémní úroveň přeprodání a 70 za extrémní úroveň překoupení. Centrální linie je vedena úrovní 50. Nastavení hranic je individuální podle zkušeností obchodníka se zkoumaným aktivem, není neobvyklé, že se časem mění, důležitou roli hraje aktuální volatilita.
Existuje několik různých použití RSI při obchodování:
Signál I •
Nákup: RSI překročí hranici 30
•
Prodej: RSI překročí hranici 70
Divergence – interpretuje se analogicky s MACD •
Medvědí: nových maxim dosahují ceny podkladového aktiva, ale nikoliv RSI
•
Býčí: nové minimum je vyšší než předchozí, avšak rostoucí trend není potvrzen vývojem RSI 21
Center line crossover - toto použití RSI je rozhodně mnohem méně spolehlivé než dvě předcházející a proto se používá pouze ve spojení s dalšími indikátory •
Býčí: RSI překročí úroveň 50 směrem nahoru < trh je schopen tvořit více nových maxim než nových minim
•
Medvědí: překročí úroveň 50 směrem dolů < trh tvoří více ztrát než zisků (ve smyslu ceny aktiva)
100
EUR/USD RSI [28]
Dolní hranice 30
Horní hranice 70
90 80 70 60 50 40 30 20 10
16/3/2009
12/3/2009
10/3/2009
8/3/2009
4/3/2009
2/3/2009
27/2/2009
24/2/2009
22/2/2009
19/2/2009
0
Graf 7. EUR/USD RSI [28], výsek dat 2009
22
2
Vybrané moderní indikátory technické analýzy
Chaos ve zkratce: nelineární, dynamický systém, který se jeví jako náhodný, ale ve skutečnosti je formou řádu.
Polarized Fractal Efficiency ani Fractal Dimension Index nejsou široce používány, přesto mě zaujaly, protože se pokouší vnést do analýzy měnových kurzů prvek, který tam přirozeně patří. Fraktály a chaotické systémy jsou v současnosti sice populární, ale základy tohoto oboru byly položeny už před sto lety. PFE je poměrně jednoduchým oscilátorem, nijak náročným na výpočet, což už se nedá říct o druhém indexu. FDI zřejmě potřebuje nějakou další zásadní úpravu, která by jej obchodníkům více objasnila.
23
2.1 Fraktál 14 Hrubý, roztříštěný geometrický objekt, který může být rozdělen do částí, z nichž každá je (alespoň přibližně) velikostně redukovanou kopií celku. Tuto vlastnost nazýváme soběpodobnost. Termín fraktál vytvořil Benoit Mandelbrot v roce 1975 z latinského fractus. Fraktál má obvykle následující vlastnosti: •
jemná struktura na jakkoli malém měřítku
•
podobnost na různých měřítcích
•
příliš nepravidelný, než aby se dal popsat klasickou euklidovskou geometrií
•
soběpodobnost (přinejmenším velmi přibližně nebo stochasticky)
•
jeho Hausdorffova15 dimenze je vyšší než jeho topologická dimenze
•
je definován rekurzivně
Tyto vlastnosti dohromady způsobují, že fraktály jsou tvořeny vnořenými vzory, které se opakují v různých obdobích i měřítkách. Vzorec, který se opakuje a je možné ho do jisté míry předvídat, je přesně tím co investor hledá. M.D. McKenzie ve své práci na téma „analýza škálovaných rozpětí“ , (2), volí silnější slova: „Možné implikace této oblasti výzkumu jsou pronikavé. Pro technické analytiky je identifikace nějakého druhu nepravidelného tržního cyklu podobná objevu svatého grálu.“ Pro technické analytiky nejsou opakující se vzorce v cenových pohybech samozřejmě žádným překvapením. Nový je však přístup k těmto vzorcům z pozice fraktálové geometrie.
14 15
Zpracováno podle definice fraktálu v internetové encyklopedii Wikipedia Felix Hausdorff (1868-1942), německý matematik, jeden ze zakladatelů moderní topologie
24
2.2
Polarized Fractal Efficiency
Al Larson pracoval v Bellových laboratořích, mnoho let létal jako bojový pilot, má doktorát z elektrického a počítačového inženýrství, živil se 15 let jako obchodník s komoditami a i když je v současnosti podle svých slov v částečném důchodu, dokáže stále svými nápady a představivostí šokovat a pravděpodobně i odpuzovat. Larson mimo jiné věří, že se mu podařilo najít spojující článek mezi emočními pohyby trhu a elektrickým polem Země. Základní myšlenka PFE vychází ze známé otázky „Jak dlouhé je pobřeží?, kterou se zabýval B. Mandelbrot a jejíž řešení použil Hans Hannula (pseudonym Ala Larsona) při konstrukci tohoto indikátoru. Tato otázka se dá zjednodušeně formulovat například i takto: „Jakou dimenzi má klikatá čára?“
rovná čára dimenze = 1 hodně klikatá čára dimenze = 1.2
hodně klikatá čára dimenze = 1.4
téměř vyplněná plocha dimenze = 1.7
zcela vyplněná plocha dimenze = 2
Obrázek 1. Dimenze „klikaté“ čáry
Odpověď na tuto otázku závisí na způsobu, jakým budeme délku pobřeží měřit. Pokud použijeme měřítko o velikosti 1km, nevejde se do menších zálivů, a proto změří kratší celkovou vzdálenost. Pokud však použijeme měřítko o velikosti 1m, budeme schopni 25
detailně proměřit každý větší balvan, každý záhyb pobřeží větší než metr. Výsledkem takového podrobnějšího postupu bude větší celková délka pobřeží, kterou jsme schopni změřit. Analogický postup platí samozřejmě pro měřítko o velikosti 1cm nebo 1nm.
Pokusíme se změřit efektivitu pohybu měnového kurzu EURUSD pomocí tohoto teoretického základu. Pokud se kurz z bodu A do bodu B dostane přímou cestou, můžeme tento pohyb jistě označit za stoprocentně efektivní. Ceny finančních aktiv se takovým způsobem ale většinu času nechovají. Často se například stává, že i když A je rovno B, cesta z bodu A do bodu B může být pro obchodníky značně trnitá a téměř jistě platí, že P&L v bodě A se vůbec nerovná P&L v bodě B. Efektivitu pohybu změříme podílem délky teoreticky efektivního pohybu a délky reálně odečteného pohybu.
1.4546 EURUSD 1.4541 close(EURUSD)6 -close(EURUSD)5 1.4536
?
B
1.4531 1.4526
1 1.4521
? close(EURUSD)9 -close(EURUSD)1
1.4516
8
1.4511
A
1
2
3
4
5
6
7
8
9
Obrázek 2. Konstrukce PFE
2.1.1
Konstrukce
Každá vzdálenost closei-closei-1 je považována za přeponu pravoúhlého trojúhelníku a její velikost vypočteme podle známého vzorce. Sečtením jednotlivých closei|closei-1 délek obdržíme reálně odečtenou délku pohybu, kterým měnový pár prošel z bodu A do
26
bodu B. Délku teoreticky efektivního pohybu z bodu A do bodu B představuje přepona pravoúhlého trojúhelníku mezi prvním a posledním close. Druhou část konstrukce PFE tvoří kreativní rozhodnutí samotného obchodníka. Nejprve je třeba si ujasnit, jakou periodu budeme pomocí PFE zkoumat s ohledem na strukturu dat (tick, hodinová, denní) a dále jaký filtrovací mechanismus použít pro odstranění „šumu“ při změně trendu (znaménka ve vzorci). Používaná škála je široká, od pětiprvkového exponenciálního klouzavého průměru, který doporučuje sám HannulaLarson až po wavelety a nelineární regresi. BC( D5E84!F 5E84!U
2.1.2
V
G HIJKLM &HIJKLN -O P%O
O ∑M RTO G HIJKLR &HIJKLRSN - P
1, 5E84! U& , 1,
, kde
W5:8"% > W5:8" W5:8"% W5:8" W5:8"% W5:8" X
Interpretace
Různé trhy mají různá maxima účinnosti, ale nějaká jsou pozorována vždy. Larson se domnívá, že všechny akciové indexy mají maximální účinnost kolem 43 procent v obou polohách. Pokud se hodnota PFE pohybuje delší dobu kolem nuly, interpretuje se taková situace jako dočasná a přibližná rovnováha mezi silami nabídky a poptávky. Dále Larson sledováním PFE vypozoroval, že pokud efektivita pohybu překročí jistou hranici za obvyklým maximem, je schopna se na této úrovni udržet jen nějakou poměrně přesně definovanou dobu a ne déle. Podle mého názoru se ale nejedná o jev, který by bylo možné sledovat pouze prostřednictvím PFE. Obchodníci jsou schopni udržet maximální koncentraci při masivních tržních pohybech pouze omezenou dobu.
Základní strategií je otevřít pozici v době, kdy se efektivita drží na své pozorované maximální hodnotě delší dobu a potom sledovat další vývoj PFE. Pokud začíná ztrácet sílu kolem nuly, pozice se pravděpodobně uzavře, pokud ostatní indikátory nesignalizují pokračování trendu. Pokud však pohyb pokračuje nepřerušovaně dále, zůstává pozice otevřena až do dosažení maxima, případně až do prvních náznaků dalšího obratu trendu. 27
PFE je mírou dosavadní aktivity, je vhodné používat tento indikátor v sadě s dalšími, které jeho signály potvrdí nebo vyvrátí.
1.68 50 1.63 1.58
0
1.53 -50
1.48 EURUSD
PFE ema[28h]
1.43 -100 1.38 1.33
-150
1.28
13/03/09
08/03/09
25/02/09
13/02/09
03/02/09
22/01/09
12/01/09
31/12/08
19/12/08
09/12/08
27/11/08
17/11/08
05/11/08
24/10/08
14/10/08
-200 03/10/08
1.23
Graf 8. EUR/USD PFE ema [28]
¨
28
2.3 Fractal Dimension Index
Jen málo obchodníků nebo investorů věří, že trhy se pohybují náhodně. Pokud by tomu však tak opravdu bylo, neplatila by další zajímavá vlastnost fraktálů – fraktálová dimenze, která se měří Hurstovým exponentem. Analýza škálovaných rozpětí (rescaled range analysis) dokáže odhalit cykly v datech a to nejen periodicky se opakující cykly, ale i ty nepravidelné. Tyto neperiodické cykly mohou být buď zkreslenou, ovlivněnou (biased) náhodnou procházkou, ve které se zkreslení mění v nejistých intervalech nebo výsledkem nelineárního dynamického systému. Hurst vytvořil svou vlastní analytickou metodu pro odhalení neperiodických cyklů. Rozdělil svá data (tisíc let záznamů o záplavách na řece Nilu) na segmenty a zkoumal logaritmické rozpětí a měřítko každého segmentu ve srovnání s celkovým počtem segmentů. Každé takové rozpětí má nulový průměr a je vyjádřeno v souvislosti s příslušnou standardní odchylkou.
29
2.3.1
Konstrukce
Data jsou rozdělena do A nepřekrývajících se podbloků Ia (pro a = 1,…,A) délky n. Jednotlivé prvky Ia značíme Nk,a (pro k = 1,…,n). Pro každé Ia změníme měřítko dat odečtením průměru příslušného podbloku: Yk,a = (Nk,a – ea) "Y
(pro k = 1,..,n), kde
∑%´Z[ Z,Y !
Výsledná řada (Yk,a ) má průměr nula a její postupný kumulativní součet dává řadu (Xk,a). Rozpětí kumulativní řady (Xk,a ):
\] max_`Z,Y a min `Z,Y -
(pro 1 c d c !)
Každé rozpětí \] normalizujeme vydělením příslušnou standardní odchylkou, tj. +\] e
∑%Z[ Z,Y "Y -f !
Tímto způsobem obdržíme A normalizovaných rozpětí, … … ze kterých vypočítáme jejich průměr:
/+-%
∑i ]TN gh] /jh] k
Odhadneme Hurstův exponent H z rovnice /+ l !m ,
tj. 7 l
nop q/r-s nop t
Franktálová dimenze: C,A 2 7
30
2.3.2
Interpretace
Index fraktálové dimenze aplikuje zásady teorie chaosu a fraktálů na finanční trhy. Může být použit jako filtr pro identifikaci trendového chování trhu. FDI měří fraktálovou dimenzi finanční řady (řady cen finančních aktiv) pomocí metody škálovaných rozpětí (rescaled range analysis, R/S analýza) a následně odhadem Hurstova exponentu. Jeho hodnota se pohybuje mezi 1 a 2, viz 7. krok konstrukce. Hodnota nižší než 1,5 (tj. Hurstův exponent vyšší než 0,5) signalizuje perzistentní (trvalý, vytrvalý, neústupný) nebo trendující trh. Naopak hodnota nižší než 1,5 indikuje antiperzistentní trh nebo trh, který obchoduje v relativně užším rozpětí. V zásadě nám FDI říká, jestli je trh náhodný, nezávislý systém nebo jestli je to systém nějakým způsobem tendenční, ovlivněný. S trendujícím trhem úzce souvisí proces dlouhé paměti.
Proces dlouhé paměti je proces s náhodnou složkou, kde uplynulá událost má nějaký postupně se zmenšující vliv na události budoucí. Proces v sobě nese stopu minulých jevů, které jsou „zapomenuty“ s běžícím časem. Například velké jednorázové obchody ovlivní tržní cenu. Mají prostě dopad na trh. Po každém takovém větším „úderu“ se trh nevzpamatuje okamžitým návratem na hodnoty před provedením obchodem. Naopak, uchová si „vzpomínku“ této události, která samozřejmě s časem bledne rychlostí závislou mimo jiné i na velikosti orderu. Další roli v tom, jak dlouho si trh bude takovou událost pamatovat hrají podle mého názoru například i následující parametry trhu v okamžiku provedení: •
celková hloubka trhu ve smyslu likvidity, s tím související
•
počet účastníků trhu
•
aktuální a implikovaná volatilita
•
časování provedení příkazu (psychologický efekt)
•
kolize s jinými tržními událostmi (např. zveřejnění údajů o nezaměstnanosti)
31
13/03/09
08/03/09
25/02/09
13/02/09
03/02/09
22/01/09
12/01/09
31/12/08
EURUSD
19/12/08
09/12/08
27/11/08
17/11/08
05/11/08
24/10/08
14/10/08
03/10/08
1.68
FDI ma [10h] 1.58
1.63 1.56
1.58 1.54
1.53 1.52
1.48 1.5
1.43 1.48
1.38 1.46
1.33 1.44
1.28 1.42
1.23 1.4
Graf 9. EUR/USD FDI ma [10]
32
2.3.3
Poznámky k FDI
1. V listu List1 souboru MODERN jsou barevně vyznačeny údaje relevantní pro první kalkulaci FDI. Pro kalkulaci FDI druhého bloku dat jsou relevantní data o řádek níže atd.
2. Nv,w log
z{q{r|}
z{q{r|}SN
-
3. V případě, že by data nebyla stacionární, docházelo by ke zkreslení odhadů klasické R/S analýzy. Test stacionarity (např. rozšířený Dickey-Fuller test) by tedy měl být prvním krokem systematické přípravy a analýzy dat. 4. Ke zkreslení výsledků by mohlo docházet i v případě přítomnosti lineární závislosti dat. Takovému zkreslení se vyhneme, pokud aplikujeme R/S analýzu na rezidua autoregresivního procesu řádu jedna. 5. Kompletní R/S analýza obsahuje postup kroků 1-5 aplikovaný na všechna vhodná rozdělení dat na podbloky, v našem případě tedy pro A = 2, 4, 5, 10, 20 a 25. Hurstův exponent se odhadne pomocí přímky lineární regrese y =bx+a, kde za jednotlivá x dosazujeme příslušná log(n), za jednotlivá y příslušná R/S. Sklon b regresní přímky je odhadem Hurstova exponentu. 6. Aplikováno pouze pro EURUSD 7. FDI v Excelu: Soubor 1960 hodinových close cen EUR/USD. FDI počítáme vždy z bloku N =100 výnosů rozdělených do A =10 podbloků. V grafu vyhlazeno jako klouzavý průměr deseti aktuálních hodnot FDI.
33
3
Neuronové sítě v programu Statistica16
SNN je samostatným modulem programu Statistica společnosti Statsoft. Statistica je komplexní systém obsahující prvky pro analýzu dat, vytváření grafických výstupů, správu dat a vývoj uživatelských aplikací. SNN nabízí několik neuronových sítí s průvodcem řešení, automatickým i manuálním výběrem nejvhodnější architektury sítě. Pro testování kvality řešení lze využít analytické grafy, opakované vzorkování, analýzu citlivosti, soubory sítí a další.
16
zpracováno podle (10)
34
3.1 Vícevrstvá perceptronová síť (Multilayer Perceptron Neural Network – MLP)
Patří mezi nejznámější a nejpoužívanější neuronové sítě. Základní prvek se nazývá perceptron a jeho aktivační funkcí je obvykle logistická funkce – sigmoida ve tvaru ~ -
PL S
, kde λ je parametr strmosti (gain).
Síť se používá nejčastěji pro predikce a regresní úlohy. Skládá se z několika vrstev perceptronů vzájemně propojených tak, že tvoří úplný bipartitní graf17. MLP je síť s učením, pro které existuje řada propracovaných postupů, z nichž nejpoužívanější je metoda zpětného šíření chyby, tzv. back propagation. Další známou metodou využívanou v SNN je metoda sdružených gradientů.
3.2 Síť RBF RBF (Radial Basis Function) síť obsahuje jednu vstupní, jednu skrytou a jednu výstupní funkci. Skrytá vrstva se skládá z neuronů, u kterých se počítá vzdálenost vstupního vektoru od vektoru vah. Výstupy vedou do všech výstupních neuronů, jejichž aktivační funkce je pouze lineární. Váhy v první vrstvě jsou pevně nastaveny, nejčastěji vybrány náhodně z trénovací množiny. Pokud se pro učení používá stejný způsob jako u MLP, nastavují se i váhy v druhé vrstvě náhodně. RBF pokrývá data oblastmi, jejichž středy jsou umístěny do středu shluků. Poloměr takové oblasti (kruhu, koule…) je parametrem aktivační funkce. RBF je jednoduchá síť vhodná pro regresi i klasifikaci.
17
Každý perceptron následující vrstvy má jako své vstupy výstupy všech perceptronů předcházející vrstvy.
35
3.3 Kohonenova síť
SOFM (Self-Organising Feature Map) se ve své základní verzi používá jako typická síť bez učitele. Provádí pouze jistý druh shlukové analýzy vstupních dat – vektorovou kvantizaci, tj. snaží se aproximovat pravděpodobnostní rozdělení v předkládaných datech. Neurony jsou ve své jediné vrstvě nejčastěji uspořádány do čtvercové topologické mřížky. Počet neuronů je volitelným parametrem sítě, v praxi se pohybuje v desítkách až stovkách. Učení je však možné provádět i u tohoto druhu sítě a je založeno na porovnávání vstupních vzorů a vektorů uložených v každém neuronu. Je-li nalezen neuron, který je nejblíže předloženému trénovacímu vzoru, jsou upraveny váhy tohoto neuronu a dále váhy všech neuronů, které se nalézají v jeho okolí. Protože jsou na začátku učení všechny váhy nastaveny náhodně, jsou i neurony rozloženy v prostoru náhodně a teprve vlivem učení se jejich rozmístění přibližuje rozdělení trénovacích vzorů. Parametr učení η, 0<η<1, který určuje velikost změn při adaptaci vah, je nastaven na hodnotu blízkou jedné a během učení se monotónně snižuje k nule. Tím dosáhneme toho, že ze začátku se váhy adaptují rychleji (hrubé rozmístění neuronů) a ke konci pomalu (přesné dolaďování). Váhy vítězného neuronu a neuronů v jeho okolí jsou adaptovány podle vztahu U 9 1- U 9- 9- '
, 9- ' U 9- U 9-kde i= 1, 2,…,n; j=1,2,…,n; U jsou vstupy; U jsou jednotlivé váhy spojů, v jednotlivé neurony a h(v,t) funkce, která vyjadřuje vzdálenost neuronu v od „nejlepšího“ neuronu v čase t.
36
4
Technická analýza pomocí neuronových sítí
Praktické využití neuronových sítí pro obchodování finančních aktiv je jistě veliké, existuje celá řada tzv. model funds, které obchodují čistě na základě výstupů ze systémů obsahujících například nějakou kolekci neuronových sítí. Nicméně už z povahy předmětu zájmu – totiž peněz – vyplývá, že získat jakékoliv použitelné nové informace o stavbě takových sítí je téměř nemožné.
37
4.1 Data
Vstupní data NS, x1 až x24, jsou vypočtena podle návodu v 4.4.1, stejně jako jim přiřazené vzory di. Zdrojem dat jsou kotace kurzů měnového páru EUR/USD od 3. 10. 2008 do 17. 3. 2009. Vzory jsou generovány z dat od 5. 10. 2008 do 16. 3. 2009, takže do neuronové sítě vstoupí 2915 vektorů ve formátu (xi1,…, xi24, di)
4.2 Popis souborů
Pro vytvoření sítě pomocí průvodce s volbou Časové řady slouží soubor eur_base_09, nejprve jako list aplikace MS Excel (.xls), který je po importu do SNN převeden do formátu tabulka Statistica (.sta). BP_GARTNER_NS_v4_2009.xls obsahuje data převedená ze souboru stejného jména, ale novějšího formátu (.xlsx). List output obsahuje vstupní data x1 až x24, společně s jejich vzorovými výstupy di.. Vše pro vlastní návrh sítě. BP_GARTNER_NS_v4_2009.xlsx navíc počítá výsledky strategie uplatněné na výstupy z neuronové sítě – zisk&ztráta, maxdraw.
4.3 SNN – časové řady
SNN umožňuje proces vytvoření sítě maximálně zjednodušit. Průvodce řešením v několika krocích nakonfiguruje síť podle odpovědí na otázky zadané uživateli. Vybírat lze obecně ze čtyř typů úloh – regrese, klasifikace, časové řady a shluková analýza. V případě analýzy časových řad bude výstupem predikce budoucí hodnoty řady v čase t+1, tj. nejčastěji se predikují jednokrokové hodnoty. Po definici vstupních a výstupních 38
proměnných, které v našem případě tvoří v obou případech časová řada nominálních hodnot měnového kurzu EUR/USD, je třeba určit velikost vstupních vektorů NS. Pokud má řada nějakou zjevnou periodu, použijeme ji. Týdenní perioda znamená v tomto případě 126 kroků ((5x24h + úvodních 6 hodin obchodování v Asii v neděli večer podle GMT, avšak
v pondělí ráno dle místního času v Tokiu). Statistica umožňuje pracovat s rozpětím hodnot, zadáme například 24 až 126. Pokud pracujeme pomocí Průvodce, není třeba vkládat žádné další údaje a SNN začne vytvářet a hledat vhodné sítě až do vypršení stanoveného limitu nebo počtu vygenerovaných sítí. Pokud uživatel nestanoví jinak, vybírá Statistica mezi MLP, RBF a lineárními sítěmi. Spolehlivost předpovědí vytvořené sestavu sítí ověříme na reálných datech s požadovanou předpovědí na 6 až 24 hodin dopředu. Podle očekávání nedopadly predikce žádné sítě dobře. Nejlépe si vedly ve všech případech a to i po značném experimentování lineární sítě. I ty měly ale mizivou úspěšnost předpovědí mezi dvaceti a třiceti procenty pro data 2008/2009. Pro druhý pokus analýzy časové řady pomocí SNN plánuji použít spíše než měnové kurzy raději data vývoje některého ekonomického ukazatele, například nezaměstnanosti. Než je však bude možné předat do NS, bude nezbytné popsat jejich zjevné i skryté periody, sezónnost např. podle (3) v kapitole věnované analýze ekonomických časových řad. Složitější modely jsou vysvětleny v (1).
4.4 Vlastní návrh sítě
V předchozím příkladu byla většina parametrů sítě generovaná automaticky pomocí průvodce sítě, ale je samozřejmě možné v SNN postupovat při budování sítě opačně a síť postavit kompletně podle individuálního návrhu. Zvolíme postup, který popisuje (4) v následujících krocích: •
Extrakce vzorů
•
Konfigurace sítě
•
Trénování sítě 39
•
Vytvoření nákupních a prodejních signálů
•
Testování sítě
Vlastní návrh vícevrstvé perceptronové sítě v SNN umožňuje také explicitní nastavení učících algoritmů, momentů a míry učení. V dalších úrovních je možné ovlivňovat počáteční nastavení vah a volit prahy pro prořezání vah nebo neuronů, které mají zanedbatelný vliv na chování sítě.
4.4.1
Extrakce vzorů
Surová data (časovou řadu měnových kurzů) je třeba přeměnit ve vstupy sítě a očekávané výstupy z ní. Časová řada může klesnout i k nule, ale především by mohla růst teoreticky do nekonečna. Transformací dat do funkce rozdílů kurzů místo nominálních hodnot kurzů samotných vyřešíme tento problém a zároveň bude pro síť jednodušší odhalit případné vnitřní závislosti. Jednotlivé vstupy sítě vypočteme následujícím způsobem:
WU WU& WU
1 … /, 1 c U c 1
Zde λ je faktor volatility, kterým se hodnoty upraví do příslušného rozpětí:
&k
∑U[kP
HR &HRS HR
1…/
Protože hodnoty musí korespondovat se vstupy aktivační funkce (sigmoida),
provedeme pomocí λ a F jejich kompresi do intervalu zhruba <-1,1>. Hodnoty > 1 nebo 1 budou oříznuty do rozpětí <-0,95;0,95>.
40
nn target val target clipped
1
0.4
06/11/08
31/10/08
27/10/08
21/10/08
15/10/08
09/10/08
05/10/08
-0.2
Graf 10. Cílové hodnoty výstupu neuronové sítě
Požadované výstupy tvoří „ideální“ nákupní a prodejní signály s přiřazenou hodnotou di=0,05, resp. di=0,95. Pro ostatní výstupy platí WU WIJ U
WU WIJ
EURUSD reverse points
1.45 1.43 1.41 1.39 1.37 1.35 1.33 1.31 1.29
06/11/08
31/10/08
27/10/08
21/10/08
15/10/08
09/10/08
05/10/08
1.27
Graf 11. EURUSD – body obratu
41
4.4.2
Konfigurace sítě
Konfigurací sítě se snažíme navrhnout takovou strukturu vstupních a výstupních neuronů a jejich vrstev, abychom dosáhli optimálního poměru mezi velikostí sítě a času, který navržená síť bude potřebovat k trénování. Obecně platí, že se při návrhu sítě soustředíme na tyto parametry: •
Počet vstupních neuronů
•
Počet výstupních neuronů
•
Počet mezivrstev (hidden layers)
•
Počet neuronů v každé mezivrstvě
Zirilli testuje pro lineární extrakci (viz 4.2.1) mezi pěti a dvaceti neurony ve vstupní vrstvě. Pro první odhad navrhuje použít počet neuronů rovnající se průměru počtu dnů mezi jednotlivými ideálními signály. My se však budeme držet přesně počtu period, které sledujeme zpětně pro každý vzor, tj. 24. Výstupní vrstva se v našem případě bude skládat z jediného neuronu, na jehož výstupu budeme měřit rozpětí (0;1). Počet neuronů ve skryté vrstvě má přímý vliv na množství situací, které bude naše síť schopna předpovědět. Je možné navrhnout i dvě a více skrytých vrstev, prozatím zůstaneme u jedné. Vztah mezi požadovaným množstvím naučených vzorů a počtem vah v síti vypočteme podle rovnice B /- / 1- 1-0. Za ϕ dosadíme počet uvažovaných jedinečných vzorů v procentech z celkové sumy vzorů a rovnici řešíme pro B:
B /- 0 /01
Pro konzervativní odhad ϕ = 0,1 pro naše vzory dostáváme
0,1 ' 2915 24- 1 l 11 24 1 1 42
Skrytá vrstva bude obsahovat 11 neuronů. Architektura sítě navržené v programu Statistica bude tedy ve formátu 24-11-1.
Typ sítě : VVPS 24:24-11-1:1 , Číslo = 1 Trén. výkon = 0,984232 , Valid. výkon = 0,710799 , Test. výkon = 0,980178
Obrázek 3. Grafické znázornění sítě vytvořené v SNN, zdroj: Statistica
4.4.3
Trénování sítě
Soubor úplných vstupních dat připravených pro dodání vstupní vrstvě neuronové sítě rozdělíme na tři části: trénovací, validační a testovací. Všechny tři části musí velmi dobře reprezentovat chování zkoumaného aktiva. Jednotlivé skupiny dat jsou rozděleny v poměru 2:1:1. SNN umožňuje zadat navíc čtvrtou skupinu, ignorovanou, pokud je vhodné část dat z nějakého důvodu vynechat. První skupina je využita pro trénování vah spojů, zatímco validační množina slouží k nastavení prahů pro aktivaci neuronů. Testovací skupina slouží k porovnání výstupu nově natrénované sítě s novými, pro síť neznámými daty. Samotné trénování sítě probíhá v jednotlivých krocích (epochách), kdy se vstupním neuronům přiřazují z trénovací skupiny a počítá se chyba pomocí součtu čtverců odchylek od průměru18. SNN sleduje průběžně vývoj hodnot tss a zastaví trénování, 18
Tzv. tss – total sum of the squares error
43
pokud dojde k ustálení těchto hodnot. Trénování probíhá ve dvou fázích. V první fázi se standardně používá metoda zpětného šíření chyby a ve druhé fázi metoda sdružených gradientů. K dispozici jsou i další metody, které se obvykle používají pouze v případě, že běžný postup selže. Mezi tyto metody patří kvazi Newtonova, LevenbergMarquardtova, metoda rychlého šíření chyby a metoda delta-bar-delta. Námi vytvořená síť využívá metodu zpětného šíření chyby a sdružených gradientů. Metoda sdružených gradientů, použitá ve druhé fázi trénování, významně snižuje RMSE19 (tss) chybu.
4.4.4
Nákupní a prodejní signály
Jediným výstupem z naší neuronové sítě bude proměnná o z (0;1), která sama o sobě produkuje nákupní a prodejní signály. Někdy je možné spolehlivějších výsledků dosáhnout jednoduchou úpravou konceptu: d, dž : c U% - = :P : -
;:", dž : Y1 - = :P > : Tmin (≈0,1) a Tmax (≈0,9) jsou vysledované prahy signálů o generovaných sítí. Pro Tmin = 0,192 a Tmax = 0,78 vytvořila síť 26 nákupních a 26 prodejních signálů. Jejich kombinací vznikla investiční strategie vedoucí ke čtyřem realizovaným prodejům EURUSD a třem nákupům
4.4.5
Testování sítě novými daty
Síť obdrží řadu zcela nových dat, které zpracuje už beze změn vah a prahů. Výsledky na výstupu se analyzují například z hlediska profilu zisku a ztráty a příslušného maximálního poklesu hodnoty aktiv ve sledovaném období. Pokles hodnoty (drawdown) je období, ve kterém je model ztrátový. Jeho hodnota je jistá až poté, co je překonána dosavadní nejvyšší úroveň zisku. Maximální pokles
19
RMSE (Root Mean Square Error) – střední kvadratická chyba odhadu
44
hodnoty (maxdraw) je nejhorším poklesem, jaký byl v testovaném souboru zaznamenán.
Datum
EUR v mio
rate
akt. z/z v EUR
suma z/z
3.2.09 13:00
-1
1,3011
0
0
4.2.09 13:00
2
1,2831
18 000
18 000
6.2.09 19:00
-2
1,2991
16 000
34 000
10.2.09 4:00
2
1,2818
17 300
51 300
19.2.09 15:00
-2
1,2748
-7 000
44 300
23.2.09 20:00
2
1,2717
3 100
47 400
6.3.09 14:00
-1
1,2728
1 100
48 500
48 500 maxdraw = EUR 28 600
Tabulka 2.
Statistica obsahuje několik druhů popisných statistik, kterými je možné analyzovat kvalitu trénované sítě: •
Průměry dat
•
Směrodatné odchylky dat
•
Střední chyby dat
•
Citlivostní analýzy
•
Analýzy reziduí (absolutní, čistá, standardní)
•
Odezvové grafy a plochy
•
Scatter grafy pro porovnání výše uvedených statistik
45
1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0
vzor
02/03/09
27/02/09
26/02/09
25/02/09
24/02/09
23/02/09
20/02/09
19/02/09
18/02/09
výstup nn
Graf 12. Odhady sítě versus reálné hodnoty
46
Prom26, Pozorované vs. Prom26, Absolutní rezidua (3 ) 0,6
Prom26, Absolutní rezidua
0,5
0,4
0,3
0,2
0,1
0,0
-0,1 -0,1
0,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1,0
1,1
Model V.3
Prom26, Pozorované
Graf 13. Scatter pozorované hodnoty versus absolutní rezidua, zdroj: Statistica
47
Výsledky
Obecně je výsledkem mé práce návrh kompletního postupu pro využití neuronových sítí k predikcím pohybů měnových kurzů na devizových trzích. Tento proces je možné použít analogicky i u dalších typů finančních časových řad jako jsou například jednotlivé ekonomické indikátory. Prakticky jsem vytvořil perceptronovou neuronovou síť s jednou skrytou vrstvou a jedním výstupním neuronem. S touto sítí na míru jsem ve sledovaném období dosáhl na testovací skupině dat zisku EUR48500 při maximálním poklesu hodnoty EUR28600 při teoretické otevřené pozici EUR1mio.
48
Závěry a doporučení Kladný výsledek na testovací skupině dat není důkazem, že takto vystavěná síť bude schopna dosahovat konzistentního zisku po delší dobu. Testování je potřeba provádět průběžně na reálných datech a pokoušet se síť, resp. kolekce sítí upravovat. V obecné rovině je naprosto nezbytné sledovat odbornou literaturu a periodika a následně se snažit nové poznatky do modelu začlenit, aby mohly prokázat svou kvalitu. Snad nejvíce práci ovlivnil fakt, že pojednává o problému, který je hraniční. Mísí se zde poznatky z několika vědních oborů – od ekonomie přes matematiku a programování po psychologii davového chování. Samozřejmě je možné finanční časové řady zkoumat a pokoušet se o jejich predikci i bez neuronových sítí a technické či fundamentální analýzy. Finanční matematika poskytuje pro takový výzkum dostatek sofistikovaných metod, ovšem s nejistým výsledkem. Některé knihy zabývající se touto tématikou jsem zahrnul do bibliografie. Na době psaní práce a jejím obsahu se také podepsala původně hypotéční krize, která obrátila finanční komunitu naruby - dokonce i institut CFA začíná pochybovat o tom, zda je trh skutečně efektivní20. Pro neuronovou síť jsou data o chování trhu v době krize nesmírně cenná, protože hodnoty, které nezná, není schopna predikovat. Teprve nyní je časová řada kompletní a zahrnuje i scénář, který může nastat jednou za desítky let.
20
viz http://www.ft.com/cms/s/0/4a51fc5c-59cc-11de-b687-00144feabdc0.html?nclick_check=1
49
Seznam použité literatury 1. Arlt, Josef a Arltová, Markéta. Finanční časové řady. Praha : Grada Publishing a.s., 2003. ISBN 80-247-0330-0. 2. McKenzie, Michael D. Non-periodic Australian Stock Market Cycles: Evidence from Rescaled Range Analysis. The Economic Record. December 2001, Vol. 77, 239, pp. 393-406. 3. Seger, Jan a Hindls, Richard. Statistické metody v tržní hospodářství. [editor] Mária Hauptvogelová. 1. vydání. Praha : VICTORIA PUBLISHING a.s., 1995. ISBN 80-7187-058-7. 4. Zirilli, Joseph S. Financial Prediction using Neural Networks. London : International Thomson Computer Press, 1997. ISBN 1-85032-234-1. 5. Mandelbrot, Benoît. Fraktály. [editor] Michal Janata. [překl.] Jiří Fiala. 1.vydání. Praha : Mladá Fronta, 2003. str. 206. ISBN 80-204-1009-0. 6. McNellis, Paul D. Neural Networks in Finance: Gaining Predictive Edge in the Market. Burlington : Elsevier Academic Press, 2005. p. 243. ISBN -13: 978-0-12-485967-8 ISBN-10: 012-45967-4. 7. Fanta, Jiří. Počítačové technologie na kapitálových trzích. [editor] Martina Mojzesová. 1. vydání. Praha : Computer Press, 1998. ISBN 80-7226-073-1. 8. —. Psychologie, algoritmy a umělá inteligence na kapitálových trzích. 1. vydání. Praha : GRADA Publishing, spol. s r.o., 2001. ISBN 80-247-0024-7. 9. Lawrence, Jeannette. Introduction to Neural Networks. 6. vydání. Nevada City : California Scientific Software, 1994. ISBN 1-883157-00-5. 10. Antoch, Jaromír a Dohnal, Gejza, [editor]. STATISTICA Základní příručka. Praha : Statsoft CR, s.r.o., 2002. ISBN 80-238-9116-2. 11. Brabazon, Anthony and O'Neill, Michael. Biologically Inspired Algorithms for Financial Modelling. 1. vydání. Heidelberg : Springer-Verlag Berlin Heidelberg, 2006. ISBN-10: 3-54026252-0 ISBN-13: 978-3-540-26252-7. 12. Hans Hannula, Ph.D., C.T.A. Polarized Fractal Efficiency. Technical Analysis of Stocks & Commodities. January 1994, Vol. V., pp. 38-41.
50