Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
1041 views
1
\documentclass[12pt,journal,compsoc]{IEEEtran}
2
\usepackage[T1]{fontenc}
3
\usepackage[utf8x]{inputenc}
4
\usepackage[croatian]{babel}
5
\usepackage{amsmath,amssymb}
6
\usepackage{makecell}
7
\renewcommand\theadfont{\bfseries}
8
9
\newcommand\MYhyperrefoptions{bookmarks=true,bookmarksnumbered=true,
10
pdfpagemode={UseOutlines},plainpages=false,pdfpagelabels=true,
11
colorlinks=true,linkcolor={black},citecolor={black},urlcolor={black},
12
pdftitle={Predviđanje kretanja dionica na Zagrebačkoj burzi},
13
pdfsubject={Typesetting},
14
pdfauthor={Ana, Lukačić, Tin Deranja, Vedran Rukavina},
15
pdfkeywords={Support vektor machine (SVM), Kernel Ridge Regression (KRR), Strojno učenje, Regresija, Predviđanje, Burza}}
16
\hyphenation{op-tical net-works semi-conduc-tor}
17
18
19
\begin{document}
20
\title{Predviđanje kretanja dionica na \\ Zagrebačkoj burzi}
21
22
\author{Ana~Lukačić,~\IEEEmembership{Primijenjena~Matematika,}
23
Tin~Deranja,~\IEEEmembership{Primijenjena~Matematika,}
24
i~Vedran~Rukavina,~\IEEEmembership{Primijenjena~Matematika}}
25
\IEEEtitleabstractindextext{%
26
\begin{abstract}
27
Predviđanje kretanja cijena dionica je pokušaj određivanja buduće cijene dionica ili nekog drugog vrijednosnog papira kojim se trguje. Predviđanje kretanja cijene jest predviđanje ponude i potražnje jer kada se cijena ponude i cijena kupnje sretnu dolazi do izvršenja naloga i promjene cijene dionice. Uspješnim predviđanjem budućih cijena dionica ostvarujemo najveći povrat na ulog na burzi prilikom trgovanja vrijednosnim papirima. U ovom radu predlažemo sljedeće modele strojnog učenja: Stroj potpornih vektora (SVM), Umjetne neuronske mreže i Kernel Ridge regresiju. Algoritam SVM je rjeđe korišten od Neuronskih mreža za predviđanje cijena dionica. Predloženi modeli se temelje na proučavanju podataka dionice u nekom vremenskom periodu i tehničkim indikatorima. Navedene algoritme ćemo istrenirati na podatcima dohvaćenim sa stranica Zagrebačke burze te ćemo vidjeti njihovu točnost. Također, usporedit ćemo dobivene rezultate svakog algoritma te rezultate pasivnog trgovanja i vidjeti koji od njih daje najtočnije rezultate.
28
29
\end{abstract}
30
31
% Note that keywords are not normally used for peerreview papers.
32
\begin{IEEEkeywords}
33
Support vektor machine (SVM), Kernel Ridge Regression (KRR), Strojno učenje, Regresija, Predviđanje, Burza
34
\end{IEEEkeywords}}
35
36
37
% make the title area
38
\maketitle
39
40
41
42
\IEEEdisplaynontitleabstractindextext
43
\IEEEpeerreviewmaketitle
44
45
46
47
\section{Uvod}
48
Predviđanje cijena dionica je u središtu proučavanja već godinama ponajprije zbog ostvarivanja velikog profita. Predvidjeti cijenu dionice nije nimalo lak zadatak upravo zbog mnogo faktora koji mogu utjecati na izvedbu pojedine dionice, a većinom je dosta faktora nepoznato. Temeljni članak na kojem je baziran naš rad jest A Machine Learning Model for Stock Market Prediction \cite{1}.\\
49
Najčešće korištena metoda su Umjetne neuronske mreže (engl. Artificial Neural networks, ANNs). ANN često pati od prenaučenosti zbog velikog broja parametara te slabog predznanja korisnika o relevantnosti obrađenih ulaznih podataka. Model Stroj potpornih vektora razvijen je kao alternativa kako bi se izbjegla takva ograničenja te pronalazi globalno optimalno rješenje \cite{2}.\\
50
Kernel Ridge regresija je poseban slučaj modela Support Vector Machine te je predstavljena u \cite{3}.\\
51
Cilj ovog rada je saznati koji od algoritama daje najbolje rezultate na temelju usporedbi koeficijenata korelacije i relativne kvadratne pogreške. Organiziran je na sljedeći način: odjeljak 2 predstavlja opis i način implementacije modela; odjeljak 3 opisuje svaki od predloženih algoritama; vizualizacija i ocjena pogreške algoritama pokazana je u 4; zaključak je dan u odjeljku 5.
52
53
\section{Opis i način implementacije modela}
54
Za implementaciju modela za predviđanje kretanje cijena na "Zagrebačkoj burzi" koristimo programski jezik Python (SVM, Kernel Ridge) i Weku (neuralne mreže).\\
55
Python je programski jezik visoke razine i interaktivna je okolina za numeričko i matrično računanje, te za vizualizaciju i programiranje. U našem istraživanju koristimo Anacondu, distribuciju Pythona s već unaprijed uključenim paketima za numeričku obradu podataka i strojnog učenja. \\
56
Weka je zbirka algoritama strojnog učenja za zadatke rudarenja podataka. Algoritmi se mogu primijeniti izravno na skupovima podataka ili pozvati iz vlastitog Java koda. Weka sadrži alate za pretvorbu podataka, klasifikaciju, regresiju, klasteriranje, pravila pridruživanja i vizualizaciju. Također je prikladna za razvoj novih shema strojnog učenja.\\
57
Samo modeliranje dijelimo u nekoliko faza:
58
\begin{enumerate}
59
\item Prikupljanje potrebnih podataka
60
\item Obrada prikupljenih podataka
61
\item Testiranje algoritama na temelju danih ulaznih podataka
62
\item Vizualizacija i ocjena pogreške algoritama na izlaznim (predviđenim) podacima
63
\end{enumerate}
64
\subsection{Prikupljenje i obrada podataka}
65
Podatke smo preuzeli sa stranice Zagrebačke burze [link u literaturi] u .xls formatu. Preuzeli smo podatke o dionicama relevantnih dioničkih indeksa s burze CROBEX10, CROBEXindustrija, CROBEXkonstrukt, CROBEXturist.\\
66
CROBEX10 predstavlja 10 dionica iz indeksa CROBEX s najvećom free float tržišnom kapitalizacijom i prometom.\\
67
CROBEXindustrija, CROBEXkonstrukt, CROBEXturist uključuje dionice iz indeksa CROBEX iz triju pripadnih područja, industrijske proizvodnje, građevinarstva i turzima. Uvjet za uključenje dionice je $70\%$ dana trgovanja, što znači da smo odabirom ovih dionica radili na najlikvidnijim dionicama Zagrebačke burze. Za svaku dionicu, za njezin dan trgovanja smo imali podatke o prvoj, najvišoj, najnižoj, zadnjoj te prosječnoj cijeni tog dana.
68
Također je bila navedena promjena između zadnje cijene prethodnog dana i tekućeg dana, te broj transakcija, količina dionica kojom se prometovalo te sam promet izražen u kunama. Stupci predstavljaju navedene kategorije, a retci dane.
69
\begin{center}
70
\begin{table}
71
\begin{tabular}{|c|c|c|}
72
\hline
73
\thead{Kratica} & \thead{Naziv} & \thead{Dionički indeks} \\
74
\hline
75
ADPL & AD Plastik d.d. & CRO10, CROind \\
76
\hline
77
ADRS & Adris grupa d.d. & CRO10 \\
78
\hline
79
ARNT & Arena Hospitality Group d.d. & CROtur \\
80
\hline
81
ATGR & Atlantic Grupa d.d. & CRO10 \\
82
\hline
83
ATPL & Atlantska plovidba d.d. & CRO10 \\
84
\hline
85
DDJH & ĐURO ĐAKOVIĆ GRUPA d.d. & CROind \\
86
\hline
87
DLKV & Dalekovod d.d. & CROkon \\
88
\hline
89
ERNT & Ericsson Nikola Tesla d.d. & CRO10, CROind \\
90
\hline
91
HT & HT d.d. & CRO10 \\
92
\hline
93
IGH & Institut IGH d.d. & CROkon \\
94
\hline
95
INA & INA d.d & CROind \\
96
\hline
97
INGR & Ingra d.d. & CROkon \\
98
\hline
99
KOEI & Končar - Elektroindustrija d.d. & CRO10, CROind \\
100
\hline
101
LEDO & Ledo d.d. & CRO10 \\
102
\hline
103
LRH & Liburnia Riviera Hoteli d.d. & CROtur \\
104
\hline
105
MAIS & Maistra d.d. & CROtur \\
106
\hline
107
PODR & Podravka d.d. & CRO10 \\
108
\hline
109
PTKM & Petrokemija d.d. & CROind \\
110
\hline
111
RIVP & VALAMAR RIVIERA d.d. & CRO10, CROtur \\
112
\hline
113
THNK & Tehnika d.d. & CROkon \\
114
\hline
115
VART & Varteks d.d. & CROind\\
116
\hline
117
VLEN & Brodogradilište Viktor Lenac d.d. & CROind \\
118
\hline
119
\end{tabular}
120
\caption{Popis kratica s odgovarajućim nazivima tvrtki i dioničkih indeksa}
121
\end{table}
122
\end{center}
123
Za testiranje algoritama smo većinom koristili obrađene podatke no probali smo testirati i sirove, gotovo nepromijenjene podatke u Weki. \\
124
Prikupljene podatke smo obradili pomoću nekoliko osnovnih indikatora kretanja tržišta:
125
\begin{itemize}
126
\item RSI (Relative strength index) oscilator koji mjeri brzinu i promjenu kretanja cijena. RSI oscilira između nula i 100. RSI računamo na sljedeći način:
127
\begin{align*}
128
RSI &= 100 - \frac{100}{1+RS} \\
129
RS &= \frac{\textnormal{prosječni dobitak}}{\textnormal{prosječni gubitak}}
130
\end{align*}
131
\item MFI (Money flow index) oscilator koji koristi cijenu i volumen za mjerenje kupnje i pritiska prodaje. MFI računamo na sljedeći način:
132
\begin{align*}
133
TP &= \frac{\text{Najviša} + \text{Najniža} + \text{Zadnja}}{3} \\
134
RMF &= \text{TP} \times \text{Broj transakcija}\\
135
MR &= \frac{\text{14-dana pozitivnog RMF}}{\text{14-dana negativnog RMF}}\\
136
MFI &= 100 - \frac{100}{1 + MR}
137
\end{align*}
138
139
\item EMA (Exponential moving average) smanjuje zaostajanje primjenom veće težine na nedavne cijene. Težina koja se primjenjuje na najnoviju cijenu ovisi o prosječnom broju kretanja cijena u promatranom razdoblju. EMA računamo na sljedeći način:
140
\begin{align*}
141
SMA &= \frac{\text{suma cijena unutar perioda}}{\text{period}}\\
142
m &= \frac{2}{\text{period} + 1}\\
143
EMA &= (\text{Zadnja} - EMA(\text{prošli dan}))\\
144
&\times m + EMA(\text{prošli dan})
145
\end{align*}
146
\item SO (Stochastic oscilator) pokazatelj zamaha koji pokazuje položaj bliskih srodnika s visoko-niskim rasponom tijekom određenog broja razdoblja. SO računamo na sljedeći način:
147
\begin{align*}
148
Z &= \text{zadnja(trenutna)}\\
149
NN &= \text{najniža u razdoblju}\\
150
NV &= \text{najviša u razdoblju}\\
151
SO &= \frac{Z - NN}{NV - NN} \times 100
152
\end{align*}
153
\item MACD (Moving average convergence divergance) uzima u obzir dva trend inidikatora, prosjeke kretanja, oduzimajući duži period kretanja s manjim periodom kretanja. MACD računamo na sljedeći način:
154
\begin{align*}
155
m, n &= \text{periodi}\\
156
m &< n\\
157
MACD &= (\text{m})EMA - (\text{n})EMA
158
\end{align*}
159
\item SL (Signal line) indikator koji ukazuje na vrijeme za prodaju dionice, a računamo ga na sljedeći način:
160
\begin{align*}
161
m &= \text{period}\\
162
SL &= \text{(m)EMA od MACD}
163
\end{align*}
164
\end{itemize}
165
166
Na temelju navedenih indikatora stvaramo skup podataka za treniranje i testiranje naših modela.\\
167
Naši podaci izgledaju na sljedeći način.
168
Neka su $x_{(1)}^{i}$, $x_{(2)}^{i}$, $x_{(3)}^{i}$, $x_{(4)}^{i}$, $x_{(5)}^{i}$, $x_{(6)}^{i}$, $y^{i}$ vektori stupci $i$-te promatrane dionice takve da nam svaki vektor označava jedan od indikatora, preciznije:
169
\begin{align*}
170
x_{(j,1)}^{i} &= \text{RSI i-te dionice u razdoblju j}\\
171
x_{(j,2)}^{i} &= \text{MFI i-te dionice u razdoblju j}\\
172
x_{(j,3)}^{i} &= \text{EMA i-te dionice u razdoblju j}\\
173
x_{(j,4)}^{i} &= \text{SO i-te dionice u razdoblju j}\\
174
x_{(j,5)}^{i} &= \text{MACD i-te dionice u razdoblju j}\\
175
x_{(j,6)}^{i} &= \text{SL i-te dionice u razdoblju j}\\
176
y_{(j)}^{i} &= \text{"Vrijednost" i-te dionice u razdoblju j}
177
\end{align*}
178
179
Sada pretpostavimo da imamo $p$ podataka za $i$-tu dionicu i da su nam $x_{(j,n)}^{i}, n=1,2,\dots,6$ i $j=1, 2,\dots,p$ normalizirani. Matrična reprezentacija nam je sljedeća:
180
$$X^{i}=
181
\begin{bmatrix}
182
x_{(1,1)}^{i} & x_{(1,2)}^{i} & x_{(1,3)}^{i} & x_{(1,4)}^{i} & x_{(1,5)}^{i} & x_{(1,6)}^{i} \\
183
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
184
x_{(j,1)}^{i} & x_{(j,2)}^{i} & x_{(j,3)}^{i} & x_{(j,4)}^{i} & x_{(j,5)}^{i} & x_{(j,6)}^{i} \\
185
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
186
x_{(p,1)}^{i} & x_{(p,2)}^{i} & x_{(p,3)}^{i} & x_{(p,4)}^{i} & x_{(p,5)}^{i} & x_{(p,6)}^{i}
187
\end{bmatrix}
188
$$
189
i
190
$$
191
y^{i}=
192
\begin{bmatrix}
193
y_{(1)}^{i} \\
194
\vdots\\
195
y_{(j)}^{i} \\
196
\vdots \\
197
y_{(p)}^{i}
198
\end{bmatrix}
199
$$
200
201
Sada kada imamo sve spremno, podatke šaljemo našim algoritmima.
202
Kreiramo trening i test skup za svaku dionicu na gore opisan način. U pravilu smo uzimali omjer $70\%:30\%$ u korist trening skupa.
203
204
\section{Algoritmi}
205
\subsection{SVM(SVR)}
206
Stroj potpornih vektora (engl. support vector machine, SVM) je diskriminativan model koji pripada nadziranom učenju čijim se postupcima mogu rješavati dvije vrste problema: klasifikacija i regresija. Naziv SVM dolazi od toga što je kod tog modela hiperravninu moguće prikazati kao kombinaciju odabranih vektora iz skupa primjera za učenje koje nazivamo potpornim vektorima. Dodatnu učinkovitost SVM postiže primjenom tzv. jezgrenih funkcija, koje taj model svrstavaju u skupinu modela koju nazivamo jezgreni strojevi (engl. kernel machines).
207
208
Neka je \(X\) \(N\times p\) matrica ulaznih podataka i \(y\) \(n\times 1\) izlazni vektor. Neka je \(\{{x}_{i}, {y}_{i}\}\) za i=1,,N skup primjera za učenje (treniranje) gdje je\({x}_{i} \in \mathbb{R}^{p}\) i \({y}_{i} \in \mathbb{R}\). Cilj SVM-a je konstruirati funkciju (odnosno odgovarajuću hipotezu) \(f(x)=y\) koja reprezentira zavisnost podataka \({x}_{i}\) i \({y}_{i}\).\\
209
Funkcija je definirana kao:
210
\begin{equation}\label{1}
211
f(x) = {w}^{T} * \phi(x) + b
212
\end{equation}
213
gdje je $w$ vektor težina te $b$ pomak.
214
215
Funkciju (\ref{1}) nalazimo rješavanjem optimizacijskog problema koji se svodi na minimizaciju sljedeće funkcije:
216
$$
217
argmin_{w,b} \frac{1}{2} \|w\|^{2}
218
$$
219
Kod meke margine odnosno dopuštanjem da primjeri budu na pogrešnoj strani granice te uvođenjem rezervnih varijabli \(\zeta_{i} \ge 0\), i=1,,N, dobivamo sljedeći problem:
220
$$
221
argmin_{w,b} \{ \frac{1}{2} \|w\|^{2} + C\sum_{i=1}^{N} {\zeta}_{i} \}
222
$$
223
Ovo je problem konveksne optimizacije uz ograničenja odnosno riječ je o problemu kvadratnog programiranja koji se može riješiti metodom Lagrangeovih multiplikatora. Parametar $C>0$ određuje kompromis između veličine margine i ukupne kazne (mekoće margine).\\
224
Metodom Lagrangeovih multiplikatora dobivamo pripadnu Lagrangeovu funkciju:
225
\begin{align*}
226
L(w,b,\zeta,\alpha,\beta) &= \frac{1}{2} \|w\|^{2} + C\sum_{i=1}^{N} {\zeta}_{i}\\
227
&- \sum_{i=1}^{N} {\alpha}_{i}({y}^{i}f({x}_{i})\\
228
&-1 + {\zeta}_{i}) - \sum_{i=1}^{N} {\zeta}_{i} {\beta}_{i}
229
\end{align*}
230
Da bi jednostavnije baratali ograničenjima, a i zbog nekih drugih prednosti, formuliramo dualni problem na sljedeći način:
231
\begin{align*}
232
L(\alpha) &= \sum_{i=1}^{N} {\alpha}_{i}\\
233
&- \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N}{\alpha}_{i}{\alpha}_{j}{y}_{i}{y}_{j}{\phi({x}_{i})}^{T}{\phi({x}_{j})}
234
\end{align*}
235
i ograničenja:
236
$$
237
{\alpha}_{i} \ge 0 , {\beta}_{i} \ge 0 , {\alpha}_{i} \le C
238
$$
239
$$
240
0 \leq {\alpha}_{i} \leq C
241
$$
242
$$
243
\sum_{i=1}^{N}{\alpha}_{i}{y}_{i} = 0
244
$$
245
Dualna formulacija nam omogućava da učinimo tzv. jezgreni trik: umnožak dvaju primjera \(x\) i \({x'}\) u prostoru značajki možemo zamijeniti funkcijom:
246
$$
247
k(x,{x'})={\phi(x)}^{T}{\phi({x'})}
248
$$
249
koju nazivamo jezgrenom funkcijom (engl. kernel function). Neke od standardnih jezgrenih funkcija su:\\
250
\begin{itemize}
251
\item linearna jezgra
252
$$
253
k(x,x')={x}^{T}{x'}
254
$$
255
\item polinomijalna jezgra
256
$$
257
k(x,x')={({x}^{T}{x'}+1)}^{p}
258
$$
259
\item radijalne bazne funkcije
260
$$
261
k(x,x')=k(\|x-x'\|)
262
$$
263
\item sigmoidna funkcija
264
$$
265
k(x,x')=\frac{1}{1+e^{-xx'}}
266
$$
267
\end{itemize}
268
U ovom radu korištene su inačice SVM-a koje koriste različite jezgrene funkcije.
269
270
\subsection{Kernel Ridge regresija}
271
Kernel Ridge regresija (KRR) kombinira Ridge regresiju (linearni najmanji kvadrati s normalizacijom $l2$-norme) s kernel trikom. Time se uči linearna funkcija u prostoru induciranom odgovarajućom jezgrom i podacima. Za nelinearne kernele, to odgovara nelinearnoj funkciji u izvornom prostoru.\\
272
Oblik modela koji je naučio KRR identičan je vektorskoj regresiji (SVR). Međutim, koriste se različite funkcije gubitaka: KRR koristi kvadratni gubitak pogrešaka dok vektorska regresija podržava epsilon-neosjetljivi gubitak, oboje u kombinaciji s regulacijom $l2$. Za razliku od SVR, ugradnja KRR modela može se obaviti u zatvorenom obliku i obično je brža za srednje veličine podataka. S druge strane, naučeni model nije rijedak i stoga je sporiji od SVR.
273
274
\subsection{Neuronske mreže}
275
Umjetna neuronska mreža pripada nadziranom učenju a u širem smislu riječi možemo reći da je to imitacija bioloških neuronskih mreža kojom se nastoji simulirati postupak učenja. Podjela neuronskih mreža moguća je na više načina: osnovna (acikličke, cikličke), po broju slojeva (jednoslojne, višeslojne), po povezanosti (djelomično povezane, potpuno povezane).
276
U ovom radu koristili smo neuronsku mrežu sa jednim skrivenim slojem od četiri čvora i jednim izlaznim čvorom. Mreža je kreirana i korištena kroz Weku\footnote{MultilayerPerceptron algoritam}. Svi čvorovi su sigmoidi.
277
278
279
\section{Vizualizacija i ocjena pogreške, usporedbe s drugim algoritmima}
280
281
\begin{center}
282
\begin{table}[th]
283
\begin{tabular}{|c|c|c|c|}
284
\hline
285
Dionica & CC & RRSE \\ \hline
286
ADPL & 0.9867 & 16.885\% \\ \hline
287
ADRS & 0.9875 & 8.6896\% \\ \hline
288
ARNT & 0.9327 & 7.8682\% \\ \hline
289
ATGR & 0.8632 & 24.9089\% \\ \hline
290
ATPL & 0.9911 & 2.2894\% \\ \hline
291
DDJH & 0.9707 & 16.1865\% \\ \hline
292
DLKV & 0.7582 & 1.0844\% \\ \hline
293
ERNT & 0.9812 & 12.0042\% \\ \hline
294
HT & 0.9483 & 10.6403\% \\ \hline
295
IGH & 0.7211 & 2.5416\% \\ \hline
296
INA & 0.9607 & 17.205\% \\ \hline
297
INGR & -0.0497 & 14.5451\% \\ \hline
298
KOEI & 0.8845 & 11.2139\% \\ \hline
299
LEDO & 0.9681 & 12.9557\% \\ \hline
300
LRH & 0.9436 & 13.7158\% \\ \hline
301
MAIS & 0.9826 & 5.7507\% \\ \hline
302
PODR & 0.9796 & 13.1632\% \\ \hline
303
PTKM & 0.9571 & 6.9751\% \\ \hline
304
RIVP* & 0.9992 & 1.9914\% \\ \hline
305
RIVP & 0.8462 & 3.3929\% \\ \hline
306
THNK & 0.807 & 4.1413\% \\ \hline
307
VART & 0.9431 & 9.8263\% \\ \hline
308
VLEN & 0.7956 & 138.3839\% \\ \hline
309
\end{tabular}
310
\end{table}
311
\end{center}
312
313
\begin{center}
314
\begin{table}[th]
315
\begin{tabular}{|c|c|c|c|c|}
316
\hline
317
Dionica & DTR & KNR & KRR & SVR \\ \hline
318
ADPL & 2.480220 & 4.561563 & & \\ \hline
319
ADRS & 24.212535 & 96.432318 & & 40.701054 \\
320
\hline
321
ARNT & 17.561460 & 250.714409 & \\ \hline
322
ATGR & 41.741358 & 338.916273 & \\
323
\hline
324
ATPL & 120.993744 & 355.189693 & & 16024.392094 \\
325
\hline
326
DDJH & 3.608839 & 7.000722 & \\
327
\hline
328
DLKV & 27.949496 & 48.038358 & \\ \hline
329
ERNT & 351.428692 & 689.364303 & \\
330
\hline
331
HT & 8.643227 & 30.447415 & & 11.777483\\
332
\hline
333
IGH & 682.334678 & 2344.828387 & \\
334
\hline
335
INA & 2266.171540 & 4295.193699 & \\
336
\hline
337
INGR & 0.125069 & 0.152135 & & 0.405230 \\
338
\hline
339
KOEI & 40.697045 & 122.784012 & \\
340
\hline
341
LEDO & 9125.988688 & 43289.569931 & \\ \hline
342
LRH & 5262.000776 & 22288.807226 & \\ \hline
343
MAIS & 20.376438 & 110.434791 & \\
344
\hline
345
PODR & 11.045955 & 36.675181 & & 10.111635 \\
346
\hline
347
PTKM & 23.192537 & 104.943506 & \\
348
\hline
349
RIVP & 25.816245 & 15.499761 & \\
350
\hline
351
THNK & 579.171100 & 1819.902146 & \\ \hline
352
VART & 0.389559 & 0.660287 & & 0.568326\\
353
\hline
354
VLEN & 0.144589 & 0.237206 & 0.753566 \\ \hline
355
\end{tabular}
356
\caption{Popis dionica i pogrešaka (MSE) algoritama.}
357
\end{table}
358
\end{center}
359
360
361
CC\footnote{eng. Correlation coefficient} - Koeficijent korelacije označava korelaciju i ovisnost između dvije vrijednosti, u našem slučaju između stvarne vrijednosti i vrijednosti predviđene algoritmom.\\
362
Označimo stvarnu vrijednost s ${\theta}$ i vrijednost koju je predložio algoritam s $\hat\theta$.\\
363
Korelacija nam označava povezanost između $\hat{\theta}$ i $\theta$. Vrijednost korelacije može biti između $1$ i $-1$. Gdje vrijednost $0$ označava da nema korelacije, $1$ da je korelacija jaka i to linearna te $-1$ da je korelacija inverzno linearna relacija.\\
364
RRSE\footnote{eng. Root relative squared error} - relativna kvadratna pogreška normalizira kvadratnu grešku tako što podijeli sumu kvadratnih grešaka pojedinačnih predikcija s varijancom modela \\
365
Gdje je $\overline{\theta}$ srednja vrijednost od $\theta$. \\
366
$$ \mathrm{ RRSE }= \sqrt{ \frac{ \sum^N_{i=1} \left( \hat{\theta}_i - \theta_i \right)^2 } { \sum^N_{i=1} \left( \overline{\theta} - \theta_i \right)^2 }} $$
367
368
\section{Zaključak}
369
Iz rezultata dobivenih iz neuralnih mreža pokazalo se da korištenjem indikatora kretanja tržišta\footnote{u tablici RIVP} za učenje algoritma se dobivaju lošiji rezultati nego kada smo učili istu neuralnu mrežu na jednostavnijim neobrađenim atributima\footnote{u tablici RIVP*}. Ovo ostavlja još prostora za proučavanje jer nismo proveli dovoljno duboku analizu ove pretpostavke, no prvi rezultati pokazuju da je to vjerojatno točno.
370
371
372
\ifCLASSOPTIONcaptionsoff
373
\newpage
374
\fi
375
376
377
\begin{thebibliography}{1}
378
379
\bibitem{1}
380
Osman Hegazy, Omar S. Soliman and Mustafa Abdul Salam A Machine
381
Learning Model for Stock Market Prediction. Faculty of Computers and
382
Informatics, Cairo University, Egypt, Higher Technological Institute
383
(H.T.I), 10th of Ramadan City, Egypt
384
385
\bibitem{2}
386
Cherkassky, V. and Ma, Y., “Practical Selection of SVM
387
Parameters and Noise Estimation for SVM regression.
388
Neural Networks, vol., 17, pp. 113-126, 2004.
389
390
\bibitem{3}
391
Bernhard Scholkopf, Zhiyuan Luo, Vladimir Vovk:"Empirical Inference", Springer, 2013.
392
393
\bibitem{4}
394
Investopedia,
395
\texttt{http://www.investopedia.com/}
396
397
\end{thebibliography}
398
399
% that's all folks
400
\end{document}
401
402