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

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 si 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.
Desi aparuta in secolul XVIII, odata cu aparitia primei piete bursiere, prezicerea pretu-
lui stocurilor este o problema de actualitate.
In ultimul deceniu, au fost dezvoltate diferite modele care se bazeaza pe deep learning.
Retelele recurente neurale sunt un exemplu de astfel de model care a dat dovata de re-
zultate satisfacatorare aplicat pe date secventiale.
Cu toata acestea, aplicatiile deep learning-ului in domeniul financiar sunt inca limitate.
Prezenta lucrare de licenta propune un model LSTM pentru a prezice pretul actiunilor
Facebook Inc.
Experimentul consta in alegerea celui mai bun model prin evaluarea performantei pe
setul de date de validare, folosirea acestuia pentru prezicerea pretului, implementarea
unei strategii simple de trading pe baza preturilor prezise si evaluarea acesteia. Pentru
a face o comparatie folosim Regresia Liniara pe post de model baseline.
Rezultatele arata daca o strategie de trading bazata 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 Liniara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Retele Neurale Recurente . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Retele Long Short Term Memory . . . . . . . . . . . . . . . . . . . . . . . 9
4 Prezentarea solutiei 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 si Rezultate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.7 Analiza 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 in RNN, Cris Olah . . . . . . . . . . . . . . . . 9
3.4 Arhitecture of one module in 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 intrari din setul de date . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Ferestre 3X5: Time Steps=3 si 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 Acuratetea directionala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4 Profit Facebook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.5 Sharpe Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4

Capitolul 2
Introducere
Domeniul inteligentei artificiale si in particular deep learning-ul au avut o dezvo-
latre rapida in ultimii ani. Odata cu aparitia seturilor de date mari, etichetate (Image-
Net publicat de echipa condusa de Fei-Fei Li la Stanford in 2010) si a calculului paralel
folosind GPU-uri, retelele neurale au fost folosite cu succes pentru a rezolva o gama
larga de probleme. O subcategorie a retelelor neurale, retelele recurente neurale sunt
un instrument puternic de modelare a datelor secventiale.
Cu toata acestea, aplicatiile deep learning-ului in domeniul financiar sunt inca limi-
tate(Ar ´evalo, Ni ˜no, Hern ´andez & Sandoval, 2016).
Prezenta lucrare de licenta propune un model LSTM pentru a prezice pretul Facebook
Inc. Retelele Long Short Term Memory sunt retele recurente, dezvoltate pentru prima
data in 1997 de catre Hochreiter & Schmidhuber. Acestea isi gasesc aplicatia practica
in procesarea limbajului natural, generarea de text si secvente de ADN.
Inputul este reprezentat de pretul istoric zilnic al actiunilor Facebook. Modelul prezice
pretul din ziua urmatoare. Experimentul consta in alegerea celui mai bun model prin
evaluarea performantei pe setul de date de validare, folosirea acestuia pentru prezice-
rea pretului, implementarea unei strategii simple de trading pe baza preturilor prezise
si evaluarea acesteia. Pentru a face o comparatie folosim Regresia Liniara pe post de
model baseline.
Lucrarea este organizata dupa cum urmeaza: In capitolul 3 este prezentat fundamentul
teoretic: regresie liniara, retele recurente si retele LSTM. In capitolul 4 sunt prezentate
lucrari stiintifice existente, setul de date, preprocesare datelor, modelele, strategia de
trading, rezultate si interpretarea acestora. ˆIn Concluzii sunt descrise punctele finale
ale prezentei 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 Liniara
Regresia liniara este un model liniar, un model care presupune ca exista o relatie
liniara intre variabilele de intrare si variabila de iesire.
In functie de numarul variabilelor de intrare, una sau mai multe, vorbim despre regre-
sie simpla, respectiv multipla.
Regresie liniara simpla
y(x) =w0+w1x
Parametrii invatati definesc o linie intr-un spatiu 2-dimensional.
Regresie liniara multipla
y(x) =w0+w1x1+w2x2 +:::+wnxn
Parametrii invatati definesc un hiperplan intr-un spatiu n-dimensional.
Diferite seturi de parametrii (w0;w1;:::;wn)definesc diferite hiperplane. Pentru a
determina care dintre ele reprezinta cel mai bine datele de intrare folosim functia de
costMean Squared Error si alegem setul de parametrii care minimizeaza functia de cost.
J(w) =1
nPi=n
i=1(y(xi)yi
true)2
3.2 Retele Neurale Recurente
Pentru a intelege arhitectura retelolor RNN si LSTM, analizam si comentam dia-
gramele prezentate de Cristopher Olah in articolul ’Understanding LSTM Networks’
(2015). Incepem prin a prezenta intuitia din spatele arhitecturii retelelor recurente.
7

Oamenii se folosesc de informatia acumulata pana in prezent pentru a procesa infor-
matie noua. Pentru a exemplifica, cand citim acest paragraf, gasim sensul fiecarui
cuvant folosindu-ne de contextul in care se afla, de cuvintele care il preced.
Retelele neurale traditionale nu au aceasta capacitate. De exemplu, se doreste a se cla-
sifica tipul evenimentului care se petrece in fiecare moment intr-un film. Nu este clar
cum o retea neurala traditionala s-ar folosi de evenimentele deja petrecute pentru a
clasifica urmatoarele evenimente.
Retelele neurala recurente reprezinta o solutie pentru aceasta problema. Acestea sunt
retele cu bucle in ele, scopul fiind de a retine informatie.
Figura 3.1: LSTM Arhitecture, Cristopher Olah
In Figura 3.1 o sectiunie dintr-o retea neurala, A, analizeaza inputul xtsi produce
outputulht. O bucla permite informatiei sa fie retinuta pentru a fi folosita la urmatorul
pas.
O retea recurenta neurala poate fi vazuta ca multiple copii ale aceleiasi retele, fiecare
transmitand un mesaj succesorului ei(Figura 3.2).
Figura 3.2: Understanding LSTM Networks, Cristopher Olah
Dezavantajul retelelor recurente este ca acestea pot suferi de explozia sau dispa-
ritia gradientilor, caz in care reteaua se opreste din a mai invata.
8

3.3 Retele Long Short Term Memory
Retelele Long Short Term Memory sau LSTM sunt un tip particular de retelele
recurente neurale care rezolva problema disparitiei/exploziei gradientilor. Astfel ele
pot retine informatie pe termen lung. Retelele recurente au forma unui lant in care
un modul se repeta. Pentru RNN standard, acest modul are o structura simpla, de
exemplu, un singur strat tanh (Figura 3.3).
Figura 3.3: Arhitecture of one module in RNN, Cris Olah
LSTM au aceeasi arhitectura, dar modulul care se repeta are o arhitectura diferita.
In locul unui singur strat de neuroni, LSTM are 4 straturi.
Figura 3.4: Arhitecture of one module in LSTM, Cris Olah
Figura 3.5: Understanding LSTM Networks, Cris Olah
9

In figura 3.3 fiecare sageata transfera un vector de la outputul unui nod catre
inputul altuia. Cercurile roz reprezinta operatii vectoriale (ex. adunare vectoriala), iar
dreptunghiurile galbene sunt straturile de neuroni invatate. Sagetile care se bifurca
reprezinta copii ale aceluiasi vector care sunt transferate spre locatii diferite.
Componenta principala a retelelor LSTM este starea celulei, Ct. Linia orizontala
evidentiata in Figura 3.6 se poate asemana unei bande rulante care faciliteaza transferul
informatiei.
Figura 3.6: Understanding LSTM Networks, Cris Olah
LSTM are capacitatea de a adauga sau a elimina informatie din starea celulei.
Pentru realizarea acestui obiectiv reteaua se foloseste de porti . Portile sunt un meca-
nism prin care se controleaza cantitatea de informatie lasata sa treaca mai departe.
Acestea sunt compuse dintr-un strat sigmoid si o operatie de inmultire matriceala.
Stratul sigmoid are ca output numere intre 0 si 1. Acestea descriu volumul de
informatie transmis mai departe. Valoarea 0 inseamna ca nimic din informatie nu trece
de poarta, in timp ce valoarea 1 inseamna ca informatia este transmisa in intregime.
LSTM foloseste 3 tipuri de porti.
Mecanismul LSTM
In primul rand, reteaua LSTM decide ce informatie este eliminata din starea celulei.
Decizia este luata cu ajutorul unui strat sigmoid numit poarta forget . (Figura 3.7)
10

Figura 3.7: Foget Gate, Understanding LSTM Networks, Cris Olah
Urmatorul pas este sa ne decidem asupra informatiei adaugate starii celulei. Ini-
tial, un strat sigmoid , poarta input , stabileste ce valori vom actualiza. Mai tarziu, un
strattanh produce un vector ’candidat’, ~Ct, care are potentialul de a fi adaugat starii
celulii. (Figura 3.8)
Figura 3.8: Input Gate, Understanding LSTM Networks, Cris Olah
Pentru a actualiza starea celulii, inmultim vechea stare a celulii cu ftpentru a
elimina informatia stabilita anterior. Adaugam it~Ct. Acesta este vectorul ’candidat’
scalat.(Figura 3.9)
Figura 3.9: Updating Cell State, Understanding LSTM Networks, Cris Olah
11

In final, generam outputul, acesta fiind o versiune a starii celulii modificata cu
ajutorul unui strat sigmoid si a functiei tangeta hiperbolica.(figura 3.10)
Figura 3.10: Output Gate, Understanding LSTM Networks, Cris Olah
Folosind procedeul mai sus prezentat, retele LSTM au fost aplicate cu succes unei
game largi de probleme. Articolul scris de Andrey Karpathy, ’The Unreasonable Effec-
tiveness of Recurrent Neural Networks’(2015) prezinta un subset din problemele abor-
date cu succes de LSTM: generearea de versuri in stilul shakespearean, de articole ase-
manatoare celor de pe Wikipedia, de codul Latex sau C.
12

Capitolul 4
Prezentarea solutiei propuse
4.1 Related work
Apicatiile retelelor neurale adanci sunt inca limitate in domeniul financiar. Mo-
delele Deep Learning s-au aratat totusi a fi promitatoare in a prezice date financiare de
tipul time series. In 2016, Ar ´evalo, Ni ˜no, Hern ´andez & Sandoval antreneaza o retea
adanca avand 5 straturi pentru trading de mare frecventa cu actiuni Apple. Strategia
lor bazata pe Deep Learning are 66% acuratete directionala 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 incepand cu data de 29/05/2012 si terminand
cu 28/05/2019. Sursa datelor este Yahoo! Finance.
Figura 4.1: Primele 5 intrari din setul de date
Open – Pretul la care o actiune se tranzactioneaza pentru prima data la inceputul
unei zile de trading
13

High – Pretul maxim la care actiunea s-a tranzactionat de-a lungul zilei
Low – Pretul minim la care actiunea s-a tranzactionat de-a lungul zilei
Close – Pretul actiunii la sfarsitul zilei
Adjusted Close – Pret ,ul de ˆınchidere ajustat este pret ,ul de ˆınchidere al unui stoc
modificat pentru a reflecta 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 – Numarul total de actiuni tranzactionate de-a lungul unei zile
4.3 Preprocesarea datelor
In continuare ne vom folosi de un subset din coloanele din setul initial:[’Open’,
’High’, ’Low’, ’Close’, ’Volume’].In urma unei verificari, observam ca setul de date
nu contine intrari nule/Nan . Impartim setul de date intr-un set de date de antrenare
si unul de testare (0.8/0.2). Normalizam datele prin scaderea mediei si impartirea la
deviatia standard. Normalizarea datelor conduce spre o convergenta mai rapida a
algoritmului.
Reteaua LSTM accepta input in formatul [Batch size, Time steps, Features ]; un
vector 3-dimensional
Batch size indica dupa cate intrari reteua neurala isi updateaza parametrii.
Time steps indica numarul de unitati de timp din trecut de care reteaua se poate
folosi.
Features indica numarul de atribute folosite pentru a reprezenta un timestamp.
Construim ferestre 60X5 (Time Steps=60, Features=5) si updatam parametri dupa
ce am vazut 20 de ferestre (Batch size=20).
14

Figura 4.2: Ferestre 3X5: Time Steps=3 si Features=5
4.4 Metode
Long Short Term Memory(LSTM) au fost pentru prima data dezvolatate de Ho-
chreiter & Schmidhuber (1997) ca o varianta a retelelor recurente neurale (RNN). De-a
lungul timpului, retele LSTM au fost folosite pentru a modela diverse probleme care
implica date secventiale si cercetarea a aratat ca retele LSTM au aplicatii de succes
in domenii precum procesarea limbajului natural, recunoasterea vorbirii si secvente
ADN.
Asemenea RNN, LSTM are o structure recurenta unde fiecare celula produce ca
output nu numai yt, dar transfera si activarea htcatre urmatoarea celula. Trasatura
remarcabila a retelelor LSTM o reprezinta abilitatea de a retine, uita si citi informatie,
aceste obiective fiind realizate folosind trei tipuri de porti. Portile ’forget’, o celula
primeste starea longterm ct1, retine o parte din informatie, cantitate indicata de ft
si dupa adauga informatii noi care au fost selectate de poarta ’input’. Poarta ’input’
determina ce parte din inputul transformat gtva fi adaugat la starea longterm ct. Acest
proces transforma starea longterm ctcare este direct transmisa la urmatoarea celula.
In final, poarta output transforma starea updatata ctprintanh(), o inmulteste cu ot
si produce outputul ytcare este de asemenea transmis la urmatoarea celula ca 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 inmultirea element cu element, ()este tangenta hiperbolica. Cele
trei porti se deschid si inchid dupa controlerele ft,it,ot, toate fiind straturi de neu-
roni fully connected. Outputurile sunt cuprinse in intervalul [0, 1], functia de activare
folosita fiind sigmoida.
Folosim Mean Squared Error pentru functia de cost:
L() =1
mi=m
i=1(ytbyt)2
undeeste setul de parametri care trebuie antrenat inclusiv matricile din fiecare
poartaWi= (Wxi;Whi);Wf= (Wxf;Whf);Wo= (Wxo;Who)
Fiind o retea recurenta, LSTM este antrenata folosind Backpropagation Through
Time . Ideea principala este ca pentru fiecare celula, mai intai desfasuram un numar
fix de celule anterioare si mai tarziu aplicam forward feed sibackpropagation catre cele-
lalte celule nedesfasurate. Numarul de celule desfasurate este un alt hyperparametru
care trebuie sa fie selectat in plus pe langa numarul de neuroni si numarul de straturi.
4.5 Strategie de trading
Consideram o strategie de trading simpla bazata pe predictia modelului. In ziua
t, un investitor cumpara o actiune Facebook daca pretul prezis in ziua t+1 este mai
mare decat pretul din ziua curenta. Altfel, investitorul vinde o actiune Facebook. Stra-
tegiastpoate fi descrisa in felul urmator:
st=8
><
>:+1ifbyt+1>yt
1ifbyt+1yt
undeyteste pretul actiunii la sfarsitul zilei (Close) si byt+1este pretul prezis de model.
Folosind variabila st, putem calcula castigul zilnic al strategiei in ziua t+1:
rt+1=stlog(yt+1
yt)c
16

Tabela 4.1: Alegerea hyperparametrilor
Biblioteca Keras
Optimizator RMSprop
Numarul Straturilor Ascunse 2 LSTM, 1 FC
Numarul de Neuroni 100
Numarul de Epoci 300
unde c arata costul tranzactiei, iar castigul cumulativ obtinut intre momentul t= 0 si
t=meste
rm
0=m1X
t=0rt
Folosim de asemenea Sharpe Ratio pentru a compara profitabilitatea strategiei fo-
losind diferite modele. Sharpe Ratio este definita dupa formula:
SR=E(r)rf
(r):
E(r)reprezinta media castigului, rfeste castigul cu risc 0 si (r)este deviatia
standard a castigului
4.6 Experimente si Rezultate
A. Setup pentru experiment
Folosim Keras pentru a rula experimentul pe setul de date. Alegerea hyperparametri-
lor si a optimizatorului sunt listate in tabelul de mai jos.
RMSprop este folosit fiind adesea aplicat cu succes retelelor recurente. Setam rata
de invatare a optimizatorului egala cu 0.0001, folosind valorile default pentru ceilalti
parametrii.
17

Figura 4.3: Train/Validation Loss MSE
Pentru optimizarea parametrilor folosim functia de loss Mean Squared Error .Valorile
din Figura 4.3 au fost obtinute lucrand cu date de antrenare si testare scalate.
B. Rezultatele experimentului
Figura 4.4 arata pretul prezis si pretul real al actiunilor Facebook folosim LSTM
si Linear Regression.
Atat reteaua neurala recurenta cat si regresorul liniar au fost antrenate folosid pretul
istoric al actiunilor Facebook. Pentru a testa capacitatea modelelor de a generaliza,
schimbam setul de testare. Figura 4.5 arata pretul prezis al actiunilor 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 performanta modelelor, calculam doua metrici si examinam pro-
fitabilitatea strategie de trading.
1) Mean Squared Error pentru pretul prezis:
MSE =1
mt=mX
t=1(ytbyt)2
undeytsibytindica pretul real si pretul prezis al actiunilor in ziua t.
Tabela 4.2: Eroare FB
Eroare antrenare Eroare validare Eroare Testare
LSTM LSTM LSTM
0.0008598 0.0021 0.00205
2) Acuratete directionala
DA=1
m1m1X
t=11((yt+1yt)(byt+1byt)>0)
Aceasta metrica indica raportul dintre numarul de zile in care modelul a prezis corect
directia in care s-a modificat pretul si numarul total de zile.
Tabelul 4.3 arata acuratetea directionala a celor 2 modele.
LSTM LR
0.51798 0.38129
Tabela 4.3: Acuratetea directionala
19

LSTM LR
0.14% 0.25%
Tabela 4.4: Profit Facebook
3) Profit si Sharpe Ratio
rm
0=summ1
t=0rtsiSR=E(r)rf
(r)
Profitul si Sharpe Ratio apar in Tabelele 4.4 si 4.5. Costul asociat unei tranzactii si
rata castigului cu risc 0 asociat sunt presupuse a fi 0.
LSTM LR
0.0442 0.0824
Tabela 4.5: Sharpe Ratio
4.7 Analiza Rezultatelor
I. Analiza profitului
Observam in tabelul 4.6 ca eroarea la testare a modelului LSTM pentru prezicerea
preturilor este 0.002. Totusi, profitul obtinut folosind acelasi model este 0.14%. (Tabel
4.4) Intelegem astfel ca modelul nu optimizeaza pentru a creste profitul (scopul nos-
tru), ci pentru a minimiza valoarea functiei de loss (Mean Squared Error).
In Tabelul 4.4 observam ca regresia liniara produce un castig mai mare decat re-
teaua recurenta neurala. Figura 4.4 sugereaza ca regresia liniara estimeaza pretul din
ziuat+ 1ca fiind egal cu pretul din ziua t. Plotam parametrii invatati de regresia li-
niara in Figura 4.6. Modelul primeste ca input ultimele 60 de zile pentru a aproxima
pretul din ziua 61. In realitate el se foloseste doar de ziua 60, aceasta avand asociata
greutatea 0.94 in timp ce restul celor 59 de zile au greutati apropiate de 0.
Putem spune ca modelul nu invata, ci doar copiaza pretul din ziua precedenta. De
ce nu resuseste modelul sa invete o functie liniara pentru a prezice pretul din ziua t?
Deoarece pretul din ziua tnu este liniar dependent de preturile din zilele trecute.
In continuare prezentam un exemplu care justifica nonlinearitatea preturilor actiunilor.
Cum actioneaza un agajat al unei companii de trading pentru a decide daca vinde sau
cumpara actiuni (si implicit influenteaza pretul acestora) ? Traderul identifica pretul
20

minim si maxim din ultimele 10 zile si pe baza acestor 2 valori ia o decizie(exemplu
simplificat). Acesta nu este un proces liniar.
Figura 4.6: Parametrii regresiei liniare
II. Analiza Sharpe Ratio
Analizand tabelul Tabelul 4.5 observam ca ambele modele au o valoare Sharpe
Ratio mai mica decat 0.1.
Sharpe ratio este o metrica pentru castiguri raportate la riscul asumat. O valoare Sharpe
Ratio egala sau mai mare decat 1 este considerata acceptabila sau chiar buna de catre
investitori. O valoare mai mare decat 2 este foarte buna, iar ce depaseste 3 este consi-
derata excelent.
Scorul Sharpe Ratio scazut si castigurile sumarizate mai sus indica o performanta ne-
satisfacatorare a celor doua modele in incercarea de a prezice preturile si a construi o
strategie de trading de succes. Prezentam pricipalele motive pentru performanta ne-
satifacatorare a modelelor.
1) Raportulsemnal
zgomot
Datele contin mult zgomot .
Definim zgomotul. Zgomotul este reprezentat de toate preturile care ne induc in eroare
cu privire la tendinta generala (de crestere sau de scadere). Daca de-a lungul unei sap-
tamani, pretul a crescut in fiecare zi cu exceptia zilei de marti in care a avut o usoara
scadere, ziua de marti reprezinta zgomot. Prezentam o posibila solutie care vine in
intampinarea problemei.
Adaugam datelor de intrare feature-uri care sa reduca zgomotul. Exemple folosite de
21

analistii finaciari sunt Moving average , care reprezinta doar preturile actiunilor insu-
mate impartite la numarul lor, si Exponentially weighted moving average , care da o mai
mare importanta zilelor mai recente.
In figura 4.7 observam cum cele 2 medii reduc zgomotul.
Figura 4.7: Moving average, Exponentially Weighted Moving Average
2) Overfitting
Pretul stockului din ziua curenta nu este influentat doar de preturile din zilele
anterioare ci si de o multime de alti factori, de exemplu, informatiile din mass-media
despre companie, etc.
Incercarea de a prezice pretul din ziua curenta folosind doar preturile din zilele
trecute este asemanatoare cu aceleia de a clasifica specia animalului din imagine, data
fiind doar dimensiunea imaginii.
Pentru a reduce aceasta problema, ar trebui sa folosim si alte tipuri de date, in
afara preturilor istorice. Un exemplu este analiza de sentiment folosind stiri, tweeturi
sau alte forme de text.
3) Eficienta pietei
Eficienta pietei reprezinta capacitatea preturilor pietei de a reflecta toata informatia
disponibila si relevanta. Daca pietele de tranzactionare sunt eficiente, atunci toata in-
formatia este deja incorporata in preturi si nu exista o strategie care sa aduca profit
deoarece nu exista preturi subevaluate sau supraevaluate.
22

Capitolul 5
Concluzii
Prezenta lucrare de licenta propune un model LSTM pentru a prezice pretul Fa-
cebook Inc.
Experimentul consta in alegerea celui mai bun model prin evaluarea performan-
tei pe setul de date de validare, folosirea acetuia pentru prezicerea pretului, implemen-
tarea unei strategii simple de trading pe baza preturilor prezise si evaluarea acesteia.
Pentru a face o comparatie am folosit Regresia Liniara pe post de model baseline.
Pentru a evalua performanta modelelor am calculat mai multe metrici: Mean
Square Error, Acuratetea directionala, Castigul la finalul experimentului si Sharpe Ra-
tio.
Desi ambele modele au o acuratete buna pe datele de testare, ajungand la va-
lori apropiate de 0 pentru functia de loss (Mean Square Error), acestea au rezultate
nesatisfacatoare in termeni de castig. Am analizat motivele pentru care modelele au o
performanta scazuta. Regresia liniara nu modeleaza bine problema din cauza gradului
de nonlinearitate de care da dovata pretul actiunilor. Pentru a prezice pretul din ziua
t, modelul copiaza pretul din ziua t1. Reteaua LSTM se dovedeste mai inteligenta.
Aceasta captureaza tendinta generala de miscare a pietei, avand o acuratete directio-
nala mai mare decat a unui model aleator. Reteaua LSTM Are totusi un castig scazut,
mai putin decat 1 % din capitalul investit si o valoare mica Sharpe Ratio care sugereaza
ca strategia este una riscanta.
Printre motivele pentru care performanta modelelor este scazuta se numara si
raportulsemnal
zgomot, lipsa mai multor date care sa descrie mai bine starea reala a pietei si
eficienta pietei de tranzactionare.
Solutii care ar putea fi abordate pentru a veni in intampinarea acestor probleme
23

sunt adaugarea de feature-uri care sa reduca din zgomot si folosirea analizei de senti-
ment din stiri pentru o mai buna predictie.
Concluzionam ca din cauza performantei scazute, strategia bazata pe modelul
LSTM nu poate fi aplicata in realitate pentru a genera profit si ca prezicerea stockului
folosind retele neurale este o problema deschisa.
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