Un stoc sau o act ,iune este un instrument financiar care reprezint ˘a proprietatea ˆıntr-o companie s ,i dreptul asupra activelor sale (ceea ce este… [624522]

UNIVERSITATEA DIN BUCURESTI
FACULTATEA DE MATEMATICA SI INFORMATICA
SECTIA INFORMATICA
PREZICEREA PRETULUI ACTIUNILOR
OANA MIHAELA FLORESCU
COORDONATOR STIINTIFIC
Conf. Dr. Alexe Bogdan

Capitolul 1
Abstract
Un stoc sau o act ,iune este un instrument financiar care reprezint ˘a proprietatea
ˆıntr-o companie s ,i dreptul asupra activelor sale (ceea ce este ˆın proprietatea acesteia) s ,i
a cˆas,tigurilor (ceea ce genereaz ˘aˆın profituri).Bursele sunt piet ,e secundare, unde pro-
prietarii existent ,i de act ,iuni pot tranzact ,iona cu potent ,ialii cump ˘ar˘atori.
Des ,i ap˘arut ˘aˆın secolul XVIII, odat ˘a cu aparit ,ia primei piet ,e bursiere, prezicerea pret ,ului
stocurilor este o problema de actualitate.
ˆIn ultimul deceniu, au fost dezvoltate diferite modele care se bazeaz ˘a pe deep learning.
Ret ,elele recurente neurale sunt un exemplu de astfel de model care a dat dovat ˘a de re-
zultate satisfacatorare aplicat pe date secvent ,iale.
Cu toat ˘a acestea, aplicat ,iile deep learning-ului ˆın domeniul financiar sunt ˆınc˘a limitate.
Prezent ,a lucrare de licent ,˘a propune un model LSTM pentru a prezice pret ,ul act ,iunilor
Facebook Inc.
Experimentul const ˘aˆın alegerea celui mai bun model prin evaluarea performant ,ei pe
setul de date de validare, folosirea acestuia pentru prezicerea pret ,ului, implementarea
unei strategii simple de trading pe baza pret ,urilor prezise s ,i evaluarea acesteia. Pentru
a face o comparat ,ie folosim Regresia Liniar ˘a pe post de model baseline.
Rezultatele arat ˘a dac ˘a o strategie de trading bazat ˘a pe modelul LSTM poate genera
profit.
1

Cuprins
1 Abstract 1
List˘ a de figuri 3
List˘ a de tabele 4
2 Introducere 5
3 Fundament teoretic 7
3.1 Regresie Liniar ˘a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Ret ,ele Neurale Recurente . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Ret ,ele Long Short Term Memory . . . . . . . . . . . . . . . . . . . . . . . 9
4 Prezentarea solut ,iei propuse 13
4.1 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Baza de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Preprocesarea datelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.4 Metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5 Strategie de trading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6 Experimente s ,i Rezultate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.7 Analiz ˘a Rezultatelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 Concluzii 23
Bibliografie 25
2

List˘ a de figuri
3.1 LSTM Arhitecture, Cristopher Olah . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Understanding LSTM Networks, Cristopher Olah . . . . . . . . . . . . . 8
3.3 Arhitecture of one module ˆın RNN, Cris Olah . . . . . . . . . . . . . . . . 9
3.4 Arhitecture of one module ˆın LSTM, Cris Olah . . . . . . . . . . . . . . . 9
3.5 Understanding LSTM Networks, Cris Olah . . . . . . . . . . . . . . . . . 9
3.6 Understanding LSTM Networks, Cris Olah . . . . . . . . . . . . . . . . . 10
3.7 Foget Gate, Understanding LSTM Networks, Cris Olah . . . . . . . . . . 11
3.8 Input Gate, Understanding LSTM Networks, Cris Olah . . . . . . . . . . 11
3.9 Updating Cell State, Understanding LSTM Networks, Cris Olah . . . . . 11
3.10 Output Gate, Understanding LSTM Networks, Cris Olah . . . . . . . . . 12
4.1 Primele 5 ˆıntr˘ari din setul de date . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Ferestre 3X5: Time Steps=3 s ,i Features=5 . . . . . . . . . . . . . . . . . . 15
4.3 Train/Validation Loss MSE . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4 Pret ,Prezis/Real Facebook . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5 Pret ,Prezis/Real Google . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6 Parametrii regresiei liniare . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.7 Moving average, Exponentially Weighted Moving Average . . . . . . . . 22
3

List˘ a de tabele
4.1 Alegerea hyperparametrilor . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Eroare FB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Acuratet ,ea direct ,ionala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4 Profit Facebook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.5 Sharpe Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4

Capitolul 2
Introducere
Domeniul inteligent ,ei artificiale s ,iˆın particular deep learning-ul au avut o dezvo-
latre rapid ˘aˆın ultimii ani. Odat ˘a cu aparit ,ia seturilor de date mari, etichetate (Image-
Net publicat de echipa condus ˘a de Fei-Fei Li la Stanford ˆın 2010) s ,i a calculului paralel
folosind GPU-uri, ret ,elele neurale au fost folosite cu succes pentru a rezolva o gama
larg˘a de probleme. O subcategorie a ret ,elelor neurale, ret ,elele recurente neurale sunt
un instrument puternic de modelare a datelor secvent ,iale.
Cu toat ˘a acestea, aplicat ,iile deep learning-ului ˆın domeniul financiar sunt ˆınc˘a limi-
tate(Ar ´evalo, Ni ˜no, Hern ´andez & Sandoval, 2016).
Prezent ,a lucrare de licent ,˘a propune un model LSTM pentru a prezice pret ,ul Facebook
Inc. Ret ,elele Long Short Term Memory sunt ret ,ele recurente, dezvoltate pentru prima
dat˘aˆın 1997 de c ˘atre Hochreiter & Schmidhuber. Acestea ˆıs,i g˘asesc aplicat ,ia practic ˘a
ˆın procesarea limbajului natural, generarea de text s ,i secvent ,e de ADN.
Inputul este reprezentat de pret ,ul istoric zilnic al act ,iunilor Facebook. Modelul prezice
pret ,ul din ziua urm ˘atoare. Experimentul const ˘aˆın alegerea celui mai bun model prin
evaluarea performant ,ei pe setul de date de validare, folosirea acestuia pentru prezice-
rea pret ,ului, implementarea unei strategii simple de trading pe baza pret ,urilor prezise
s,i evaluarea acesteia. Pentru a face o comparat ,ie folosim Regresia Liniar ˘a pe post de
model baseline.
Lucrarea este organizat ˘a dup ˘a cum urmeaz ˘a:ˆIn capitolul 3 este prezentat fundamentul
teoretic: regresie liniar ˘a, ret ,ele recurente s ,i ret ,ele LSTM. ˆIn capitolul 4 sunt prezentate
lucr˘ari s ,tiint ,ifice existente, setul de date, preprocesare datelor, modelele, strategia de
trading, rezultate s ,i interpretarea acestora. ˆIn Concluzii sunt descrise punctele finale
ale prezent ,ei lucr ˘ari de licent ,˘a, limit ˘arile pe care sistemul implementat le are, cum pot
5

fi aceste limit ˘ari dep ˘as,ite s ,i direct ,ii ulterioare de dezvoltare.
6

Capitolul 3
Fundament teoretic
3.1 Regresie Liniar˘ a
Regresia liniar ˘a este un model liniar, un model care presupune c ˘a exist ˘a o relat ,ie
liniar ˘aˆıntre variabilele de intrare s ,i variabil ˘a de ies ,ire.
ˆIn funct ,ie de num ˘arul variabilelor de intrare, una sau mai multe, vorbim despre regre-
sie simpl ˘a, respectiv multipl ˘a.
Regresie liniar˘ a simpl˘ a
y(x) =w0+w1x
Parametrii ˆınv˘at,at,i definesc o linie ˆıntr-un spat ,iu 2-dimensional.
Regresie liniar˘ a multipl˘ a
y(x) =w0+w1x1+w2x2 +:::+wnxn
Parametrii ˆınv˘at,at,i definesc un hiperplan ˆıntr-un spat ,iu n-dimensional.
Diferite seturi de parametrii (w0;w1;:::;wn)definesc diferite hiperplane. Pentru a
determina care dintre ele reprezint ˘a cel mai bine datele de intrare folosim funct ,ia de
costMean Squared Error s,i alegem setul de parametrii care minimizeaz ˘a funct ,ia de cost.
J(w) =1
nPi=n
i=1(y(xi)yi
true)2
3.2 Ret ,ele Neurale Recurente
Pentru a ˆınt ,elege arhitectur ˘a retelolor RNN s ,i LSTM, analiz ˘am s ,i coment ˘am dia-
gramele prezentate de Cristopher Olah ˆın articolul ’Understanding LSTM Networks’
(2015). ˆIncepem prin a prezent ,a intuit ,ia din spatele arhitecturii ret ,elelor recurente.
7

Oamenii se folosesc de informat ,ia acumulat ˘a pˆan˘aˆın prezent pentru a procesa informat ,ie
nou˘a. Pentru a exemplific ˘a, cˆand citim acest paragraf, g ˘asim sensul fiec ˘arui cuv ˆant
folosindu-ne de contextul ˆın care se afl ˘a, de cuvintele care ˆıl preced.
Ret ,elele neurale tradit ,ionale nu au aceast ˘a capacitate. De exemplu, se dores ,te a se cla-
sific˘a tipul evenimentului care se petrece ˆın fiecare moment ˆıntr-un film. Nu este clar
cum o ret ,ea neural ˘a tradit ,ional ˘a s-ar folosi de evenimentele deja petrecute pentru a
clasific ˘a urm ˘atoarele evenimente.
Ret ,elele neural ˘a recurente reprezint ˘a o solut ,ie pentru aceast ˘a problema. Acestea sunt
ret ,ele cu bucle ˆın ele, scopul fiind de a ret ,ine informat ,ie.
Figura 3.1: LSTM Arhitecture, Cristopher Olah
ˆIn Figura 3.1 o sectiunie dintr-o ret ,ea neural ˘a,A, analizeaz ˘a inputulxts,i produce
outputulht. O bucl ˘a permite informat ,iei s˘a fie ret ,inut ˘a pentru a fi folosit ˘a la urm ˘atorul
pas.
O ret ,ea recurent ˘a neural ˘a poate fi v ˘azut ˘a c˘a multiple copii ale aceleias ,i ret ,ele, fiecare
transmit ,ˆand un mesaj succesorului ei(Figura 3.2).
Figura 3.2: Understanding LSTM Networks, Cristopher Olah
Dezavantajul ret ,elelor recurente este c ˘a acestea pot suferi de explozia sau disparit ,ia
gradient ,ilor, caz ˆın care ret ,eaua se opres ,te din a mai ˆınvat ,˘a.
8

3.3 Ret ,ele Long Short Term Memory
Ret ,elele Long Short Term Memory sau LSTM sunt un tip particular de ret ,elele
recurente neurale care rezolva problema disparit ,iei/exploziei gradient ,ilor. Astfel ele
pot ret ,ine informat ,ie pe termen lung. Ret ,elele recurente au form ˘a unui lant ,ˆın care
un modul se repet ˘a. Pentru RNN standard, acest modul are o structura simpl ˘a, de
exemplu, un singur strat tanh (Figura 3.3).
Figura 3.3: Arhitecture of one module ˆın RNN, Cris Olah
LSTM au aceeas ,i arhitectur ˘a, dar modulul care se repet ˘a are o arhitectur ˘a diferit ˘a.
ˆIn locul unui singur strat de neuroni, LSTM are 4 straturi.
Figura 3.4: Arhitecture of one module ˆın LSTM, Cris Olah
Figura 3.5: Understanding LSTM Networks, Cris Olah
9

ˆIn figura 3.3 fiecare s ˘ageata transfer ˘a un vector de la outputul unui nod c ˘atre
inputul altuia. Cercurile roz reprezint ˘a operat ,ii vectoriale (ex. adunare vectoriala), iar
dreptunghiurile galbene sunt straturile de neuroni ˆınv˘at,ate. S ˘aget ,ile care se bifurc ˘a
reprezint ˘a copii ale aceluias ,i vector care sunt transferate spre locat ,ii diferite.
Component ˘a principala a ret ,elelor LSTM este starea celulei, Ct. Linia orizontal ˘a
evident ,iat˘aˆın Figura 3.6 se poate asem ˘ana unei bande rulante care faciliteaz ˘a transferul
informat ,iei.
Figura 3.6: Understanding LSTM Networks, Cris Olah
LSTM are capacitatea de a adaug ˘a sau a elimina informat ,ie din starea celulei.
Pentru realizarea acestui obiectiv ret ,eaua se foloses ,te de port ,i. Port ,ile sunt un meca-
nism prin care se controleaz ˘a cantitatea de informat ,ie l˘asat˘a s˘a treac ˘a mai departe.
Acestea sunt compuse dintr-un strat sigmoid s ,i o operat ,ie de ˆınmult ,ire matriceala.
Stratul sigmoid are c ˘a output numere ˆıntre 0 s ,i 1. Acestea descriu volumul de
informat ,ie transmis mai departe. Valoarea 0 ˆınseamn ˘a c˘a nimic din informat ,ie nu trece
de poart ˘a,ˆın timp ce valoarea 1 ˆınseamn ˘a c˘a informat ,ia este transmis ˘aˆınˆıntregime.
LSTM foloses ,te 3 tipuri de port ,i.
Mecanismul LSTM
ˆIn primul r ˆand, ret ,eaua LSTM decide ce informat ,ie este eliminat ˘a din starea celulei.
Decizia este luat ˘a cu ajutorul unui strat sigmoid numit poart ˘aforget . (Figura 3.7)
10

Figura 3.7: Foget Gate, Understanding LSTM Networks, Cris Olah
Urm ˘atorul pas este s ˘a ne decidem asupra informat ,iei ad ˘augate st ˘arii celulei. Init ,ial,
un stratsigmoid , poart ˘ainput , stabiles ,te ce valori vom actualiza. Mai t ˆarziu, un strat
tanh produce un vector ’candidat’, ~Ct, care are potent ,ialul de a fi ad ˘augat st ˘arii celulii.
(Figura 3.8)
Figura 3.8: Input Gate, Understanding LSTM Networks, Cris Olah
Pentru a actualiza starea celulii, ˆınmult ,im vechea stare a celulii cu ftpentru a
elimina informat ,ia stabilit ˘a anterior. Ad ˘aug˘amit~Ct. Acesta este vectorul ’candidat’
scalat.(Figura 3.9)
Figura 3.9: Updating Cell State, Understanding LSTM Networks, Cris Olah
11

ˆIn final, gener ˘am outputul, acesta fiind o versiune a st ˘arii celulii modificat ˘a cu
ajutorul unui strat sigmoid s ,i a funct ,iei tangeta hiperbolic ˘a.(figura 3.10)
Figura 3.10: Output Gate, Understanding LSTM Networks, Cris Olah
Folosind procedeul mai sus prezentat, ret ,ele LSTM au fost aplicate cu succes
unei game largi de probleme. Articolul scris de Andrey Karpathy, ’The Unreasonable
Effectiveness of Recurrent Neural Networks’(2015) prezint ˘a un subset din problemele
abordate cu succes de LSTM: generearea de versuri ˆın stilul shakespearean, de articole
asem ˘an˘atoare celor de pe Wikipedia, de codul Latex sau C.
12

Capitolul 4
Prezentarea solut ,iei propuse
4.1 Related work
Apicatiile ret ,elelor neurale ad ˆanci sunt ˆınc˘a limitate ˆın domeniul financiar. Mo-
delele Deep Learning s-au ar ˘atat totus ,i a fi promit ,˘atoare ˆın a prezice date financiare de
tipul time series. ˆIn 2016, Ar ´evalo, Ni ˜no, Hern ´andez & Sandoval antreneaz ˘a o ret ,ea
adˆanc˘a av ˆand 5 straturi pentru trading de mare frecvent ,a cu act ,iuni Apple. Strategia
lor bazat ˘a pe Deep Learning are 66% acuratet ,e direct ,ionala pe datele de test.
4.2 Baza de date
Setul de date folosit pentru antrenarea modelelor este reprezentat de datele isto-
rice privind pret ,ul zilnic al Facebook, Inc ˆıncep ˆand cu dat ˘a de 29/05/2012 s ,i termin ˆand
cu 28/05/2019. Surs ˘a datelor este Yahoo! Finance.
Figura 4.1: Primele 5 ˆıntr˘ari din setul de date
Open – Pret ,ul la care o act ,iune se tranzact ,ioneaz ˘a pentru prima dat ˘a laˆınceputul
unei zile de trading
13

High – Pret ,ul maxim la care act ,iunea s-a tranzact ,ionat de-a lungul zilei
Low – Pret ,ul minim la care act ,iunea s-a tranzact ,ionat de-a lungul zilei
Close – Pret ,ul act ,iunii la sf ˆars ,itul zilei
Adjusted Close – Pret ,ul de ˆınchidere ajustat este pret ,ul de ˆınchidere al unui stoc
modificat pentru a reflect ˘a cu acuratet ,e valoarea stocului dup ˘a ce a ˆınregistrat
orice act ,iune a companiei(ex ˆımp˘art ,iri de act ,iuni, dividende / distribut ,ii s ,i oferte
de drepturi)
Volume – Num ˘arul total de act ,iuni tranzact ,ionate de-a lungul unei zile
4.3 Preprocesarea datelor
ˆIn continuare ne vom folosi de un subset din coloanele din setul init ,ial:[’Open’,
’High’, ’Low’, ’Close’, ’Volume’]. ˆIn urm ˘a unei verific ˘ari, observ ˘am c ˘asetul de date
nu cont ,ine ˆ ıntr˘ ari nule/Nan .ˆImp ˘art ,im setul de date ˆıntr-un set de date de antrenare
s,i unul de testare (0.8/0.2). Normaliz ˘am datele prin sc ˘aderea mediei s ,iˆımp˘art ,irea la
deviat ,ia standard. Normalizarea datelor conduce spre o convergent ,˘a mai rapid ˘a a
algoritmului.
Ret ,eaua LSTM accept ˘a input ˆın formatul [Batch size, Time steps, Features ]; un
vector 3-dimensional
Batch size indic ˘a dup ˘a cˆateˆıntr˘ari ret ,eua neural ˘aˆıs,i updateaza parametrii.
Time steps indic ˘a num ˘arul de unit ˘at,i de timp din trecut de care ret ,eaua se poate
folosi.
Features indic ˘a num ˘arul de atribute folosite pentru a reprezenta un timestamp.
Construim ferestre 60X5 (Time Steps=60, Features=5) s ,i updatam parametri dup ˘a
ce am v ˘azut 20 de ferestre (Batch size=20).
14

Figura 4.2: Ferestre 3X5: Time Steps=3 s ,i Features=5
4.4 Metode
Long Short Term Memory(LSTM) au fost pentru prima dat ˘a dezvolatate de Ho-
chreiter & Schmidhuber (1997) c ˘a o varianta a ret ,elelor recurente neurale (RNN). De-a
lungul timpului, ret ,ele LSTM au fost folosite pentru a modela diverse probleme care
implic ˘a date secvent ,iale s ,i cercetarea a ar ˘atat c ˘a ret ,ele LSTM au aplicat ,ii de succes
ˆın domenii precum procesarea limbajului natural, recunoas ,terea vorbirii s ,i secvent ,e
ADN.
Asemenea RNN, LSTM are o structure recurent ˘a unde fiecare celul ˘a produce c ˘a
output nu numai yt, dar transfer ˘a s ,i activarea htc˘atre urm ˘atoarea celul ˘a. Tr ˘as˘atur ˘a
remarcabil ˘a a ret ,elelor LSTM o reprezint ˘a abilitatea de a ret ,ine, uit ˘a s,i citi informat ,ie,
aceste obiective fiind realizate folosind trei tipuri de port ,i. Port ,ile ’forget’, o celul ˘a
primes ,te starea longterm ct1, ret ,ine o parte din informat ,ie, cantitate indicat ˘a deft
s,i dup ˘a adaug ˘a informat ,ii noi care au fost selectate de poart ˘a ’input’. Poart ˘a ’input’
determina ce parte din inputul transformat gtva fi ad ˘augat la starea longterm ct. Acest
proces transform ˘a starea longterm ctcare este direct transmis ˘a la urm ˘atoarea celul ˘a.
ˆIn final, poart ˘a output transform ˘a starea updatat ˘actprintanh(), oˆınmult ,es,te cuot
s,i produce outputul ytcare este de asemenea transmis la urm ˘atoarea celul ˘a c˘a starea
short-term ht.
Formulele pentru calculele LSTM sunt prezentate mai jos:
it=(WT
xixt+WT
hiht1+bi)
15

ft=(WT
xfxt+WT
hfht1 +bf)
ot=(WT
xoxt+WT
hoht1+bo)
gt=tanh(WT
xgxt+WT
hght1+bg)
ct=ft
ct1+it
gt
byt=ht=ot
(ct)
unde
este ˆınmult ,irea element cu element, ()este tangent ,˘a hiperbolic ˘a. Cele
trei port ,i se deschid s ,iˆınchid dup ˘a controlerele ft,it,ot, toate fiind straturi de neu-
roni fully connected. Outputurile sunt cuprinse ˆın intervalul [0, 1], funct ,ia de activare
folosit ˘a fiind sigmoid ˘a.
Folosim Mean Squared Error pentru funct ,ia de cost:
L() =1
mi=m
i=1(ytbyt)2
undeeste setul de parametri care trebuie antrenat inclusiv matricile din fiecare
poart ˘aWi= (Wxi;Whi);Wf= (Wxf;Whf);Wo= (Wxo;Who)
Fiind o ret ,ea recurent ˘a, LSTM este antrenat ˘a folosind Backpropagation Through
Time . Ideea principala este c ˘a pentru fiecare celul ˘a, mai ˆıntˆai desf ˘as,ur˘am un num ˘ar
fix de celule anterioare s ,i mai t ˆarziu aplic ˘amforward feed s,ibackpropagation c˘atre cele-
lalte celule nedesfasurate. Num ˘arul de celule desf ˘as,urate este un alt hyperparametru
care trebuie s ˘a fie selectat ˆın plus pe l ˆang˘a num ˘arul de neuroni s ,i num ˘arul de straturi.
4.5 Strategie de trading
Consider ˘am o strategie de trading simpl ˘a bazat ˘a pe predict ,ia modelului. ˆIn ziua
t, un investitor cump ˘ar˘a o act ,iune Facebook dac ˘a pret ,ul prezis ˆın ziua t+1 este mai
mare dec ˆat pret ,ul din ziua curent ˘a. Altfel, investitorul vinde o act ,iune Facebook. Stra-
tegiastpoate fi descris ˘aˆın felul urm ˘ator:
st=8
><
>:+1ifbyt+1>yt
1ifbyt+1yt
undeyteste pret ,ul act ,iunii la sf ˆars ,itul zilei (Close) s ,ibyt+1este pret ,ul prezis de model.
Folosind variabil ˘ast, putem calcula c ˆas,tigul zilnic al strategiei ˆın ziua t+1:
rt+1=stlog(yt+1
yt)c
16

Tabela 4.1: Alegerea hyperparametrilor
Biblioteca Keras
Optimizator RMSprop
Num ˘arul Straturilor Ascunse 2 LSTM, 1 FC
Num ˘arul de Neuroni 100
Num ˘arul de Epoci 300
unde c arat ˘a costul tranzact ,iei, iar c ˆas,tigul cumulativ obt ,inut ˆıntre momentul t= 0 s,i
t=meste
rm
0=m1X
t=0rt
Folosim de asemenea Sharpe Ratio pentru a compar ˘a profitabilitatea strategiei fo-
losind diferite modele. Sharpe Ratio este definit ˘a dup ˘a formul ˘a:
SR=E(r)rf
(r):
E(r)reprezint ˘a media c ˆas,tigului,rfeste c ˆas,tigul cu risc 0 s ,i(r)este deviat ,ia
standard a c ˆas,tigului
4.6 Experimente s ,i Rezultate
A. Setup pentru experiment
Folosim Keras pentru a rula experimentul pe setul de date. Alegerea hyperparametri-
lor s ,i a optimizatorului sunt listate ˆın tabelul de mai jos.
RMSprop este folosit fiind adesea aplicat cu succes ret ,elelor recurente. Set ˘am rat ˘a
deˆınv˘at,are a optimizatorului egal ˘a cu 0.0001, folosind valorile default pentru ceilalt ,i
parametrii.
17

Figura 4.3: Train/Validation Loss MSE
Pentru optimizarea parametrilor folosim funct ,ia de loss Mean Squared Error .Valorile
din Figura 4.3 au fost obt ,inute lucr ˆand cu date de antrenare s ,i testare scalate.
B. Rezultatele experimentului
Figura 4.4 arat ˘a pret ,ul prezis s ,i pret ,ul real al act ,iunilor Facebook folosim LSTM
s,i Linear Regression.
Atˆat ret ,eaua neural ˘a recurent ˘a cˆat s ,i regresorul liniar au fost antrenate folosid pret ,ul
istoric al act ,iunilor Facebook. Pentru a testa capacitatea modelelor de a generaliza,
schimb ˘am setul de testare. Figura 4.5 arat ˘a pret ,ul prezis al act ,iunilor Google folosindu-
ne de modelele antrenate pe setul de date Facebook.
Figura 4.4: Pret ,Prezis/Real Facebook
18

Figura 4.5: Pret ,Prezis/Real Google
Pentru a evalua performant ,˘a modelelor, calcul ˘am dou ˘a metrici s ,i examin ˘am pro-
fitabilitatea strategie de trading.
1) Mean Squared Error pentru pret ,ul prezis:
MSE =1
mt=mX
t=1(ytbyt)2
undeyts,ibytindic ˘a pret ,ul real s ,i pret ,ul prezis al act ,iunilor ˆın ziua t.
Tabela 4.2: Eroare FB
Eroare antrenare Eroare validare Eroare Testare
LSTM LSTM LSTM
0.0008598 0.0021 0.00205
2) Acuratet ,e direct ,ionala
DA=1
m1m1X
t=11((yt+1yt)(byt+1byt)>0)
Aceast ˘a metric ˘a indic ˘a raportul dintre num ˘arul de zile ˆın care modelul a prezis corect
direct ,iaˆın care s-a modificat pret ,ul s ,i num ˘arul total de zile.
Tabelul 4.3 arat ˘a acuratet ,ea direct ,ionala a celor 2 modele.
LSTM LR
0.51798 0.38129
Tabela 4.3: Acuratet ,ea direct ,ionala
19

LSTM LR
0.14% 0.25%
Tabela 4.4: Profit Facebook
3) Profit s ,i Sharpe Ratio
rm
0=summ1
t=0rts,iSR=E(r)rf
(r)
Profitul s ,i Sharpe Ratio apar ˆın Tabelele 4.4 s ,i 4.5. Costul asociat unei tranzact ,ii s ,i
rat˘a cˆas,tigului cu risc 0 asociat sunt presupuse a fi 0.
LSTM LR
0.0442 0.0824
Tabela 4.5: Sharpe Ratio
4.7 Analiz˘ a Rezultatelor
I. Analiz˘ a profitului
Observ ˘amˆın tabelul 4.6 c ˘a eroarea la testare a modelului LSTM pentru prezicerea
pret ,urilor este 0.002. Totus ,i, profitul obt ,inut folosind acelas ,i model este 0.14%. (Tabel
4.4) ˆInt ,elegem astfel c ˘a modelul nu optimizeaz ˘a pentru a cres ,te profitul (scopul nos-
tru), ci pentru a minimiza valoarea funct ,iei de loss (Mean Squared Error).
ˆIn Tabelul 4.4 observ ˘am c ˘a regresia liniar ˘a produce un c ˆas,tig mai mare dec ˆat
ret ,eaua recurent ˘a neural ˘a. Figura 4.4 sugereaz ˘a c˘a regresia liniar ˘a estimeaz ˘a pret ,ul
din ziuat+ 1c˘a fiind egal cu pret ,ul din ziua t. Plotam parametrii ˆınv˘at,at,i de regresia
liniar ˘aˆın Figura 4.6. Modelul primes ,te c˘a input ultimele 60 de zile pentru a aproxima
pret ,ul din ziua 61. ˆIn realitate el se foloses ,te doar de ziua 60, aceast ˘a av ˆand asociat ˘a
greutatea 0.94 ˆın timp ce restul celor 59 de zile au greut ˘at,i apropiate de 0.
Putem spune c ˘a modelul nu ˆınvat ,˘a, ci doar copiaz ˘a pret ,ul din ziua precedent ˘a. De
ce nu resuseste modelul s ˘aˆınvet ,e o funct ,ie liniar ˘a pentru a prezice pret ,ul din ziua t?
Deoarece pret ,ul din ziua tnu este liniar dependent de pret ,urile din zilele trecute.
ˆIn continuare prezent ˘am un exemplu care justific ˘a nonlinearitatea pret ,urilor act ,iunilor.
Cum act ,ioneaz ˘a un agajat al unei companii de trading pentru a decide dac ˘a vinde sau
cump ˘ar˘a act ,iuni (s ,i implicit influent ,eaz˘a pret ,ul acestora) ? Traderul identifica pret ,ul
20

minim s ,i maxim din ultimele 10 zile s ,i pe baza acestor 2 valori ia o decizie(exemplu
simplificat). Acesta nu este un proces liniar.
Figura 4.6: Parametrii regresiei liniare
ˆII. Analiz˘ a Sharpe Ratio
Analiz ˆand tabelul Tabelul 4.5 observ ˘am c ˘a ambele modele au o valoare Sharpe
Ratio mai mic ˘a dec ˆat 0.1.
Sharpe ratio este o metric ˘a pentru c ˆas,tiguri raportate la riscul asumat. O valoare Sharpe
Ratio egal ˘a sau mai mare dec ˆat 1 este considerat ˘a acceptabil ˘a sau chiar bun ˘a de c ˘atre
investitori. O valoare mai mare dec ˆat 2 este foarte bun ˘a, iar ce dep ˘as,es,te 3 este consi-
derat ˘a excelent.
Scorul Sharpe Ratio sc ˘azut s ,i cˆas,tigurile sumarizate mai sus indic ˘a o performant ,˘a ne-
satisfacatorare a celor dou ˘a modele ˆınˆıncercarea de a prezice pret ,urile s ,i a construi o
strategie de trading de succes. Prezent ˘am pricipalele motive pentru performant ,˘a ne-
satifacatorare a modelelor.
1) Raportulsemnal
zgomot
Datele cont ,ˆın mult zgomot .
Definim zgomotul. Zgomotul este reprezentat de toate pret ,urile care ne induc ˆın eroare
cu privire la tendint ,a general ˘a (de cres ,tere sau de sc ˘adere). Dac ˘a de-a lungul unei
s˘apt˘amˆani, pret ,ul a crescut ˆın fiecare zi cu except ,ia zilei de mart ,iˆın care a avut o
us,oar˘a sc˘adere, ziua de mart ,i reprezint ˘a zgomot. Prezent ˘am o posibil ˘a solut ,ie care
vine ˆınˆıntˆampinarea problemei.
Ad˘aug˘am datelor de intrare feature-uri care s ˘a reduc ˘a zgomotul. Exemple folosite de
21

analis ,tii finaciari sunt Moving average , care reprezint ˘a doar pret ,urile act ,iunilor ˆınsumate
ˆımp˘art ,ite la num ˘arul lor, s ,iExponentially weighted moving average , care da o mai mare
important ˘a zilelor mai recente.
ˆIn figura 4.7 observ ˘am cum cele 2 medii reduc zgomotul.
Figura 4.7: Moving average, Exponentially Weighted Moving Average
2) Overfitting
Pret ,ul stockului din ziua curent ˘a nu este influent ,at doar de pret ,urile din zilele
anterioare ci s ,i de o mult ,ime de alt ,i factori, de exemplu, informat ,iile din mass-media
despre companie, etc.
ˆIncercarea de a prezice pret ,ul din ziua curent ˘a folosind doar pret ,urile din zilele
trecute este asem ˘an˘atoare cu aceleia de a clasific ˘a specia animalului din imagine, dat ˘a
fiind doar dimensiunea imaginii.
Pentru a reduce aceast ˘a problema, ar trebui s ˘a folosim s ,i alte tipuri de date, ˆın
afar˘a pret ,urilor istorice. Un exemplu este analiz ˘a de sentiment folosind s ,tiri, tweeturi
sau alte forme de text.
3) Eficient˘ a piet ,ei
Eficient ˘a piet ,ei reprezint ˘a capacitatea pret ,urilor piet ,ei de a reflect ˘a toat ˘a informat ,ia
disponibil ˘a s ,i relevant ,˘a. Dac ˘a piet ,ele de tranzact ,ionare sunt eficiente, atunci toat ˘a
informat ,ia este deja ˆıncorporat ˘aˆın pret ,uri s ,i nu exist ˘a o strategie care s ˘a aduc ˘a pro-
fit deoarece nu exist ˘a pret ,uri subevaluate sau supraevaluate.
22

Capitolul 5
Concluzii
Prezent ,a lucrare de licent ,˘a propune un model LSTM pentru a prezice pret ,ul Fa-
cebook Inc.
Experimentul const ˘aˆın alegerea celui mai bun model prin evaluarea performant ,ei
pe setul de date de validare, folosirea acetuia pentru prezicerea pret ,ului, implementa-
rea unei strategii simple de trading pe baza pret ,urilor prezise s ,i evaluarea acesteia.
Pentru a face o comparat ,ie am folosit Regresia Liniar ˘a pe post de model baseline.
Pentru a evalua performant ,˘a modelelor am calculat mai multe metrici: Mean
Square Error, Acuratet ,ea direct ,ional ˘a, Cˆas,tigul la finalul experimentului s ,i Sharpe Ra-
tio.
Des ,i ambele modele au o acuratet ,e bun ˘a pe datele de testare, ajung ˆand la va-
lori apropiate de 0 pentru funct ,ia de loss (Mean Square Error), acestea au rezultate
nesatisf ˘ac˘atoare ˆın termeni de c ˆas,tig. Am analizat motivele pentru care modelele au o
performant ,˘a sc˘azut ˘a. Regresia liniar ˘a nu modeleaz ˘a bine problema din cauza gradului
de nonlinearitate de care da dovat ˘a pret ,ul act ,iunilor. Pentru a prezice pret ,ul din ziua
t, modelul copiaz ˘a pret ,ul din ziua t1. Ret ,eaua LSTM se dovedes ,te mai inteligent ,˘a.
Aceast ˘a captureaz ˘a tendint ,a general ˘a de mis ,care a piet ,ei, av ˆand o acuratet ,e direct ,ional ˘a
mai mare dec ˆat a unui model aleator. Ret ,eaua LSTM Are totus ,i un c ˆas,tig sc ˘azut, mai
put ,ˆın dec ˆat 1 % din capitalul investit s ,i o valoare mic ˘a Sharpe Ratio care sugereaz ˘a c˘a
strategia este una riscant ˘a.
Printre motivele pentru care performant ,˘a modelelor este sc ˘azut ˘a se num ˘ar˘a s ,i
raportulsemnal
zgomot, lipsa mai multor date care s ˘a descrie mai bine starea real ˘a a piet ,ei s ,i
eficient ˘a piet ,ei de tranzact ,ionare.
Solut ,ii care ar putea fi abordate pentru a veni ˆınˆıntˆampinarea acestor probleme
23

sunt ad ˘augarea de feature-uri care s ˘a reduc ˘a din zgomot s ,i folosirea analizei de senti-
ment din s ,tiri pentru o mai bun ˘a predict ,ie.
Concluzionam c ˘a din cauza performant ,ei sc ˘azute, strategia bazat ˘a pe modelul
LSTM nu poate fi aplicat ˘aˆın realitate pentru a genera profit s ,i c˘a prezicerea stockului
folosind ret ,ele neurale este o problema deschis ˘a.
24

Bibliografie
Chen, Chen, Fushimi, Application of Deep Learning to Algorithmic Trading , 2017
Arevalo et al., High-Frequency Trading Strategy Based on Deep Neural Networks , 2016
Cristopher Olah, http://colah.github.io/posts/2015-08-Understanding-LSTMs/ , 2015
Andrej Karpathy, http://karpathy.github.io/2015/05/21/rnn-effectiveness/ , 2015
https://towardsdatascience.com/predicting-stock-price-with-lstm-13af86a74944
https://keras.io/models/about-keras-models/
https://www.investopedia.com/terms/m/marketefficiency.asp
http://cs231n.github.io/
25

Similar Posts