\documentclass[12pt,journal,compsoc]{IEEEtran}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[croatian]{babel}
\usepackage{amsmath,amssymb}
\usepackage{makecell}
\renewcommand\theadfont{\bfseries}
\newcommand\MYhyperrefoptions{bookmarks=true,bookmarksnumbered=true,
pdfpagemode={UseOutlines},plainpages=false,pdfpagelabels=true,
colorlinks=true,linkcolor={black},citecolor={black},urlcolor={black},
pdftitle={Predviđanje kretanja dionica na Zagrebačkoj burzi},
pdfsubject={Typesetting},
pdfauthor={Ana, Lukačić, Tin Deranja, Vedran Rukavina},
pdfkeywords={Support vektor machine (SVM), Kernel Ridge Regression (KRR), Strojno učenje, Regresija, Predviđanje, Burza}}
\hyphenation{op-tical net-works semi-conduc-tor}
\begin{document}
\title{Predviđanje kretanja dionica na \\ Zagrebačkoj burzi}
\author{Ana~Lukačić,~\IEEEmembership{Primijenjena~Matematika,}
Tin~Deranja,~\IEEEmembership{Primijenjena~Matematika,}
i~Vedran~Rukavina,~\IEEEmembership{Primijenjena~Matematika}}
\IEEEtitleabstractindextext{
\begin{abstract}
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.
\end{abstract}
\begin{IEEEkeywords}
Support vektor machine (SVM), Kernel Ridge Regression (KRR), Strojno učenje, Regresija, Predviđanje, Burza
\end{IEEEkeywords}}
\maketitle
\IEEEdisplaynontitleabstractindextext
\IEEEpeerreviewmaketitle
\section{Uvod}
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}.\\
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}.\\
Kernel Ridge regresija je poseban slučaj modela Support Vector Machine te je predstavljena u \cite{3}.\\
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.
\section{Opis i način implementacije modela}
Za implementaciju modela za predviđanje kretanje cijena na "Zagrebačkoj burzi" koristimo programski jezik Python (SVM, Kernel Ridge) i Weku (neuralne mreže).\\
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. \\
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.\\
Samo modeliranje dijelimo u nekoliko faza:
\begin{enumerate}
\item Prikupljanje potrebnih podataka
\item Obrada prikupljenih podataka
\item Testiranje algoritama na temelju danih ulaznih podataka
\item Vizualizacija i ocjena pogreške algoritama na izlaznim (predviđenim) podacima
\end{enumerate}
\subsection{Prikupljenje i obrada podataka}
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.\\
CROBEX10 predstavlja 10 dionica iz indeksa CROBEX s najvećom free float tržišnom kapitalizacijom i prometom.\\
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.
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.
\begin{center}
\begin{table}
\begin{tabular}{|c|c|c|}
\hline
\thead{Kratica} & \thead{Naziv} & \thead{Dionički indeks} \\
\hline
ADPL & AD Plastik d.d. & CRO10, CROind \\
\hline
ADRS & Adris grupa d.d. & CRO10 \\
\hline
ARNT & Arena Hospitality Group d.d. & CROtur \\
\hline
ATGR & Atlantic Grupa d.d. & CRO10 \\
\hline
ATPL & Atlantska plovidba d.d. & CRO10 \\
\hline
DDJH & ĐURO ĐAKOVIĆ GRUPA d.d. & CROind \\
\hline
DLKV & Dalekovod d.d. & CROkon \\
\hline
ERNT & Ericsson Nikola Tesla d.d. & CRO10, CROind \\
\hline
HT & HT d.d. & CRO10 \\
\hline
IGH & Institut IGH d.d. & CROkon \\
\hline
INA & INA d.d & CROind \\
\hline
INGR & Ingra d.d. & CROkon \\
\hline
KOEI & Končar - Elektroindustrija d.d. & CRO10, CROind \\
\hline
LEDO & Ledo d.d. & CRO10 \\
\hline
LRH & Liburnia Riviera Hoteli d.d. & CROtur \\
\hline
MAIS & Maistra d.d. & CROtur \\
\hline
PODR & Podravka d.d. & CRO10 \\
\hline
PTKM & Petrokemija d.d. & CROind \\
\hline
RIVP & VALAMAR RIVIERA d.d. & CRO10, CROtur \\
\hline
THNK & Tehnika d.d. & CROkon \\
\hline
VART & Varteks d.d. & CROind\\
\hline
VLEN & Brodogradilište Viktor Lenac d.d. & CROind \\
\hline
\end{tabular}
\caption{Popis kratica s odgovarajućim nazivima tvrtki i dioničkih indeksa}
\end{table}
\end{center}
Za testiranje algoritama smo većinom koristili obrađene podatke no probali smo testirati i sirove, gotovo nepromijenjene podatke u Weki. \\
Prikupljene podatke smo obradili pomoću nekoliko osnovnih indikatora kretanja tržišta:
\begin{itemize}
\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:
\begin{align*}
RSI &= 100 - \frac{100}{1+RS} \\
RS &= \frac{\textnormal{prosječni dobitak}}{\textnormal{prosječni gubitak}}
\end{align*}
\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:
\begin{align*}
TP &= \frac{\text{Najviša} + \text{Najniža} + \text{Zadnja}}{3} \\
RMF &= \text{TP} \times \text{Broj transakcija}\\
MR &= \frac{\text{14-dana pozitivnog RMF}}{\text{14-dana negativnog RMF}}\\
MFI &= 100 - \frac{100}{1 + MR}
\end{align*}
\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:
\begin{align*}
SMA &= \frac{\text{suma cijena unutar perioda}}{\text{period}}\\
m &= \frac{2}{\text{period} + 1}\\
EMA &= (\text{Zadnja} - EMA(\text{prošli dan}))\\
&\times m + EMA(\text{prošli dan})
\end{align*}
\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:
\begin{align*}
Z &= \text{zadnja(trenutna)}\\
NN &= \text{najniža u razdoblju}\\
NV &= \text{najviša u razdoblju}\\
SO &= \frac{Z - NN}{NV - NN} \times 100
\end{align*}
\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:
\begin{align*}
m, n &= \text{periodi}\\
m &< n\\
MACD &= (\text{m})EMA - (\text{n})EMA
\end{align*}
\item SL (Signal line) indikator koji ukazuje na vrijeme za prodaju dionice, a računamo ga na sljedeći način:
\begin{align*}
m &= \text{period}\\
SL &= \text{(m)EMA od MACD}
\end{align*}
\end{itemize}
Na temelju navedenih indikatora stvaramo skup podataka za treniranje i testiranje naših modela.\\
Naši podaci izgledaju na sljedeći način.
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:
\begin{align*}
x_{(j,1)}^{i} &= \text{RSI i-te dionice u razdoblju j}\\
x_{(j,2)}^{i} &= \text{MFI i-te dionice u razdoblju j}\\
x_{(j,3)}^{i} &= \text{EMA i-te dionice u razdoblju j}\\
x_{(j,4)}^{i} &= \text{SO i-te dionice u razdoblju j}\\
x_{(j,5)}^{i} &= \text{MACD i-te dionice u razdoblju j}\\
x_{(j,6)}^{i} &= \text{SL i-te dionice u razdoblju j}\\
y_{(j)}^{i} &= \text{"Vrijednost" i-te dionice u razdoblju j}
\end{align*}
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:
$$X^{i}=
\begin{bmatrix}
x_{(1,1)}^{i} & x_{(1,2)}^{i} & x_{(1,3)}^{i} & x_{(1,4)}^{i} & x_{(1,5)}^{i} & x_{(1,6)}^{i} \\
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
x_{(j,1)}^{i} & x_{(j,2)}^{i} & x_{(j,3)}^{i} & x_{(j,4)}^{i} & x_{(j,5)}^{i} & x_{(j,6)}^{i} \\
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
x_{(p,1)}^{i} & x_{(p,2)}^{i} & x_{(p,3)}^{i} & x_{(p,4)}^{i} & x_{(p,5)}^{i} & x_{(p,6)}^{i}
\end{bmatrix}
$$
i
$$
y^{i}=
\begin{bmatrix}
y_{(1)}^{i} \\
\vdots\\
y_{(j)}^{i} \\
\vdots \\
y_{(p)}^{i}
\end{bmatrix}
$$
Sada kada imamo sve spremno, podatke šaljemo našim algoritmima.
Kreiramo trening i test skup za svaku dionicu na gore opisan način. U pravilu smo uzimali omjer $70\%:30\%$ u korist trening skupa.
\section{Algoritmi}
\subsection{SVM(SVR)}
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).
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}\).\\
Funkcija je definirana kao:
\begin{equation}\label{1}
f(x) = {w}^{T} * \phi(x) + b
\end{equation}
gdje je $w$ vektor težina te $b$ pomak.
Funkciju (\ref{1}) nalazimo rješavanjem optimizacijskog problema koji se svodi na minimizaciju sljedeće funkcije:
$$
argmin_{w,b} \frac{1}{2} \|w\|^{2}
$$
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:
$$
argmin_{w,b} \{ \frac{1}{2} \|w\|^{2} + C\sum_{i=1}^{N} {\zeta}_{i} \}
$$
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).\\
Metodom Lagrangeovih multiplikatora dobivamo pripadnu Lagrangeovu funkciju:
\begin{align*}
L(w,b,\zeta,\alpha,\beta) &= \frac{1}{2} \|w\|^{2} + C\sum_{i=1}^{N} {\zeta}_{i}\\
&- \sum_{i=1}^{N} {\alpha}_{i}({y}^{i}f({x}_{i})\\
&-1 + {\zeta}_{i}) - \sum_{i=1}^{N} {\zeta}_{i} {\beta}_{i}
\end{align*}
Da bi jednostavnije baratali ograničenjima, a i zbog nekih drugih prednosti, formuliramo dualni problem na sljedeći način:
\begin{align*}
L(\alpha) &= \sum_{i=1}^{N} {\alpha}_{i}\\
&- \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})}
\end{align*}
i ograničenja:
$$
{\alpha}_{i} \ge 0 , {\beta}_{i} \ge 0 , {\alpha}_{i} \le C
$$
$$
0 \leq {\alpha}_{i} \leq C
$$
$$
\sum_{i=1}^{N}{\alpha}_{i}{y}_{i} = 0
$$
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:
$$
k(x,{x'})={\phi(x)}^{T}{\phi({x'})}
$$
koju nazivamo jezgrenom funkcijom (engl. kernel function). Neke od standardnih jezgrenih funkcija su:\\
\begin{itemize}
\item linearna jezgra
$$
k(x,x')={x}^{T}{x'}
$$
\item polinomijalna jezgra
$$
k(x,x')={({x}^{T}{x'}+1)}^{p}
$$
\item radijalne bazne funkcije
$$
k(x,x')=k(\|x-x'\|)
$$
\item sigmoidna funkcija
$$
k(x,x')=\frac{1}{1+e^{-xx'}}
$$
\end{itemize}
U ovom radu korištene su inačice SVM-a koje koriste različite jezgrene funkcije.
\subsection{Kernel Ridge regresija}
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.\\
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.
\subsection{Neuronske mreže}
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).
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.
\section{Vizualizacija i ocjena pogreške, usporedbe s drugim algoritmima}
\begin{center}
\begin{table}[th]
\begin{tabular}{|c|c|c|c|}
\hline
Dionica & CC & RRSE \\ \hline
ADPL & 0.9867 & 16.885\% \\ \hline
ADRS & 0.9875 & 8.6896\% \\ \hline
ARNT & 0.9327 & 7.8682\% \\ \hline
ATGR & 0.8632 & 24.9089\% \\ \hline
ATPL & 0.9911 & 2.2894\% \\ \hline
DDJH & 0.9707 & 16.1865\% \\ \hline
DLKV & 0.7582 & 1.0844\% \\ \hline
ERNT & 0.9812 & 12.0042\% \\ \hline
HT & 0.9483 & 10.6403\% \\ \hline
IGH & 0.7211 & 2.5416\% \\ \hline
INA & 0.9607 & 17.205\% \\ \hline
INGR & -0.0497 & 14.5451\% \\ \hline
KOEI & 0.8845 & 11.2139\% \\ \hline
LEDO & 0.9681 & 12.9557\% \\ \hline
LRH & 0.9436 & 13.7158\% \\ \hline
MAIS & 0.9826 & 5.7507\% \\ \hline
PODR & 0.9796 & 13.1632\% \\ \hline
PTKM & 0.9571 & 6.9751\% \\ \hline
RIVP* & 0.9992 & 1.9914\% \\ \hline
RIVP & 0.8462 & 3.3929\% \\ \hline
THNK & 0.807 & 4.1413\% \\ \hline
VART & 0.9431 & 9.8263\% \\ \hline
VLEN & 0.7956 & 138.3839\% \\ \hline
\end{tabular}
\end{table}
\end{center}
\begin{center}
\begin{table}[th]
\begin{tabular}{|c|c|c|c|c|}
\hline
Dionica & DTR & KNR & KRR & SVR \\ \hline
ADPL & 2.480220 & 4.561563 & & \\ \hline
ADRS & 24.212535 & 96.432318 & & 40.701054 \\
\hline
ARNT & 17.561460 & 250.714409 & \\ \hline
ATGR & 41.741358 & 338.916273 & \\
\hline
ATPL & 120.993744 & 355.189693 & & 16024.392094 \\
\hline
DDJH & 3.608839 & 7.000722 & \\
\hline
DLKV & 27.949496 & 48.038358 & \\ \hline
ERNT & 351.428692 & 689.364303 & \\
\hline
HT & 8.643227 & 30.447415 & & 11.777483\\
\hline
IGH & 682.334678 & 2344.828387 & \\
\hline
INA & 2266.171540 & 4295.193699 & \\
\hline
INGR & 0.125069 & 0.152135 & & 0.405230 \\
\hline
KOEI & 40.697045 & 122.784012 & \\
\hline
LEDO & 9125.988688 & 43289.569931 & \\ \hline
LRH & 5262.000776 & 22288.807226 & \\ \hline
MAIS & 20.376438 & 110.434791 & \\
\hline
PODR & 11.045955 & 36.675181 & & 10.111635 \\
\hline
PTKM & 23.192537 & 104.943506 & \\
\hline
RIVP & 25.816245 & 15.499761 & \\
\hline
THNK & 579.171100 & 1819.902146 & \\ \hline
VART & 0.389559 & 0.660287 & & 0.568326\\
\hline
VLEN & 0.144589 & 0.237206 & 0.753566 \\ \hline
\end{tabular}
\caption{Popis dionica i pogrešaka (MSE) algoritama.}
\end{table}
\end{center}
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.\\
Označimo stvarnu vrijednost s ${\theta}$ i vrijednost koju je predložio algoritam s $\hat\theta$.\\
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.\\
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 \\
Gdje je $\overline{\theta}$ srednja vrijednost od $\theta$. \\
$$ \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 }} $$
\section{Zaključak}
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.
\ifCLASSOPTIONcaptionsoff
\newpage
\fi
\begin{thebibliography}{1}
\bibitem{1}
Osman Hegazy, Omar S. Soliman and Mustafa Abdul Salam A Machine
Learning Model for Stock Market Prediction. Faculty of Computers and
Informatics, Cairo University, Egypt, Higher Technological Institute
(H.T.I), 10th of Ramadan City, Egypt
\bibitem{2}
Cherkassky, V. and Ma, Y., “Practical Selection of SVM
Parameters and Noise Estimation for SVM regression”.
Neural Networks, vol., 17, pp. 113-126, 2004.
\bibitem{3}
Bernhard Scholkopf, Zhiyuan Luo, Vladimir Vovk:"Empirical Inference", Springer, 2013.
\bibitem{4}
Investopedia,
\texttt{http://www.investopedia.com/}
\end{thebibliography}
\end{document}