Upload
lubo-kuzela
View
227
Download
4
Embed Size (px)
DESCRIPTION
Témou diplomovej práce je prognóza vývoja cien akcií použitím neurónových sietí. Demonštrovali sme použiteľnosť neurónových sietí pri analýze akciového trhu a najmä pri generovaní obchodných signálov. Práca popisuje rôzne analytické a štatistické metódy používané pri analýzach v investičnom rozhodovaní. Cieľom práce je riešenie stanovených úloh, ktoré boli úspešne vyriešené a tým bol splnený cieľ práce. Riešenie úloh pozostáva z krokov, ktoré vychádzajú z metodiky CRISP-DM. Hlavným prínosom práce je ukážka praktického využitia neurónových sietí pri analýze dát a preukázanie súvisu technických indikátorov s vývojom cien. Prínosom je aj spôsob generovanie trénovacej množiny, kde upravujeme trénovaciu vzorku tak, aby sme dostali vhodný počet vzoriek dát v triedach klasifikácie.
Citation preview
VYSOKÁ ŠKOLA MANAŽMENTU V TRENČÍNE
APLIKÁCIA NEURÓNOVÝCH SIETÍ PRI PROGNÓZOVANÍ
VYBRANÝCH AKCIÍ
Diplomová práca
2013 Ing. Ľubomír Kužela
VYSOKÁ ŠKOLA MANAŽMENTU V TRENČÍNE
APLIKÁCIA NEURÓNOVÝCH SIETÍ PRI
PROGNÓZOVANÍ VYBRANÝCH AKCIÍ
DIPLOMOVÁ PRÁCA
Študijný program: Znalostný manažment
Číslo študijného odboru: 6289
Názov študijného odboru: 3.3.15 Manažment
Pracovisko: Bratislava
Vedúci práce:
Ing. Renata Janošcová, PhD.
Bratislava 2013 Ing. Ľubomír KUŽELA
Abstrakt
Témou diplomovej práce prognóza vývoja cien akcií použitím neurónových sietí.
Demonštrovali sme použiteľnosť neurónových sietí pri analýze akciového trhu
a najmä pri generovaní obchodných signálov. Práca popisuje rôzne analytické
a štatistické metódy používané pri analýzach v investičnom rozhodovaní. Cieľom práce
je riešenie stanovených úloh, ktoré boli úspešne vyriešené a tým bol splnený cieľ práce.
Riešenie úloh pozostáva z krokov, ktoré vychádzajú z metodiky CRISP-DM. Hlavným
prínosom práce je ukážka praktického využitia neurónových sietí pri analýze dát
a preukázanie súvisu technických indikátorov s vývojom cien. Prínosom je aj spôsob
generovanie trénovacej množiny, kde upravujeme trénovaciu vzorku tak, aby sme
dostali vhodný počet vzoriek dát v triedach klasifikácie.
Kľúčové slová: burza, akcie, neurónové siete, klasifikácia, predikcia, dolovanie dát,
technická analýza
Abstract
The subject of diploma thesis is to analyse and forecast stock prices using neural
networks. The goal is to demonstrate the usability and usefulness of neural networks in
the stock market analyse and in trading signals creation. This thesis describes various
analytical and statistical methods used in the analysis for investment decisions. Problem
solving consists of the steps that are based on the CRISP-DM methodology. The main
contribution of this work is a practical demonstration of the use of neural networks in
data analysis and demonstrate the technical indicators relating to the prices. Another
important step is generating training set. The target is to get the appropriate number of
samples in each classification class for optimal training process.
Keywords: stock markets, neural networks, classification, data mining, technical
analysis, prediction
Obsah
Zoznam obrázkov a grafov ............................................................................................ 7
Slovník termínov ........................................................................................................... 10
1 Úvod .......................................................................................................................... 12
2 Teoretické východiská práce .................................................................................. 13
2.1 Štatistické metódy ............................................................................................... 14
2.1.1 Regresná analýza ......................................................................................... 14
2.1.2 Diskriminačná analýza (klasifikácia) ........................................................... 17
2.1.3 Analýza časových radov .............................................................................. 19
2.2 Analýza burzových dát ........................................................................................ 21
2.2.1 Indikátory technickej analýzy ...................................................................... 21
2.2.2 Fundamentálna analýza (finančná analýza) ................................................. 30
2.2.3 Psychologická analýza trhu .......................................................................... 32
2.3 Neurónové siete ................................................................................................... 34
2.3.1 Strojové učenie a znalostné systémy ............................................................ 34
2.3.2 Štruktúra neurónovej siete ........................................................................... 36
2.3.3 Dopredná neurónová sieť so spätným šírením chyby .................................. 39
2.3.4 Pretrénovanie neurónovej siete (overfitting) ............................................... 41
3 Ciele práce ................................................................................................................ 43
4 Metodika práce a metódy skúmania ..................................................................... 44
4.1 Metodika CRISP-DM ........................................................................................... 44
4.2 Porozumenie problematike ................................................................................... 47
5 Aplikačná časť ......................................................................................................... 58
5.1 Generovanie obchodných signálov ...................................................................... 58
5.1.1 Pochopenie a analýza úlohy ......................................................................... 58
5.1.2 Voľba časového obdobia ............................................................................. 59
5.1.3 Získanie a predspracovanie dát (príprava dát) ............................................. 64
5.1.4 Príprava vstupných atribútov ....................................................................... 74
5.1.5 Korelačné bodové diagramy a výber atribútov ............................................ 79
5.1.5 Modelovanie neurónovej siete ..................................................................... 81
5.1.6 Testovanie neurónovej siete ......................................................................... 87
5.1.7 Interpretácia výsledkov analýz .................................................................... 89
5.2 Analýza podniku pomocou finančných ukazovateľov ........................................ 96
5.2.1 Pochopenie problematiky ........................................................................... 96
5.2.2 Príprava dát ................................................................................................ 97
5.2.4 Tvorba modelu neurónovej siete ............................................................... 101
5.2.5 Modely neurónovej siete a jej výsledky ..................................................... 103
5.3 Predikcia hodnoty minimálnej ceny ...................................................................... 105
5.4 Predikcia cien akcií .............................................................................................. 106
5 Záver ....................................................................................................................... 110
6 Zoznam použitých zdrojov ................................................................................... 112
Zoznam obrázkov a grafov
Obr. 1: Metóda najmenších štvorcov (Berka, 2003) ....................................................... 16
Obr. 2: Rozdelovacia priamka ........................................................................................ 18
Obr. 3: Pohyb cien akcií spoločnosti AMD okolo trendu............................................... 20
Obr. 4: SMA(20) a EMA(20) akcií spoločnosti Microsoft ............................................. 24
Obr. 5: Graf cien spoločnosti NVidia ............................................................................. 25
Obr. 6: Bollingerove pásma ............................................................................................ 26
Obr. 7: MACD a SMA spoločnosti Microsoft ................................................................ 27
Obr. 8: Zobrazenie RSI na grafe ..................................................................................... 28
Obr. 9: Ukážka sviečkového grafu v bollingerovom pásme ........................................... 29
Obr. 10: Kolobeh burzy (Kostolany, 2008) .................................................................... 33
Obr. 11: Všeobecná schéma učiaceho sa systému (Berka, 2003) ................................... 35
Obr. 12: Štruktúra neurónu ............................................................................................. 37
Obr. 13: Štruktúra neurónovej siete ................................................................................ 38
Obr. 14: Model neurónovej siete .................................................................................... 38
Obr. 15: Dopredná neurónová sieť so spätným šírením chyby ...................................... 40
Obr. 16: Príklad pretrénovanej NS ................................................................................. 42
Obr. 17: Metodika CRISP-DM (Berka, 2003) ................................................................ 45
Obr. 18: Fázy rastu a krivka S (Rope A.T. a kol.;, 2011) ............................................... 51
Obr. 19: Prepad akcií spoločnosti Facebook krátko po emisii ....................................... 52
Obr. 20: Časový rad zatváracích denných cien spoločnosti Apple za 1 mesiac ............. 56
Obr. 21: Sviečkový graf cien spoločnosti Apple za 1 mesiac ........................................ 57
Obr. 22: Spätné zobrazenie nákupného a predajného signálu ........................................ 58
Obr. 23: Štruktúra dátovej tabuľky ................................................................................. 59
Obr. 24: Vývoj cien akcií spoločnosti Microsoft za 5 rokov .......................................... 60
Obr. 25: Fázy rastu spoločnosti Microsoft ...................................................................... 61
Obr. 26: Počet generovaných signálov v závislosti od delta .......................................... 66
Obr. 27: Zobrazenie minimálnych a maximálnych hodnôt ............................................ 67
Obr. 28: Zobrazenie hraničných hodnôt ......................................................................... 67
Obr. 29: Zaradenie vzoriek do tried ............................................................................... 68
Obr. 30: Sumár signálov ................................................................................................. 68
Obr. 31: Zobrazenie extrémov v trénovacej množine ..................................................... 69
Obr. 32: Predajné signály za 100 dní (delta=0.1) ........................................................... 69
Obr. 33: Predajné signály za 100 dní (delta=0.3) ........................................................... 70
Obr. 34: Vytváranie neopakujúcich sa signálov ............................................................. 71
Obr. 35: Rozdelenie do tried (x:MACD, y:Divergence) ................................................ 72
Obr. 36: Trénovacia množina s nízkym počtom etrémov ............................................... 73
Obr. 37: Pomer počtu trénovacích vzoriek podľa tried .................................................. 73
Obr. 38: Zlý odhad extrémov použitím NS .................................................................... 73
Obr. 39: Výsledok klasifikácie (X: RSI, Y: Volume)..................................................... 75
Obr. 40: Výpočet RSI spoločnosti Hewlett-Packard ...................................................... 77
Obr. 41: Zobrazenie RSI na grafe ................................................................................... 77
Obr. 42: Rozdelenie do tried (x:RSI, y:RSI-3) ............................................................... 78
Obr. 43: Rozdelenie do tried (x: SMA(10), y: RSI-3) .................................................... 79
Obr. 44: Rozdelenie do tried (x: Telo, y: RSI) ............................................................... 80
Obr. 45:Rozdelenie do tried (x: Div, y: Div-1) ............................................................... 80
Obr. 46: Rozdelenie do tried (x: Šírka BB, y: Close - SMA(10)) .................................. 80
Obr. 47: Rozdelenie do tried (x:DIV, y: RSI) ................................................................. 80
Obr. 48: Načítanie prvej sady údajov ............................................................................. 83
Obr. 49: Model neurónovej siete .................................................................................... 86
Obr. 50: Výsledok testovania navrhnutej neurónovej siete ............................................ 87
Obr. 51: Zobrazenie obchodných signálov ..................................................................... 88
Obr. 52: Výsledok klasifikácie (x:Div, y:RSI) ............................................................... 90
Obr. 53: Výsledok klasifikácie bez zobrazenia triedy NN (x:RSI, y:DIV) .................... 90
Obr. 54: Výsledok klasifikácie (x:MACD, y:RSI) ......................................................... 91
Obr. 55: Výsledok klasifikácie (x:MACD EMA, y:RSI) ............................................... 91
Obr. 56: Odhad predajných signálov neurónovou sieťou ............................................... 92
Obr. 57: Validačná množina dát (skutočné hodnoty) pri použití delta 0,3 ..................... 92
Obr. 58: Odhad predajných signálov neurónovou sieťou ............................................... 93
Obr. 59: Validačná vzorka dát (pri delta 0,3) ................................................................. 93
Obr. 60: Hladanie lokalnych minim a maxim pomocou neuronovej siete ..................... 94
Obr. 61: Generovanie obchodných signálov pomocou neuronovej siete ....................... 94
Obr. 62: Simulácia obchodu v Exceli ............................................................................. 95
Obr. 63: Závislosť rastu ceny akcie od ROA .................................................................. 96
Obr. 64: Závislosť rastu ceny akcie a ROE .................................................................... 97
Obr. 65: Závislosť ceny akcie od ziskovej marže (profit margin) .................................. 97
Obr. 66: Zoznam spoločností obchodovaných na burze Nasdaq .................................... 98
Obr. 67: Kľúčové ukazovatele pre spoločnosť Himax .................................................. 99
Obr. 68: Príprava dát v programe Excel ......................................................................... 99
Obr. 69: Klasifikacia do dvoch tried podľa Operation margin ..................................... 101
Obr. 70: Rozdelenie do tried (rast, recesia) podľa ROA .............................................. 102
Obr. 71: Rozdelenie spoločností do tried (X: ROE Y:Operation margin) .................... 102
Obr. 72: Model neurónovej siete s finančnými ukazovateľmi a jej výsledky .............. 103
Obr. 73: Sieť s použitím 10 finančných indikátorov na vstupoch a jej výsledky ......... 104
Obr. 74: Model neurónovej siete na predikciu minimálnych cien akcií ....................... 105
Obr. 75: Výsledky predikcie minimálnej ceny ............................................................. 105
Obr. 76: Model siete ..................................................................................................... 108
Obr. 77: Výsledky predikcie cien ................................................................................. 108
Obr. 78: Výsledky predpovede EMA ........................................................................... 109
Obr. 79: Ceny akcií spoločnosti APPLE na konci roku 2012 ...................................... 106
Obr. 80: Akcie spoločnosti Apple a ich lineárny trend ................................................. 107
10
Slovník termínov
Akcia - cenný papier, ktorý predstavuje podiel na majetku spoločnosti. Akcionár
(majiteľ akcie) má právo na riadení spoločnosti, na podiel na zisku (dividendu) a na
podiel na likvidačnom zostatku spoločnosti.
Aktívna správa - forma správy investícií, ktorá spočíva v nákupe a predaji finančných
aktív za účelom získania pozitívnej výnosnosti.
Analýza cenných papierov - súčasť procesu investovania, ktorá spočíva v určení
predpokladov na budúci zisk z cenného papiera, v určení podmienok, za ktorých bude
tento prospech získaný a v určení pravdepodobnosti, že tieto podmienky nastanú.
Broker (maklér) - finančný sprostredkovateľ uzatvárajúci najmä na burze na cudzí účet.
Broker predstavuje medzičlánok medzi predávajúcim a kupujúcim.
Burza - druh organizovaného trhu, na ktorom predávajúci, kupujúci a
sprostredkovatelia (brokeri, makléri, dealeri a pod.) uskutočňujú obchody
zastupiteľných objektov (cenné papiere, devízy, tovar)
Fundamentálna analýza - analýza, ktorá sa zaoberá vnútornou hodnotou akcie, ktorá
je porovnávaná s trhovou cenou a určuje, či je akcia nadhodnotená, podhodnotená alebo
či je správne ocenená. Modely tejto analýzy sú založené na fundamentálnych dátach
(zisky, tržby, očakávaný rast zisku a dividend a pod.).
IPO (Initial Public Offer) - proces, keď spoločnosť prvýkrát verejne ponúka svoje
akcie na kapitálovom trhu.
Kapitálový zisk (strata) - rozdiel medzi aktuálnou trhovou hodnotou aktíva a
pôvodnými nákladmi na aktívum.
Krátky predaj (Short selling) - predaj vypožičaného nástroja, pri obchodovaní
rozdielových kontaktov (CDF).
Likvidita - je to schopnosť predať aktívum rýchlo, bez nutnosti podstatného zníženia
ceny.
Limitná cena - cena stanovená pri vystavení limitného pokynu u makléra. Definuje
maximálnu nákupnú cenu alebo minimálnu predajnú cenu, pri ktorej je pokyn
vykonateľný.
Limitný pokyn - obchodný pokyn, ktorý určuje limitnú cenu, za ktorú má maklér
pokyn vykonať. Obchod bude uskutočnený iba vtedy, keď maklér dosiahne limitnú
alebo lepšiu cenu.
Otvárací kurz (Open) - cena, za ktorú bol uskutočnený prvý obchod dňa s daným
titulom.
11
P/E (price-earning ratio) - pomer ceny (kurzu) akcie k zisku spoločnosti po zdanení,
pripadajúci na jednu akciu.
Pákový efekt na nákup finančného inštrumentu - treba zložiť len časť jeho hodnoty,
zisk či strata však zodpovedá plnej investícii.
Portfólio - súbor cenných papierov alebo iných aktív vo fonde.
Požiadavka počiatočného krytia (Initial margin) - minimálne percento ceny nákupu
na úver (alebo predaja nakrátko), ktoré musí pochádzať z vlastných zdrojov investora.
Požiadavka udržiavacieho krytia (Maintenance margin) - minimálne skutočné
krytie, ktoré maklérska firma investorom trvale povoľuje na ich maržových účtoch.
Predaj na krátko - predaj akcie skôr, ako ju investor vlastní. Investor si akciu požičia,
pričom sa zaviaže, že akciu neskôr vráti bežným nákupom. Pokiaľ je cena pri tomto
nákupe nižšia, ako bola pri prvotnom predaji, investor zrealizuje zisk.
Stop cena - cena uvádzaná investorom pri zadaní stop pokynu alebo limitného pokynu,
ktorá definuje cenu, pri ktorej má byť splnený trhový alebo limitný pokyn.
Stop limitný pokyn - obchodný pokyn, ktorý uvádza stop cenu aj limitnú cenu. Ak
cenný papier dosiahne alebo prekročí stop cenu, potom je automaticky zaradený k
obchodovaniu na trh.
Technická analýza - analýza postavená na publikovaných trhových dátach, t. j. trhové
ceny jednotlivých akcií, indexy, objemy obchodov a iné technické indikátory. Hlavným
cieľom technickej analýzy je dobrý odhad budúceho vývoja kurzov, trendov a cien,
umožňujúci dosiahnutie zisku.
Trhová kapitalizácia - súčin celkového počtu akcií a ich aktuálnej trhovej ceny.
Trhový pokyn - obchodný pokyn, ktorý oznamuje maklérovi, aby zakúpil alebo predal
cenný papier okamžite za momentálne najlepšiu dosiahnuteľnú cenu.
Volatilita - smerodajná odchýlka kurzu (miera kolísania kurzu). Čím väčšie sú zmeny
kurzu, tým vyššia je možnosť výnosu, ale aj vyššie riziko.
Výročná správa - publikácia, ktorá je vydávaná každoročne firmami a je voľne
dostupná všetkým akcionárom. Obsahuje okrem iných finančných dát aj informácie o
aktívach, pasívach, príjmoch, výdavkoch a výnosoch firmy za uplynulý rok. Má
informatívny charakter a je tiež účtovnou informáciou vyžadovanou zákonom.
Záverečný kurz (cena pri uzavretí – close cena) - cena, za ktorú bol v daný deň
uskutočnený posledný obchod s konkrétnym cenným papierom.
Zdroje slovníka:
(centruminvestovania.sk, 2013), (ipoint.cz, 2013), (value-investing.sk, 2013)
12
1 Úvod
Investovanie tvorí dôležitý nástroj na zhodnocovanie úspor. V dnešnej dobe
investuje široké spektrum ľudí, či už priamo, alebo prostredníctvom rôznych fondov,
najmä dôchodkových správcovských spoločností. Investovanie do akcií patrí medzi
najvýnosnejšie, ale zároveň najviac rizikové.
V turbulentných časoch finančnej krízy sa pri investovaní do cenných papierov
riziko ešte zvyšuje. Preto je vyhodnocovanie týchto rizík dôležité, a môže zabrániť
veľkým finančným stratám. Zmenám trendu vývoja cien cenných papierov môže
predchádzať viacero indícií, ktoré je ťažké identifikovať, pretože je potrebné sledovať
veľké množstvo parametrov. Pri investícii do viacerých akcií je toto sledovanie ešte viac
komplikovanejšie a časovo náročné.
Sledovanie trhu, najmä cien akcií je tiež dôležité pre rozhodnutie investora, kedy
má cenné papiere kupovať, respektíve predať. Cieľom je vytváranie zisku, ktorý tvorí
rozdiel ceny pri otvorení a zatvorení obchodnej pozície. Keďže sa na trhu obchoduje
veľké množstvo akcií a je potrebné sledovať veľké množstvo údajov, je veľmi náročné
sa na základe týchto informácií rozhodovať. Aby sa rozhodovanie zjednodušilo,
používajú sa rôzne nástroje, ktoré spracovávajú údaje do formy, ktorá je pre
rozhodovanie vhodnejšia. Na ich základe sa potom môžu použiť systémy na dolovanie
dát z databáz verejne dostupných údajov. Nástroje dolovania dát dokážu tieto údaje
prehľadávať a nájsť určité pravidlá, ktoré môžu slúžiť na rozhodovanie.
Jedným z týchto nástrojov sú neurónové siete. Vstupom siete sú rôzne finančné
ukazovatele spoločností, indikátory generované z historických cien akcií,
makroekonomické ukazovatele a podobne. Výhoda neurónových sietí pri predikcii
vývoja cien je v tom, že sa dokážu učením prispôsobovať meniacim sa trhovým
podmienkam. Ak sa zhoršujú výsledky predikcie, neurónová sieť je schopná adaptovať
sa tak, aby zlepšila pravdepodobnosť predpovede vývoja trhov.
V práci sa budeme zaoberať spôsobmi predikcie vývoja na finančných trhoch pre
konkrétne spoločnosti na základe definovaných vstupných údajov. Úspešnosť takejto
predikcie budeme overovať pri rôznych vstupných parametroch a pri rôznom nastavení
neurónovej siete. Cieľom bude nájsť také vstupy a nastavenie neurónovej siete, aby bola
predikcia čo najlepšia.
13
2 Teoretické východiská práce
Pri prognózovaní cien akcií pomocou neurónových sietí využívame poznatky
z viacerých odborov. Preto budú aj teoretické východiská rozdelené do častí:
- Štatistické metódy,
- Analýza burzových dát,
- Neurónové siete.
V dnešnej dobe majú investori k dispozícii obrovské množstvo dát. Sú to
všeobecné makroekonomické dáta, ktoré charakterizujú ekonomický vývoj, údaje o
správaní sa spotrebiteľov, až po údaje o hospodárení konkrétnych spoločností. Aby
mohli manažéri vykonávať rozhodnutia, musia vedieť toto množstvo údajov správne
analyzovať. Samotná analýza veľkých vzoriek dát je časovo náročná a prácna. Preto sa
používajú nástroje, ktoré slúžia na vyhodnocovanie údajov.
Príkladom takéhoto rozhodovania je aj spravovanie akciových fondov, kde sa
manažéri rozhodujú o kúpe alebo predaji cenných papierov. Skúmajú všeobecné
ekonomické informácie, ako aj dáta o konkrétnych spoločnostiach.
Obchodné systémy môžu pomôcť investorom pri rozhodovaní, najmä pri
generovaní nákupných a predajných signálov. Nákupné signály sa generujú, keď sú
ceny akcií na lokálnych minimách a existuje predpoklad, že ich cena bude rásť. Naopak,
predajné signály sa generujú, ak sú ceny akcií na lokálnych maximách, a existuje
dostatočná pravdepodobnosť, že bude cena klesať. Pre rozhodovanie existuje viacero
teórií a metód, ktoré boli odvodené z pozorovania akciových trhov. Tieto teórie budú
predmetom teoretickej časti práce.
14
2.1 Štatistické metódy
Štatistické metódy slúžia najmä na sledovanie trendov cien akcií, a na
vyhodnotenie stanovenej predpovede vývoja na základe historických dát. Z týchto
metód vychádzajú aj rôzne spôsoby technickej analýzy akcií.
Štatistika ponúka celý rad teoreticky dobre preskúmaných a praxou overených
metód pre analýzu dát. Pre oblasť dobývania znalostí z databáz majú význam tieto
štatistické nástroje (v zátvorke uvádzame príklad použitia pri analýze akcií):
- kontingenčné tabuľky - pre zisťovanie vzťahu medzi dvoma kategoriálnymi
veličinami (na zistenie, ako veličiny vplývajú na zmenu ceny),
- regresná analýza - pre zisťovanie funkčnej závislosti jednej numerickej (spojitej)
veličiny na iných numerických veličinách (pri predikcii cien),
- diskriminačné analýza - pre rozdelenie príkladov (pozorovaní) patriacich do
rôznych tried (na rozdelenie akcií od tried, napríklad rastové a klesajúce),
- zhluková analýza - pre nájdenie skupín (zhlukov) navzájom si podobných
príkladov (hľadanie pravidiel pri grafových formáciách).
2.1.1 Regresná analýza
Regresná analýza predstavuje súhrn štatistických metód a postupov, slúžiacich na
štúdium vzťahov medzi dvoma alebo viacerými premennými, prostredníctvom
regresného modelu. V našom prípade je to napríklad vzťah aktuálnej ceny akcie
a historických cien akcií.
Podľa Pacákovej je „objektom skúmania štatistiky tzv. štatistická závislosť, pre
ktorú je charakteristické, že na závislú premennú pôsobia okrem nezávislých
premenných aj ďalšie, nešpecifikované a náhodné vplyvy. Túto skutočnosť sa snažíme
zachytiť v matematickom vyjadrení – regresnom modeli.
Každú zložku odhadovanej premennej y môžeme rozložiť podľa tohto modelu na
dve zložky:
- deterministickú zložku, ktorá je funkciou závislej premennej,
- náhodnú zložku, ktorá odráža pôsobenie faktorov nezaradených do modelu
a pôsobenie náhodných vplyvov“ (Pacáková, V. a kol., 2003).
15
Pri analýze cien akcií vychádzame z toho, že sa ceny pohybujú v určitom trende
(krátkodobom aj dlhodobom), okolo ktorého sa ich hodnoty menia náhodne (v období
bez vplyvu nových relevantných a významných informácií). Kým trendová zložka
závisí vo veľkej miere od vývoja na trhu a fungovania firmy, náhodnú zložka sa
pohybuje okolo trendu náhodne. S určitou pravdepodobnosťou vieme predpovedať
obidve zložky. Najčastejšie sa na odhadovanie závislých dát používa lineárna regresia.
Kým pri „korelačnej analýze nás zaujíma iba to, či medzi dvoma numerickými
veličinami platí lineárna závislosť, v prípade lineárnej regresie nás zaujímajú parametre
tejto závislosti. Riešime teda úlohu aproximácie pozorovaných hodnôt daným typom
funkcie, avšak s neznámymi parametrami“ (Berka, 2003).
Jednoduchý lineárny regresný model vyjadruje rovnica (Pacáková, V. a kol., 2003):
(1)
Kde
– i-tá hodnota odhadovanej premennej
– neznáme parametre regresného modelu
– i-tá hodnota vysvetľujúcej premennej
– náhodná chyba i-teho pozorovania (šum)
Premenná je náhodná veličina a zvyčajne sa predpokladá, že bude normálne
distribuovaná s rozptylom . V technickej analýze akcií existuje pojem „Bollingerove
pásma“. Sú to pásma, ktorých šírka závisí od rozptylu hodnôt jednoduchého kĺzavého
priemeru. Náhodné veličiny pohybujúce sa okolo hlavného trendu, by sa teda mali
nachádzať v tomto pásme.
V najjednoduchšom prípade lineárnej regresie pre dve veličiny hľadáme hodnoty
parametrov a pre rovnicu
(2)
16
Ak máme „k dispozícii vhodné pozorovanie (dvojice hodnôt [ , ]), môžeme
parametre rovnice vypočítať (presnejšie povedané odhadnúť) na základe metódy
najmenších štvorcov. Táto metóda minimalizuje rozdiely medzi pozorovanou hodnotou
y a očakávanou (predpovedanou) hodnotou = f (x) vypočítanú v tomto prípade na
základe funkcie (ilustračný Obr.1 znázorňuje tieto odchýlky)“ (Berka, 2003).
Vyrovnávajúca regresná priamka je vyjadrená rovnicou (Pacáková, V. a kol., 2003):
(3)
– i-tá predpovedaná hodnota závislej premennej y (odhadovaná)
– hodota nezávislej premennej
– bodový odhad parametra
Obr. 1: Metóda najmenších štvorcov (Berka, 2003)
Vzhľadom k tomu, že považujeme kladné rozdiely za rovnako závažné ako rozdiely
záporné, uvažujeme druhú mocninu (štvorec) týchto rozdielov:
(4)
17
Hľadáme minimum celkovej odchýlky pre n pozorovaní:
(5)
Z čoho dostaneme rovnicu :
(6)
Z tejto rovnice možno potom vypočítať (odhadnúť) parametre funkcie f(x). Ide vlastne
o optimalizačnú úlohu, kedy hľadáme minimálnu plochu medzi skutočným časovým
radom a odhadovaným časovým radom.
Presnosť odhadu vyjadrujeme rozptylom:
(7)
alebo štandardnou odchýlkou:
(8)
Na podobnom princípe funguje učenie neurónovej siete, kedy hľadáme optimálne
nastavenie váh, pri ktorom je chyba neurónovej siete pri použití testovacej množiny
vstupných dát minimálna.
2.1.2 Diskriminačná analýza (klasifikácia)
Klasifikáciu používame na rozdelenie vzoriek údajov do tried. Príkladom takéhoto
rozdelenia môže byť rozdelenie akciových spoločností na rastové, stagnujúce
a klesajúce, v závislosti od finančných výsledkov ich hospodárenia.
18
Diskriminačná analýza je vlastne úloha klasifikácie príkladov do vopred zadaných
tried. Zo štatistického pohľadu teda ide o „hľadanie závislosti jednej nominálnej
veličiny (určujúcej príslušnosť k triede) na ďalších numerických veličinách. Pri
diskriminačnej analýze predpokladáme, že ku každej triede (hodnote nominálnej
veličiny) , t = 1, ..., T existuje (diskriminačná) funkcia taká, že
(9)
práve keď príklad =[ , ,..., ] patrí do triedy .
V prípade lineárnej diskriminačnej analýzy majú diskriminačné funkcie podobu
lineárnej kombinácie
(10)
Ukážme najjednoduchší prípad, diskrimináciu do dvoch tried, kedy namiesto funkcií
a hľadáme funkciu
(11)
.
Príklady potom môžeme klasifikovať podľa znamienka tejto funkcie. Ak si
predstavíme príklady ako body v m-rozmernom priestore veličín, bude funkcia f(x)
predstavovať nadrovinu v tomto priestore, oddeľujúce od seba príklady oboch tried. Pre
m = 2 je funkcia f(x) priamka.“ (Berka, 2003)
Obr. 2: Rozdeľovacia priamka
19
2.1.3 Analýza časových radov
Časový rad je „chronologicky usporiadaná postupnosť vecne a priestorovo
porovnateľných údajov ľubovoľnej náhodnej premennej“. (Pacáková, V. a kol., 2003)
V našom prípade pôjde o časový rad s periódou sledovania jeden deň, a sledovaná
premenná bude cena akcie. Pri analýze akcií sa väčšinou používa denná zatváracia cena
akcie.
Vývoj premennej najčastejšie posudzujeme medzi dvomi po sebe nasledujúcimi
obdobiami t, v našom prípade v intervale jedného dňa. Na vyjadrenie pohybu cien akcií
môžeme použiť nasledovné miery:
Absolútny prírastok (úbytok)
( 12)
Koeficient rastu (tempo rastu)
( 13)
Koeficient prírastku
( 14)
Časový rad „prezentujeme vo forme tabuľky alebo grafu. Pomocou grafu
časového radu predbežne posudzujeme trend vývoja premennej y v analyzovanom
období a kolísanie údajov okolo trendu. Cieľom grafickej analýzy radu je rozlíšiť rôzne
druhy pohybov údajov v čase, t.j. zložky časového radu“ (Pacáková, V. a kol., 2003).
Pri analýze časových radov denných zatváracích cien akcií budeme rozlišovať
tieto zložky:
- Trendová – vyjadruje dlhodobejší rast alebo klesanie cien akcie v čase. Vzniká
pôsobením dlhodobých a relatívne stabilných faktorov ekonomického,
technického alebo organizačného charakteru. Mení sa teda na základe informácií
o vývoji akciového trhu a vývoji hospodárenia sledovanej spoločnosti.
20
- Náhodná zložka – nepravidelné výkyvy hodnôt časového radu cien akcií okolo
trendu, ktoré vznikajú pôsobením náhodných veličín. Ide najmä o pohyb pri
absencii nových trhových informácií, a závisí do istej miery od nemerateľných
faktorov, ako je psychológia investorov a podobne.
S istou pravdepodobnosťou vieme odhadnúť pohyb trendovej aj náhodnej zložky
trendu. Ak existuje trendová zložka, odhadujeme ju pomocou regresie. Tá sa mení
najmä vtedy, ak na trh vplývajú nové relevantné informácie. Existujú ešte dve zložky
trendu (cyklická a sezónna), ktorými sa však nebudeme v tejto práci zaoberať, pretože
sa sústredíme na krátkodobé predpovede.
Časový rad ceny akcie môžeme vyjadriť kombináciou týchto dvoch zložiek:
(15)
– teoretická (predpovedaná) hodnota trendu v čase t
– náhodná zložka v čase t
Na obrázku (Obr. 3) je znázornený časový rad denných zatváracích cien akcií
spoločnosti AMD od 15.11.2012 do 14.1.2013, čiže v časovom intervale 48 dní. Ceny
sa pohybujú náhodne okolo trendovej čiary. Trendovú zložku odhadujeme pomocu
lineárnej regresie, ktorej vzorec je uvedený na grafe. Pohyb náhodnej zložky môžeme
odhadnúť pomocou technickej analýzy, ktorou sa budeme zaoberať v nasledujúcej
kapitole.
Obr. 3: Pohyb cien akcií spoločnosti AMD okolo trendu
21
2.2 Analýza burzových dát
Na analýzu burzových dát sa používajú dva typy analýz:
- technická,
- fundamentálna.
Technická analýza sa používa skôr na sledovanie grafov časových radov cien
a ich trendov. Je vhodná na správne načasovanie obchodu, teda na generovanie
obchodných signálov. Skúma skôr pohyb cien, ako ich absolútnu hodnotu. Cieľom je
určiť trend vývoja.
Fundamentálna analýza vychádza zo skúmania finančných údajov spoločností. Je
teda vhodnejšia pre strednodobé investície, a na skúmanie absolútnej hodnoty ceny.
Výsledkom je určenie, či je cena nadhodnotená, alebo podhodnotená.
2.2.1 Indikátory technickej analýzy
K nástrojom technickej analýzy patrí aj tvorba indikátorov. Technické indikátory
sú číselné údaje, vypočítané z historických údajov cien akcií. Používame ich na
sledovanie priebehu cien akcií, najmä na analýzu historického vývoja cien. Indikátory
môžeme rozdeliť do troch skupín (Privalenkov, 2004):
- indikátory tendencií (trend following indicators) - sledujú pohyb trendu a určujú
jeho aktuálny stav (SMA, EMA, BB),
- oscilátory (oscillators) - určujú body zmeny trendu (MACD, RSI),
- psychologické indikátory - popisujú pomer pravdepodobností medzi rastúcim
trendom a klesajúcim trendom.
V tejto kapitole popíšeme technické indikátory, ktoré budeme používať ako
vstupy neurónovej siete. Najdôležitejšie budú pre nás oscilátory, pretože generujú signál
na zmenu trendu.
Pokúsime sa vysvetliť rozdiel medzi vedúcimi a zaostávajúcimi indikátormi, a
porovnať výhody a nevýhody ich používania. Používame ich najmä na vytváranie
nákupných a predajných signálov, čo je jedným z cieľov práce.
22
Kĺzavé priemery
Kĺzavé priemery zmierňujú rýchlosť zmeny sledovaných dát a slúžia na
vytvorenie ukazovateľa, ktorý sleduje trend. Nemajú predpovedať trend vývoja cien, ale
skôr definovať aktuálny stav s určitým oneskorením.
Kĺzavé priemery sú teda „oneskorené“ ukazovatele, pretože sú založené na
minulých cenách. Pomocou oneskorenia pomáhajú kĺzavé priemery zobraziť hladký
pohyb cien akcií a odfiltrovať šum. Tiež tvoria základ pre mnoho ďalších technických
ukazovateľov ako sú bollingerove pásma, MACD a oscilátor McClellan. Tieto
odvodené ukazovatele už slúžia aj na predpovedanie vývoja trendu, porovnávaním
dvoch rôznych kĺzavých priemerov. Dva najpoužívanejšie typy kĺzavých priemerov sú
jednoduchý kĺzavý priemer (SMA) a exponenciálny kĺzavý priemer (EMA). kĺzavé
priemery môžu byť použité na identifikáciu trendu, alebo určovať pásmo pohybu cien
(volatility).
Dôležitý je aj výber správneho časového obdobia na výpočet kĺzavého priemeru.
Pri určovaní hlavného trendu sa používajú dlhodobé priemery (200 dní), pri
strednodobom trende 50-dňový a pri krátkodobých trendoch niekoľko dňové (10, 20).
Pri predikcii budúceho pohybu cien je preto dôležité použiť priemer cien v takom
časovom období, v akom predpovedáme budúcu cenu.
SMA
Jednoduchý kĺzavý priemer (Simple Moving Average) tvorí výpočet priemernej
ceny cenného papiera za určitý počet dní. Je založených na zatváracích cenách, ako
väčšina kĺzavých priemerov. Päťdňový jednoduchý kĺzavý priemer je priemer
zatváracích cien za posledných päť dní. Ako jeho názov napovedá, kĺzavý priemer je
priemer, ktorý sa pohybuje. Staré dáta sú ignorované a nahradia ich vždy nové dáta. To
spôsobí zmenu hodnoty indikátora na časovej osi.
EMA
Exponenciálny kĺzavý priemer (Exponencial Moving Average) znižuje
oneskorenie indikátora tým, že posledným cenám prisudzuje väčšiu váhu. Čím je teda
cenový údaj starší, tým nižšia je jeho váha v priemere. Váha poslednej ceny závisí od
23
počtu dní kĺzavého priemeru. Na výpočet exponenciálneho kĺzavého priemeru sú
potrebné tri kroky:
- výpočet jednoduchého kĺzavého priemeru (SMA). Exponenciálny kĺzavý
priemer (EMA) sa musí niekde začať, preto sa jednoduchý kĺzavý priemer
používa ako predchádzajúce obdobie
(16)
- výpočet váh násobiteľa (m)
(17)
- výpočet exponenciálneho kĺzavého priemeru (EMA)
(18)
Kde d – počet dní priemeru
m – násobiteľ (koeficient)
t – časová perióda (deň)
Oneskorenie kĺzavých priemerov
Čím dlhší je kĺzavý priemer, tým väčšie je jeho oneskorenie. Desaťdňový
exponenciálny kĺzavý priemer sa bude pohybovať v blízkosti aktuálnych cien a bude
viac reagovať na zmenu ceny. Naopak, dvestodňový kĺzavý priemer obsahuje
množstvo starších údajov, ktoré jeho pohyb spomalia. Dlhšie kĺzavé priemery sa menia
pomaly a na aktuálnu situáciu reagujú minimálne. Na to, aby sa zmenil dvestodenný
kĺzavý priemer potrebujeme oveľa väčšiu zmenu aktuálnej ceny akcie.
24
Obr. 4: SMA(20) a EMA(20) akcií spoločnosti Microsoft
Zmena trendu na základe kĺzavých priemerov
Základným princípom pri práci s kĺzavými priemermi je, že prechody vytvárajú
signály zmeny trendu. To znamená, že ak ceny akcií pretnú kĺzavý priemer z dola, mal
by nasledovať stúpajúci trend. Negatívne prechody generujú signály poklesu. Ak graf
cien akcií pretne kĺzavý priemer z hora, mal by nasledovať klesajúci trend.
Treba však dávať pozor na citlivosť indikátora, ktorý je príliš volatilný. To
znamená, že prechody môžu byť príliš časté a nebezpečné pre analýzu. Tak ako
priemery, aj obchodné signály sa môžu meniť príliš rýchlo, čo je nežiaduce.
Niekedy sa používa aj vzájomný pohyb dvoch kĺzavých priemerov. Ak krátkodobý
priemer pretne dlhodobý kĺzavý priemer z dola, znamená to signál pre rastúci trend. Ak
krátkodobý priemer pretne dlhodobý kĺzavý priemer z hora, znamená to signál pre
klesajúci trend.
Graf (Obr. 5) ukazuje priebeh cien akcií spoločnosti NVidia na začiatku roku
2012. Na grafe vidíme dva kĺzavé priemery (50-dňový a 200-dňový). Červené šípky
ukazujú nejasný signál (všetky ceny akcie nie sú nad hodnotou kĺzavého priemeru).
Akcie pretínajú 50-dňový priemer, ale iba čiastočne. Jednoznačné a užitočné
ukazovatele sú znázornené modrou farbou, pretože cena bola zjavne nad kĺzavý
priemer, čo dáva veľmi jasný signál.
25
Obr. 5: Graf cien spoločnosti NVidia
Bollingerove pásma
Bollingerove pásma je technický indikátor, ktorý je založený na kĺzavých
priemeroch. Môže byť použitý dvomi spôsobmi:
- určenie šírky pásma,
- vzdialenosť ceny akcie od jednotlivých pásiem.
Bollingerove pásma sa skladajú zo stredného pásma s dvoma vonkajšími
pásmami. Stredný pás je jednoduchý kĺzavý priemer, ktorý je zvyčajne stanovený za
obdobie dvadsiatich dní. Vonkajšie pásma sú odvodené od štandardných odchýlok nad
a pod stredným pásmom (obvikle ich dvojnásobok).
Vo všeobecnosti toto pásmo určuje volatilitu cien. Čím je pásmo širšie, tým je
kolísanie akcií od hlavného trendu väčšie. Z toho vyplýva väčšia ziskovosť pri
pohyboch cien, ale na druhej strane aj vyššie riziko.
Výpočet bollingerových pásiem:
Stredová čiara = 20 dňový pohyblivý priemer SMA(20)
Horná hranica = SMA(20) + 20-dňová štandardná odchýlka ceny x 2
Dolná hranica = SMA(20) - 20-dňová štandardná odchýlka ceny x 2
26
Obr. 6: Bollingerove pásma
Zo štatistického pohľadu ide teda o vyjadrenie pásma, v ktorom by sa mala
pohybovať náhodná zložka trendu. Trend určuje vážený priemer, a pásma dvojnásobok
štandardnej odchýlky tohto priemeru. Ak sa cena akcie pohybuje mimo tohto pásma,
existuje vysoká pravdepodobnosť, že sa vráti späť do pásma.
Na Obr. 6 je znázornený pohyb akcií spoločnosti Microsoft okolo 20-dňového
priemeru. Ceny sa nachádzajú prevažne v pásme, a ak z neho vybočia, po istom čase sa
vrátia späť do pásma. Čím je pásmo širšie, tým väčší je pohyb akcií (väčšia možnosť
zisku pri pohybe cien, ale aj vyššie riziko straty).
Oscilátory
Oscilátory sú indikátory slúžiace na predpovedanie zmeny trendu. Pri generovaní
obchodných signálov majú najväčší význam, pretože by sa tieto signály mali generovať
práve pri zmenách trendu. S veľkou pravdepodobnosť sa pomocou nich dá určiť, či je
cena na lokálnom maxime alebo minime.
MACD
MACD je skratkou pre „Moving Average Convergence Divergence“
(Konvergencia Divergencia kĺzavých priemerov). Tento ukazovateľ je jedným z
najjednoduchších a najefektívnejších ukazovateľov zmenu trendu (oscilátorov). MACD
prevádza dva indikátory sledujúce trend (kĺzavé priemery) do momentového oscilátora
odpočítaním dlhodobého kĺzavého priemeru od kratšieho pohyblivého priemeru. V
dôsledku toho MACD ponúka sledovanie kombinácie dvoch vlastností trendu:
pokračovanie trendu a zmenu trendu.
27
Indikátor MACD počítame pomocou nasledujúcich krokov:
1) Vypočítame exponenciálny kĺzavý priemer za obdobie 12 a 26 dní. Hodnota
MACD je potom rozdielom týchto dvoch priemerov:
MACD = EMA(26) – EMA(12)
2) Vypočítame hodnotu signálnej hodnoty (čiary), ktorú tvorí deväťdňový
exponencionálny kĺzavý priemer hodnoty MACD.
3) Divergencia je rozdiel MACD a signálnej hodnoty. Na grafoch sa
znázorňuje pomocou histogramu.
Div=MACD-Signal
Divergencia MACD kolíše nad a pod nulovou čiarou v závislosti od toho, ako sa kĺzavé
priemery približujú, pretínajú alebo rozchádzajú. Obchodný signál môže byť generovaný
pretnutím čiary MACD a signálnej čiary, teda prechodom divergencie nulovou čiarou.
Tiež možno sledovať približovanie sa týchto čiar (trend divergencie), a na základe toho
posudzovať trendy. Hodnota MACD nie je ohraničená, preto nie je vhodná pre
identifikáciu prekúpených a prepredaných úrovní (na tento účel slúži RSI).
Obr. 7: MACD a SMA spoločnosti Microsoft
28
Index relatívnej sily (RSI)
Indikátor RSI (Relative strenght index) slúži na indikáciu zmeny trendu. Stúpa
vtedy, ak prevládajú po sebe nasledujúce pozitívne zmeny ceny akcie, naopak klesá
vtedy, ak prevládajú poklesy denných zatváracích cien.
Je to teda oscilátor (indikuje zmenu), ktorý meria rýchlosť zmeny pohybu cien.
Osciluje medzi hodnotami 0 a 100. Tradične je považovaný trh za prekúpený
(overbought), keď je hodnota RSI nad 70 a prepredaný (oversold) ak je pod 30. Signály
môžu byť generované na týchto hraničných hodnotách alebo pretnutím stredovej čiary
na grafe (Obr. 8). Vysoké alebo nízke RSI môže indikovať aj zmenu trendu, pretože pri
vysokých hodnotách RSI dochádza zvyčajne k jeho vrcholom. Využijeme ho teda najmä
pri generovaní obchodných signálov.
RSI je „ pomerne jednoduchý z pohľadu výpočtu, ale náročný na interpretáciu. Je
konštruovaný podľa nasledujúceho vzorca:
(19)
RS je podielom priemeru kladných zmien cien za periódu n a priemeru záporných
zmien za periódu n, pričom časové obdobie n je treba prispôsobiť charakteru trhu.
Voľba závisí na konkrétnom analytikovi“ (Rejnuš, 2004).
Obr. 8: Zobrazenie RSI na grafe
Časové obdobie je dobré voliť podľa časového obdobia, na ktoré predpovedáme
pohyb cien. V našom prípade volíme obdobie 10 alebo 14 dní.
29
Sviečkové grafy
Analýza sviečkových grafov patrí k analýze grafov. Táto analýza skúma určité
formácie v grafoch, a na ich základe vytvára predpoklady.
Na vytvorenie sviečkového grafu potrebuje dátový súbor, ktorý obsahuje
otváracie, zatváracie, maximálne a minimálne hodnoty pre každé časové obdobie, ktoré
chceme zobraziť. Ide teda o najbežnejšie voľne prístupné informácie.
Dutá alebo plná časť sviečky sa nazýva "telo". Dlhé tenké čiary nad a pod telom
predstavujú maximálny a minimálny denný rozsah a sú nazývané "tiene“. Ak je
zatváracia cena akcie vyššia ako jej otváracia cena, je telo duté a dolná časť tela
predstavujúce otváraciu cenu a hornú časť tela zatváraciu cenu. Ak je zatváracia cena
akcie nižšia ako jeho otváracia cena, je sviečka plná. Horná časť tela predstavuje
otváraciu cenu a spodná časť zatváraciu cenu.
Obr. 9: Ukážka sviečkového grafu v bollingerovom pásme
Krátke a dlhé sviečky
Dlhé telo sviečky znamená vysokú volatilitu v danom časovom období
(najčastejšie za jeden deň). Dlhé biele sviečky by mali generovať nákupné signály. Čím
dlhšia biela sviečka je, tým väčší je rozdiel medzi otváracou a zatváracou cenou. Kým
dlhé biele sviečky sú všeobecne optimistické (cena by mala rásť), záleží aj na ich
postavení v rámci širšieho grafického obrazu. Po dlhšom poklese cien môžu dlhé biele
sviečky naznačovať potenciálny obrat alebo úroveň podpory.
Naopak, dlhá čierna sviečka znamená silný predajný signál. To znamená, že
zatváracia cena je pomerne hlboko pod otváracou cenou a že investori rýchlo predávali
akcie, čím ceny prudko poklesli. Po dlhodobom klesaní trhu môže takáto sviečka
znamenať paniku investorov. Po dlhodobom stúpaní môže značiť zlom v trende,
prípadne hornú hranicu podpory.
30
Veľkosť tela sviečky v našom prípade znamená absolútnu hodnotu rozdielu
zatváracej a otváracej ceny. Vstupom neurónovej siete môžu byť teda tieto dve ceny,
alebo predspracovaný údaj ktorý udáva veľkosť tela. Neurónová sieť by potom mala
reagovať na zmenu veľkosti tela sviečky.
2.2.2 Fundamentálna analýza (finančná analýza)
Finančná analýza je jednou z najvýznamnejších metód fundamentálnej analýzy.
Umožňuje hodnotiť finančné hospodárenie každej spoločnosti. Vychádza z účtovných
výkazov z minulosti, a následne pomáha určiť trendy vývoja firmy, prípadne nedostatky
v hospodárení. Tiež pomáha porovnávať rôzne spoločnosti navzájom.
Pracuje s historickými dátami, ale jej výsledky a ich využitie smerujú vždy do
budúcna. Zdroje týchto informácií pochádzajú z informačných systémov, ktoré zbierajú
dáta z účtovných výkazov.
V našom prípade ide o tieto tri výkazy:
- súvaha (income statement),
- výkaz ziskov a strát (balance sheet),
- tok hotovosti (cash flow).
Súvaha sleduje finančnú situáciu podniku, ktorá je určená tromi zložkami a to
- aktíva (Assets),
- vlastný kapitál (Capital),
- dlhy (Dept).
Ide teda o „zachytenie finančnej situácie podniku k určitému okamihu, spravidla k
poslednému dňu hospodárskeho, obvykle kalendárneho roku. V podstate sa teda jedná o
stavové veličiny. Výkaz ziskov a strát je písomným prehľadom o nákladoch, výnosoch a
hospodárskom výsledku podniku za určité obdobie, najčastejšie tiež za kalendárny rok.
Z toho vyplýva, že sa jedná o veličiny tokové“ (Rejnuš, 2004).
31
Ukazovatele rentability (výnosnosti)
Ukazovatele rentability „zachytávajú predovšetkým dosahované čisté výsledky
sledovaných podnikov a určujú, aký význam mali na ich tvorbe likvidita, aktíva
a zadĺženosť. Rentabilita (výnosnosť) sa vyjadruje ako pomer zisku k objemu vloženého
kapitálu.“ (Rejnuš, 2004). Majú najväčší vplyv na ceny akcií, preto sa zameriavame
najmä na ne.
Obrat aktív (ROA - Return On Assets) je pomer ročného čistého príjmu
k celkovým priemerným aktívam podniku počas účtovného roku. Meria efektivitu
podniku pri používaní prostriedkov na generovanie čistého zisku. Je to teda ukazovateľ
rentability.
Vzorec na výpočet ROA je
(20)
Čistý zisk je zisk po zdanení a uvádza sa vo výkaze ziskov a strát (balance sheet).
Priemerné celkové aktíva sa vypočítajú ako podiel súčtu celkových aktív na začiatku a
na konci rozpočtového roka.
Rentabilita aktív ukazuje sumu, ktorú spoločnosť zarobí na jeden dolár aktív.
Preto vyššie hodnoty rentability aktív znamenajú, že podnikanie firmy je výnosnejšie.
Tento pomer by mal byť používaný len na porovnanie podnikov v rovnakom odvetví.
Dôvodom je, že firmy v niektorých odvetviach sú viac citlivé na aktíva, t.j. potrebujú
drahšie zariadenia a stroje v porovnaní s inými. Ich rentabilita bude prirodzene vyššia
ako rentabilita spoločností, ktoré nevyžadujú veľké investície do vybavenia. Stúpajúci
trend ROA ukazuje, že ziskovosť spoločnosti sa zlepšuje.
Obrat kapitálu (ROE, Return On Equity) – jeho význam je v tom, že meria
efektívnosť, s akou podniky využívajú kapitál svojich podnikov. Nazýva sa aj
„rentabilita tržieb“.
(21)
32
Prevádzková marža (Operating Margin) je prevádzkový zisk spoločnosti
a počíta sa ako:
(22)
Prevádzkové náklady zahŕňajú náklady na predaný tovar, predajné, všeobecné a
administratívne náklady, výdavky na výskum a vývoj, odpisy, amortizáciu a ostatné
prevádzkové náklady. Tento ukazovateľ vyjadruje prevádzkovú efektivitu firmy. Ako
vyplýva z výpočtu, maržu možno zvýšiť zvýšením obratu pri rovnakých nákladoch,
alebo znížením prevádzkových nákladov.
2.2.3 Psychologická analýza trhu
Teória efektívnych trhov predpokladá, že investori sa správajú racionálne. Ale
keďže investormi sú ľudia, ich rozhodnutia sú subjektívne. Často teda závisia od
mnohých faktorov. Jedným z týchto faktorov je psychológia investorov. Podľa Drasnara
v psychológii investora prevládajú dve vlastnosti: strach a chamtivosť. V prípade
finančných strát ide o strach, a investor pri pohľade na klesajúcu hodnotu portfólia
ľahko podľahne panike. V prípade zisku dochádza ku chamtivosti, a investor odďaľuje
predaj akcií s cieľom zarobiť viac. Často však zmešká najvhodnejšiu príležitosť na
predaj a hodnota portfólia začne klesať.
„Psychologická analýza vychádza z predpokladu, že akciové kurzy sú pod silným
vplyvom masovej psychológie burzového publika, a ktorá tým že pôsobí na všetkých
účastníkov trhu, ovplyvňuje ich úroveň“ (Rejnuš, 2004).
Podľa Keynesa je „psychológia určujúcim faktorom iba s krátkodobého hľadiska.
Väčšina investorov sa riadi emóciami a preto podľahne davu a stáva sa jeho súčasťou.
Menšina však dokáže využiť psychológiu davu vo svoj prospech. To má za následok aj
vznik špekulácie, pri ktorej časť tejto menšiny zámerne zneužíva psychológiu davu, čo
je podľa Keynesa škodlivé.
Najznámejšou stratégiou v psychologickej analýze je Kostolányho investičná
stratégia. Kostolány delí investorov na dve skupiny:
33
Hráči - tvoria väčšinu (asi 90%). Ovláda ich ilúzia bezprácneho a rýchleho zisku.
Správajú sa v súlade s teóriou davu. Nakupujú, keď ostatní nakupujú a predávajú, keď
ostatní predávajú.
Špekulanti („pevné ruky“) - tvoria menšinu (asi 10%). Riadia sa vlastným
úsudkom, sú trpezliví, majú dostatočné prostriedky na investície a dokážu vzdorovať
davu. Správajú sa ako investori s unikátnymi vlastnosťami. Dve tretiny času dokážu
,,plávať proti prúdu“. To znamená nakupovať, keď ostatní predávajú a predávať, keď
ostatní nakupujú.
Obr. 10: Kolobeh burzy (Kostolany, 2008)
Podľa Kostolányho teórie sa pri raste cien a objemov akcie presúvajú od hráčov k
špekulantom. Ak hráči držia väčšinu akcií hovoríme o tzv. vykúpenom trhu. Vykúpený
trh je veľmi nebezpečný - pri vysokých cenách sa stráca záujem o ďalší nákup. V
dôsledku negatívnej informácie vzniká na trhu panika a hráči v strachu zo strát začínajú
hromadne predávať. Tento stav charakterizujú klesajúce ceny pri raste objemov. Pri
klesajúcich cenách sa akcie kumulujú v pevných rukách. Keď nakoniec špekulanti držia
väčšinu akcií, hovoríme o vypredanom trhu.
Kostolány vo svojej teórii „sformuloval aj jednotlivé fázy burzového vývoja a
načrtol schému, podľa ktorej by mali špekulanti nakupovať a predávať. Zjednodušene
ide o nákupy za nízke ceny pri dosiahnutí minima a takisto pri náraste po odrazení z
minima. Potom nasleduje vyčkávacia fáza a po náraste postupný predaj. Predajná fáza
34
nastáva pri dosiahnutí vrcholov, kedy opäť prechádza do vyčkávania a neskôr do
nákupnej fázy. Signály pre nákup a predaj vie podľa Kostolányho správne rozoznávať a
určiť len úzka skupina investorov a len títo vďaka svojím unikátnym vlastnostiam vedia,
kedy nastáva správna fáza. To im prináša nadpriemerné zisky“ (Juggler, 2010).
Na základe týchto fáz burzového vývoja postavíme investičnú stratégiu. Podľa
toho, v ktorej fáze sa bude vývoj ceny akcie nachádzať, budeme pomocou neurónovej
siete vytvárať obchodné signály. Celkovo budeme generovať tri signály: nákup,
držanie, predaj (buy, hold, sell).
2.3 Neurónové siete
Neurónové siete patria k nástrojom na dolovanie dát. To znamená, že dokážu
z rozsiahlych databáz údajov získať nové a užitočné informácie na základe znalostí
uložených v neurónových sieťach v procese učenia. Učenie je reprezentované
štruktúrou NS, ktorá sa počas učenia mení.
V prípade analýzy akcií predkladáme ako učiacu množinu dát na vstup NS údaje
o cenách akcií. Tým NS učíme odhadovať vývoj cien na základe ich historického
vývoja. Pri predložení nových dát na vstup siete by mala sieť vedieť s určitou
pravdepodobnosťou predpovedať vývoj ceny.
2.3.1 Strojové učenie a znalostné systémy
Pri učiacich sa systémoch je fáza učenia oddelená od fázy používania znalostí.
Počas „učenia si systém vytvorí všeobecnú reprezentáciu jednotlivých typov správania
sa resp. tried (napr. všeobecný popis spoľahlivých a nespoľahlivých klientov banky).
Ak chceme nájdené znalosti používať "manuálne", môžeme týmto krokom skončiť. Pri
automatizovanom používaní týchto znalostí sa naučenému systému predkladajú nové
prípady a systém samostatne rozhoduje (napr. klasifikuje nových klientov banky ako
spoľahlivých a nespoľahlivých)“ (Berka, 2003).
35
Obr. 11: Všeobecná schéma učiaceho sa systému (Berka, 2003)
Vo všeobecnosti „činnosť neurónových sietí rozdeľujeme do dvoch fáz a to:
- fáza učenia,
- fáza života.
Fáza učenia – znalosti sa „ukladajú do synoptických váh neurónovej siete. Ak si
označíme maticu W ako maticu všetkých synoptických váh neurónovej siete, tak pod
učením budeme chápať stav kedy platí, že
(23)
Synaptické váhy sa teda počas učenia menia. Ide teda o zbieranie poznatkov, resp.
ich uchovávanie. Definíciu učenia môžeme interpretovať nasledovne:
Učenie je proces, v ktorom sa parametre NS menia na základe určitých pravidiel.
Charakter týchto pravidiel, ktoré vyvolávajú zmeny NS, determinuje typ učenia NS.
Pod učením rozumieme adaptáciu NS, ktorá bude po ukončení učenia nositeľkou
znalostí získaných počas učenia.“ (Sinčák P., 1996)
Existuje množstvo rôznych algoritmov učenia, ktoré môžu byť použité na učenie
siete. Tieto algoritmy vykonávajú zmenu siete tak, že modifikujú synaptické váhy. Ich
cieľom je minimalizovať chybu výstupu pri prognózovaní .
Pri algoritme so spätným šírení chyby sa v jednom kroku učenia siete „informácie
šíria od vstupnej vrstvy k výstupnej vrstve, v kroku učenia sa váhy modifikujú po
vrstvách od výstupu k vstupu. Pre zastavenie procesu učenia sa používajú tieto kritériá:
36
- ustálenie chybovej funkcie (na globálnom minime)
- dosiahnutie vopred zadaného počtu iterácií
- pokles pod vopred zadanú hodnotu chybovej funkcie. “ (Berka, 2003)
Fáza života - získané znalosti sa využívajú v prospech riešenia nejakého
problému (napr. klasifikácia, optimalizácia, zhlukovanie). Ide o stav neurónovej siete,
kedy sa synaptické váhy sa teda nemenia a NS je naučená:
(24)
Reprezentatívnu množinu údajov zvykneme náhodne rozdeliť do dvoch
základných typov množín:
- Trénovania množina – množina usporiadaných hodnôt, ktorá sa používa pri fáze
učenia. Dôležitosť reprezentatívnosti týchto dát je veľká, pretože sa znalosti pri
učení z týchto dát extrahujú do synoptických váh neurónovej siete. Ak táto
množina nie je vhodne vybraná, potom aj samotné učenie nebude kvalitné. Tieto
dáta by mali popisovať komplexné chovanie systému, ktorý dáta reprezentujú.
- Testovacia množina – množina usporiadaných hodnôt, ktorá sa používa vo fáze
života za účelom testovania získaných znalostí počas učenia. Testovanie sa
vykonáva tak, že sa porovnávajú výstupy získané z neurónovej siete
a hodnotami v testovacej množine dát.
2.3.2 Štruktúra neurónovej siete
Základná štruktúra neurónovej siete (ďalej NS) pozostáva z umelých neurónov
(štruktúrou podobných biologickým neurónom v ľudskom mozgu), ktoré sú zoskupené
do vrstiev. Najčastejšia štruktúra NS sa skladá zo vstupnej vrstvy, jednej alebo
viacerých skrytých vrstiev a výstupnej vrstvy. Na obrázku Obr.12 (Sinčák P., 1996) je
znázornený jednoduchý model umelého neurónu. Šípky znázorňujú vstupy so
synaptickými váhami a výstup neurónu. Vo vnútri neurónu je znázornená vstupná,
prechodová a výstupná funkcia neurónu.
37
Obr. 12: Štruktúra neurónu
Neurónová sieť je „masívne paralelný procesor, ktorý má sklon k uchovávaniu
experimentálnych znalostí a ich ďalšieho využívania. Napodobňuje ľudský mozog v
dvoch aspektoch” (Sinčák P., 1996):
- poznatky sú zbierané v NS počas učenia,
- na ukladanie znalostí sú využívané medzineurónové spojenia (synaptické váhy) .
Základná štruktúra NS pozostáva z nasledujúcich vrstiev:
- Vstupná vrstva, v ktorej neuróny dostávajú vstup len z vonkajšieho sveta a jej
výstup obvykle pokračuje k ďalším neurónom NS.
- Skrytá vrstva (jedna alebo viac), v ktorej neuróny dostávajú vstupy z ostatných
neurónov alebo z vonkajšieho sveta cez prahové prepojenia a ich výstupy
pokračujú ďalej do NS.
- Výstupná vrstva, kde je výstup NS generovaný na základe vstupov.
Topológia siete je znázornená na obrázku (Obr. 13). Šípky znázorňujú synapsie, teda
spojenia medzi neurónmi. Signály z neurónov vstupnej vrstvy sú privádzané ako vstupy
do neurónov skrytej vrstvy. Výstupná vrstva je tvorená jedným neurónom.
38
Obr. 13: Štruktúra neurónovej siete
Zjednodušený model NS je na obrázku Obr. 14. Vstup do neurónu v skrytej vrstve
je “funkciou jednotlivých vstupov prichádzajúcich od predsynaptických neurónov. Vo
väčšine prípadov je to súčet týchto vstupov uvažovaných s určitými váhami. Napríklad
vstup do i−teho neurónu, ktorý má N predsynaptických neurónov, môže byt vyjadrený v
tvare :
(25)
kde sú synaptické váhy, sú výstupy z neurónov, s ktorými je neurón
prepojený a je prah neurónu i. Prah je vlastne vstup do neurónu z vonkajšieho sveta,
nie z iných neurónov. To znamená, že v prípade ak neexistujú žiadne vstupy do
skúmaného neurónu i z ostatných neurónov j = 1, . . . , N, potom vstupom do neurónu je
iba prah .
Obr. 14: Model neurónovej siete
39
Už v tomto momente „sa musíme začať pozerať na neurónovú sieť ako na
dynamický systém, teda systém závislý na čase. Môžeme hovoriť o stave neurónu v
čase t resp. v čase t+1. Aktivačná funkcia neurónu je funkciou vstupu do neurónu (t).
Stav neurónu i je teda definovaný premennou v tvare
(26)
Funkciu f budeme nazývať aktivačnou funkciou neurónu. Poznáme aktivačné
funkcie rôznych tvarov“ (Sinčák P., 1996). Budeme používať signoidálnu funkciu, ktorá
má tvar
(27)
kde α je parameter strmosti sigmoidy. Táto funkcia je pomerne často používaná.
2.3.3 Dopredná neurónová sieť so spätným šírením chyby
Dopredná neurónová sieť so spätným šírením chyby je „štruktúra neurónovej
siete, ktorá hodnoty vstupov neurónovej siete násobí váhami na spojeniach medzi
neurónmi v skrytej vrstve. Súčet ich výsledkov pred prechodom cez prah funkcie
neurónu vytvára výstup neurónu (Obr. 14). Spätné šírenie algoritmu funguje tak, že
minimalizuje chybu medzi výstupom a cieľovou hodnotu (trénovacou) a šíri túto chybu
v sieti smerom späť. Váhy každého spojenia medzi neurónmi (synapsie) sa menia v
závislosti od veľkosti chyby.
Počas procesu učenia sa na vstup NS privádzajú vstupné signály z trénovacej
množiny dát, ktoré produkujú hodnotu nového výstupu a chybu siete. Cieľom učenia
je, aby bola chyba čo najmenšia“ (Clarence,1997).
Proces sa preto opakuje, kým neznížime chybu na požadované minimum. Každý z
neurónov používa rovnakú prenosovú funkciu a je pripojený ku všetkým uzlom v ďalšej
vrstve. Keď chyba dosiahne požadovanú hodnotu, je učenie zastavené. Výsledkom je
model, ktorý je vnútornou reprezentáciou výstupných dát za podmienky, že vstupná
množina dát je zhodná s trénovacou množinou.
40
Chyba neurónovej siete sa vypočíta podľa (Clarence, 1997):
(28)
kde je odhad na výstupe siete, je vektor vstupov a je vektor
synaptických váh.
Z gradientnej metódy vyplíva pravidlo na modifikáciu váh:
(29)
kde je koeficient učenia, E je vektor chýb siete a W je vektor synaptických váh.
Z neho potom vyplýva pravidlo pre modifikáciu váh. Môžeme si všimnúť, že
spôsob výpočtu chyby a modifikácie váh je podobný postupu pri výpočte chyby odhadu
pomocou lineárnej regresie a určovaní jej parametrov. Cieľom je minimalizovať chybu
odhadu a tiež tu vystupuje učiaci parameter (krok). Čím je tento parameter nižší, tým je
vyhodnocovanie algoritmu pomalšie, lebo potrebuje viac iterácií. K optimalizačnému
minimu sa približuje pomalšie. Naopak, pri vysokom kroku učenia môže byť výsledok
nepresný, a dokonca môže viesť k stavu, kedy neurónová sieť nebude schopná nájsť
vhodné (optimálne) riešenie.
Neurónové siete sú navrhované a trénované tak, aby vykonávali predbežné
odhady pre vývoj trhu. Vstupné dáta sú štatisticky "predspracované" zo surových dát.
Obrázok znázorňuje (Obr. 15), ako sa dáta z trhu vyhodnocujú pomocou neurónovej
siete.
Obr. 15: Dopredná neurónová sieť so spätným šírením chyby
41
Problém, ktorý budeme riešiť aj v praktickej časti práce, je určenie počtu
neurónov v skrytej vrstve. Počet neurónov sme volili experimentálne, aj keď sa na prvý
pohľad zdá, že voľba väčšieho počtu neurónov je lepšia. Podľa Berku sa ale „s rastúcim
počtom neurónov v skrytej vrstve (resp. s rastom počtu skrytých vrstiev) zvyšuje
nelinearita správania siete a rastú nároky na proces učenia (potrebný počet príkladov,
doba učenia). Príliš rozsiahla sieť má tiež tendenciu k preučeniu (overfitting). Znamená
to, že sa môže príliš zameriavať na bezvýznamné podrobnosti vyskytujúce sa trénovacej
množiny dát, ktoré ale nemajú význam z hľadiska riešenia úlohy. Neexistuje všeobecný
návod ako zvoliť počet neurónov v skrytej vrstve. V praxi je obvyklé skúsiť viac sietí s
rôznymi parametrami (topológiami, prechodovými funkciami) a na základe ich
správania pri testovacích dátach vybrať tú najlepšiu“ (Berka, 2003).
2.3.4 Pretrénovanie neurónovej siete (overfitting)
Je potrebné, aby sme sa vyhli pretrénovaniu neurónovej siete. K pretrénovaniu
dochádza, keď si „neurónová sieť zapamätá šumy, špecifické pre jednotlivé typy
konkrétnych tréningových dát, bez schopnosti generalizovať nové (lepšie) dáta.
Pretrénovaná sieť bude fungovať nesprávne na vzorke testovacích dát a následne aj pri
prognózovaní“ (Medelson, 2000).
Pretrénovaniu sa možno vyhnúť nastavením optimálneho počtu cyklov učenia
a tiež koeficientu učenia. Je vhodné z trénovacej množiny odstrániť šum, a teda dáta,
ktoré sú na prvý pohľad neobvyklé (prudké výkyvy, extrémy). Ak je trénovanie príliš
dlhé alebo koeficient učenia príliš malý, neurónová sieť môže byť oveľa citlivejšia na
zmeny vstupov a teda neprimerane reagovať na zmeny vstupných dát.
Z pohľadu pretrénovania je niekedy vhodnejšie zvoliť jednoduchšiu štruktúru NS
s menším počtom vstupov a skrytých vrstiev. Rovnako je dôležité zvoliť vhodný počet
cyklov učenia (iterácií). Sieť potom lepšie reaguje na všeobecné zmeny, teda na nové
vzorky dát (vstupy NS). V prípade pretrénovania dosahuje NS dobré výsledky
pri predikcii dát z trénovacej množiny, môže mať však problém s novými, neznámymi
údajmi.
42
Obr. 16: Príklad pretrénovanej NS
Na Obr.16 (Ng, 2012) sú znázornené tri prípady odhadu ceny bytov (price) na
základe ich veľkosti (size). Body grafu znázorňujú jednotlivé vzorky trénovacej
množiny. Vľavo je znázornená NS, ktorej odhad je podobný lineárnej regresii. NS je
v tomto prípade veľmi nepresná (chyba odhadu je veľká). V strede je chyba menšia, a
odhad sa viac približuje trénovaným dátam. Na poslednom obrázku je síce chyba
odhadu malá, takáto sieť však bude nesprávne analyzovať nové vzorky dát, ktoré sú
dostatočne rozdielne oproti dátam v trénovacej vzorke (sieť je pretrénovaná).
43
3 Ciele práce
Ako ciele práce si zvolíme viacero úloh, na ktorých ukážeme praktické použitie
neurónovej siete. Budeme porovnávať výsledky pri rôznych vstupných parametroch
a rôznych nastaveniach neurónovej siete.
Hlavným cieľom je splnenie nasledovnej úlohy:
1) Generovanie obchodných (nákupných a predajných) signálov na základe voľne
dostupných dát z trhu. Vzorky dát je potrebné klasifikovať do troch tried: nákup,
predaj, držanie. Nákupné signály by sa mali generovať, keď sa ceny akcie
nachádzajú na minime, a predajné, keď sa ceny nachádzajú na maxime.
V období ustálenia cien (rovnovážny trend) sa obchodné signály generovať
nebudú a bude generovaný signál na držanie akcií.
Okrem hlavného cieľa vykonáme ďalšie úlohy, na ktorých budeme demonštrovať
fungovanie neurónovej siete:
2) Klasifikácia akcií na základe finančných ukazovateľov - rozdelenie akcií na
rastové, stagnujúce a klesajúce na základe finančných ukazovateľov počítaných
z údajov importovaných z finančných výkazov spoločností.
3) Predikcia minimálnej ceny – pri tejto úlohe sa pokúsime odhadnúť minimálnu
cenu akcie v určitom období.
4) Predikcia ceny akcie na základe časového radu – odhad ceny akcie použitím
historických cien akcií na vstupe neurónovej siete.
44
4 Metodika práce a metódy skúmania
Na analyzovanie cien akcií použijeme pozorovanie. Je to najprirodzenejšia
metóda na skúmanie nejakého problému alebo javu.
Predmetom pozorovania je určitý systém, v našom prípade burza a ceny akcií.
Cieľom pozorovania je nájsť pravidlá, pomocou ktorými vieme s istou mierou
pravdepodobnosti predpovedať pohyb cien akcií. Na základe pozorovania vytvárame
model pozorovaného systému. Model systému by mal fungovať podobne ako samotný
systém. Mal by teda reagovať na vstupy podobne, teda ponúkať podobné výstupy.
Rozdiel medzi výstupom neurónovej siete (predikovanou hodnotou) a skutočnou
hodnotou vytvára chybu siete, pomocou ktorej testujeme NS.
Jedným zo spôsobov pozorovania je tvorba experimentu pri ktorom pozorovaním
vstupov a výstupov skúmame určitý systém. Na základe pozorovania vytvoríme model,
ktorý by mal reprezentovať správanie systému. Výsledky fungovania modelu
porovnávame so správaním reálneho systému. Z tohto dôvodu rozdelíme dáta na
experimentálne a validačné (v prípade NS sú to trénovacie a validačné, resp. testovacie).
V našom prípade budú vstupom modelu dáta z akciových trhov, napríklad dáta
o cenách akcií. Model systému budeme vytvárať pomocou neurónovej siete. Jej výstup
pri použití trénovacej vzorky porovnávame so skutočnými dátami. Pri použití
neurónovej siete to bude množina trénovacích a množina testovacích (validačných) dát.
V práci tiež používame metódy technickej analýzy a štatistické metódy, popísané
v teoretickej časti práce.
4.1 Metodika CRISP-DM
Na riešenie úloh sme vybrali metodiku dolovania dát CRISP-DM. Podľa tejto
metodiky je projekt vytváraný v šiestich fázach, ktorých poradie sa môže meniť:
- Porozumenie problematike;
- Porozumenie dátam;
- Príprava dát;
- Modelovanie;
- Vyhodnotenie výsledkov;
- Použitie výsledkov.
45
Obr. 17: Metodika CRISP-DM (Berka, 2003)
Výsledok „dosiahnutý v jednej fáze ovplyvňuje voľbu krokov nasledujúcich a
často je potrebné sa k niektorým krokom a fázam vracať. Vonkajší kruh na obrázku
symbolizuje cyklickú povahu procesu dobývania znalostí z databáz.“ (Berka, 2003)
V našom prípade budeme vyhodnocovať výsledky, ktoré dostaneme použitím
neurónovej siete. Na základe tohto vyhodnotenia budeme modifikovať použité dáta,
prípadne model neurónovej siete. Po navrhnutí a spracovaní optimálnej množiny dát a
získaní vhodného modelu ukážeme praktické použitie výsledkov.
Dôvodom výberu tejto metodiky je vhodnosť použitia pre experimentálnu metódu
skúmania. Na základe rôznych pravidiel technickej analýzy môžeme stanoviť hypotézy,
ktoré overujeme. Pri použití neurónovej siete používame na overovanie dve množiny
dát, trénovaciu a testovaciu. Ak nedosiahneme požadované výsledky, musíme nájsť
dôvody, ktoré k zlým výsledkom viedli, a odstrániť ich. To znamená najmä zmenu
vstupných údajov, alebo modelu neurónovej siete.
Popis jednotlivých fáz podľa metodiky CRISP-DM, ktoré budeme riešiť:
Porozumenie problematike – popíšeme súčasné znalosti vo svete,
a pouvažujeme, aký vplyv majú na rozhodovanie pri obchodovaní na burze. Tieto
znalosti vychádzajú prevažne z teoretických východísk popísaných v tejto práci,
dôležité je však ich chápanie v širšom kontexte. Aj keď možno pri analýze trhov použiť
46
štatistické metódy zahrnuté v technickej analýze, musíme brať na vedomie fakt, že sa
trhy správajú chaoticky, a vieme ich predpovedať iba s určitou pravdepodobnosťou.
Preto je dôležité analyzovať riziko, a zabezpečiť investície tak, aby sme toto riziko
minimalizovali.
Porozumenie dátam – technická analýza generuje množstvo ukazovateľov. Aby
sme ich mohli správne používať, je potrebné pochopiť ich fungovanie a vzťah medzi
nimi. V práci používame najmä technické indikátory, ktoré vychádzajú z historických
cien akcií. Niektoré majú podobný význam, a preto treba zvážiť ich vzájomnú
kombináciu, pri vytváraní modelu.
Príprava dát – finančné portály generujú veľké množstvo dát. Pri analýze cien
vychádzame najmä z historických cien akcií, ktoré spracovávame do rôznych
indikátorov. Tiež používame fundamentálne dáta, ktoré sú dostupné vo forme
finančných výkazov a spracované do formy finančných ukazovateľov.
Z upravených dát vo forme rôznych ukazovateľov vyberáme dáta, ktoré
použijeme na tvorbu modelu. Príliš veľa dát nám skomplikuje model, a v niektorých
prípadoch môže viesť k väčšej chybovosti modelu. Dáta načítavame z finančných
portálov do hárku programu Excel, kde ich upravujeme a exportujeme do textového
súboru.
Dáta importujeme do programu Weka. Na úpravu niektorých dát používame
normalizáciu a diskretizáciu.
Modelovanie – v tejto fáze vytvárame model neurónovej siete. Modelovanie
pozostáva z viacerých experimentálnych krokov, kedy skúšame rôzne nastavenia
parametrov siete, a vyberáme najoptimálnejšie parametre. Model vyhodnocujeme
pomocou testovacej množiny dát. Vyberieme model, ktorý bude najlepšie spĺňať cieľ
práce, a to je generovanie nákupných signálov. Najlepší model bude ten, ktorý najlepšie
zaradí vzorky dát z testovacej množiny do príslušných tried.
Vyhodnocovanie výsledkov – výsledky práce vyhodnotíme tak, že posúdime, do
akej miery sme splnili ciele práce. Tu nebudeme posudzovať iba presnosť samotného
modelu, ale aj vhodnosť modelu na praktické použtie.
Použitie výsledkov – použitie výsledkov práce demonštrujeme na príkladoch, kde
používame výsledky neurónovej siete pri obchodovaní. Úspešnosť úlohy nie je
posudzovaná teda iba z pohľadu presnosti neurónovej siete, ale aj z pohľadu
dosiahnutých obchodných výsledkov (zisku).
47
4.2 Porozumenie problematike
Všeobecne môžeme povedať, že v prípade odhadu cien akcií máme k dispozícii
iba tri možnosti predpovede: rast, pokles a rovnovážny trend. Ak berieme do úvahy, že
cieľom investora je zarobiť na pohybe ceny, nie je účelom, aby sme vedeli predpovedať
trend s určitosťou. To ani nie je možné. Vo všeobecnosti však môžeme určiť istú
pravdepodobnosť pohybu cien akcií. Ak naučíme systém predpovedať pohyb s touto
pravdepodobnosťou, mali by sme vytvárať zisk. Aj keď bude predpoveď občas
nesprávna a stratíme investované prostriedky, vždy bude existovať väčšia
pravdepodobnosť, že trend vývoja odhadneme správne. Tým by sme mali dosiahnuť
väčšiu početnosť úspešných investícií a celkový zisk. V kombinácii s analýzou rizík ide
o obchodnú stratégiu, ktorá má nízku mieru rizika investície a naopak veľký potenciál
výnosnosti.
Technická analýza je „štúdia o minulosti cenového pohybu za účelom
predpovedania budúceho cenového pohybu, ktorý, ak sa robí správne, môže viesť k
značným obchodným ziskom. Študovanie cien je typické pre finančné nástroje, ako sú
akcie, komodity a meny.
Bez ohľadu na to, aké trhy študujeme, základné princípy sú rovnaké:
- graf cien je najdokonalejšia reprezentácia bilancie kupujúcich a predávajúcich
pre daný subjekt,
- ceny majú tendenciu pohybovať sa v trendoch a vzoroch, ktoré, na základe
historickej analýzy, môže viesť k štatisticky významnej pravdepodobnosti
budúceho cenového pohybu,
- hlboká a kvalifikovaná analýza cenového grafu môže pomôcť obchodníkom pri
rozhodovaní, ako dlho by mali držať akcie a kedy by ich mali predať“ (Knight,
1991).
Samozrejme vytváranie zisku obchodovaním na burze nie je také jednoduché,
pretože ak by bolo, nikto by nepracoval, všetci by kupovali a predávali akcie. Softvér
na analýzu cien akcií ponúka v súčasnej dobe množstvo spoločností. Môžeme povedať,
že ak by naozaj dokázali predpovedať ceny, nebol by predmetom ich činnosti vývoj
48
softvéru, ale aktívne obchodovanie. Túto situáciu ironicky prirovnáva Svoboda k zlatej
horúčke, podľa ktorého počas nej najviac „zbohatli predovšetkým tí, ktorí predávali
krompáče a lopaty, kým väčšina dychtivých zlatokopov živorila v chudobe “ (Svoboda,
2008). Svoboda patrí medzi skeptikov. Aj keď celkovo predpovedanie cien akcií
neodsudzuje (najmä používanie technickej analýzy). Podľa neho “práve v čase
manipulácií účtovníctva, politických kríz, názorových stretov rôznych analytikov, v
časoch keď sa javia rôzne fundamentálne odhady a hodnotenia ako veľmi neisté,
ponúka technická analýza dôležité podklady na skúmanie kurzových priebehov, pretože
kurzy sú iba sumárom toho, čo účastníci trhu vyvodzujú zo všetkých dostupných
informácií. Kurzové grafy sa preto vynikajúco hodia k rozpoznávaniu príslušných
trendov alebo k stanoveniu psychologicky veľmi dôležitých bodov, v ktorých okolí je
možné umiestniť jednotlivé príkazy. Avšak k tomu, aby sme získali takýto prehľad,
nepotrebujeme žiadny drahý softvér“ (Svoboda, 2008).
Ak ale berieme technickú analýzu ako nástroj na analýzu trendov, je to dobrý
nástroj, pričom nezáleží na tom s čím obchodujeme. Môže nám pomôcť odhadnúť
trendy vo vývoji cien, a tým prispieť k pozitívnemu ovplyvneniu obchodovania v
budúcnosti. Predovšetkým je technická analýza vhodný nástroj na analyzovanie
súčasnej situácie. Jej základným predpokladom totiž je, že grafy cien zahŕňajú v sebe
všetky aktuálne a dostupné informácie ktoré investori majú. Grafy cien reagujú na
obavy, paniku investorov, prípadne na vznik bublín na trhu. Všetko čo investori vedia,
alebo o čom iba premýšľajú, je už v nejakej forme zahrnuté v historických cenách.
Prívrženci takzvanej teórie efektívnych trhov tvrdia, že každá verejne prístupná
informácia, ktorá vyvolá zmenu ceny akcie, je už trhom efektívne započítaná do tejto
ceny. Preto ak nemá investor nejakú unikátnu informáciu, ktorá nie je široko dostupná a
ktorá by mohla pohnúť trhom, nemôže predpovedať vývoj trhu. Bývalí predseda FEDu
Allan Greenspan hovorí, že ako dôkaz odporcovia „používajú dobre známu
neschopnosť investičných podielových fondov podávať trvale lepšie výsledky ako index
S&P 500. Dôkaz, že určitý investori prekonávajú trh, resp. jeho index každoročne, nie
je prekvapujúci. Je to presne to, čo by sme mohli očakávať. Dokonca, ak by boli
výsledky investovania čisto iba záležitosťou šťastia (náhody), malý počet investor bude
vždy štatisticky výnimočne úspešných. Rovnako, ako keď niekomu padne pri hádzaní
mincou 10 krát hlava. Pravdepodobnosť, že hlava padne 10 krát za sebou je 0,1
49
percenta, takže z milióna investorov bude nakoniec tisíc veľmi úspešných“ (Greenspan,
2008).
Podobne uvažuje aj Nicholas Taleb, ktorý je známym skeptikom štatistických
metód a presadzuje tzv. „teóriu čiernych labutí“. Táto teória popisuje udalosti, ktoré sú
málo pravdepodobné, ale majú veľký vplyv na vývoj trhu. Napríklad ukazuje, že
„v priebehu posledných päťdesiat rokov sa o polovicu výnosov postaralo desať
najextrémnejších dní“ (Taleb, 2011). Vývoj teda možno predpovedať do určitej miery,
najmä v obdobiach, kedy nedochádza k výnimočným udalostiam. Výskyt takýchto
udalostí však nemožno dopredu predpovedať. Ide o veľké burzové krachy, vojnové
konflikty, prípadne rôzne nešťastia. Vychádza z faktu, že teórie o predpovediach trhu
nemožno dokázať, pretože fungujú iba pre vybrané časové obdobia. Ich neplatnosť je
však možné dokázať v priebehu jedného dňa.
Treba však dodať, že vhodným nastavením zabezpečenia rizika budú straty
spôsobené nepredvídateľnými udalosťami minimálne.
Teória efektívnych trhov
Teória efektívnych trhov predpokladá že „akciové kurzy sú ovplyvňované
očakávanými ziskami, dividendami, rizikom a ďalšími kurzovými informáciami. Za
efektívny je považovaný taký trh, ktorý veľmi rýchle a efektívne absorbuje nové
informácie. V situácii, kde sú všetky kurzotvorné informácie absorbované akciovým
kurzom nedochádza k rozdielu medzi vnútornou hodnotou a akciovým kurzom. Tržná
cena akcie na trhu predstavuje teda objektívnu hodnotu, akcie sú správne ocenené a na
trhu nie je možné nájsť nadhodnotené alebo podhodnotené tituly. Termín „efektívny“ sa
teda používa v zmysle efektívneho spracovanie nových informácií“ (Musílek, 2002).
Nie všetky javy na burze však dokáže teória efektívnych trhov vysvetliť.
Napríklad jeden z najväčších pádov na burze, ktorá sa zvykne nazývať aj „čierny
pondelok“ (19.10.1987), keď index Dow Jones stratil pätinu celkovej hodnoty. V tento
deň nebola zverejnená žiadna dôležitá informácia, ktorá by bola dôvodom zmien trhu.
Vedúcu úlohu zohral psychologický faktor, kedy o predaji akcií rozhodol strach
investorov. V stave keď sa trhy správajú racionálne, neprichádzajú žiadne relevantné
informácie, sa trh pohybuje do istej miery náhodne. Ak však príde nečakaný zlom
(„čierna labuť“), menia sa trendy veľmi rýchlo. Takéto prudké zmeny spôsobujú
50
napríklad akciové bubliny, kedy ceny akcií umelo rastú, bez akýchkoľvek racionálnych
dôvodov, ktorými by mohli byť napríklad zmeny ziskov spoločnosti. Príkladom je
internetová (dotcom) bublina, ktorá umelo zvýšila akcie technologických
a internetových firiem.
Teória efektívnych trhov „predpokladá splnenie nasledujúcich predpokladov:
- Na akciovom trhu participuje veľké množstvo racionálnych investorov, ktorý
neustále analyzujú akciové ceny a uskutočňujú transakcie;
- Investori majú dostatok lacných, aktuálnych a pravdivých informácií, pričom
každý účastník získava nové informácie približne v rovnakej dobe;
- Investori reagujú rýchlo a presne na nové informácie;
- Obchody na akciovom trhu sú spojené s nízkymi nákladmi a neexistujú žiadne
trhové obmedzenia“ (Musílek, 2002).
Náhoda
Treba brať do úvahy, že čím vzdialenejšia je predpovedaná budúcnosť, tým viac
faktorov pôsobí na cenu akcie. Keďže nepoznáme ani zlomok týchto faktorov, nevieme
predpovedať vývoj na trhu. Čím je časové obdobie predpovede väčšie, tým
nepravdepodobnejšia predpoveď je, pretože ju ovplyvňuje viac faktorov. Aj malá
a neočakávaná udalosť môže viesť k veľkým zmenám na burze. Tento efekt popisuje
teória chaosu a nazýva sa tzv. „motýlí efekt“. Neúspech malej spoločnosti v Číne sa
môže prejaviť prudkým prepadom na burze v New Yorku. Stačí spomenúť problémy
firiem po katastrofe vo Fukushime, ktoré sa prejavili na dodávateľským reťazcoch
mnohých výrobcov po celom svete.
Náhoda môže mať teda výrazný vplyv na úspech investora. Preto sa budeme
zaoberať v práci odhadovaním náhodnej zložky pri pohybe cien akcií. Štatisticky je
väčšia pravdepodobnosť správnej predpovede pri použití technickej analýzy, ako pri
čisto náhodnom odhade. Napríklad pri vypuknutí paniky na trhu sa investori rýchlo
zbavujú svojich pozícií, a dochádza k prudkému klesajúcemu trendu. Vtedy je veľmi
malá pravdepodobnosť, že budú ceny akcií rásť.
51
Technológie
Ďalšia oblasť ktorú nedokážeme predvídať je technologický vývoj. Ak by sme
totiž dokázali predvídať pokrok vo vede a výskume, poznali by sme vlastnosti budúcich
výrobkov. Tie však nepoznáme. Niektoré technologické novinky sa na trhu nepresadia
napriek kvalite, popularite a mediálnej podpore (vozidlá Seagway). Naopak, niektoré
výrobky dokážu priniesť prevratné zmeny vo svojom segmente a prudký rast
spoločnosti (produkty iPod a iPhone spoločnosti Apple).
Technologické firmy rastú podľa Ropa (Rope A.T. a kol., 2011) v troch fázach,
ako je ukázané na obrázku (Obr. 18). Keď sa technológia rozvíja, je rast pomalý.
Inovátori vypracovávajú prototypy, nastavujú optimálnu konfiguráciu produktu
založeného na uvedenej technológii a vylepšujú jeho funkčnosť. Ako náhle je produkt
uvedený na trh, nastupuje obdobie rýchleho rastu (v ideálom prípade), po ktorom
nasleduje inflexný bod. Po ňom sa rast spomalí. Výrobok prejde do obdobia zrelosti.
Nakoniec, technológia zastaráva a jej rast stagnuje prípadne klesá. Preto je dôležité pre
firmy neustále inovovali produkty, najmä zlepšovaním funkčnosti a vyvíjali nové
produkty.
Niektoré technológie sa vyvíjajú dlhú dobu a napriek tomu nemajú dominantný
vplyv na fungovanie určitého segmentu. Napríklad biopalivá vyrábané z celulózy sa
vyvíjajú pomerne dlho, stále však nie sú konkurencieschopné oproti palivám vyrábaným
z ropy. Navyše majú negatívny dopad na udržateľný rozvoj (znižujú potravinové zdroje)
a na životné prostredie. Na druhej strane, inovatívne technológie ako sociálne siete
(Facebook, Twitter) sa rozvíjali a rástli veľmi rýchlo, a mali obrovský vplyv na život
ľudí po celom svete.
Obr. 18: Fázy rastu a krivka S (Rope A.T. a kol.;, 2011)
52
Každá etapa potrebuje iný prístup manažmentu, a teda aj prístup pri posudzovaní
potenciálu rastu firmy. Vo fáze vzniku je dominantný výskum a vývoj. Tu môžeme
sledovať napríklad rast výdavkov firmy na výskum a vývoj. Neskôr sledujeme
súvislosti s uvedením výrobku na trh. Obdobie rýchleho rastu je sprevádzané malými
zmenami výrobku, ale rýchlym rastom výroby a predaja, kedy sa firma snaží ovládnuť
trh. Počas fázy zrelosti, ide o rozhodnutia týkajúce sa zlepšenia vlastností, kvality
a nákladov na výrobu produktu. V tejto fáze môžeme sledovať napríklad výšku marže,
prípadne pokles nákladov na výrobu. V etape poklesu ide najmä o konsolidáciu podniku
a znižovanie kapacít podniku.
Výhodné je investovať do firmy vo fáze rozvoja. Tu je však pomerne ťažké
predvídať, či sa firma presadí na trhu a či bude mať výrobok úspech. Treba však dať
pozor na prehnané očakávania. Takéto očakávania vedú k vzniku „bublín“. Ide
o nadhodnotenie ceny akcií kvôli optimistickej nálade investorov. Ako náhle investori
podľahnú pesimizmu, nastáva prudký výpredaj akcií a teda aj prudký pokles cien.
Naposledy sme mohli takýto prípad vidieť práve pri akciách spoločnosti Facebook.
Záujem o emitované akcie bol enormne veľký vďaka popularite tejto sociálnej siete
a vďaka medializácii. Po zverejnení finančných ukazovateľov, najmä menšej schopnosti
firmy vytvárať zisk, sa akcie spoločnosti začali prudko prepadávať (Obr. 19).
Obr. 19: Prepad akcií spoločnosti Facebook krátko po emisii
Čo sa týka technológií, najvýznamnejšia bublina v poslednom období bola tzv.
“dot-com bublina”. Tiež mala svoj pôvod v nadmernom optimizme investorov. Išlo
53
najmä o obrovské investície do informačných technológii. Tie podporoval obrovský
rozmach internetu a výpočtovej techniky. Ceny akcií prudko rástli s priemerným
ročným rastom nad 20% ročne a dosiahli maximum v roku 2000. Potom nasledoval
prudký výpredaj akcií a panika na trhu.
V práci sa zameriame na technologické firmy, ktoré pôsobia na trhu dlhšiu dobu
(viac ako 20 rokov). Je to z dôvodu dostatočného množstva historických dát na analýzu,
a z dôvodu istého ustálenia vývoja firmy. Na učenie a testovanie siete budeme používať
údaje firmy Microsoft za 10 rokov, teda v čase, kedy bola firma vo fáze ustálenia,
a nedochádza k prudkému rastu cien akcií (pozri Obr. 25).
Psychológia
V teoretickej časti bol popísaný Kostolanyho systém kolobehu burzy, kedy trhy
neustále klesajú a stúpajú, čo je vhodné na obchodovanie a využívanie kurzových
rozdielov v prospech investora. Práve to budeme využívať pri generovaní obchodných
signálov.
Trhy sa v istých obdobiach nesprávajú racionálne, čo je predpoklad teórie
efektívnych trhov. Na trhu pôsobia ľudia, ak neberieme do úvahy automatizované
obchodné systémy. Ľudská psychológia zohráva v obchodovaní obrovskú úlohu. Práve
ona je dôvodom, prečo vzniká na trhoch panika a prudké prepady. Tiež je dôvodom,
prečo trhy prudko rastú a vytvárajú bubliny. Na jednej strane pôsobí strach investorov a
na druhej túžba po zisku. S tým súvisí aj vytváranie trendov, v ktorých sa ceny akcií
pohybujú. Akokoľvek presne môžeme vedieť ohodnotiť cenu podniku na základe jeho
hospodárenia, jeho cena bude vždy závisieť od toho, ako ju budú vnímať investori.
Keynes tvrdil, že uvažovať v smere trendu aj keď si myslíme že je nesprávny nie je
nezmysel, pretože “nemá zmysel dávať 20$ za niečo, čo si myslíme že má hodnotu 30$,
keď si zároveň myslíme, že to trh o mesiac ocení na 15$” (Cassidy, 2012).
Z toho vyplýva aj vhodné načasovanie investície, teda generovania obchodného
signálu. Z pohľadu psychológie je generovanie signálov pomocou neurónovej siete
vhodnejšie, pretože počítače nepodliehajú psychológii (panike, ani chamtivosti).
54
Neurónové siete a obchodné systémy
Neurónové siete sa zvyčajne používajú na predpoveď dát s nižšou časovou
periódou zmeny, ako sú napríklad denné zmeny kurzov. Tie predpovedáme na základe
v reálnom čase sa meniacich hodnôt. Pokúsime sa ukázať, ako využiť neurónovú sieť na
predpoveď vývoja pomocou dát, ktoré sú verejne dostupné. Väčšinou ide o surové dáta
z finančných internetových portálov vo forme tabuľky, ktoré si vyžadujú spracovanie do
požadovanej formy.
Mendelson úspešne „aplikoval neurónové siete na trhové údaje tak, aby bolo
možné predvídať kĺzavé priemery a použiť ich ako ukazovatele trendu tak, že vrcholy
trendu, teda očakávané zmeny trendu, sme schopný predpovedať s presnosťou takmer
80%. To je v ostrom kontraste k použitiu kĺzavých priemerov ako oneskorených
ukazovateľov, pretože väčšina obchodníkov ich používa iba na zistenie aktuálneho
trendu“ (Medelson, 2000).
Predvídanie kĺzavých priemerov pomocou neurónových sietí by malo byť teda
vhodnejšie, ako predpoveď samotných cien akcií. Kĺzavé priemery vyhladzujú trend,
preto odstraňujú s trendu šumy a denné výkyvy. Pri tvorbe modelu posúdime, či je
použitie kĺzavých priemerov ako trénovacej množiny vhodnejšie, ako množina
zatváracích denných kurzov. Tiež sa sústredíme najmä na vrcholy trendov
a generovanie obchodných signálov pri ich dosiahnutí.
V dnešnej dobe sa používa v obchodovaní množstvo systémov s jediným cieľom:
zarobiť peniaze. Mnoho prognostických systémov používa systém založený na
pravidlách.
Tieto pravidlá generujú obchodné signály (kúpiť/predať). Pravidlá sú vytvárané
použitím technických a štatistických ukazovateľov ako sú kĺzavé priemery, trendy a
indexy alebo vzory grafových formácií. Hlavné problémy konvenčných obchodných
systémov na báze pravidiel sú:
- potreba odborníka, aby navrhol obchodné pravidlá,
- problém prispôsobiť pravidlá tak, aby reagovali na meniace sa podmienky trhu.
Potreba odborníka pre poskytnutie pravidiel, je veľkou nevýhodou pri tvorbe
obchodných systémov, pretože je ťažké nájsť odborníka ochotného odovzdať svoje
55
znalosti vzhľadom k silne konkurenčnému prostrediu obchodovania. Navyše, mnoho
úspešných obchodníkov nie je schopných vysvetliť rozhodovací proces, ktorý používajú
pri obchodovaní (tacitné znalosti). Veľa z nich sa rozhoduje na základe intuície alebo
skúseností, ktoré nevedia exaktne popísať. Preto je veľmi ťažké pre znalostného
inžiniera odvodiť potrebné pravidlá pre návrh znalostného systému, ktorý bude správne
fungovať.
Neschopnosť prispôsobiť systémy založené na rozhodovacích pravidlách na
meniace sa podmienky trhu znamená, že tieto systémy môžu zlyhať, ak sa trhové
podmienky menia. Napríklad keď z trendového vývoja trhu prechádza vývoj na
turbulentný.
Pre rôzne podmienky trhu môžu byť užitočné rôzne súbory pravidiel. Vzhľadom k
tomu, že podmienky na trhu sú dynamické, je nutné ich priebežné monitorovanie.
Mnoho pravidlových (rule based) systémov vyžaduje častú optimalizáciu parametrov
technických ukazovateľov. To môže mať za následok chybovosť systému.
Neurónové siete môžu byť použité ako náhrada ľudského znalostného inžiniera
pri definovaní a hľadaní pravidiel pre prognostický model. Záznamy o obchodovaní
možno použiť na trénovanie neurónovej siete a pre generovanie obchodovacích
pravidiel. Sieť je tiež možné učiť rôzne ziskové obchodné stratégie pomocou
historických dát. Napríklad môžeme sieť naučiť identifikovať formácie v grafoch, čím
nám poskytne cenné informácie, pretože vyhľadávanie takýchto formácií je náročné.
To potvrdzujú Kamijo a Kanigawa, ktorí v roku 1990 úspešne trénovali neurónové siete
na identifikáciu trojuholníkových modelov japonských sviečkových grafov.
Neurónové siete môžu nájsť pravidlá, ktoré nachádzajú súvislosti základných
makroekonomických údajov (ako je HDP, úrokové sadzby, miera inflácie, miera
nezamestnanosti, atď.) s cenovými pohybmi. Niektorí analytici zahrňujú do modelu
predikcie akciových trhov aj technickú a fundamentálnu analýzu, zatiaľ čo iní používajú
základné ekonomické dáta, ako sú úrokové sadzby a menové kurzy.
V práci používame nástroje technickej analýzy, ktoré vychádzajú z historických
cien akcií, finančné ukazovatele podnikov a iné verejne dostupné dáta .
Neurónové siete sú „vynikajúce na prehľadávanie obrovského množstva zdanlivo
nesúvisiacich trhových dát a nájdenie opakujúcich sa vzorov, ktoré by v žiadnom
prípade nemohli byť vnímané vizuálne pri obyčajnom pohľade na grafy cien, alebo pri
56
porovnávaní dvoch trhov medzi sebou. Prostredníctvom matematického procesu
minimalizácie chýb známeho ako "učenie" neurónových sietí, môžu byť NS naučené
tak (ak sú navrhnuté správne), aby pomerne presne predpovedali správanie trhov na
základe týchto vzorov“ (Medelson, 2000).
Predpovedanie vývoja cien akcií pomocou časového radu je typický príklad
použitia neurónových sietí, ktoré môžu byť použité najmä pre dva typy úloh:
- klasifikácia (predpovedáme, či bude hodnota klesať alebo stúpať),
- predikcia (skúšame odhadnúť hodnotu časového radu v budúcnosti).
Viacvrstvová sieť je schopná predpovedať kvalitatívny vývoj (rast, pokles), ako aj
konkrétne hodnoty. Predikcia sa používa viac na vyhodnocovanie budúceho vývoja
časových radov a konkrétnych hodnôt (cena akcií, výmenné kurzy valút, spotreba
elektrickej energie, vývoj teploty). Výhodou pri predikcii je okrem iného to, že
neurónové siete dokážu bez problémov spracovávať numerické hodnoty, dokonca aj
v kombinácii s logickými hodnotami. To využívame aj v tejto práci, kde kombinujeme
ceny akcií s logickými výstupmi rôznych funkcií, založených na indikátoroch technickej
analýzy.
Časový rad tvoria hodnoty skúmanej veličiny získané v rovnakých časových
intervaloch nasledujúcich po sebe. Používame najmä zatváraciu cenu akcií v príslušnom
obchodnom dni. Ak znázorníme graf vývoja cien akcie, na osi y vidíme zatváraciu cenu
v danom dni. V praxi sa tiež využívajú týždenné intervaly.
Obr. 20: Časový rad zatváracích denných cien spoločnosti Apple za 1 mesiac
57
Z časového radu potrebujeme získať trénovaciu a testovaciu množinu dát.
Dôležité je zvoliť počet vstupných a výstupných parametrov. Od tohto počtu závisí
počet vstupných a výstupných neurónov siete (vstupná a výstupná vrstva). V prípade že
odhadujeme zatváraciu cenu akcie v budúcnosti, použijeme jeden výstup, ak robíme
klasifikáciu do tried, použijeme viac výstupov. Tiež je dôležité zvoliť časový interval
predikcie. Čím je interval väčší, tým je menšia pravdepodobnosť, že bude predpoveď
správna.
Okrem hodnôt časového radu však môžeme použiť aj ďalšie údaje, takže konečný
počet vstupov môže byť ľubovoľne veľký. Treba zvážiť, aký vplyv bude mať vstupný
parameter na predpovedanú hodnotu výstupu, resp. na chybu pri odhade výstupu. Čím
väčšia je chyba odhadu pri použití daného vstupu, tým menšia je jeho vhodnosť
použitia. Skúmaním môžeme zistiť, akú má sieť citlivosť na zmenu určitého vstupu. V
prípade cien akcií majú napríklad niektoré akcie tendenciu vyvíjať sa podobne s
trendom akciových indexov, niektoré naopak rozdielne.
Trénovacie dáta budú dané teda najmä sekvenciou po sebe idúcich zatváracích
cien v určitom časovom intervale. Okrem zatváracích cien môžeme použiť aj otváraciu
cenu, denné minimum, denné maximum, počet obchodovaných akcií a podobne. V
praxi sa však najviac používa zatváracia cena, z ktorej sa vytvárajú aj grafy.
Časový rad so zobrazením nielen zatváracej ceny sa nazýva „sviečkový graf“
(sledované obdobie a spoločnosť sú zhodné s Obr.21).
Obr. 21: Sviečkový graf cien spoločnosti Apple za 1 mesiac
58
5 Aplikačná časť
5.1 Generovanie obchodných signálov
5.1.1 Pochopenie a analýza úlohy
Pri analýze cien akcií je najdôležitejšou úlohou definovanie nákupných
a predajných signálov. Sú to rozhodnutia investora, kedy nakúpiť alebo predať cenný
papier. Tieto signály môže generovať aj informačný systém a slúžiť ako pomocník pri
rozhodovaní, prípadne ako automatický obchodný systém.
Podľa Kostolanyho teórie (Obr.11) treba akcie nakupovať, keď cena vystupuje z
lokálneho minima a predávať, keď je na lokálnom maxime (alebo z neho zostupuje).
Rozdiel medzi nákupnou a predajnou cenou potom tvorí zisk.
Obr. 22: Spätné zobrazenie nákupného a predajného signálu
Úlohou je teda predpovedať, či sa v daný deň nachádza kurz akcie v lokálnom
minime, prípadne v maxime. Pri spätnom pohľade na graf cien akcií je zrejmé, kedy
dochádza k minimám a maximám. Vieme spätne posúdiť, kedy nastal vhodný okamih
na kúpu alebo predaj. V prítomnom čase však nepoznáme budúci vývoj cien, a preto
môžeme vývoj iba odhadovať.
Úlohu budeme riešiť pomocou klasifikácie. Výstupom NS bude trieda, ku ktorej
prislúcha trénovacia, resp. testovacia vzorka dát. Na generovanie obchodných signálov
budeme používať tri triedy:
Nákup
Predaj
59
MAX – predajný signál, kurz akcie by sa mal nachádzať v lokálnom maxime
MIN – nákupný signál, kurz akcie by sa mal nachádzať v lokálnom minime
NN – držanie akcií, ceny sa pohybujú v strednom pásme
Na generovanie signálov budeme používať voľne dostupné dáta z finančných
portálov, najmä historické denné zatváracie ceny akcií, z ktorých budú odvodené
technické indikátory (Obr. 23).
Obr. 23: Štruktúra dátovej tabuľky v Exceli
(Vývoj cien akcií spoločnosti Microsoft za posledných 10 rokov)
5.1.2 Voľba časového obdobia
Pri obchodovaní na akciovom trhu je dôležité stanovenie časového obdobia
investície. Je možné obchodovať v intervale niekoľko minút, a rovnako aj niekoľko
rokov. Pri veľmi krátkych časových intervaloch vytvárame zisk častým obchodovaním s
nízkym ziskom. Pri dlhodobej investícii sa spoliehame na dlhodobý rast alebo pokles.
V tejto práci sa zameriavame na krátkodobé investovanie. Vychádzame z toho, že
dlhodobý vývoj cien akcií nemožno predpovedať s dostatočnou presnosťou, pretože
závisí od veľkého množstva faktorov. Krátkodobý priebeh vieme predvídať s určitou
60
pravdepodobnosťou. Ceny akcií sa pohybujú v krátkodobých a dlhodobých trendoch,
okolo ktorých náhodne oscilujú denné hodnoty ceny akcií. Platí to však iba v prípade,
kedy do rozhodovania investorov nevstupujú žiadne závažné trhové informácie. Vtedy
sa smerovanie trendov mení.
Na predpoveď využívame rôzne technické indikátory, ktoré závisia od
historických cien akcií za určité obdobie. Toto obdobie je možné meniť podľa toho, na
aké obdobie predpovedáme vývoj. Pri niekoľkodňových intervaloch obchodovania
volíme približne rovnaké časové intervaly indikátorov. Majú vyšší šum a menia sa
rýchlejšie, avšak presnejšie ukazujú aktuálny stav. Napríklad pri indikátore RSI väčšom
ako 70 vieme, že pomer denných ziskov k stratám bol vysoký, a v ďalšom období by
preto mali prevažovať straty. Tiež volíme krátkodobé pohyblivé vážené priemery,
napríklad desaťdňový.
Niektorí investori uprednostňujú dlhodobé investície s tým, že investovanie vo
veľmi krátkych intervaloch je podobné hazardu. Keďže vychádzame z toho, že vývoj na
trhu nie je možné dlhodobo predpovedať a že ceny sa budú pohybovať okolo aktuálnych
trendov, zameriame sa na investovanie v intervaloch niekoľkých dní, prípadne hodín
(pri vysokej volativite).
Obr. 24: Vývoj cien akcií spoločnosti Microsoft za 5 rokov
Ako vidíme na obrázku (Obr.24), hodnota akcie spoločnosti Microsoft sa
v priebehu 5 rokov takmer nezmenila. V tomto čase sa však pohybovala medzi dvoma
bollingerovými pásmami. To znamená, že pri investícii na 5 rokov by bol zisk z pohybu
ceny akcie minimálny. Pri krátkodobých investíciách však bolo možné vytvoriť zisk
nákupom a predajom akcií medzi dvomi pásmami. V roku 2009 zaznamenali akcie
61
prudký prepad vplyvom krízy, čo bolo zvlášť vhodné obdobie na vytváranie zisku
obchodovaním CFD (kontrakty na zmenu ceny).
Technologické firmy sa vyznačujú tým, že sa vyvíjajú na základe krivky rastu
(Obr. 18). Aj spoločnosť Microsoft sa nachádza vo fáze ustálenia, čo je dôvodom
minimálnej celkovej zmeny ceny akcie za päť rokov, ktoré sme ukázali.
Krivku rastu je možné využiť pri dlhodobom investovaní tak, že investor nakúpi
akcie spoločnosti vo fáze vývoja, a predá ich, keď spoločnosť dosiahne fázu ustálenia.
Problémom však je, že nikdy nevieme, ktorá firma bude v budúcnosti úspešná. V USA
vzniká množstvo technologických firiem, no iba časť z nich sa na trhu presadí.
Investovanie do začínajúcich technologických firiem („startupov“) je pomerne rizikové,
aj keď spojené so značným ziskom. Z dlhodobého pohľadu môžeme vidieť fázy vývoja
aj pri spoločnosti Microsoft (Obr.25). Prvé desaťročie sa vyznačuje prudkým rastom,
a druhé ustálením cien. Ak by spoločnosť stagnovala a neprinášala inovácie, nasledoval
by pokles.
Obr. 25: Fázy rastu spoločnosti Microsoft
Zabezpečenie proti riziku
Pri investovaní predpovedáme vývoj cien akcie na určité obdobie. Čím je toto
obdobie dlhšie, tým je menšia pravdepodobnosť správnosti predpovede, pretože do
systému vstupuje príliš veľa faktorov, ktoré nevieme predpovedať. Kým otvoríme
obchodnú pozíciu, mali by sme vyhodnotiť riziko investície. Aj keď môže byť
predpoveď stanovená s vysokou pravdepodobnosťou, vždy existuje možnosť, že sa trh
nebude vyvíjať podľa predpovede, a naša investícia bude generovať stratu. Preto
musíme stanoviť mieru rizika, a nastaviť automatické mechanizmy, ktoré nám
zabezpečia iba určitú mieru rizika.
62
Riadenie rizík je proces realizácie obchodu tak, aby bola pravdepodobnosť zisku
čo najväčšia a pravdepodobnosť straty najmenšia. Je jedným z najdôležitejších aspektov
obchodovania. Riziko obchodovania je podceňované najmä novými investormi, ktorí
nemajú skúsenosti, alebo nezažili veľké straty.
Je dôležité určiť veľkosť možného výnosu a možnej straty. Tie si môžeme
nastaviť v určitom pomere, podľa toho, s akou pravdepodobnosťou predpovedáme
vývoj. Obchod potom uzatvárame iba ak je pomer potenciálneho zisku a straty na
požadovanej úrovni. Napríklad 50% (1:2) riziko znamená, že riskujeme stratu na úrovni
polovice z očakávaného zisku.
Pri on-line systémoch obchodovania sa zabezpečenie obchodu nastavuje pomocou
“stop limitu”. Je to cena akcie, pri ktorej sa obchod automaticky uzavrie so stratou. Na
jednej strane je to poistka, aby sme negenerovali ešte väčšie straty. Na druhej strane sa
kurz môže vrátiť naspäť k pôvodnej hodnote a stratu znížiť, čo sa uzavretím pozície
znemožní.
Stanovenie rizika je dôležité aj pre vyhodnocovanie úspešnosti neurónovej siete.
Neurónová sieť generuje obchodné signály na odhadovanej extrémnej hodnote
(minimum, maximum). Pri aplikácii teórii rizika musíme vychádzať z toho, že sa
uzatvorenie pozície uskutoční pri dosiahnutí určitého zisku, alebo straty. Ak teda
kúpime akcie za 1000$ a očakávame zisk 5% pri riziku 1:2, pozícia sa uzavrie pri zisku
50$ (bez pákového efektu), alebo pri strate 25$. Takýmto spôsobom je možné
nasimulovať obchodovanie tak, aby sa pozície otvárali pri generovaní obchodných
signálov a zatvárali pri dosiahnutí nastaveného zisku, alebo straty. Výsledkom je
zistenie, či je možné pomocou signálov generovaných neurónovou sieťou vytvárať
dlhodobo požadovaný zisk.
Potenciálny zisk môžeme nastaviť pevne, alebo v závislosti od volatility cien.
Volatilitu cien môžeme stanoviť napríklad pomocou šírky bollingerovho pásma. Čím je
šírka pásma väčšia, tým je väčší pohyb cien, väčšia možnosť zisku, ale aj vyššie riziko.
Pri uzatvorení obchodu predpokladáme, že sa bude cena akcie pohybovať v tomto
pásme. Bollingerove pásma môžeme preto použiť aj ako hranice pre nastavenie stop
limitov.
63
Obr. 26: Výpočet bollingerových pásiem
Zisk môžeme nastaviť napríklad ako polovicu šírky pásma. V obrázku (Obr.26) je
výpočet bollingerových pásiem. Ak by sme kupovali akciu v dolnom pásme za 87,95$,
predávame ju pri zisku 3,09$, t.j. pri cene 91,04$, alebo pri strate 1,545$ a cene 86,40$.
Čím väčšie riziko zvolíme, tým väčší bude možný zisk, ale aj prípadná strata.
Použitím pásiem a šírky pásma ako vstupných atribútov neurónovej siete by mala
sieť zohľadniť volatilitu cien, a tiež vzdialenosť ceny akcie od horného a dolného
pásma.
Predpoklady pre použitie NS
Pri predikcii vývoja cien použitím neurónových sietí vychádzame z viacerých
predpokladov, založených na poznatkoch z technickej a psychologickej analýzy trhu a z
pozorovaní:
- Cena akcie je dôležitejšia ako dôvod jej výšky – viac nás zaujíma, ako sa
pohybovali ceny v určitom období a menej dôvod týchto pohybov. Aj pri
finančných ukazovateľoch sledujeme skôr ich zmeny, ako absolútnu hodnotu.
- Všetky známe informácie sa odrážajú v cene – na cenu akcie nevplývajú žiadne
nové informácie, a ceny odrážajú aktuálne informácie dostupné všetkým
investorom.
- Účastníci trhu sa nesprávajú vždy podľa teórie efektívnych trhov – nerozhodujú
sa vždy racionálne. Do ich rozhodovania vstupujú najmä psychologické faktory
založené na emóciách (strach a chamtivosť), ale aj finančné faktory (úvery).
64
- Trhy kolíšu – napriek absencii nových informácií trhy kolíšu okolo určitého
trendu.
- Skutočná cena nemusí odrážať skutočnú hodnotu – cena akcie je taká, akú sú
ochotní prijať kupujúci a predávajúci. Nedá sa teda presne stanoviť a je vecou
subjektívneho posúdenia.
5.1.3 Získanie a predspracovanie dát (príprava dát)
Výber vhodných vstupov neurónovej siete
Na to, aby sme dosiahli čo najlepšie výsledky klasifikácie, potrebujeme zvoliť
vhodné parametre na vstupoch neurónovej siete. Preto budeme vyhodnocovať vplyv
jednotlivých vstupov na chybu klasifikácie vo fáze testovania. V neurónovej sieti
dokážeme určiť význam jednotlivých vstupov v procese učenia aj priamo, porovnaním
synaptických váh.
Výber technických a ekonomických ukazovateľov (údajov) ktoré použijeme ako
vstup neurónovej siete, bude závisieť od nasledujúcich faktorov (Clarence, 1997):
1. Dostupnosť - údaje musia byť ľahko dostupné.
2. Dostatok historických údajov (databáz) – musíme mať dostatočne veľkú
množinu dát pre učenie a testovanie NS.
3. Korelácia ukazovateľov k cene - vybrané údaje by mali mať nejakú relevanciu
k cene cenného papiera.
4. Periodicita dát - vybrané údaje musia byť k dispozícii so stanovenou
frekvenciou (ročné, štvrťročné, mesačné, týždenné, denné).
5. Spoľahlivosť údajov - ak je prognostický model vývoja cien postavený na
upravených historických vstupných dátach, model okamžitej predpovede nemusí
byť spoľahlivý, pretože nové údaje, ktoré sú zadané do modelu môžu byť
chybné.
Používame dva súbory historických dát. Prvý súbor sa používa na trénovanie NS,
na rozvíjanie obchodnej stratégie a vytváranie pravidiel. Druhý súbor sa používa na
testovanie funkčnosti a spoľahlivosti systému. Musíme dávať pozor, aby sme nepoužili
65
druhú sadu ako učiace dáta, ani v prípade že výsledky testovania nezodpovedajú
očakávaniam.
Dáta použité na analýzu v tejto práci získavame z nasledujúcich finančných
portálov:
- nasdaq.com;
- finance.yahoo.com;
- google.com/finance.
Dáta automaticky importujeme do hárku programu Excel pomocou makra. Úpravu dát
vykonávame tiež v Exceli, ako aj výpočet potrebných technických indikátorov.
Výslednú tabuľku trénovacích a testovacích dát exportujem do textového súboru (csv),
ktorý je vhodný na importovanie v programe Weka.
Generovanie trénovacej množiny výstupov
Nákupné signály sa generujú pri lokálnych maximách a minimách. Pri minimálnej
cene sa generuje nákupný signál a pri maximálnej cene predajný signál. Aby sme mohli
trénovať neurónovú sieť a naučiť ju, kedy má generovať nákupný a predajný signál,
musíme vytvoriť tabuľku s lokálnymi extrémami, ktoré budú slúžiť na učenie.
Do tabuľky ich pridáme ako odvodený atribút OUT, ktorý bude nadobúdať
hodnoty: max, min a nn. Týmto hodnotám budú zodpovedať aj jednotlivé triedy, do
ktorých budeme vzorky dát klasifikovať. Hodnota nn bude znamenať, že systém
negeneruje nákupný ani predajný signál. Na generovanie lokálneho minima a maxima
použijeme extrém hodnôt za 10 dní (4 dni dopredu a 5 dní dozadu).
Postup ukážeme pri generovaní tabuľky MSFT.xlsm, ktorá obsahuje údaje
o denných zatváracích cenách spoločnosti Microsoft od januára 1993 do januára 2013,
t.j. za 10 rokov.
66
Použitie hraničných pásiem extrémov
Ak by sme použili iba minimá a maximá za určité obdobie, z celkového počtu
údajov dostaneme pomerne malý počet hodnôt v triedach MIN a MAX. Aby sme mali
v každej triede približne rovnaký počet vzoriek, zaradíme do triedy MIN a MAX aj
hodnoty, ktoré sú vzdialené od lokálneho extrému o určitú hodnotu, ktorú nazveme
delta. Hodnotu delta volíme tak, aby sme mali v triedach MIN a MAX približne
rovnaký počet údajov ako v triede NN.
Pri trénovacej množine, ktorá obsahuje málo vzoriek v triedach MIN a MAX
klasifikuje neurónová sieť väčšinu vzoriek do triedy NN a nevygeneruje požadované
obchodné signály. Aby sme zväčšili množstvo generovaných signálov, budeme brať do
úvahy aj údaje, ktoré sú od extrému vzdialené o hodnotu delta. V tabuľke (Tab. 1) je
znázornený počet signálov v závislosti od zvolenej hodnoty delta. Na grafe (Obr. 27) je
táto závislosť znázornená graficky.
Tab. 1: Počet generovaných signálov v závislosti od "delta"
Obr. 27: Počet generovaných signálov v závislosti od delta
Poč
et
sign
álov
Delta
67
Generovanie trénovacích výstupov
Výstupy trénovacej množiny sme vytvorili nasledovnými krokmi:
1) Vygenerujeme tabuľku, kde v stĺpcoch MAX a MIN zobrazíme maximálnu
a minimálnu hodnotu zatváracej dennej ceny za určité obdobie. Napríklad
minimálna cena na obrázku (Obr. 28) je minimálna hodnota v bunkách stĺpca
Close (6 dní pred a 6 dní po).
Obr. 28: Zobrazenie minimálnych a maximálnych hodnôt
2) Nastavíme hraničné hodnoty (určíme hranicu, pri ktorej ešte hodnotu
považujeme za extrém). Hodnota d v tabuľke znamená hraničné pásmo
(„delta“). Nastavujeme ho zvlášť pre minimum, aj pre maximum. V tomto
prípade je jeho hodnota pre maximum aj pre minimum 0,1. Znamená to, že za
lokálne maximum považujeme aj hodnotu, ktorá je väčšia ako maximum - delta.
Obr. 29: Zobrazenie hraničných hodnôt
3) V stĺpci „EXTR“ určíme, či je príslušná zatváracia cena lokálnym extrémom. Ak
je cena extrémom za 10 dní, hodnota v stĺpci je „EX“, ak nie je, hodnota v stĺpci
je „-“. (Obr. 30)
68
4) Určíme lokálny extrém za určité obdobie, teda či je minimálna alebo
maximálna:
- Ak sa zatváracia cena v riadku rovná minimálnej cene alebo je menšia ako
hraničné pásmo minima, zaradíme vzorku do triedy MIN;
- Ak sa zatváracia cena v riadku rovná maximálnej cene alebo je väčšia ako
hraničné pásmo maxima, zaradíme vzorku do triedy MAX;
- Ak sa zatváracia cena v riadku väčšia ako hranica minima a menšia ako hranica
maxima, zaradíme vzorku do triedy NN.
Obr. 30: Zaradenie vzoriek do tried
V hornej časti tabuľky sa nachádza sumár signálov. Tu nastavujeme hodnotu delta
pre hornú a dolnú hranicu extrémov. Hodnota MAX udáva počet predajných signálov
(max), hodnota MIN počet nákupných signálov (min) a NN počet vzoriek zaradených
do triedy NN. Hodnoty nastavujeme tak, aby bol počet vzoriek v každej triede približne
rovnaký.
Obr. 31: Sumár signálov
69
Na obrázku (Obr. 32) je znázornený priebeh cien spoločnosti Microsoft za 25 dní.
Modré vrcholy znázorňujú lokálne extrémy v trénovacej množine dát, tak ako boli
vygenerované v Exceli (minimá aj maximá).
Obr. 32: Zobrazenie extrémov v trénovacej množine
Na ďalšom grafe (Obr. 33) sú predajné signály v testovacej množine počas 100
obchodných dní. Modrou farbou sú znázornené maximá cien (predajné signály).
Obr. 33: Predajné signály za 100 dní (delta=0.1)
Nedostatkom je, že jedno lokálne maximum nebolo zaregistrované. Pri širšom
hraničnom pásme zvýšením hodnoty delta (Obr. 33) sa tento problém odstráni. To
ukazuje výhodu použitia hraničných pásiem.
Problémom je aj to, že v určitých obdobiach sme vygenerovali dva alebo tri
predajné signály po sebe. To je problém z viacerých dôvodov:
70
- Nemôžeme predať akcie, ktoré sme už raz predali (v prípade kúpy
môžeme dokúpiť akcie).
- Viac predajných signálov po sebe znamená, že sa hodnota akcie zvyšuje,
a preto je dobré ju držať. Obmedzenie počtu signálov je výhodné, aby sme
uskutočňovali menej obchodov, pretože tie prinášajú náklady. Z krátkodobého
hľadiska však môžeme vytvárať zisk.
Riešením je použiť obchodovanie pomocou CFD (Contracts For Difference). Sú
to finančné deriváty, ktoré kopírujú kurz akcie. Ide o rozdielové kontrakty, zisk sa teda
realizuje rozdielom nákupnej a predajnej ceny. Takéto obchodovanie umožňuje teda aj
predaj nakrátko (môžeme nástroj predať, a následne ho kúpiť). Nehovoríme už o
samotnej akcii, ale o nástroji, ktorý je odvodený od cien akcií. Výhodou je aj možnosť
maržového obchodovania (s pákou), kedy môžeme investovať niekoľkonásobok
vlastných prostriedkov, pretože vlastnými prostriedkami kryjeme iba prípadné straty. Je
to záloha za poskytnutie kapitálu. Ak strata prekročí stanovenú maržu, obchod sa
automaticky uzavrie so stratou pre investora. V práci budeme ďalej používať pojem
akcia (aj v prípade obchodovania CFD), pretože nás zaujíma jej pohyb (zmena, trend),
nie absolútna hodnota.
Pri použití CFD môžeme teda akcie predať viac krát po sebe a tiež ich aj viac krát
po sebe kúpiť (pri dostatočnom kapitále). Nevýhodou je, že nemôžeme predať iba časť
akcií za účelom zníženia rizika, ale musíme uzavrieť otvorenú pozíciu (ukončiť
obchod).
Obr. 34: Predajné signály za 100 dní (delta=0.3)
71
Na trénovanie neurónovej siete použijeme trénovaciu množinu, kde môže byť viac
rovnakých obchodných signálov za sebou, aby sme získali viac vzoriek. Vytvoríme
preto dva súbory vstupných dát a to:
- Súbor s viacerými obchodnými signálmi, pričom môžu po sebe
nasledovať rovnaké signály;
- Súbor s menším počtom signálov, a teda aj s menšou vzorkovacou
množinou. Pri tomto súbore však bude predikcia obsahovať väčšie chyby, keďže
môže generovať obchodný signál v blízkosti extrému, avšak porovnanie s
trénovacou množinou bude generovať chybnú klasifikáciu.
Vytvorenie neopakujúcich sa nákupných signálov
Na obrázku (Obr. 35) je znázornené vytváranie signálov. Zapamätáme si
poslednú hodnotu extrému (Pamäť). Nový nákupný signál generujeme, len ak je
predošlý signál opačný. Vyznačené sú dva lokálne extrémy, kde je však obchodný
signál generovaný iba pri novšom extréme.
Naučená neurónová sieť by mala v ideálnom prípade generovať signály pri
novších extrémoch a ignorovať predchádzajúce.
Obr. 35: Vytváranie neopakujúcich sa signálov
72
Pri použití neopakujúcich sa signálov (extrémov) dostaneme ale malý počet
vzoriek zaradených do tried MAX a MIN, a väčšina vzoriek bude v triede NN. Na
obrázku (Obr. 36) je veľké množstvo vzoriek zaradených do neurčitej triedy (modrá).
Obr. 36: Rozdelenie do tried (x:MACD, y: Divergence)
Napriek tomu vidíme v hornej časti predajné signály (červené) a v dolnej časti
nákupné signály (zelené). Je však predpoklad, že neurónová sieť bude generovať
nákupné signály aj v okolitých bodoch, a teda vytvárať falošné signály prípadne nebude
generovať signály, pretože zaradí všetky dáta do triedy NN.
Použitie trénovacej množiny s malým počtom extrémov
Na nasledujúcom príklade ukážeme použitie signálov v trénovacej množine tak,
aby nenasledovali po sebe rovnaké signály. Dôsledkom takéhoto obmedzenia bude, že
pomer vzoriek zaradených do tried MIN a MAX bude veľmi nízky oproti triede NN.
To zapríčiní, že sa neurónová sieť naučí zaraďovať väčšinu testovacích vzoriek do
triedy NN, a neodhadne správne niektoré dôležité extrémy.
Už v trénovacej množine dát (Obr. 37) vidíme, že farebné odlíšenie tried MAX a
MIN je nevýrazné, a do týchto množín sa miešajú vzorky triedy NN. Dôsledkom
takéhoto trénovania je, že neurónová sieť prehliadne množstvo extrémov, pretože ich
zaradí do triedy NN. Pri testovaní tejto siete neurónová sieť negenerovala takmer žiadne
obchodné signály.
73
Obr. 37: Trénovacia množina s nízkym počtom extrémov
Na tomto príklade vidíme, že použitie diferenčného pásma je nevyhnutné, aj keď
sa v pri tomto prístupe nachádza viac vzoriek zaradených do tried MAX a MIN, napriek
tomu, že nejde o skutočné extrémy. Takto naučená sieť potom generuje v niektorých
prípadoch viac rovnakých signálov po sebe, čiže nájde viac vedľa seba susediacich
maxím.
Na obrázku (Obr. 38) je zobrazený pomer vzoriek v trénovacej množine, ak
nepoužijeme hraničné pásmo extrémov. Malé stĺpčeky na grafe znázorňujú triedy MIN
a MAX.
Obr. 38: Pomer počtu trénovacích vzoriek podľa tried
Na obrázku (Obr. 39) je graf cien, kde sú červenými čiarami označené extrémne
hodnoty odhadnuté neurónovou sieťou pri použití takejto trénovacej množiny. Program
nenašiel minimálne dve dôležité maximá.
Obr. 39: Zlý odhad extrémov použitím NS
74
5.1.4 Príprava vstupných atribútov
V praktických aplikáciách závisí výstup modelu systému od vstupných
premenných. To sa využíva napríklad pri lineárnej regresii, kedy odhadujeme výstup
systému na základe určitých vstupných parametrov. Slúžia na to rôzne metódy, ako
napríklad metóda najmenších štvorcov. Výsledkom je matematický model závislosti
výstupu na vstupoch. V regresných modeloch počet týchto vstupných parametrov určuje
počet vstupov modelu. Pri neurónových sieťach sa okrem počtu vstupných parametrov
volia aj iné parametre, ako počet skrytých vrstiev a počet neurónov v skrytej vrstve.
Voľba vhodnej podmnožiny premenných vybraných z trénovacej množiny môže
byť pre správnosť modelu zásadná. Jednou z metód, ktoré možno použiť na tento účel
sú napríklad bodové grafy. Na nich zobrazujeme rozdelenie trénovacej množiny do
tried, a vizuálne vieme posúdiť, či sú dáta rozdelené do tried v závislosti na príslušných
parametroch. Jednotlivé triedy sú farebne oddelené a mali by vytvárať súvislejšie oblasti
dát, ktoré sa dajú približne rozdeliť na základe parametrov.
V súbore MSFT.xlsm sú atribúty, ktoré budeme používať ako vstup neurónovej
siete. Tieto štyri atribúty sú importované z burzy, a zahŕňajú najmä informácie
a denných cenách:
- zatváracia cena (close),
- otváracia cena (open),
- maximálna cena (hight),
- minimálna cena (low).
Ďalší údaj Volume znamená počet uskutočnených obchodov. Tento údaj
nepoužijeme, pretože podľa obrázka (Obr. 40) počet obchodov nemá výrazný vplyv na
rozdelenie do tried. Niektoré teórie hovoria o vplyve zmeny počtu obchodov na cenu
(nie absolútny počet), ale v práci sa touto závislosťou zaoberať nebudeme. Tento
príklad sme uviedli ako demonštráciu prípadu, kedy je príslušný parameter nevhodný
pre rozhodovanie.
75
Obr. 40: Výsledok klasifikácie (X: RSI, Y: Volume)
Ďalšie atribúty sú odvodené a počítajú sa z aktuálnych a historických denných
cien akcií. Ich význam je uvedený v nasledujúcej tabuľke (Tab. 2).
Použitie RSI
Index relatívnej sily je najdôležitejší indikátor na generovanie obchodných
signálov, preto na ňom budeme demonštrovať prípravu iných indikátorov. Všeobecne sa
predajné signály generujú, ak je hodnota RSI väčšia ako 70 a nákupné, ak hodnota
klesne pod 30.
Trénovaciu vzorku vytvoríme tak, že vypočítame priemerné straty a zisky za
posledných 14 dní (Obr. 41). Postupujeme podľa vzorca na výpočet RSI (19), kde RS
znamená pomer denných ziskov a strát v sledovanom období.
(19)
Indikátor ukazuje, či počas posudzovaného obdobia prevládali zisky nad stratami,
alebo naopak. Ak áno, je pravdepodobné, že bude nasledovať zmena trendu. Ak sa
pohybuje indikátor okolo hodnoty 50, pomer ziskov a strát je vyrovnaný.
76
Tab. 2: Atribúty
c Poradové číslo
Open Otváracia cena
High Maximálne denná cena
Low Minimálna denná cena
Close Zatváracia Cena
Volume Počet obchodov
C-5 Zatváracia cena - 5 dní
C-4 Zatváracia cena - 4 dni
C-3 Zatváracia cena - 3 dni
C-2 Zatváracia cena - 2 dni
C-1 Zatváracia cena - 1 deň
SMA(10) Pohyblivý priemer (10 dní)
EMA(10) Exponenciálny pohyblivý priemer (10 dní)
Close-SMA(10) Rozdiel ceny a priemeru
SMA(20) Pohyblivý priemer (20 dní)
Telo Telo sviečky na grafe
Close-Low Rozdiel zatváracej a minimílnej ceny
BB_H Horné bollingerove pásmo
BB-D Dolné bollingerove pásmo
Sirka BB Šírka bollengerovho pásma
EMA(12) Exponenciálny pohyblivý priemer (12 dní) - pre MACD
EMA(26) Exponenciálny pohyblivý priemer (26 dní) - pre MACD
MACD Indikátor MACD
Signal Signál = EMA(9) pre MACD
DIV Divergencia MACD
Zmena Denná zmena kurzu
Zisk Denný prírastok hodnoty
Strata Denná strata hodnoty
Pr(zisk) Priemerný zisk za 14 dní
Pr(Strata) Priemerná strata za 14 dní
RS Pomer priemernej straty a zisku
RSI Indikátor RSI
RSI-1 Indikátor RSI - 1 deň
RSI-2 Indikátor RSI - 2 dni
RSI-3 Indikátor RSI - 3 dni
DIV-1 Divergencia - 1 deň
DIV-2 Divergencia - 2 dni
DIV-3 Divergencia - 3 dni
MIN Hodnota lokálneho minima
MAX Hodnota lokálneho maxima
min+d Horné hraničné pásmo
max-d Dolné hraničné pásmo extrému
EXTR Extrém
OUT Výstup (trieda MIN, MAX, alebo NN)
77
Obr. 41: Výpočet RSI spoločnosti Hewlett-Packard
V tabuľke (Obr. 41) môžeme vidieť, že po stúpaní a dosiahnutí maximálnej
hodnoty RSI začne indikátor zase klesať.
Obr. 42: Zobrazenie RSI na grafe
Používať signály pomocou RSI je možné, ak sa zhodujú s týždenným trendom. To
znamená, že ak je týždenný trend stúpajúci a RSI zaznamenáva presýtenie nákupov.
Indikátor RSI sa pohybuje v rozsahu od 0 do 100. Ako kontrolné hodnoty sa používajú
hraničné hodnoty 30 a 70.
Pre nákupy možno v istých prípadoch použiť hranice 40 a 80 a pri predaji na
krátko 20 a 60. Silné signály poskytuje divergencia cien, teda porovnanie rastu RSI a
78
rastu ceny akcie. Rastúca divergencia dáva signály na nákup. Takáto divergencia
nastáva vtedy, keď kurzy dosiahnu nové minimum, a zároveň RSI klesá, pričom je tento
pokles menej výrazný ako pri predchádzajúcej úrovni. Pre krátke pozície (predaj) sa
najlepšie signály objavujú, ak sa predchádzajúce maximum RSI nachádza nad
hraničnou priamkou a aktuálne pod ňou. Je to v podstate pravidlo „hlava-ramená“, a je
často používané pri analýze grafov. Predajné signály nastávajú, ak hodnoty ceny
dosahujú nové maximá, a RSI mierne klesá.
Uviedli sme viacero pravidiel, ktoré sú bežne používané v technickej analýze a pri
analýze grafov. Neurónová sieť však takéto pravidlá nepozná. Ak však privedieme na
jej vstupy vhodné parametre, mala by nájsť v dostatočne veľkej vzorke údajov nájsť.
Napríklad hraničnú hodnotu RSI, pri ktorej bude generovaný obchodný signál.
Na obrázku (Obr. 43) je jasne vidieť, ako sú dáta v trénovacej množine zaradené
do tried, a ako sa hranica medzi triedami mení na základe RSI, a staršej hodnoty RSI.
Obr. 43: Rozdelenie dát do tried (x:RSI, y:RSI-3)
Neurónová sieť by mala nájsť isté pravidlá napríklad aj pri RSI nasledujúcich po
sebe. Aby sme mohli takúto funkciu aplikovať, použije ako vstup NS viac po sebe
nasledujúcich hodnôt RSI.
79
5.1.5 Korelačné bodové diagramy a výber atribútov
Vizualizácia dát je dôležitým krokom analýzy dát a modelovania. Zobrazenie dát
formou grafu nám môže napovedať, aká je závislosť medzi dvoma premennými a aký
je ich vplyv na výsledný model. Obrázky v tejto kapitole ukazujú grafy závislostí dvoch
premenných, a zatriedenie jednotlivých vzoriek dát do tried. Čím lepšie vidieť oblasť
jednej triedy, a čím viac sa mení jej zloženie v závislosti na niektorom z parametrov,
tým sú parametre vhodnejšie na tvorbu modelu.
Na nasledujúcich obrázkoch je znázornené rozdelenie vzoriek do troch tried:
- MIN – zelená (nákupný signál);
- MAX – modrá (predajný signál);
- NN – červená (signál držania akcie).
Na uvedených obrázkoch je dobre vizuálne vidieť závislosť rozdelenia do
jednotlivých tried. V popise obrázku je uvedený atribút na X a na Y osi.
Obr. 44: Rozdelenie do tried (x: SMA(10), y: RSI-3)
80
Obr. 45: Rozdelenie do tried (x: Telo, y: RSI)
Obr. 46:Rozdelenie do tried (x: Div, y: Div-1)
Obr. 47: Rozdelenie do tried (x: Šírka BB, y: Close - SMA(10))
Obr. 48: Rozdelenie do tried (x:DIV, y: RSI)
81
Na základe pozorovania vytvoríme rôzne sady vstupných premenných. Aby bola
sieť čo najjednoduchšia, zvolíme čo najmenej premenných. Pre každú sadu vstupných
premenných (parametrov) vytvoríme model neurónovej siete a budeme porovnávať,
ktorý model dosahuje najlepšie výsledky.
Vytvorené sady údajov:
Sada 1: Close, SMA(20), BB_H, BB_D, DIV, RSI
Sada 2: DIV, RSI, RSI-3
Sada 3: Close, Telo, BB_H, BB_D
Sada 4: Close, SMA(20), BB_H,BB_D, DIV, RSI
Sada 5: Close, Telo, EMA(12), EMA(26), MACD, Signal, DIV, RSI
5.1.5 Modelovanie neurónovej siete
Konštrukcia neurónovej siete
Zostrojenie NS bude pozostávať z týchto šiestich krokov:
1) Údaje, ktoré budú použité spracujeme do formy tabuľky v textovom súbore
tak, aby mohli byť predložíme na vstup NS, ako trénovacia, prípadne
validovacia množinu dát. Údaje sa nachádzajú v súbore MSFT.xlms.
2) Údaje rozdelíme do trénovacej a testovacej množiny. Neurónová sieť
používa trénovacie dáta iba v procese učenia pri vytváraní modelu.
Validačná množina bude použitá na testovanie modelu, určenie jeho
prediktívnej schopnosti a určenie momentu, kedy treba učenie neurónovej
siete zastaviť (nastavenie počtu iterácií).
3) Definujeme štruktúru neurónovej siete výberom počtu neurónov v skrytej
vrstve a počtu neurónov vo vstupnej vrstve.
4) Nastavíme parametre učenia (počet iterácií, krok, momentum)
5) Začneme proces učenia. V tejto fáze sa menia hodnoty váh medzi neurónmi
na základe chyby siete. Chyba siete sa určí na základe porovnania výstupov
siete s trénovacími výstupmi.
6) Vykonáme proces hodnotenia, aby sme zistili, či je neurónová sieť schopná
uspokojivo riešiť požadovanú úlohu. Testovanie sa môže opakovať pri
82
rôznom nastavení siete a rôznej kombinácii vstupných parametrov, až kým
nie je sieť naučená dostatočne. Keď je dosiahnutý prijateľný výsledok
(chyba siete je menšia ako požadovaná), je sieť naučená a pripravená na
použitie.
Pre získanie vhodného modelu je dôležité určiť moment, kedy má byť proces
učenia zastavený. Ak je NS pretrénovaná, môže byť optimálne nastavená pre vzorky
z trénovacej množiny, ale nepoužiteľná ako všeobecný model. To znamená, že pre
vzorky z trénovacej množiny bude generovať dobré výsledky, ale pri použití nových dát
a neznámych bude sieť nepresná.
To pravdepodobne spôsobí zlé predpovede pri použití testovacej sady dát. Na
druhej strane, ak NS nie je trénovaná dostatočne dlho, môže zostať na lokálnom minime
odchýlky, skôr ako nájde riešenie s globálnou minimálnou chybou. To zvyčajne
generuje nesprávny model. Vykonaním periodického testovania neurónových sietí na
testovacej množine a zaznamenávaním výsledkov učenia nastavíme počet iterácií, ktoré
produkujú najoptimálnejší model.
Skrytú vrstvu používa neurónová sieť pre interné spracovanie a ukladanie
znalostí v priebehu učenia. Táto vrstva je zložená z neurónov, ktoré sú napojené na
vstupné neuróny. Práve tu si NS ukladá pravidlá pri hľadaní vzťahov medzi
jednotlivými vstupmi. Sieť potom zovšeobecňuje znalosti získaných faktov zo vstupov
a výstupov, čo umožňuje aby vykonávala prognózy. Počet neurónov v skrytej vrstve a
počet skrytých vrstiev sú určené experimentom. Výstupný vrstva je pri predikcii tvorená
jedným neurónom, ktorého výstup je zároveň výstupom siete a výsledkom predikcie. Pri
úlohe klasifikácie je počet výstupných neurónov zhodný s počtom tried, do ktorých
údaje klasifikujeme.
Dáta sme predspracovali tým, že sme vytvorili pomocné atribúty a atribút
MAXMIN, ktorý nám trénovaciu množinu rozdeľuje do troch tried. Vstupy vychádzajú
z historických cien akcií, a v tabuľke sú uvedené už vypočítané (predspracované) údaje.
Údaje v tabuľke vyexportujeme do súboru formátu CSV a ten následne
importujeme v programe WEKA. Z importovaných dát odstránime niektoré atribúty tak,
aby nám zostali iba atribúty zvolenej sady atribútov.
83
Na obrázku (Obr. 49) sú atribúty z prvej sady, štatistické údaje atribútu RSI
(minimálna hodnota, maximálna hodnota, priemer, štandardná odchýlka) a rozdelenie
vzoriek do tried podľa tohto atribútu RSI:
Obr. 49: Načítanie prvej sady údajov
Riešime úlohu klasifikácie pomocou neurónovej siete. Preto v záložke „Classify“
zvolíme metódu klasifikácie (viacvrstvový perceptrón).
Sieť bude mať tri vrstvy, vstupnú, skrytú a výstupnú. Vstupná vrstva zodpovedá
počtu vstupných atribútov. Počet neurónov v skryte vrstve volíme automaticky a závisí
od počtu vstupných neurónov. Pri manuálnom nastavení volíme počet neurónov
približne 2/3 počtu neurónov vstupnej vrstvy.
V nasledujúcej tabuľke sa nachádza porovnanie piatich typov neurónovej siete:
Tab. 3: Porovnanie modelov
Č. Počet
neurónov
v SV
Error
Per Epoch
Dobrý
Odhad
Absolute
Error
Root
mean
Rel. Abs.
error
Root
Rel. Err.
MIN
dobre
MAX
dobre
1 4 0.1912 1612 0.3596 0,4234 85,8771 92,5333 272 226
2 3 0.1871 1509 0.3732 0,4295 89,1254 93,856 303 455
3 3 0.1928 1523 0.3788 0.4349 90,4569 95,0472 111 264
4 4 0.1921 1546 0.3753 0,4344 89,7105 94,9329 174 276
5 5 0.1786 1590 0.3524 0.416 84,1624 90,9113 321 454
84
V tabuľke je vyznačený najoptimálnejší model s piatou sadou parametrov. Táto
sieť dosahovala najmenšie chyby predikcie, a tiež najlepšie zaradila vzorky do tried
MIN a MAX.
Popis stĺpcov tabuľky:
Error per epoch – chyba na cyklus;
Dobrý odhad – počet správne zaradených vzoriek;
MIN dobre – počet vzoriek správne zaradených do triedy MIN;
MAX dobre – počet vzoriek správne zaradených do triedy MAX;
V tabuľke sa nachádzajú rôzne typy chýb, tak ako ich vypisuje program Weka.
Vybrané chyby uvedené v tabuľke popíšeme nasledovne (n je počet vzoriek, ty je
hodnota z testovacej množiny, ty je odhadovaná hodnota) :
Mean absolute error – priemerná absolútna odchýlka odhadu
(30)
Relative Absolute Error - priemerná percentuálna absolútna odchýlka:
%100.ˆ1
t
tt
y
yy
nMAPE (31)
Root Mean Square Error - priemerná štvorcová reziduálna odchýlka:
2
ˆ1 tt yyn
MSE (32)
Root relative Square Error - odmocnina z priemernej štvorcovej reziduálnej
odchýlky:
MSERMSE (33)
tt yyn
MAE ˆ1
85
Z viacerých modelov sme vybrali sieť s piatimi neurónmi v skrytej vrstve,
s počtom iterácií 1000 a s rýchlosťou učenia 0,2. Neurónová sieť má tri výstupy, pretože
bude klasifikovať vstupné dáta do troch tried.
Zvolíme počet cyklov učenia. Experimentálne sme zvyšovali počet cyklov,
a zvolili sme pre model 2000 cyklov.
Tab. 4: Voľba počtu cyklov
Počet cyklov Chyba
500 0,1802
1000 0,1786
1500 0,1778
2000 0,1771
V ďalšom kroku volíme formou experimentu koeficient učenia a momentum.
Learning Rate (Koeficient učenia)
Koeficient učenia určuje veľkosť korekcie, ktorá je použitá pre nastavenie váh
neurónov počas učenia. Malé hodnoty učenia zvyšujú čas potrebný na učenie, ale na
druhej strane pomáhajú znižovať možnosť prekročenia optimálneho riešenia. V takom
prípade neurónová sieť nenájde lokálne minimum účelovej funkcie (minimálnu chybu)
a pokračuje ďalej v učení.
Nízka hodnota koeficientu tiež zvyšuje pravdepodobnosť, že sa sieť pri učení
zostane na lokálnom minime, a nenájde celkovú minimálnu hodnotu. Veľké hodnoty
koeficientu môžu znamenať rýchlejšie učenie, ale môžu zapríčiniť, že sieť nebude
naučená správne. Pri adaptívnom učení sa koeficient učenia volí v závislosti od veľkosti
generovanej chyby. Čím je väčšia chyba siete, tým sa volia menšie hodnoty koeficientu
a naopak. Preto, ak sa neurónová sieť blíži k optimálnemu riešeniu, učenie sa zrýchli.
Naopak, učenie je pomalšie, ak je sieť ďaleko od optimálneho riešenia
86
Momentum
Hodnota určuje, aký pomer z predchádzajúceho opravného koeficientu by mal
zostať v pamäti, a byť použitý pri ďalšom kroku učenia. Čím väčšia je jeho hodnota,
tým väčší dôraz je kladený na aktuálnu korekciu a menej na predchádzajúce korekcie.
Slúži ako vyrovnávacia pamäť, ktorá brzdí proces učenia pri pohybe nežiaducim
smerom.
Hodnoty pri 2000 iteráciách:
Tab. 5: Voľba parametrov neurónovej siete
Learning rate Momentum Max - dobre Min-dobre
0,3 0,3 305 480
0,2 0,2 343 472
0,1 0,2 270 435
0,2 0,1 345 468
0,2 0,05 343 365
0,2 0,3 340 477
Ako vyplýva z tabuľky (Tab. 5) zvolili sme koeficient učenia 0,2 a momentum
s hodnotou 0,1. Pri týchto nastaveniach sme dosiahli najlepšie zaradenie vzoriek do
tried.
Obr. 50: Model neurónovej siete
87
5.1.6 Testovanie neurónovej siete
Testovanie sa vykonáva tak, že sa vytvorí testovací súbor zložený z dát, ktoré
neboli použité neurónovou sieťou v priebehu učiaceho procesu. V testovacom režime
používa neurónová sieť nové vstupy a používa naučené znalosti na vytváranie
prognózy.
Úspešnosť prognózovania siete musí byť vyhodnocovaná určenou metódou. Sieť
sa najčastejšie vyhodnocuje prostredníctvom absolútnej chyby siete (priemer odchýlok
odhadovanej a skutočnej hodnoty), ale aj inými spôsobmi, ako je napríklad stanovenie
pomeru správne a nesprávne klasifikovaných údajov. Testovanie a učenie sa musí
vykonávať za rovnakých simulačných podmienok (napríklad rovnaké časové intervaly
vzoriek). Výsledky testov pri použití rôznych neurónových sietí a rovnakých
testovacích dátach sú vhodné na porovnanie sietí a na rozhodovanie o tom, ktorá
konkrétna neurónová sieť sa vyberie pre použitie v konečnej aplikácii.
V závislosti na výsledkoch porovnávacích testov je často potrebné vykonať
zmeny pri výbere vstupných dát, predspracovania údajov, zmenu sieťovej architektúry
a podobne.
Na validáciu modelu použijeme testovaciu množinu (supplied test set). Testovaciu
množinu tvoria dáta spoločnosti Microsoft za posledných 100 obchodných dní (v súbore
MSFT.xlms).
Obr. 51: Výsledok testovania navrhnutej neurónovej siete
88
Na obrázku (Obr. 51) je výsledok klasifikácie. Chyby nie sú až také dôležité
z praktického hľadiska, pretože ak neurónová sieť negeneruje signál v jednej vzorke,
môže generovať vo vedľajšej, kde sa cena zmení iba minimálne. Dôležitejšie bude
vyhodnotenie nákupných signálov v ďalšej časti práce, kde ukážeme praktickú
využiteľnosť siete.
Tab. 6: Matica zámen
MAX MIN NN
59 0 23 MAX
0 33 47 MIN
11 7 120 NN
Ako môžeme vidieť na matici zámen (Tab. 6), 59 vzoriek bolo správne
zaradených do triedy MAX, pričom žiadna nebola nesprávne zaradená do triedy MIN.
Rovnako 33 vzoriek bolo správne zaradených do triedy MIN a žiadna nebola nesprávne
zaradená do triedy MAX. Niektoré vzorky (celkovo 18) bolo zaradených do tried MAX
a MIN nesprávne, a mali byť zaradené do triedy NN. V prípade že sa jedná o vzorky
v blízkosti extrému, nejde o vážnu chybu. Naopak viac ako polovica vzoriek, ktoré mali
byť zaradené do triedy MIN, bolo zaradených do triedy NN a teda obchodný signál
nebol generovaný.
Výsledky generovania obchodných signálov môžeme zobraziť graficky. Na
obrázku (Obr. 52) vidíme zelenou farbou nákupné signály a červenou farbou predajné
signály.
Obr. 52: Zobrazenie obchodných signálov
89
Zhodnotenie
Uvedená sieť dokáže predpovedať lokálne maximá a minimá a teda aj generovať
obchodné signály. Problémom je fakt, že minimum alebo maximum je lokálne, a teda
v dlhšom časovom období môže nastať prípad, kedy bude maximum generované
neurónovou sieťou nižšie ako minimum.
Tiež z obrázku (Obr. 52) vyplýva, že niektoré lokálne extrémy sieť vynecháva,
a niekedy generuje veľké množstvo rovnakých obchodných signálov po sebe.
Pri obchodovaní pomocou takéhoto modelu je vhodné aplikovať ochranu proti
riziku, a uzatvoriť pozíciu pri dosiahnutí požadovaného zisku, respektíve straty.
Napríklad pri stanovení miery rizika 1:2 a zisku 5% sa predajná pozícia uzavrie pri
poklese ceny o 5%, a v prípade stúpnutia ceny pri strate 2,5% .
5.1.7 Interpretácia výsledkov analýz
Neurónová sieť je schopná uspokojivo generovať obchodné signály klasifikáciou
testovacích vzoriek do troch tried.
Znázornenie výsledkov pomocou bodových grafov
Podobne, ako sme analyzovali vhodnosť vstupov neurónovej siete pomocou
bodových grafov závislostí dvojíc parametrov, môžeme použiť bodový graf na
zobrazenie výsledku. Na nasledujúcich obrázkoch je graficky znázornený výsledok
klasifikácie testovacej vzorky dát pomocou neurónovej siete do troch tried (zelené sú
predajné signály, modré sú nákupné signály).
Bodový graf znázorňuje rozdelenie vstupných vzoriek dát do tried, na základe
dvoch parametrov. Tieto bodové grafy majú veľký význam aj v tom, že môžeme
čiastočne spätne vidieť, ako algoritmus rozhodoval. Vidíme napríklad, že nákupné
signály boli generované pri vyšších hodnotách RSI a DIV.
Rozdelenie do troch tried MAX (zelená), NN (červená), a MIN (modrá) na
základe parametrov RSI a DIV je na obrázku (Obr. 53). Do triedy MAX sú zaradené
vzorky s vyšším RSI a vyššou divergenciou MACD. V strede grafu sa triedy navzájom
prelínajú.
90
Obr. 53: Výsledok klasifikácie (x:Div, y:RSI)
Na obrázku Obr. 54 sú zobrazené výstupné dáta tak, aby zobrazovali len
obchodné signály, bez triedy NN. Vizuálne je tento graf prehľadnejší a jasnejšie vidíme
rozdelenie vzoriek podľa obchodných signálov. Aj tu môžeme všeobecne povedať, že
predávame, ak je RSI väčší ako 50, a kupujeme, ak je menší ako 50. Tým sme
potvrdili pravidlo technickej analýzy a správnosť použitia tohto indikátora.
Obr. 54: Výsledok klasifikácie bez zobrazenia triedy NN (x:RSI, y:DIV)
Pri divergencii MACD je to komplikovanejšie, a nemôžeme všeobecne povedať,
že od určitéj hodnoty vytvárame obchodné signály. Je to najmä tým, že indikátor
MACD nieje ohraničený. Tiež je dôležitý aj trend divergencie, nielen jej aktuálna
hodnota.
Na obrázku Obr. 55 je rozdelenie údajov do tried podľa atribútov RSI a MACD.
Tento graf ukazuje pomerne jasne rozdelenie do tried MIN a MAX. Ak si predstavíme
deliacu čiaru, pretínala by graf v strede. Kým hranica RSI zostáva približne rovnaká
(50), hraničná hodnota sa mení.
91
Obr. 55: Výsledok klasifikácie (x:MACD, y:RSI)
Na obrázku (Obr.56) vidíme tiež pomerne jasne rozdelenie do dvoch tried, pričom
tretia trieda (NN) sa mieša, najmä s triedou MAX. To znamená, že aj keď atribút RSI
dosiahol vysokú hodnotu, kurz akcie nedosahoval maximum. Trieda MIN je na tomto
grafe menej roztiahnutá a dokonca v istej oblasti je hustota bodov vyššia.
Obr. 56: Výsledok klasifikácie (x:MACD EMA, y:RSI)
Zobrazenie výsledkov pomocou čiarových grafov
Na trénovanie neurónovej siete sme použili 3000 vzoriek zo súboru MSFT.xmls,
teda hodnoty akcií počas 3000 dní. Ako testovaciu vzorku sme použili dáta za
posledných 100 obchodných dní.
Získali sme teda 100 vzoriek nákupných signálov, ktoré vygenerovala neurónová
sieť. Zostrojíme graf, na ktorom ukážeme generovanie predajných signálov
92
(vytváraných pri maximálnych hodnotách cien) v trénovacej množine a tie porovnáme
s výstupmi neurónovej siete a teda s predajnými signálmi generovaných sieťou.
Použili sme tieto atribúty: SMA(10), EMA(10), Close-SMA(10), Telo, Close-
Low, Sirka BB, DIV, RSI, RSI-1
Obr. 57: Odhad predajných signálov neurónovou sieťou
Obr. 58: Validačná množina dát (skutočné hodnoty) pri použití delta 0,3
93
Na nasledujúcich obrázkoch sú výsledky pri použití štyroch po sebe nasledujúcich
hodnôt RSI a štyroch po sebe nasledujúcich hodnôt Div na rovnakej množine dát:
Obr. 59: Odhad predajných signálov neurónovou sieťou
Obr. 60: Validačná vzorka dát (pri delta 0,3)
Na nasledujúcom grafe (Obr.61) sú niektoré vybrané výsledky klasifikácie do
dvoch tried. Zelené čiary znázorňujú lokálne maximá a modré minimá. Ako vyplýva z
výsledkov, neurónová sieť dokáže pomerne presne predvídať, či sa cena akcie nachádza
v lokálnom extréme. Ide však iba o lokálny extrém, a z dlhodobého hľadiska môže ísť o
údaj medzi minimálnou a maximálnou hodnotou.
Vo väčšine prípadov je takáto klasifikácia postačujúca a môže priniesť zisk.
Takéto situácie znázorňujú zelené krúžky. Naopak, v prípadoch označených červeným
krúžkom sa cena akcie nachádza v lokálnom minime, a kúpa v tomto čase môže viesť
k strate (v závislosti od nastavenia rizika).
94
Obr. 61: Generovanie obchodných signálov pomocou neurónovej siete
Obr. 62: Generovanie obchodných signálov pomocou neurónovej siete
Druhým problémom generovanie veľkého množstva rovnakých obchodných
signálov po sebe v niektorých prípadoch. To sme sa neúspešne pokúsili vyriešiť učením,
pretože výsledkom bol malý počet vzoriek s obchodnými signálmi v trénovacej
množine, čo spôsobilo, že sieť nebola dostatočne naučená (negenerovala obchodné
signály).
Hodnotenie výsledkov na základe simulácie obchodov
Výsledky neurónovej siete môžeme hodnotiť štatisticky, napríklad tak, že
porovnáme počet správne a nesprávne klasifikovaných údajov. Z praktického hľadiska
môžeme však použiť aj iné metódy na posúdenie úspešnosti predikcie vývoja cien akcií.
Cieľom generovania obchodných signálov je dosiahnuť zisk, ktorý tvorí rozdiel
medzi cenou pri otvorení obchodnej pozície a jej zatvorením. Obchodovanie môžeme
nasimulovať tak, že pri vygenerovaní signálu počítame počet nakúpených a predaných
95
akcií. Tiež evidujeme celkové náklady na kúpu a predaj, a aktuálnu cenu portfólia
(držaných akcií). Pri zatvorení pozície evidujeme zisk alebo stratu. Takáto simulácia je
vykonaná v súbore MSFT.xlsm v záložke „vynos“.
Tak ako pri reálnom obchodovaní (maržovom), aj pri simulácii obchodovania
môžeme uskutočniť rôzne stratégie zatvárania pozícií. Dve z možností sú:
- Zatvorenie pozície pri opačnom obchodnom signály ako pri otvorení
(napríklad nakupujeme pri nákupnom signály, a zatvárame pozíciu pri
predajnom signály).
- Aplikujeme analýzu rizík (Zabezpečenie proti riziku) a pozíciu
zatvárame pri dosiahnutí stanoveného zisku alebo straty. Výška zvolenej straty
by mala byť nižšia ako výška zvoleného výnosu.
Uvedieme konkrétny príklad. Situácia v simulácii je znázornená na obrázku (Obr.63).
Obr. 63: Simulácia obchodu v Exceli
Nakúpili sme 1000 akcií spoločnosti Microsoft za zatváraciu cenu 26.8. Náklady
na kúpu tejto akcie (bez poplatku sprostredkovateľovi) sú 1000*26,8$=26800$.
O dva dni neurónová sieť generuje predajný signál, pri hodnote akcie 27,16$.
Zatvoríme preto pozíciu so ziskom 360$, čo je 1,32%.
Pri tejto simulácii sme použili signály generované našou neurónovou sieťou.
Počas testovacieho obdobia 100 dní bol zisk pri predaji 3,90% a pri nákupoch 4,60%.
96
5.2 Analýza podniku pomocou finančných ukazovateľov
Analýza finančných ukazovateľov patrí do fundamentálnej analýzy. Ide teda
o analyzovanie finančných dát jednotlivých spoločností. V teoretickej časti sme popísali
niektoré finančné ukazovatele, ktoré použijeme ako atribúty neurónovej siete.
Historické finančné ukazovatele sú oveľa menej dostupné ako ceny akcií, preto je
ťažké ich porovnávať a používať na analýzu. V tejto úlohe sa pokúsime porovnať
spoločnosti na základe finančných ukazovateľov a zatriediť ich pomocou neurónovej
siete do dvoch tried: rastové a klesajúce (triedy rast a recesia). Rastové akcie sú tie,
ktoré zaznamenali za posledný rok kladný rozdiel ceny akcií, naopak klesajúce
zaznamenali pokles ceny. Pokúsime sa zostrojiť neurónovú sieť, ktorá bude posudzovať
potenciálny rast firmy na základe finančných ukazovateľov.
5.2.1 Pochopenie problematiky
Aby sme mohli použiť vybrané dáta ako vstupy neurónovej siete, musí existovať
nejaká závislosť medzi týmito vstupmi a výstupmi neurónovej siete. V tomto prípade
musí existovať závislosť ročného rastu ceny akcie od finančných ukazovateľov. Vybrali
sme štyri finančné ukazovatele, ktoré použijeme na vytváranie vstupnej množiny dát.
Na nasledujúcom obrázku (Obr. 63) sú spoločnosti obchodované na burze
NASDAQ zoradené vzostupne, podľa ceny akcie. Na Y osi je ročný obrat aktív
spoločností (ROA). Môžeme vidieť stúpajúci trend hodnoty akcie a ROA.
Obr. 64: Závislosť rastu ceny akcie od ROA
Cena akcie
97
Aj keď existuje stúpajúci trend, súčasne môžeme pozorovať pomerne veľké
odchýlky, čo znamená, že aj spoločnosti s vysokým rastom môžu mať záporné ROA.
Podobné ochýlky možno pozorovať aj pri ROE (obrat kapitálu) a prevádzkovej marži.
Obr. 65: Závislosť rastu ceny akcie a ROE
Obr. 66: Závislosť rastu ceny akcie od ziskovej marže (profit margin)
5.2.2 Príprava dát
Vytvorili sme zoznam spoločností, ktorých akcie sa obchodujú na burze Nasdaq.
Zoznam spoločností je v prílohe Nasdaq.xlsx. Obsahuje údaje 2699 spoločností. Na
obrázku je ukážka dát niekoľkých spoločností. Zdrojom údajov je oficiálna stránka
burzy Nasdaq. Tieto údaje sú importované do zošita v Exceli.
Cena akcie
Cena akcie
98
Obr. 67: Zoznam spoločností obchodovaných na burze Nasdaq
Tabuľka obsahuje tieto údaje (k 30.12.2012)
Symbol – symbol akcie
Name – názov spoločnosti
Last Sale – posledná predajná cena akcie
Market Cap – trhová kapitalizácia (hodnota spoločnosti v $)
IPO year – prvá emisia akcií (rok)
Sector – názov odvetvia v ktorom spoločnosť pôsobí
Pre finančnú analýzu použijeme zvýraznené údaje.
Odvetvie v ktorom spoločnosť pôsobí je dôležité preto, aby sme vedeli určiť
závislosť medzi jednotlivými odvetviami. Porovnávame napríklad obrat aktív, niektoré
odvetvia však potrebujú väčšie aktíva ako iné.
Pre každú spoločnosť importujeme z portálu Yahoo kľúčovú štatistiku, ktorá
zobrazuje základné údaje z finančných výkazov spoločnosti a iné aktuálne údaje.
99
Obr. 68: Kľúčové ukazovatele pre spoločnosť Himax
Kombináciou údajov z portálu Nasdaq.com a finance.yahoo.com vytvoríme
v Exceli tabuľku, ktorá obsahuje údaje uvedené v tabuľke (Tab.7)
Časť tabuľky Nasdaq_data je zobrazená na obrázku (Obr. 69).
Obr. 69: Príprava dát v programe Excel
Farebne sú vyznačené dáta, ktoré nie sú k dispozícii.
100
Tab. 7: Údaje získané z portálov
Symbol Symbol akcie
Price/Sales (ttm): Cena/Predaj
Price/Book (mrq): Cena/Zaknihovaná cena (emisná)
P/E Cena/Zisk
Value/ Revenue Hodnota spoločnosti/Obrat
Profit Margin (ttm): Zisková marža (12 mes.)
Operating Margin (ttm): Prevádzková marža (12 mes.)
Return on Assets (ttm): Obrat aktív ( 12 mes.)
Return on Equity (ttm): Návratnosť vlastného imania ( 12 mes.)
Revenue Per Share (ttm): Príjmy na akciu ( 12 mes.)
Qtrly Revenue Growth (yoy): Kvartálový rast tržieb
Total Cash Per Share (mrq): Hotovosť na akciu (posledný kvartál)
Total Debt/Equity (mrq): Dlh/Imanie(posledný kvartál)
Current Ratio (mrq): Aktíva/Pohľadávky (posledný kvartál)
Book Value Per Share (mrq): Zaknihovaná cena na akciu (posledný kvartál)
Údaje ktoré súvisia priamo s cenou akcie:
Price Cena akcie
Beta mesačná cenová zmena určitej spoločnosti vo
vzťahu k mesačnej cenovej zmene indexu S&P500
52W Change Zmena ceny akcie za 52 týždňov
S&P change Zmena indexu S&P500 za 52 týždňov
Hight Najvyššia cena akcie (52 týždňov)
Low Najnižšia cena akcie (52 týždňov)
50 SMA 50 dňový priemer cien akcií
200 SMA 200 dňový priemer cien akcií
Bussines Odvetvie v ktorom spoločnosť pôsobí
101
5.2.4 Tvorba modelu neurónovej siete
Po preskúmaní bodových grafov vstupných dát môžeme vizuálne vybrať dáta, pri
ktorých je rozdelenie do tried najzretelňejšie. Na nasledujúcom príklade môžeme vidieť
rozdelenie do dvoch tried, podľa rastu alebo poklesu spoločnosti oproti indexu S&P500.
Na osi Y je znázornená veľkosť prevádzkovej marže. Vidieť, že pri spoločnostiach
ktoré rástli je hustota bodov väčšia v hornej časti, čo znamená, že tieto spoločnosti majú
priemerne vyššiu prevádzkovú maržu. To ale neznamená, že spoločnosť s nízkou
prevádzkovou maržou musí byť rastová, len existuje väčšia pravdepodobnosť, že bude
patriť do skupiny rastových spoločností. Rovnako môžeme vidieť spoločnosti s vysokou
prevádzkovou maržou, ktoré sú zariadené do triedy spoločností v recesii.
Obr. 70: Klasifikácia do dvoch tried podľa Operation margin
To, že marža má vplyv na výsledky spoločnosti len do istej miery sa odráža na
nepresnej klasifikácii.
Na základe skúmania všetkých grafov vyberieme 4 údaje, ktoré budú slúžiť ako
vstup neurónovej siete:
- ROA (obrat aktív);
- ROE (obrat zdrojov);
- Profit margin (zisková marža);
- Operation margin (prevádzková marža).
102
Obr. 71: Rozdelenie do tried (rast, recesia) podľa ROA
Pri dostatočne veľkej trénovacej vzorke dát môžeme vidieť lineárnu závislosť
dvoch parametrov (Obr. 72). V spodnej časti imaginárnej krivky tvorenej bodmi grafu
vidíme vyšší výskyt modrých bodov (recesia), čo znamená, že spoločnosti s nízkou
prevádzkovou maržou a zároveň s nízkym obratom aktív budú s väčšou
pravdepodobnosťou patriť do triedy spoločností v recesii.
Táto trénovacia množina nie je veľmi presná, pretože existuje veľa spoločností,
ktorých charakteristiky nezodpovedajú danému modelu. Na grafe je to znázornené
bodmi mimo stredovej čiary. Nemožno vizuálne rozlíšiť skupiny modrých alebo
červených bodov, čo znamená, že tieto vzorky dát budú spôsobovať nepresnosť
neurónovej siete.
Obr. 72: Rozdelenie spoločností do tried (X: ROE Y:Operation margin)
103
5.2.5 Modely neurónovej siete a jej výsledky
Z parametrov uvedených vyššie vytvoríme neurónovú sieť so štyrmi vstupmi
a tromi neurónmi v skrytej vrstve. Na trénovanie sme použili upravené údaje 2377
spoločností obchodovaných na burze NASDAQ a na testovanie krížovú validáciu.
Obr. 73: Model neurónovej siete s finančnými ukazovateľmi a jej výsledky
Sieť zaradila 619 vzoriek dát nesprávne čo je pomerne vysoký počet. Je to
spôsobené najmä veľkým rozptylom vstupných hodnôt. Môžeme však skonštatovať, že
je možné do istej miery použiť finančné ukazovatele ako vstup neurónovej siete pri
analýze cien akcií. Výsledok ale závisí od rozptylu vstupných hodnôt a presnosť
klasifikácie bude menšia v porovnaní s neurónovou sieťou s použitím technických
indikátorov.
104
Vybrali sme štyri parametre, ktoré mali najväčší vplyv na zmenu cien akcií.
Pridaním ďalších parametrov sa presnosť siete príliľ nezmení. Na porovnanie použijeme
sieť s 11 vstupmi.
Obr. 74: Sieť s použitím 10 finančných indikátorov na vstupoch a jej výsledky
Z výsledkov na Obr. 74 vyplýva, že sa pomer dobrých a zlých klasifikácií zmenil
minimálne. Vybrané ukazovatele postačujú na klasifikáciu, a ďalšie parametre nie sú
potrebné, dokonca môžu viesť k horším výsledkom klasifikácie.
105
5.3 Predikcia hodnoty minimálnej ceny
Tento príklad slúži na demonštráciu predikcie konkrétnej hodnoty pomocou
neurónovej siete. Predpovedáme minimálnu hodnotu ceny akcie v priebehu 10 dní. Na
predikciu použijeme 11 vstupov. Model výslednej siete je znázornený na Obr. 75.
Obr. 75: Model neurónovej siete na predikciu minimálnych cien akcií
Výsledky predikcie sú znázornené na Obr. 76. Korelačný koeficient je 0,9968
a stredná absolútna chyba je 0,315.
Obr. 76: Výsledky predikcie minimálnej ceny
106
Neurónová sieť dokáže pomerne presne predpovedať hodnotu minimálnej
hodnoty.
Praktické využitie
Pri minimálnej hodnote je možné generovať nákupné signály. Predpovedanie
minimálnej hodnoty má výhodu, že vieme nastaviť nákupné príkazy, čo sú ceny, pri
ktorých obchodný systém automaticky uskutoční nákup akcií.
Obchodné signály teda generujeme v reálnom čase, minimálnu cenu však vieme
s určitou pravdepodobnosťou stanoviť dopredu. Obchodné signály je potrebné sledovať,
čo je časovo náročné. Pri nastavení limitných príkazov nemusíme sledovať cenu,
a čakať, kedy dosiahne požadovanú hraničnú hodnotu.
5.4 Predikcia cien akcií
Lineárna regresia v Exceli
Na predikciu cien sa väčšinou používa lineárna regresia. Keďže upravujeme dáta
v Exceli, ukážeme aj použitie lineárnej regresie v tomto programe.
Regresnú analýzu môžeme vykonať v Exceli pridaním trendu. Na obrázku je
znázornený lineárny trend, ktorý ukazuje pohyb cien akcií spoločnosti APPLE.
Obr. 77: Ceny akcií spoločnosti APPLE na konci roku 2012
Minimálna hodnota ceny akcie je 508,75$. Hodnota akcie sa pohybuje okolo
klesajúceho trendu.
Na základe uvedeného trendu by sme mohli predpokladať, že cena akcie Apple
bude na začiatku roku 2013 medzi 510$ a 500$ (v skutočnosti bola cena nad hodnotou
510$, čo ukazuje Obr. 78, kde sa trend vyrovnal.)
107
Obr. 78: Akcie spoločnosti Apple a ich lineárny trend
Na základe uvedeného príkladu vidíme, že regresná analýza nie je vždy vhodným
nástrojom na predpoveď pohybu ceny akcie. V uvedenom prípade sme použili príliš
krátky časový úsek na určenie trendu. Navyše sa situácia môže zmeniť, a na pohyb ceny
akcie môže vplývať vonkajší faktor (napríklad zverejnenie štatistiky predaja výrobkov).
Hodnoty akcie sa pohybujú okolo trendu iba ak nedochádza k zmene informácií
o spoločnosti alebo sa nezmení situácia na trhu (zmena úrokových sadzieb, zverejnenie
pesimistických údajov a podobne.)
Tvorba modelu NS
Predikcia cien na určité obdobie nemá praktický význam. V praxi je pomerne
náročné určiť, na aké obdobie máme predpovedať cenu akcie. Je možné, že bude cena
príliš volatilná, a bude sa meniť rýchlo okolo trendu. Takáto predpoveď je nemožná.
Riešením by bolo predpovedať vývoj kĺzavého priemeru, pretože tam sú odchýlky od
trendu menšie, a hodnota sa mení plynulejšie.
V nasledujúcom modeli predpovedáme cenu akcie na 5 dní dopredu, pričom
vstupmi siete sú ceny akcií za posledných 5 dní.
108
Obr. 79: Model siete
Výsledky predikcie pri krížovej validácii:
Obr. 80: Výsledky predikcie cien
Výsledky ukazujú, že je predpoveď pomerne presná, pretože korelačný koeficient
dosiahol hodnotu 0,9811. Môžeme však predpokladať, že s rastúcou dĺžkou obdobia
predpovede bude presnosť predpovede klesať. Z praktického hľadiska je chyba 0,8416$
veľká.
Pri predpovedi hodnoty exponencionálneho kĺzavého priemeru je chyba menšia,
z praktického hľadiska však stále príliš veľká.
109
Obr. 81: Výsledky predpovede EMA
Veľkosť chyby pri predikcii ceny by bolo možné znížiť zvýšením počtu
vstupných hodnôt . Použili by sme teda hodnoty zatváracích cien akcií z viacerých dní.
Regresná analýza je skôr vhodná na predpoveď trendu, ako na predpoveď konkrétnej
hodnoty.
110
5 Záver
V teoretickej časti sme popísali teoretické východiská práce, a súčasné poznatky
z viacerých oblastí, ktoré súvisia s predikciou cien akcií.
Cieľom práce bolo ukázať praktické využitie neurónovej siete pri predikcii cien
akcií. Stanovili sme štyri úlohy, ktoré analyzujú nejakou formou akciový trh
a predpovedajú vývoj ceny akcie.
Hlavnou úlohou bolo vytvorenie systému na generovanie obchodných signálov.
Úlohu sme analyzovali, pričom hlavným prínosom analýzy bolo zistenie potreby
použitia hraničných pásiem extrémov z dôvodu vytvorenia dostatočného počtu
obchodných signálov v trénovacej množine dát. Pri použití malého počtu obchodných
signálov v trénovacej množine pracovala sieť nesprávne, pretože negenerovala
dostatočný počet signálov. Na začiatku sme nepoužívali hraničné pásma extrémov,
a preto sme mali v trénovacej vzorke dát málo údajov zaradených do tried. To bol
dôvod, prečo nám potom neurónová sieť nezaraďovala údaje do týchto tried. Po
vyriešení tohto problému a úprave trénovacej množiny tak, aby bol v každej triede
približne rovnaký počet dát, sme začali dosahovať požadované výsledky.
Model dát dokázal na základe vstupných uspokojivo predpovedať lokálne extrémy
a tým aj generovať obchodné signály. Správnosť modelu sme overili štatisticky
a simuláciou obchodovania.
Výsledky systému boli názorne prezentované graficky, vo forme bodových grafov
a vo forme čiarových grafov cien so zobrazením obchodných signálov. Z obrázkov je
možné vidieť, ako sieť pracuje. Pri bodových grafoch vidieť závislosť dvoch vstupných
parametrov a rozdelenie vzoriek dát do tried, na základe týchto parametrov. Zistili sme,
že najviac vplývajú na tvorbu správnych obchodných signálov technické indikátory RSI
a MACD, či už ide o ich aktuálnu hodnotu alebo o časový rad hodnôt. Pri zobrazení
obchodných signálov na čiarových grafoch cien zase vieme pozorovať, ako sieť dokáže
predpovedať maximá a minimá.
Doplňujúcom úlohou bola klasifikácia akciových symbolov na rastové a klesajúce
na základe finančných ukazovateľov. Na základe analýzy sme vybrali štyri finančné
ukazovatele, ktoré sme použili ako vstup neurónovej siete. Presnosť klasifikácie bola
menšia, najmä z dôvodu väčších odchýlok hodnôt v trénovacej množine.
111
Na dvoch úlohách sme ukázali predikciu hodnôt. V prvom prípade to bola cena
akcie v období päť dní, v druhom prípade to bol exponencionálny kĺzavý priemer
v období päť dní. Výsledky predikcie neboli z praktického pohľadu dostatočné.
Predpoveď hodnoty kĺzavého priemeru bola lepšia, z dôvodu menšej citlivosti na zmenu
hodnôt.
Dokázali sme, že použitie neurónových sietí pri analýze cien akcií má zmysel,
a môže pomôcť investorom k dosahovaniu ziskov. Dôležité pre úspešnosť ich použitia
je výber vhodných vstupov siete, a úprava dát tak, aby bolo učenie siete čo najlepšie.
V našom prípade to bolo najmä generovanie výstupov trénovacej a testovacej vzorky
dát. Tiež je dôležité použiť nástroje na zabezpečenie proti riziku, pretože môžu nastať
situácie, kedy bude sieť predpovedať údaje nesprávne. Správnym použitím týchto
nástrojov zabezpečíme investície voči väčším stratám.
Neurónová sieť dokáže efektívne prehľadávať veľké množiny dát, a hľadať v nich
také vzory alebo pravidlá, ktoré korešpondujú s chovaním systému. Ide najmä
o pravidlá súvisiace s technickými indikátormi. Pomocou neurónovej siete sme
v podstate dokázali platnosť týchto pravidiel a fakt, že použitie neurónovej siete zvyšuje
pravdepodobnosť správneho odhadu vývoja trhu.
Naučili sme sa pracovať s neurónovými sieťami, a našli sme spôsob, ako ich
využiť pri analýze dát. Pri analýze je dôležité postupovať podľa metodiky. Vybrali sme
si metodiku CRISP-DM, a postupovali sme podľa šiestich krokov tejto metodiky.
Cyklus sme viac krát opakovali, kedy sme hľadali vhodnú formu dát.
Generovanie obchodných signálov má veľké praktické využitie, kedy môžeme
pomocou neurónovej siete prehľadávať veľké súbory údajov, a hľadať obchodné
príležitosti. Takéto prehľadávanie je prácne a časovo náročné, preto je použitie
podobného systému vhodným nástrojom. Použitie neurónových sietí by sa dalo zlepšiť
zdokonaľovaním učenia, a predkladaním takých vzoriek vstupov, ktoré umožnia naučiť
sieť rôzne pravidlá.
Najdôležitejším záverom je, že technická analýza má význam pri analyzovaní cien
akcií a predpovedaní ich vývoja. Technické indikátory nielen odzrkadľujú aktuálny
stav, ale dokážu do istej miery predpovedať stav v budúcnosti. Použitím neurónovej
siete vieme tieto indikátory ľahko vyhodnocovať a hľadať súvislosti medzi jednotlivými
nimi. Keďže je pohyb cien závislí od viacerých faktorov, vieme tieto faktory
kombinovať, a učiť sieť tak, aby čo najlepšie reagovala na vývoj trhu.
112
6 Zoznam použitých zdrojov
Berka, P. 2003. Dobývání znalostí z databází. s.l. : Academia, 2003. p. 392.,
ISBN 80-200-1062-9.
Cassidy, John. 2012. Jak selhávají trhy. Praha : Academia, 2012.
2013. centruminvestovania.sk. Slovník investora. [Online] Tatrabanka, 2013.
http://www.centruminvestovania.sk/index.php?www=slovnik-investora.
Clarence, Tan N. W. 1997. An Artificial Neural Networks Primer. s.l. : Bond University,
1997.
Davis, J. R., Hartgraves, L. a Morse, W. J. 1984. Management accounting. s.l. :
Addison-Wesley, 1984, s. 754.
Gately, E. 1998. Forecasting Profits Using Price & Time. New York : John Wiley &
Sons, Inc., 1998. s. 123. ISBN 80-8094-046-0.
Greenspan, Alan . 2008. Věk turbulencí. s.l. : Fragment, 2008. 978-80-253-0755-7.
Hindls, Richard, a iní. 2007. Statistika pro ekonomy. 8. Praha : Professional Publishing,
2007. s. 415. ISBN 978-80-86946-43-6.
2013. ipoint.cz. Slovník investora. [Online] Čekia, 2013. http://www.ipoint.cz/skola-
investora/slovnik-investora/ .
Juggler. 2010. Psychologická analýza finančného trhu . http://ako-investovat.sk. [Online]
2010.
Knight, K. 1991. Artificial Intelligence, Second Edition: McGraw Hil, 1991.
Kostolany, Andre. 2008. Kostolanyho burzovní seminář: Mirage, 2008. 80-238-5969.
—. 2007. Peníze a burza. Praha : Mirage, 2007. 80-239-7741-5.
Kráľovič Jozef. 2008. Finančný manažment. s.l. : Iura Edition, 2008.
McNelis , P.D. 2005. Neural Networks in Finance: Gaining Predictive Edge in the
Market. s.l. : Elsevier Inc., 2005.
Medelson, L. B. 2000. Trend Forecasting With Technical Analysis. s.l. : Market
Technologies Corporation, 2000. 1-883272-91-2.
Molnar, Alan T. 2010. Economic Forecasting. New York : Nova Science Publishers,
2010. s. 273. 978-1-61122-478-8.
Musílek, P. 2002. Trhy cenných papíru. Praha : Ekopress, 2002.
Ng, Andrew. 2012. Machine Lerning Course. www.coursera.org. [Online] 2012.
113
Pacáková, V. a kol. 2003. Štatistika pre ekonómov. Bratislava : IURA Edtion, 2003.
ISBN 80-89047-74-2.
Privalenkov, A. 2004. Slabikář pro začínajíci spekulanty. s.l. : Eurolex Bohemia, 2004.
Rejnuš, Oldřich. 2004. Teorie a praxe obchodování s cennými papíri. Brno : Computer
press, 2004.
Rockefeller, Barbara. 2010. Technical Analysis For Dummies. s.l. : John Wiley & Sons,
2010, s. 360.
Rope A.T. a kol.;. 2011. Forecasting and Management of Technology, Second Edition:
John Wiley & Sons, Inc., 2011. s. 323. 978-0-470-44090-2.
Sedláček, Peter. Kam investovať. kaminvestovat.sk. [Online]
http://www.kaminvestovat.sk/komodity/technicka-analyza/434-technicke-indikatory.html.
Sinčák P., Andrejčáková G. 1996. Neuronove siete I. (Inziniersky pristup). Košice :
ELFA Press, 1996.
stockcharts.com. 2013. Relative Strength Index (RSI). http://stockcharts.com. [Online]
Interactive Data Corp., 2013.
http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength
Svoboda, M. 2008. Jak investovat aneb anatomie burzovnich lží. s.l. : Computer press,
2008. ISBN 80-251-0527-X.
Taleb , Nicholas Nassim . 2011 . Černá labuť. s.l. : Paseka, 2011 . ISBN
9788074321283.
value-investing.sk. 2013. value-investing.sk. Slovník investora. [Online] 2013.
http://www.value-investing.sk/slovnik-investora/.
Weissman, Richard L. 2004. Mechanical Trading Systems.: John Wiley & Sons, 2004.
114
Prílohy
Príloha A: CD médium obsahujúce:
- diplomová práca v elektronickej forme
- súbory dát použité v práci