• Rezultati Niso Bili Najdeni

Napovedovanjetrendacendelnicnapodlagisporoˇcilzajavnost LukˇsiˇcNal

N/A
N/A
Protected

Academic year: 2022

Share "Napovedovanjetrendacendelnicnapodlagisporoˇcilzajavnost LukˇsiˇcNal"

Copied!
86
0
0

Celotno besedilo

(1)

Univerza v Ljubljani

Fakulteta za raˇ cunalniˇ stvo in informatiko

Lukˇsiˇc Nal

Napovedovanje trenda cen delnic na podlagi sporoˇ cil za javnost

MAGISTRSKO DELO

MAGISTRSKI ˇSTUDIJSKI PROGRAM DRUGE STOPNJE RA ˇCUNALNIˇSTVO IN INFORMATIKA

Mentor : izr. prof. dr. Tomaˇ z Hovelja

Ljubljana, 2021

(2)
(3)

Avtorske pravice. Rezultati magistrskega dela so intelektualna lastnina avtorja in Fakultete za raˇcunalniˇstvo in informatiko Univerze v Ljubljani. Za objavljanje ali izkoriˇcanje rezultatov magistrskega dela je potrebno pisno soglasje avtorja, Fakultete za raˇcunalniˇstvo in informatiko ter mentorja.

©2021 Lukˇsiˇc Nal

(4)
(5)

Zahvala

Rad bi se zahvalil starˇsem za pomoˇc in podporo v ˇcasu ˇstudija. Prav tako se za mentorstvo in strokovno pomoˇc pri pisanju magistrskega dela zahvaljujem mentorju izr. prof. dr. Tomaˇzu Hovelji.

Lukˇsiˇc Nal, 2021

(6)
(7)

”The best investment you can make, is an investment in yourself. The more you learn the more you’ll earn.”

— Warren Buffett

(8)
(9)

Kazalo

Povzetek Abstract

1 Uvod 1

2 Pregled literature 5

2.1 Pregled podroˇcja napovedovanja na osnovi dogodkov . . . 5 2.2 Sklepi pregleda literature . . . 9

3 Metodologija 11

3.1 Zbiranje podatkov . . . 12 3.2 Predprocesiranje podatkov . . . 16 3.3 Predstavitev predlaganega modela . . . 18

4 Podatki 27

4.1 Vrednosti delnic, urejene po dneh . . . 28 4.2 Dogodki, povezani s posameznim podjetjem . . . 29 4.3 Trend iskanja doloˇcene kljuˇcne besede na Googlu . . . 31

5 Metrike uspeˇsnosti 33

5.1 Uporabljene metrike . . . 33 5.2 Simulacija trgovanja . . . 39

(10)

6 Analiza rezultatov 43 6.1 Primerjava podobnih metod napovedovanja po klasifikacijski

toˇcnosti . . . 43 6.2 Primerjava metod investiranja . . . 45 6.3 Rezultati glede na velikost testne in uˇcne mnoˇzice . . . 51

7 Sklepne ugotovitve 55

A Priloge 59

A.1 Spletni pajki . . . 59 A.2 Vizualizacija naˇsega modela . . . 62

(11)

Seznam uporabljenih kratic

kratica angleˇsko slovensko

CA classification accuracy klasifikacijska toˇcnost LSTM long short term memory dolgi kratkoroˇcni spomin SVM support vector machine metoda podpornih vektorjev FDA food and drug administration administracija za hrano in

zdravila

MPR mean profit rate stopnja povpreˇcnega dobiˇcka IPO initial public offering prva javna ponudba delnic

podjetja

ROC receiver operating characteristic karakteristika delovanja spre- jemnika

AUC area under ROC curve povrˇsina pod ROC krivuljo NLP natural language processing obdelava naravnega jezika DNN deep neural network globoka nevronska mreˇza DPM discrete phase model model diskretne faze

(12)
(13)

Povzetek

Naslov: Napovedovanje trenda cen delnic na podlagi sporoˇcil za javnost V magistrskem delu se ukvarjamo s problematiko napovedovanja trenda cen delnic podjetij iz farmacevtskega sektorja. Cilj raziskave je izdelati ka- kovosten napovedni model, ki bi glede na vhodne spremenljivke z visoko natanˇcnostjo napovedal, ali bo cena padla ali narasla. S tem si ˇzelimo doseˇci viˇsje donose investicije od ˇze obstojeˇcih modelov. Glavni parameter, na ka- terem temelji napovedni model, so objave podjetij na straneh sporoˇcil za javnost. Te smo uporabili zaradi velikega vpliva na nihanje cen. Poleg objav dogodkov v delu uporabimo ˇse momentum cene pred in po objavi dogodka ter trend iskanosti podjetja v spletnem iskalniku Google.

S pomoˇcjo vhodnih parametrov nato na osnovi nakljuˇcnih gozdov zgra- dimo napovedni model. Konˇcni rezultati kaˇzejo, da predlagani sistem dosega do 85,2 % toˇcnost napovedovanja primerov, ko cena zraste. V primeru in- vesticije 1000 evrov bi s pomoˇcjo napovednega modela v roku 34 mesecev ustvarili 490-odstotni donos, oziroma 4928 evrov dobiˇcka.

Kljuˇ cne besede

odloˇcitveno drevo, nakljuˇcni gozd, napovedovanje cen delnic, strojno uˇcenje, klasifikacija

(14)
(15)

Abstract

Title: Forecasting stock price trends based on press releases

The research looks into the problem of pharma stock price trend pre- diction. The aim of this research is to create a prediction model that would classify stock trends with high precision. That would allow the user to achieve higher returns on the initial investment than the existing models deliver. The main parameter on which the predictive model is based are the news posted on press release pages of pharma companies. These have been used due to the large impact they have on price fluctuations. In addition, price momen- tum before and after an event has been used, as well as the search trends in Google’s search engine.

The final results show that the proposed system achieves an 85,2 % ac- curacy. In the case of an investment of EUR 1000, the forecast model would generate a 490 % return or EUR 4928 of profit within 34 months.

Keywords

decision tree, random forest, stock price prediction, machine learning, clas- sification

(16)
(17)

Poglavje 1 Uvod

Napovedovanje gibanja cen delnic je bilo zaradi svoje donosnosti ˇze od zaˇcetka finanˇcnih trgov zanimiva tema. Vˇcasih ljudje niso imeli na voljo kakovostnih orodij, s katerimi bi si lahko pomagali natanˇcno ocenjevati, kaj se bo s tr- gom dogajalo v prihodnosti. Danes imamo na dosegu rok ogromno znanja in raˇcunalniˇskih orodij, ki nam lahko to delo moˇcno olajˇsajo. V zadnjih letih je podroˇcje strojnega uˇcenja poˇzelo veliko pozornosti tako akademskega sveta kot tudi industrije, kar se kaˇze tudi v natanˇcnosti napovednih algoritmov [1].

Kljub temu ostajajo nekateri indeksni skladi donosnejˇsi od dejavnega trgova- nja. Razlog za to je, da nimamo dostopa do potrebnih informacij, s katerimi bi lahko gradili kakovostne modele. Te so velikokrat nedostopne javnosti ali pa se njihove pomembnosti sploh ne zavedamo [2].

V svojem delu smo zato najveˇc pozornosti posvetili informacijam, za ka- tere vemo, da imajo velik vpliv na gibanje cene, in sicer novice [3]. Kljub temu da so javno dostopne, jih je zelo teˇzko interpretirati. Ali bo imela novica o prodaji hˇcerinskega podjetja pozitiven ali negativen uˇcinek na vre- dnost delnic, vˇcasih ne vedo niti vodilni v podjetjih. Prav zato se v tem delu osredotoˇcamo na alternativni pristop k obdelavi dogodkov. Namesto poskusa razumevanja semantiˇcnega dela novice, poskuˇsamo njen sentiment pridobiti iz drugih tipov podatkov.

Da bi lahko svoj sistem preizkusili na dejanskih podatkih, smo izbrali 1

(18)

nekaj podjetij iz farmacevtskega sektorja. Zanje smo se odloˇcili, ker imajo novice v farmacevtskih podjetjih zelo velik vpliv na vrednost delnic [4]. ˇCe naprimer neko podjetje odkrije zdravilo za raka, bi se ogromno investitorjev odloˇcilo za nakup njenih delnic. Poslediˇcno bi vrednost podjetja zelo hitro moˇcno narasla. Poleg tega so farmacevtska podjetja zelo velika, torej je ma- nipulacija cen delnic praktiˇcno nemogoˇca. S tem se navezujemo na hipotezo uˇcinkovitih trgov. Ta govori o tem, da je trenutna cena delnice skupek vseh informacij, ki so na voljo v tem trenutku in zato vrednost celotne zaloge del- nic odraˇza realno vrednost podjetja. Poslediˇcno bi moralo biti ˇspekuliranje vrednosti cen nedobiˇckonosno, saj bi bila dobiˇckonosnost niˇzja od strategije

”kupi in drˇzi”. Predvsem pri manjˇsih trgih pa se pogosto dogaja, da ima eden izmed delniˇcarjev v lasti tako velik deleˇz podjetja, da lahko kar sam s pomoˇcjo nakupov in prodaj delnic spreminja njihovo ceno. Zelo malo trgov je torej resniˇcno uˇcinkovitih. Kot smo videli v letu 2020 je skupna trˇzna vrednost podjetja Tesla, enem izmed najveˇcjih avtomobilskih podjetij, zna- tno presegla vse napovedi. Torej se lahko neuˇcinkovitost trga pojavi tudi pri veˇcjih podjetjih, ko se delniˇcarji odloˇcijo, da ima podjetje velik potencial. V realnosti je torej popolna uˇcinkovitost trgov skoraj nemogoˇca. V primeru, ko na trg pride nova novica, se cena delnice ne spremeni v trenutku, temveˇc se, kot je v svoji raziskavi ugotovil Chan [5], ta spreminja do 12 mesecev po objavi. Trg se torej na koncu izravna, kot narekuje teorija uˇcinkovitih trgov, vendar v vmesnem ˇcasu lahko zasledimo sledi neuˇcinkovitosti. Prav to neuˇcinkovitost v svojem delu uporabljamo za napovedovanje trenda cene.

Poleg hipoteze uˇcinkovitih trgov se bomo v svojem delu dotaknili tudi teorije nakljuˇcnih sprehodov, ki pravi, da je v vsakem trenutku enaka ver- jetnost, da cena naraste ali pade za kakrˇsen koli znesek. To pomeni, da z zgodovinskimi podatki ne moremo napovedovati, kaj se bo s ceno dogajalo v prihodnosti. To v glavnem ne drˇzi povsem, saj se cena pogosto spreminja sorazmerno z zagonom. Vseeno je dejstvo, da na trg lahko v vsakem trenutku pride lastnik velike koliˇcine delnic, ki povzroˇci znatno spremembo cene.

Obstaja veliko razliˇcnih moˇznosti nepovedovanja gibanja cen delnic, ven-

(19)

3

dar jih v sploˇsnem delimo v dve kategoriji [6], in sicer napovedovanje na temelju tehniˇcne analize, pod katero spadajo sentiment, zagon, trend, ter volatilnost in temeljna analiza, pod katero ˇstejemo makreoekonomske ka- zalnike, finanˇcno stanje podjetja, ter analiza industrije. V svojem delu se osredotoˇcamo predvsem na tehniˇcno analizo, ker je povezava kazalnikov s ceno neposrednejˇsa. Uporabljali bomo trende gibanja cen v ˇcasovnih obdo- bjih, odvisnih od objav novic in trende iskanja podjetij v spletnem iskalniku Google. V preteklih raziskavah so se znanstveniki osredotoˇcali predvsem na en tip podatkov, vendar se je izkazalo, da so tovrstni modeli neuˇcinkoviti. Ti kazalniki so se posamezno v drugih raziskavah izkazali kot kakovostni, mi pa jih bomo zdruˇzili skupaj.

Glavna hipoteza naˇsega dela je, da lahko ustvarimo kakovostne napovedi gibanja cen delnic na osnovi dogodkov. Za to, da jo lahko potrdimo oziroma ovrˇzemo, bomo v tej raziskavi:

• podali pregled ˇze obstojeˇce literature,

• predstavili naˇs predlog napovednega modela,

• poiskali ustrezno podatkovno zbirko za izvedbo analize,

• izbrali ustrezne metrike za oceno uspeˇsnosti modela,

• analizirali ali lahko na temelju rezultatov hipotezo potrdimo ali ovrˇzemo in

• podali predloge kako bi raziskavo lahko nadgradili v prihodnosti.

(20)
(21)

Poglavje 2

Pregled literature

V tem poglavju se osredotoˇcamo na analizo ˇze obstojeˇcih raziskav iz po- droˇcja napovedovanja cen delnic. Cilj poglavja je najti najboljˇse prakse, s pomoˇcjo katerih lahko zgradimo svoj algoritem. Pri izbiri literature smo se osredotoˇcali predvsem na raziskave, ki temeljijo na napovedovanju na osnovi dogodkov. Raziskav na tem podroˇcju je za enkrat relativno malo, najverje- tneje zaradi podpovpreˇcnih rezultatov.

2.1 Pregled podroˇ cja napovedovanja na osnovi dogodkov

Avtorji ˇclanka Globoko uˇcenje za napovedovanje cen delnic na podlagi do- godkov [3] so bili med prvimi, ki so za analizo finanˇcnih novic namesto tradicionalnih NLP-metod, kot je na primer vreˇca besed ali tf-idf, uporabili novo metodo po predlogu raziskave Ding et. al. iz leta 2014 [7]. Predlagana metoda naslove novic razdeli na tri dele, in sicer subjekt, glagol in objekt.

Iz zapletene stavˇcne strukture tako dobimo preprosto relacijsko shemo, ki jo je veliko laˇzje pretvoriti v strojni jezik. Dobljeno relacijo nato pretvorimo v vektorsko obliko in jo kot vhod poˇsljemo v konvolucijsko nevronsko mreˇzo.

Kot vhodni podatki so uporabljene finanˇcne novice s strani Bloomberga in Reutersa. Osredotoˇcili so se na korporacije, ki spadajo med 500 najveˇcjih

5

(22)

ameriˇskih podjetij. S podanim algoritmom avtorji doseˇzejo 65-odstotno kla- sifikacijsko toˇcnost napovedovanja trenda delnic na koncu trgovalnega dneva.

S tem so dokazali, da korelacija med dogodki in ceno delnice obstaja. To delo je bilo eno izmed kljuˇcnih pri razvoju podroˇcja napovedovanja na osnovi do- godkov, ker predlaga nov pristop k reˇsevanju problematike obdelave besedila.

Druga dela, kot naprimer raziskava Heganau-a [8], v ˇclanku primerja osem del, ki se napovedovanja lotijo na drugaˇcen naˇcin, in sicer z uporabo kon- tekstualnih znaˇcilnosti. Njihov cilj je na temelju finanˇcnih novic poskusiti oceniti trend cene v naslednjem dnevu in iz njih zgraditi bolj uˇcinkovitejˇsi algoritem. Veˇcina algoritmov uporablja SVM kot jedro arhitekture. Metode v veˇcini dosegajo okoli 60 % natanˇcnosti, kar kaˇze na to, da je prej omenjena metoda uˇcinkovitejˇsa.

Spet tretja dela se problematike napovedovanja lotijo s pristopom upo- rabe globokih mreˇz. V ˇclanku Izkoriˇsˇcanje finanˇcnih novic za napovedovanje gibanja cen delnic na temelju novic in globokih nevronskih mreˇz [9] je zo- pet uporabljena kombinacija zgodovinskih cen in finanˇcnih novic, vendar na drugaˇcen naˇcin. Za obdelavo novic je bila uporabljena metoda vreˇce besed, kjer so bile novice razdeljene na besede. Tem besedam je bil nato, glede na njihov zgodovinski vpliv na gibanje cene, dodeljena polarnost. Na temelju dobljenih podatkov algoritem s pomoˇcjo nevronske mreˇze napoveduje priho- dnja gibanja. V primeru, da podjetje ni bilo vkljuˇceno v bazo podatkov, je bil uporabljen nepovezan graf. V njem so podjetja predstavljena kot toˇcke, povezave med njimi pa prikazujejo, kakˇsna je podobnost med njimi. Na ta naˇcin lahko algoritem najde ˇse neraziskano podjetje in tako napove gibanje cene. Na ta naˇcin algoritem dosega natanˇcnosti do 53 % kljub temu da so v sploˇsnem nevronske mreˇze pri napovedovanju med uˇcinkovitejˇsimi metodami, v naˇsem primeru ne dosega ˇzeljenih rezultatov.

Kot smo opisali v prejˇsnem poglavju veliko metod uporablja analizo be- sedil, ki igra kljuˇcno vlogo pri doloˇcanju trenda cene. V delu Napovedovanje vpliva sentimenta finanˇcnih novic na delniˇski trg [10] se avtorji osredotoˇcajo na ocenjevanje kakˇsen vpliv ima sentiment novic na cene delnic. V ˇclanku

(23)

2.1. PREGLED PODRO ˇCJA NAPOVEDOVANJA NA OSNOVI

DOGODKOV 7

je predlagana razˇclenitev naslovov novic na bigrame. Za to razdelitev so se odloˇcili, ker unigrami ne zagotavljajo zadostne natanˇcnosti. Na primer beseda padec ima ponavadi negativen sentiment, medtem ko besedna zveza padec stroˇskov za podjetje pomeni nekaj pozitivnega. Na temelju podatkov pridobljenih iz spletnih medijev, so nato izluˇsˇcili najpomembnejˇse besede in iz njih ustvarili slovar. V njem so vse besede oznaˇcene kot pozitivne ali ne- gativne. Predlagani algoritem torej poiˇsˇce besede iz bigramov v slovarju in jim dodeli sentiment. Na podlagi tega, se nato sistem odloˇci za nakup ali prodajo delnic. S tem postopkom je avtorjem uspelo doseˇci 70,59-odstotno natanˇcnost dnevnega gibanja vrednosti delnic.

V ˇclanku je poudarjena zelo pomembna problematika, ki je imela ve- lik vpliv tudi na naˇso raziskavo, in sicer pomanjkanje finanˇcnih slovarjev, ki bi vsebovali sentiment. Obstajajo sploˇsni slovarji, ki za finanˇcne novice najveˇckrat niso zadostni. Finanˇcni ˇzargon vsebuje posebne fraze in besede, ki bi jih obiˇcajni slovarji klasificirali napaˇcno. Veliko raziskovalcev zato pro- blematiko reˇsuje z izgradnjo lastnega slovarja, vendar ti ne nudijo najboljˇse natanˇcnosti.

V naslednji raziskavi avtorji predlagajo reˇsitev v prejˇsnem odstavku pred- stavljene problematike, in sicer analizo ter pravilno razvrstitev finanˇcnih no- vic [11]. Za dosego cilja je predlagan nov pristop. Algoritem je razdeljen na pet delov, in sicer na ekstrakcijo lastnosti, segmentacijo stavkov, prepo- znavanje besednih zvez, razˇclenitev v drevesno strukturo in modul za oceno sentimenta. Za drugi in tretji del algoritma je uporabljen korpus Treebank, ki vsebuje razliˇcne besedne zveze in pomaga pri sintaktiˇcni razˇclenitvi novic.

Dan algoritem je testiran na zbirki 46.000 novic in vraˇca do 82,1-odstotno natanˇcnost.

Vseeno je treba poudariti, da se finanˇcni ˇzargon zelo razlikuje tudi po sektorjih. V svojem delu se osredotoˇcamo na farmacevtska podjetja, ki imajo velik nabor dogodkov, ki so svojevrstni le za ta sektor. Primer so razvoj zdravil, odobritev ali zavrnitev zdravila s strani FDA in drugi. Poslediˇcno so potrebni korpusi besednih zvez, ki vkljuˇcujejo tovrstne dogodke in njihov

(24)

pomen.

V delu Analiza sentimenta z uporabo samodejno oznaˇcenih finanˇcnih no- vic [12] so se avtorji problematike razvrˇsˇcanja novic lotili na drugaˇc naˇcin, in sicer z obratnim inˇzeniringom. Namesto napovedovanja sentimenta z razliˇcnimi metodami, so sentiment novicam dodelili na temelju padca ali ra- sti cene delnice. Tovrstni pristop vrne natanˇcnost do 69,5-odstotkov . Izkaˇze se torej, da je ˇze razvrstitev novic kot takˇsna zelo zahtevna naloga in da ta ni vedno intuitivna niti strokovnjakom. Drug zanimiv izsledek analize al- goritma je, da ima razvrstitev pozitivnih novic veliko veˇcjo natanˇcnost kot pravilna razvrstitev negativnih, in sicer za 25 % .

Ena od reˇsitev problematike razvrstitve finanˇcnih novic je tudi uporaba veˇcih parametrov. V naslednjem delu avtorji poleg novic kot vhod algoritmu dodajo ˇse zgodovinske cene [13]. V ˇclanku so primerjani razliˇcni algoritmi za napovedovanje, od katerih je najboljˇse rezultate vrnil LSTM. Kot slovar je uporabljen LMFinance, ki sta ga roˇcno izdelala Loughran in McDonald [14]. Tovrstna metoda je bila testirana na podatkih iz razliˇcnih sektorjv in se najbolje obnese na trgovskem sektorju z 83-odstotno natanˇcnostjo. Za vhodne podatke so bili uporabljeni podatki podjetij Hutchison Whampoa, China Unicom in China Mobile. Zaradi dobrih rezultatov smo zato tudi mi uporabili zgodovinske podatke o ceni delnic in njihov zagon.

Poleg zagona smo po predlogu ˇclanka D. Shiversa [15] uporabili tudi po- datke o trendu iskanj podjetja v Googlu. Ta kot navaja ˇclanek naj bi bil povezan s trendom cen delnic, vendar na tem podroˇcju ˇse ni bilo nareje- nih veliko raziskav. V svojem delu se torej osredotoˇcamo tudi na analizo kakovosti tovrstnih podatkov.

Med raziskavo podroˇcja napovedovanja smo naˇsli ˇclanek, v katerem av- torji predlagajo novo metriko za ocenjevanje kakovosti napovednega modela [16]. Ker se nam je zdela metrika smiselna, smo jo uporabili tudi v svojem delu. Veliko algoritmov vraˇca rezultate z visoko natanˇcnostjo, vendar se v praksi izkaˇze, da ti algoritmi ne naredijo velikega dobiˇcka. Tej nekonsisten- tnosti reˇcemo dobiˇckonosna pristranskost. Kot eno izmed moˇznih reˇsitev

(25)

2.2. SKLEPI PREGLEDA LITERATURE 9

avtorji predlagajo novo metriko za ocenjevanje algoritmov, in sicer stopnjo povpreˇcnega dobiˇcka (MPR). MPR se izraˇcuna po enaˇcbi

M P R= 1/n

n

X

i=1

I(Ti,Tei)×ri,

kot povpreˇcje zmnoˇzka funkcije I in stopnje dobiˇcka. Ti tu predstavlja napovedan trend cene, kjer 1 pomeni da se bo cena dvignila, -1 pa da bo padla. Tei pa pove, kako se je cena dejansko spremenila. Celoten postopek se ponovi n-krat.

Funkcija I je definirana kot

I(a, b) =

1, ˇce a=b 0, sicer.

Ker se nam zdi opisana problematika dejansko relevantna na podroˇcju napovedi trenda cen delnic, smo se odloˇcili da bomo tudi v svojem delu upo- rabili predlagano metriko. Edino teˇzavo predstavlja nerazˇsirjenost metrike, zaradi ˇcesar rezultatov ne moramo primerjati z alternativami.

2.2 Sklepi pregleda literature

Veliko znanstvenih ˇclankov preuˇcuje napovedovanje na osnovi sentimenta no- vic. Teˇzava, ki se tu pojavi, je, da je analiza sentimenta finanˇcnih novic izjemno zahtevna naloga. Razliˇcne raziskave tako nudijo razliˇcne pristope k njenemu reˇsevanju, vendar nobena do sedaj ˇse ni vrnila potrebnih rezulta- tov. Ena izmed reˇsitev, ki smo jo uporabili tudi v naˇsem delu, je, da namesto analize sentimenta za napovedovanje uporabimo alternativne tipe podatkov.

Tu pridemo do nove teˇzave, in sicer do dostopnosti do podatkov. Ta predsta- vlja veliko oviro pri napovedovanju. Veliko raziskav sicer poskuˇsa to teˇzavo zaobiti z gradnjo zapletenih modelov, vendar se ta ne izkaˇze kot primerna reˇsitev, saj so natanˇcnosti tovrstnih algoritmov relativno nizke.

(26)
(27)

Poglavje 3

Metodologija

V poglavju metodologija bomo predstavili zasnovo in delovanje predlaganega algoritma. Pri zasnovi smo se osredotoˇcali na dobre prakse ˇze narejenih raziskav na podroˇcju napovedovanja cen delnic. V primerjavi z veˇcino drugih algoritmov, smo pri svoji raziskavi velik del ˇcasa posvetili primerjavi in izbiri znaˇcilk. Poleg tega ima algoritem ˇse dva veˇcja dela, in sicer gradnjo modela in napovedovanje. Kot glavno metodo za gradnjo modela smo izbrali model nakljuˇcnega gozda.

Celoten tok gradnje modela je vizualiziran z diagramom 3.1. V zgornjem delu sta opisana pridobitev podatkov iz razliˇcnih virov in njihova obdelava. V drugem delu podatke razdelimo na tri mnoˇzice, in sicer testno, validacijsko in uˇcno, ter z uporabo uˇcne mnoˇzice zgradimo napovedni model. Temu modelu s pomoˇcjo validacijske mnoˇzice nastavimo vrednosti parametrov in nato sistem preizkusimo na testni mnoˇzici.

11

(28)

Slika 3.1: Potek delovanja sistema.

3.1 Zbiranje podatkov

Podatki danes predstavljajo veliko poslovno prednost. ˇStevilna podjetja, kot je naprimer Google ustvarjajo visoke dobiˇcke s pomoˇcjo rudarjenja informacij iz velike koliˇcine podatkov. Prav zato je za javnost na voljo vse manj prosto dostopnih virov, iz katerih bi lahko ˇcrpali informacije. Veˇcina strani zahteva

(29)

3.1. ZBIRANJE PODATKOV 13

plaˇcilo v zameno za kakovostne podatke, zaradi ˇcesar je izdelava kakovostnih napovednih algoritmov oteˇzena.

Kot ˇze omenjeno v prejˇsnem poglavju, smo v svojem delu izbrali tri glavne vire podatkov, in sicer Google trends podatke, zgodovinske podatke o gibanju cen delnic in novice podjetij s strani obvestila za javnost. V tem delu bomo predstavili delovanje dela sistema, ki se ukvarja s pridobitvijo in predobdelavo podatkov.

Prvi tip podatkov o trendu pridobimo iz Google trends APi-ja. Ta de- luje tako, da na Googlov streˇznik poˇsljemo zahtevo za podatke in potrebne parametre, in sicer:

• ˇcasovni okvir,

• iskano frazo,

• geolokacijo.

Casovni okvir je definiran z zaˇˇ cetnim in konˇcnim datumom. Glede na ve- likost ˇcasovnega okvirja Googlov algoritem podatke razdeli na podintervale.

Na primer, ˇce vzamemo ˇcasovni okvir od 1. 1. 2005 do 1. 1. 2020, nam bo streˇznik vrnil trende iskanj za vsak mesec. Za naˇso raziskavo takˇsni podatki niso dovolj natanˇcni. Potrebujemo namreˇc loˇcene trende iskanj za vsak dan posebej. Da bi priˇsli do ˇzelenih rezultatov moramo ˇcasovni okvir razdeliti na obdobja do 90 dni, ker le v takˇsnih primerih stran vrne dnevne trende.

Za izbor kljuˇcnih besed smo uporabili imena podjetij. Google trends omogoˇca iskanje kljuˇcnih besed znotraj razliˇcnih kategorij. Uporabnik torej lahko doloˇci ali kot Pfizer ˇzeli dobiti podatke o podjetju, temi ali iskalnemu izrazu. Za potrebe svojega dela smo uporabili moˇznost iskanja med podjetji.

Kot zadnji parameter je treba doloˇciti geolokacijo. Z njo doloˇcimo po- droˇcja, za katera nas zanima trend iskanja. Najveˇckrat se ta doloˇca na ravni drˇzave, vendar lahko izberemo tudi ves svet. Za namen svojega dela smo izbrali trende iskanj po vsem svetu.

Po poslani zahtevi Googlov streˇznik vrne oceno trenda iskanja po obdo- bjih. Naprimer, ˇce vzamemo ˇcasovni okvir velikosti 90 dni, nam sistem vrne

(30)

trende iskanj, normalizirale na lestvico od 1 do 100, kjer najbolj priljubljen dan dobi 100 in najmanj 1. V svojem primeru smo, kot ˇze omenjeno, celotno obdobje od 1. 1. 2004 do 1. 11. 2020 razdelili na 90-dnevne intervale. Da bi trende uspeˇsnosti lahko v nadaljevanju uporabili pri napovedovanju, je treba obdobja ˇse zdruˇziti in normalizirati. Za potrebe normalizacije, smo izbrali ˇcasovne intervale, ki se prekrivajo. Tako bo prekrivajoˇc se dan sluˇzil kot referenca, s pomoˇcjo katere bomo intervale zdruˇzili v celoto, kot je prikazano na grafu 3.2.

Slika 3.2: Prikaz prekrivanja intervalov.

Prvotna ideja raziskave je bila, da kot osnovne gradnike napovedovanja uporabimo novice o podjetju, ki jih objavljajo spletni mediji. Te novice smo nato poskuˇsali razˇcleniti, jim doloˇciti sentiment in uporabiti pri napovedi.

Izkazalo se je, da imajo tovrstni viri novic velik ˇcasovni zamik med objavo novice in dejanskim dogodkom. Zaradi te zamude je poslediˇcno tudi kakovost napovednega modela slabˇsa. Kot alternativo smo zato izbrali javne objave podjetij. Veˇcina podjetij se je odloˇcila, da bo s svojimi delniˇcarji komunicirala preko spletne strani, na kateri podjetje objavlja novosti.

(31)

3.1. ZBIRANJE PODATKOV 15

Da bi lahko pridobili objave s strani vseh podjetij, moramo zgraditi ek- straktor podatkov, vendar pride do teˇzave, ko ˇzelimo univerzalen ekstraktor uporabiti za vsa podjetja. Vsako podjetje ima namreˇc svojo zgradbo strani in zato potrebujemo razliˇcne tipe ekstraktorjev. Za potrebe svojega dela smo torej uporabili dve vrsti skript, ki sta dostopni v prilogi, in sicer sta to:

• osnovni spletni pajek in

• spletni pajek na osnovi Seleniuma.

Pajka se razlikujeta po naˇcinu pridobitve podatkov. Nekatere strani po- datke prikazujejo dinamiˇcno s pomoˇcjo JavaScripta in zato GET zahteva ne vrne vseh ˇzeljenih podatkov v html obliki. Za tovrstne strani smo uporabili Python knjiˇznico Selenium. Ta nam omogoˇca simuliranje brskanja po sple- tni strani prek avtomatiziranega brskalnika. Na ta naˇcin laˇzje klikamo in prehajamo med stranmi. Ko dobimo html datoteko strani, iz nje preberemo informacije o datumu zadnjih objav in jih shranimo v datoteko.

Naˇcin delovanja pajkov je naslednji:

1. Zaˇzenemo skripto.

2. Poˇsiljanje GET zahteve spletnemu gostiteljskemu streˇzniku.

3. Ko dobimo odgovor 200 oziroma uspeh, na preneseni vsebini strani najdemo podatke in jih izluˇsˇcimo.

4. Na strani nato najdemo povezavo do naslednje strani s podatki.

5. Proces ponavljamo, dokler ne pridemo do zadnje strani.

Drug tip vhodnih podatkov so zgodovinski podatki o cenah. Te smo pridobili s strani Yahoo finance. Ta sicer ponuja tudi API, preko katerega bi lahko prenesli podatke, vendar je preprostejˇsi prenos csv datoteke. Na voljo so podatki o cenah od trenutka, ko je delnica priˇsla na borzo do danes.

Yahoo dobi podatke od razliˇcnih ponudnikov podatkov in borz. V preneˇseni csv datoteki se nahajajo OHLC podatki, kjer je:

(32)

• O - cena pri odprtju borze (angl. Open),

• H - najviˇsja cena trgovalnega dneva (angl. High),

• L - najniˇzja cena trgovalnega dneva (angl. Low),

• C - cena pri zaprtju borze (angl. Close).

V naˇsem primeru smo za napovedovanje uporabili cene delnic pri zaprtju borze (angl. Close). Za to smo se odloˇcili, ker se ta podatek najveˇckrat uporablja tudi v praksi. Najviˇsja in najniˇzja cena sta sicer uporaben po- datek, vendar se lahko pojavita kadarkoli v dnevu in zato lahko pride do nekonsistentnosti pri obravnavanju nihanja cen.

Poleg OHLC podatkov Yahoo finance vraˇca tudi podatke o dnevni likvi- dnosti, ki nam pove skupno vrednost dnevnih transakcij. Skozi poiskuse se je izkazalo, da ti podatki ne predstavljajo dodatne vrednosti modelu, zato jih v konˇcnem modelu nismo uporabili.

3.2 Predprocesiranje podatkov

Podatki pridobljeni s spleta, so najveˇckrat v neprimernih formatih za na- daljno uporabo. V tem delu se torej osredotoˇcamo na predprocesiranje su- rovih podatkov. To je sestavljeno iz ˇciˇsˇcenja, strukturiranja, zdruˇzenja in normaliziranja podatkov. Poglavje je razdeljeno na tri glavne dele glede na tip podatkov.

Kot smo omenili ˇze v prejˇsnem poglavju, smo podatke o trendih dobili iz Google trends APIja. Te podatke smo nato zdruˇzili v en interval, kot je opisano v grafu 3.2. V tem odstavku je predstavljen postopek kako pridemo do normaliziranih podatkov. Normalizacijo zaˇcnemo s prvim intervalom in sicer pogledamo vrednost zadnjega dne in ga primerjamo s prvim dnevom naslednjega intervala. Na primer, ˇce je prvi interval od 1.1.2005 do 31. 3.

2005 in drugi od 31. 3. 2005 do 28. 6. 2005 je 31. 3. 2005 mejni da- tum, na temelju katerega se izraˇcuna normalizacija. To storimo z izraˇcunom koeficienta K in mnoˇzenjem vseh nadaljnjih vrednosti z njim po enaˇcbi

(33)

3.2. PREDPROCESIRANJE PODATKOV 17

K =i1/i2.

V enaˇcbi i1 predstavlja vrednost trenda na dan x v prvem intervalu, medtem ko i2 predstavlja vrednost trenda na dan x v drugem intervalu. Z dobljenim koeficientom nato pomnoˇzimo vse nadaljnje vrednosti trenda in ne samo za nasledni interval. Dani proces nato ponavljamo, dokler ne pridemo do zadnjega ˇcasovnega invervala. Na koncu dobimo primerljive vrednosti trenda po dnevih. V tabeli 3.1 je opisana enaˇcba za izraˇcun prvih ˇstirih koeficientov. Za nadaljnje koeficiente pa bi po enaki metodi dodajali po en ˇclen.

Dan Koeficient

1-90 K=1

91-180 K = (a90/b90) 181-270 K = (a90/b90)∗(a180/b180) 271-360 K = (a90/b90)∗(a180/b180)∗(a270/b270)

... ...

Tabela 3.1: Primer izraˇcuna koeficientov za normalizacijo trendov.

V zgornji tabeli a predstavlja vrednost trenda na dan x pri prvem inter- valu, b p pri drugem intervalu. Indeksi predstavljajo zaporedni dan torej 90-i dan bi imel pri prvem intervalu oznako a90.

Naslednji tip uporabljenih podatkov so objave na straneh podjetij. Pri tem tipu podatkov smo uporabili le datum, kdaj je bila neka novica obja- vljena. V nadaljevanju bo ta sluˇzil kot osnovni gradniki vhodnih podatkov, predprocesiranje zato ni potrebno.

Kot zadnje smo prenesli ˇse podatke o cenah delnic, urejene po dnevih.

Kot je ˇze bilo omenjeno v prejˇsnem poglavju, smo med preneˇsenimi podatki izbrali le podatke o ceni delnice ob koncu trgovalnega dne. Ker se v svojem delu osredotoˇcamo na razvrˇsˇcanje trenda vrednosti delnic, smo na njih upo- rabili funkcijo eksponentnega glajenja. Za to smo se odloˇcili, da iz funkcije

(34)

cene odstranimo velika odstopanja, ki so posledica nakljuˇcnih nakupov. Tem odstopanjem lahko reˇcemo tudi ˇsum v podatkih.

Za napoved smo uporabili dnevne vrednosti delnic v intervalu od 14 dni pred objavo novice, do tri dni po objavi novice. Za ta interval smo se odloˇcili, ker smo ˇzeleli zajeti trend cene delnic kar se da natanˇcno. Izkazalo se je tudi, da z uporabo veˇcjega intervala konˇcnih rezultatov nismo bistveno izboljˇsali.

Trije dnevi po objavi novice sluˇzijo kot vpliv, ki ga ima novica na ceno delnice [17]. Z njim smo ˇzeleli nadomestiti tekstovno analizo novic, ki se je v podobnih raziskavah izkazala kot slaba. S pomoˇcjo prvih treh dni smo torej lahko bolje razumeli kakˇsen vpliv na ceno bo imela neka objava in tako ocenili, kakˇsen bo trend sedem dni po tem. Za napovedovanje smo uporabili sedem dnevni interval, ker imajo dnevi v tednu velik vpliv na nihanje cene in tako za vsako novico lahko ocenimo ne glede na to, kateri dan v tednu je, kakˇsno bo nihanje zaradi vhodnih parametrov [18]. Eksponentno glajenje lahko zapiˇsemo z enaˇcbo

f(x) =

s0 =x0, ˇce i=0.

si =xt∗α+ (1−α)∗si−1, sicer,

(3.1) kjer si predstavlja zglajeno vrednost cene, α predstavlja faktor glajenja, xi pa instanca vhodnih podatkov. Na koncu moramo vse podatke zdruˇziti v en dokument, ki ga uporabimo kot vhod za gradnjo modela. Podatke smo zdruˇzili po kljuˇcu datuma objav. Vsaka instanca podatkov je torej sestavljena iz trenda in zgodovinskih vrednosti cen na doloˇcen dan.

3.3 Predstavitev predlaganega modela

Pri strojnem uˇcenju loˇcimo ˇsest glavnih razredov algoritmov [19], in sicer:

• nadzorovano uˇcenje,

• nenadzorovano uˇcenje,

• semi-nadzorovano uˇcenje,

(35)

3.3. PREDSTAVITEV PREDLAGANEGA MODELA 19

• spodbujevalno uˇcenje,

• evolucijsko uˇcenje in

• globoko uˇcenje.

Glavna razlika med njimi je naˇcin, s katerim zgradimo napovedne modele.

Pri spodbujevalnem uˇcenju algoritem nagrajuje napovedi, ki so imele pra- vilne izzide. Te napovedi se generirajo nakljuˇcno, kajti algoritem na zaˇcetku ne ve, katere napovedi bodo dobre in katere slabe. Nenadzorovano uˇcenje, podobno kot spodbujevalno uˇcenje, nima podanih primerov iz prakse, ven- dar s pomoˇcjo primerjave vhodnih podatkov iˇsˇce podobnosti med njimi. V primerjavi s prejˇsnjima dvema, algoritmu nadzorovanega uˇcenja ˇze vnaprej pripravimo mnoˇzico vhodnih in izhodnih spremenljivk. Ko v sistem vnesemo novo instanco, lahko na temelju ˇze videnega ocenimo, kakˇsen je pravilen izhod.

V svojem delu smo uporabili nadzorovano uˇcenje, ker imamo veliko zgo- dovinskih podatkov, ki jih s pomoˇcjo tovrstnega uˇcenja najbolje izrabimo.

Glavni problemi, ki jih reˇsuje nadzorovano uˇcenje, so najveˇckrat klasifikacij- ski in regresijski. Slednji poskuˇsajo napovedati toˇcno ˇstevilo ali zaporedje znakov, medtem ko klasifikacijski iˇsˇcejo odgovor na vpraˇsanje, ki se zaˇcne z ali. Moˇzna rezultata sta torej lahko le dva 1 ali 0 oziroma da ali ne. Kljub temu da regresijski modeli intuitivno delujejo kot teˇzji razred problemov, lahko problem vedno razdelimo na mnoˇzico klasifikacijskih problemov [20].

Napovedovanje cen delnic se sprva zdi kot regresijski problem, vendar je toˇcna napoved cene problem, ki ga ni uspel reˇsiti ˇse nihˇce. Najverje- tneje je razlog kompleksnost problema kot takˇsnega, zato se v svojem delu osredotoˇcamo na poenostavljen problem in sicer napovedovanje trenda cene delnic. Spraˇsujemo se torej ali bo cena ˇcez sedem dni zrastla ali padla.

Za reˇsevanje problema smo izbrali algoritem nakljuˇcnega gozda. Zanj smo se odloˇcili, ker je v primerjavi z drugimi klasifikacijskimi modeli vrnil najboljˇse rezultate. Preizkusili smo tudi napovedovanje na osnovi nevronskih

(36)

mreˇz, logistiˇcne regresije, SVM-ja in Naivnega Bayesa, vendar je najboljˇse rezultate za naˇso podatkovno zbirko vrnil prav nakljuˇcni gozd.

Nakljuˇcni gozd je eden izmed najpogosteje uporabljenih modelov, prav zaradi svoje preprostosti in uˇcinkovitosti. Algoritem vraˇca zelo dobre rezul- tate tudi pri neprilagojenih parametrih.

V osnovi je nakljuˇcni gozd zgrajen iz mnoˇzice relativno nekoreliranih na- kljuˇcnih dreves. Da bi torej razumeli delovanje nakljuˇcnega gozda, si moramo pogledati, kako delujejo odloˇcitvena drevesa [21].

3.3.1 Odloˇ citveno drevo

Kot ˇze ime implicira so odloˇcitvena drevesa usmerjeni acikliˇcni grafi, katerih oblika spominja na bioloˇsko drevo [22]. Graf je torej sestavljen iz celic in usmerjenih enosmernih povezav. Posebnost odloˇcitvenih dreves je, da se v vsaki celici, razen listih, drevo razdeli na n-delov. Celice si lahko predsta- vljamo kot vpraˇsanja z n moˇznih odgovorov. Vzemimo za primer odloˇcitveno drevo, ki poskuˇsa odgovoriti na vpraˇsanje ali je beseda s petimi ˇcrkami pa- lindrom. Za ta problem bi model izgledal tako, kot je opisano v diagramu poteka 3.3.

Ilustracija torej prikazuje, kako bi zgrajen model moral izgledati. Da se prepriˇcamo, ali model besede v realnosti pravilno razvrˇsˇca, bomo preverili naˇcin delovanja na besedi radar. V prvi celici bi torej preverili, ali je ˇcrka r enaka ˇcrki r. Ker je odgovor da, se pomaknemo na drugo celico, kjer se vpraˇsamo, ali je predzadnja ˇcrka torej ˇcrka a enaka drugi ˇcrki, torej ˇcrki a.

Ker je odgovor tudi tukaj pozitiven model vrne odgovor da je beseda palin- drom. Kljub temu da je model pravilno razvrstil besedo radar, ne moramo predpostaviti, da bo model vedno vrnil pravilne rezultate. ˇCe bi ˇzeleli priti do takˇsnega zakljuˇcka, bi morali narediti dokaz na osnovi matematiˇcnih aksi- omov ali model preizkusiti na vseh moˇznih besedah dolˇzine 5 in preveriti, ali so bile vse pravilno razvrˇsˇcene.

Odloˇcitveno drevo sicer na prvi pogled deluje kot model, ki lahko reˇsuje le preprostejˇse probleme, vendar se v realnosti da z njim reˇsiti tudi komple-

(37)

3.3. PREDSTAVITEV PREDLAGANEGA MODELA 21

Slika 3.3: Primer odloˇcitvenega drevesa za problem palindrom.

ksnejˇse probleme. Teˇzke probleme lahko velikokrat razˇclenimo na mnoˇzico odloˇcitvenih problemov, ki so reˇsljivi s pomoˇcjo odloˇcitvenega drevesa [20], vendar se moramo zavedati, da so problemi v realnosti veliko kompleksnejˇsi od iskanja palindromov.

3.3.2 Nakljuˇ cni gozd

Z namenom, da bi zgradili ˇcim boljˇsi model, smo namesto odloˇcitvenih dre- ves uporabili nakljuˇcne gozdove [23]. Te si lahko predstavljamo kot mnoˇzico nakljuˇcnih dreves, ki ne korelirajo med seboj. Ta lastnost je pomembna pred- vsem zato, ker model vraˇca boljˇse in objektivnejˇse rezultate kot posamezno

(38)

drevo. To si lahko predstavljamo s pomoˇcjo Monte-Carlove metode. Tudi ˇce je verjetnost, da bomo pri metu kocke dobili ˇsest 1 / 6, to ne pomeni, da bomo v ˇsestih poskusih vedno dobili vsaj eno 6. Vendar obstaja zelo velika verjetnost, da bomo pri 10000 metih imeli 1 / 6 ˇsestic. V primeru nakljuˇcnih dreves naredimo prav to. Namesto da se zanaˇsamo na rezultat enega drevesa, si ustvarimo mnoˇzico dreves. S tem pridobimo bolj posploˇsene rezultate in s tem veˇcjo toˇcnost [24]. Za implementacijo smo uporabili orodje Orange 3.29.3, s pomoˇcjo katerega se lahko naˇsi rezultati reproducirajo.

Nakljuˇcni gozdovi delujejo torej tako, da vsakemu drevesu vnesemo mnoˇzico vhodnih spremenljivk. Izhode vseh dreves nato primerjamo med seboj in ocenimo, kolikˇsen deleˇz dreves izbere posamezni razred moˇznih izhodov.

Ta deleˇz lahko interpretiramo tudi kot verjetnost, da je neka instanca v doloˇcenem razredu.

Poleg tega je algoritmu treba nastaviti ˇse parametre. Ti skrbijo za to, da ne pride do prekomernega prilagajanja (angl. overfitting) in da algoritem ne deluje v neskonˇcnost. V svoji raziskavi smo uporabili funkcijo RandomForest iz knjiˇznice Sklearn. Nekateri izmed najbolj pomembnih parametrov so:

• ˇstevilo dreves,

• maksimalna globina dreves,

• minimalna velikost vzorca za delitev,

• minimalna velikost vzorca za ustvarjanje novega lista,

• naˇcin izbora vzorca in

• maksimalna velikost vzorca za gradnjo drevesa.

Pri ˇstevilnih parametrih prilagajanje ne prinaˇsa niˇc boljˇsih rezultatov, zato smo jih pustili na privzetih nastavitvah. Nekateri med njimi pa imajo velik vpliv na natanˇcnost algoritma. Parametre smo prilagajali glede na validacijsko mnoˇzico in nato model preizkusili na testni mnoˇzici.

(39)

3.3. PREDSTAVITEV PREDLAGANEGA MODELA 23

Kot prikazuje Slika 3.4, ima ˇstevilo dreves v gozdu v odvisnosti od nataˇcnosti logaritemsko funkcijo. Doloˇciti pravo ˇstevilo dreves je pomembno, ker pri iz- biri premajhnega ˇstevila dreves ne zajamemo vseh informacij iz podatkov, medtem ko pri izbiri prevelikih dreves pride do ponavljanja vzorcev in s tem do korelacije med drevesi. Zaradi ohranjanja preprostosti modela in ker se natanˇcnost nad 50 dreves le minimalno spremeni, smo za svoj model uporabili velikost gozda 50.

Slika 3.4: Natanˇcnost napovedovanja v odvisnosti od ˇstevila dreves na te- stnih podatkih, predstavljenih v poglavju 4.

Pri globini dreves moramo podobno kot pri ˇstevilu dreves paziti, kakˇsno vrednost izberemo. Veˇcja globina pomeni, da bo drevo v sebi drˇzalo bolj toˇcne informacije o podatkih. Po navadi se doloˇci globina drevesa na te- melju tipa podatkov, in sicer tako, da vrednosti razdelimo na najmanjˇse podmnoˇzice. V svojem primeru pustimo, da se drevo poveˇca dokler ne dobi ˇcistih podmnoˇzic.

Naslednji parameter je minimalna velikost vzorca za delitev, ki definira, kako velika je lahko najmanjˇsa podmnoˇzica, da jo ˇse vedno delimo. ˇCe iz-

(40)

beremo premajhno vrednost, se lahko zgodi, da ima drevo le eno raven, na kateri so vsi listi. V primeru da je vrednost prevelika, se lahko zgodi, da se drevo ne razveja zadosti. V svojem primeru smo izbrali vrednost 2, ki je v glavnem standardna izbira.

Zelo podoben prejˇsnjemu parametru je tudi minimalna velikost vzorca za ustvarjanje novega lista, ki pove, koliko elementov mora biti minimalno reprezentiranih v posameznem listu. Ta vrednost je najveˇckrat 1, kot tudi v naˇsem primeru [25].

Zanimivejˇsi parameter je funkcija za izbor vzorca, s katerim zgradimo posamezno drevo. Ker za vsako drevo izberemo svoj vzorec, moramo doloˇciti metodo, po kateri izbiramo podmnoˇzice. V primeru, da izberemo podobne elemente pri vseh drevesih, bo napovedna moˇc modela veliko slabˇsa kot sicer, ker bodo drevesa delovala po istem kopitu. Kot ˇze ime nakljuˇcni gozd pove, je najboljˇsa metoda za izbiro podmnoˇzice nakljuˇcna izbira elementov, kar smo uporabili tudi v svojem primeru.

Pri izbiri vzorca je pomembno tudi, koliko elementov izberemo pri tvor- jenju dreves. Z njo doloˇcamo nakljuˇcnost posameznih dreves in je odvisna od ˇstevila dreves. ˇCe je dreves veliko, je bolje, da je velikost vzorca manjˇsa, da zmanjˇsamo korelacijo med njimi. Poleg tega je pomembno tudi, koliko znaˇcilk vnesemo v sistem, saj se tudi na temelju teh odloˇcamo za velikost vzorca, in sicer po formuli

x=√ y,

kjer je x velikost vzorca in y ˇstevilo znaˇcilk uˇcne mnoˇzice.

Poleg omenjenih parametrov je za gradnjo modela nakljuˇcnega gozda po- membna izbira ˇse kar nekaj drugih nastavitev. Kljub temu vseh ne bomo opisali, saj ne vplivajo na uˇcnikovitost modela. Vendar je omembe vredno poudariti, da je za uˇcenje modela treba imeti dovolj veliko uˇcno mnoˇzico.

Kako velika mora biti, je v veliki meri odvisno od ˇstevila znaˇcilk, ki jih po- damo sistemu in tipa problema.

V primerjavi z veˇcino algoritmov strojnega uˇcenja, nakljuˇcni gozdovi ne

(41)

3.3. PREDSTAVITEV PREDLAGANEGA MODELA 25

delujejo po naˇcelu ˇcrne ˇskatle, temveˇc lahko model preberemo in razumemo.

V priponki na koncu dela smo zato priloˇzili vizualizacijo svojega modela.

Iz slik je sicer teˇzko razbrati, kaj posamezno drevo predstavlja, ampak v sploˇsnem vsako razvejanje predstavlja odloˇcitev.

(42)
(43)

Poglavje 4 Podatki

Podatki predstavljajo temelj vsakega napovednega algoritma. Z njihovo ana- lizo lahko izluˇsˇcimo vzorce in korelacije, ki so prostemu oˇcesu nevidni. Izbira primernih podatkov je torej ena izmed kljuˇcnih delov predstavljenega dela.

V zadnjih letih se je tudi industrija zaˇcela zavedati vrednosti, ki jo nosijo podatki. Obdelava velike koliˇcine podatkov je postala zelo razˇsirjena panoga, ki postaja vse bolj priljubljena prav med tehnoloˇskimi giganti [26]. S tem se je znatno zmanjˇsal obseg brezplaˇcnih javnih virov podatkov. To predstavlja veliko oviro raziskavam. Tudi v tem delu smo se sreˇcali s teˇzavo iskanja kakovostnih podatkov. Do njih lahko dostopamo le ˇse prek javno financiranih projektov ali s spletno ˇzetvijo.

V svojem delu smo med raziskavo preizkusili razliˇcne tipe vhodnih para- metrov, vendar smo se na koncu odloˇcili za tri glavne, in sicer:

• vrednosti delnic, urejene po dneh,

• dogodki, povezani s posameznim podjetjem in

• trend iskanja doloˇcene kljuˇcne besede na Googlu.

27

(44)

4.1 Vrednosti delnic, urejene po dneh

Podatki o vrednostih cen so ˇcrpani s spletne strani Yahoo finance. Sple- tna stran nudi podatke o cenah od prihoda na borzo do danes. Podatke ˇcrpajo iz NASDAQ-a in se osveˇzujejo dnevno. Vse zgodovinske vrednosti so tudi prilagojene delitvam delnic. Te zato predstavljajo najboljˇsi pribliˇzek realnim cenam. Kljub temu vedno obstajajo odstopanja, ker se delnice na razliˇcnih borzah lahko prodajajo po razliˇcnih cenah. Objektivno toˇcna cena na doloˇceno uro torej ne obstaja.

Spletna stran Yahoo nudi izvoz cen delnic v csv datoteko, ki vsebuje naslednje podatke:

• datum x (angl. Date),

• najviˇsja cena delnice na dan x (angl. High),

• najniˇzja cena delnice na dan x (angl. Low),

• cena delnice na dan x, pri odprtju borze (angl. Open),

• cena delnice na dan x, pri zaprtju borze (angl. Close),

• koliˇcina prodanih delnic (angl. Liquidity).

Vsi podatki, razen datuma, so predstavljeni v valuti dolar.

Za potrebe svoje raziskave smo izbrali 10 izmed najveˇcjih podjetij v sek- torju farmacije v letu 2020, in sicer Abbvie, Sanofi, Roche, Pfizer, Nordisk, Novartis, GlaxosmithKline, Merck, Castlight health in Amgen. Za vsa pod- jetja smo uporabili podatke od dneva vstopa na borzo do oktobra 2020. Za ta podjetja smo se odloˇcili, ker so v farmacevtski industriji med najveˇcjimi, zaradi ˇcesar je manipulacija cene malo verjetna.

Pridobljene podatke smo nato segmentirali na tri dele, in sicer uˇcno, te- stno in validacijsko mnoˇzico. Tovrstna razdelitev je v statistiki zelo prilju- bljena, saj minimizira prilagajanje modela podatkom in s tem pomaga pri univerzalnosti modela. V svojem primeru smo podatke razdelili v razmerju

(45)

4.2. DOGODKI, POVEZANI S POSAMEZNIM PODJETJEM 29

Uˇcna mnoˇzica

49 %

Testna mnoˇzica

25 %

Validacijska mnoˇzica 26 %

Slika 4.1: Razdelitev mnoˇzice podatkov na podmnoˇzice.

49-25-26. Testna mnoˇzica predstavlja podatke iz let 2018, 2019 in 2020, va- lidacijska iz let 2016 in 2017, medtem ko uˇcna mnoˇzica predstavlja podatke med leti 2004 in 2015, kot kaˇze graf 4.1. Ker imamo za nekatera leta veˇc podatkov kot za druga, se ˇcasovni intervali ne skladajo z velikostjo podat- kovnih mnoˇzic. Najveˇc podatkov imamo iz let 2016 in 2017 ter najmanj iz intervala med leti 2004 in 2015.

4.2 Dogodki, povezani s posameznim podje- tjem

Drug tip spremenljivk, uporabljenih v naˇsem algoritmu, so dogodki, povezani s podjetjem. Dokazano je, da imajo posamezni dogodki neposreden vpliv na gibanje cene delnice [27]. Ce bi v tem primeru teorija uˇˇ cinkovitega trga drˇzala, bi se v takˇsnih primerih morala cena delnice spremeniti v trenutku.

V praksi se izkaˇze, da cena namesto drastiˇcne spremembe zaniha. Ta nihljaj lahko traja tudi veˇc tednov, medtem ko je njegovo trajanja odvisno predvsem od tipa in pomembnosti dogodka.

Pri dogodkih je zelo pomembno kako so sporoˇceni javnosti. Veˇcina ljudi

(46)

o njih zve preko medijev, vendar so jim dostopni ˇze prej. Za naˇso raziskavo je zelo pomembno, da kot ˇcas dogodka izberemo datum, ko je bil dogodek v javnosti prviˇc objavljen. Razliˇcni spletni viri sicer objavijo novico tudi isti dan kot jo je podjetje objavilo, vendar se to ne zgodi vedno. V svojem delu smo se zato raje osredotoˇcili na izjave za javnost, ki jih podjetja objavljajo na svojih spletnih straneh. Tu so najveˇckrat novosti objavljene prviˇc. Kljub temu se izkaˇze da ima tudi ta vir podatkov slabosti, ker so objave napisane na naˇcin, da podajo informacije na naˇcin, ki podjetju najbolj ustreza. S tem lahko dobimo napaˇcno sliko o dogodku. Prav tako javne novice najveˇckrat ˇze v naslovu opredelijo sentiment in pomembnost novice, kar nam lahko pomaga pri napovedi trenda cene delnic. V primeru izjav za javnost teh metrik ne moramo izluˇsˇciti, zato v svoji raziskavi kot tretjo spremenljivko predlagamo trend iskanja podjetja v Googlu.

Pri izgradnji svoje podatkovne zbirke, smo se osredotoˇcali na objavljene dogodke. Nekatera podjetja objavljajo veˇc novic in so na trgu dlje ˇcasa.

Takˇsna podjetja poslediˇcno predstavljajo veˇcji del podatkovne zbirke. V tabeli 4.1 je razvidno, koliko dogodkov smo izbrali od vsakega podjetja in kolikˇsen deleˇz celotne zbirke ti podatki predstavljajo.

Ime podjetja Oznaka ˇStevilo dogodkov Deleˇz (% )

AbbVie ABBV 670 5,6

Sanofi SNY 538 4,5

Roche RHHBY 878 7,4

Pfizer PFE 1641 13,8

Novartis NVS 719 6,0

Novo Nordisk NVO 3400 28,6

Merck MRK 1254 10,5

GlaxoSmithKline GSK 1149 9,7

Castlight Health CSLT 195 11,6

Amgen AMGN 1450 12,2

Tabela 4.1: Deleˇzi dogodkov posameznih podjetij.

(47)

4.3. TREND ISKANJA DOLO ˇCENE KLJU ˇCNE BESEDE NA GOOGLU31

4.3 Trend iskanja doloˇ cene kljuˇ cne besede na Googlu

Priljubljenost delnice ali podjetja je tretja metrika, ki smo jo uporabili v svoji raziskavi. Ne glede na tehniˇcno analizo podjetja imajo potroˇsniki ˇse vedno veliko moˇc vplivati na cene delnic. Podjetja, ki so v srediˇsˇcu medijske pozornosti, so bliˇzje potroˇsnikom in se zato ti pogosteje odloˇcajo za njihov nakup [28].

Podatke o popularnosti podjetja nudi podjetje Google na svoji strani Google trends. Tu lahko obiskovalec izbira tako med iskalnimi izrazi, kot tudi ˇcasovnimi okvirji, kot smo opisali v prejˇsnem poglavju. Google ponuja podatke o trendih za ˇcasovno obdobje od leta 2004 naprej. Prav zato smo tudi v svojem delu omejeili podatkovno zbirko za ˇcas od leta 2004 do leta 2020.

(48)
(49)

Poglavje 5

Metrike uspeˇ snosti

Pri ocenjevanju kakovosti algoritma je kljuˇcnega pomena naˇcin testiranja rezultatov. V tem poglavju se osredotoˇcamo na izbor kvalitetnih metod oce- njevanja in njihovo predstavitev. Naˇs cilj je torej izbrati metode, ki bodo pravilno ocenile, ali je predlagani algoritem kakovosten ali ne. Ker gre v naˇsem primeru za klasifikacijski problem, bodo metrike prilagojene ˇstetju pravilno razvrˇsˇcenih primerov. Statistiˇcno gledano mora algoritem doseˇci veˇc kot 50-odstotno natanˇcnost, da ga lahko oznaˇcimo kot boljˇsega od na- kljuˇcja. Poleg sploˇsnih mer ocenjevanja smo v svoje delo dodali ˇse novo mero, predlagano v ˇclanku avtorjev G. Liu-a in X. Wang-a in sicer stopnja povpreˇcnega dobiˇcka [16].

5.1 Uporabljene metrike

V statistiki se za doloˇcevanje pravilnosti razvrˇsˇcanja mnogokrat uporablja klasifikacijska toˇcnost [29]. Slika 5.1 pregledno prikaˇze delitev razvrˇsˇcenih podatkov. Krog ponazarja podatke, ki jih je algoritem razvrstil kot pozi- tivne, leva stran podatkov so vsi pozitivni podatki. Optimalni izid se zgodi, ko napovedni model pozitivno razvrsti vse podatke, ki jih najdemo levo od sredinske premice.

Pomeni oznak so predstavljeni na Sliki 5.1, in sicer:

33

(50)

Slika 5.1: Pravilnost napovedovanja

• TP - pravilno razvrˇsˇceni pozitivni primeri (angl. True Positive),

• TN - pravilno razvrˇsˇceni negativni primeri (angl. True Negative),

• FP - negativni razvrˇsˇceni kot pozitivni primeri (angl. False Positive),

• FN - pozitivni razvrˇsˇceni kot negativni primeri (angl. False Negative).

(51)

5.1. UPORABLJENE METRIKE 35

5.1.1 Klasifikacijska toˇ cnost

Klasifikacijska toˇcnost se izraˇcuna po enaˇcbi Acc = T P +T N

T P +F P +T N +F N,

kot koliˇcnik vsote vseh pravilno razvrˇsˇcenih z vsemi podatki skupaj. S tem dobimo deleˇz pravilno napovedanih primerov.

Za potrebe svojega dela smo zgornjo enaˇcbo pretvorili v izvrˇsljiv mate- matiˇcni izraz

Acc(x, y) = 1 n

n−1

X

i=1

I(xi, yi).

Funkcija I je definirana kot

I(a, b) =

1, ˇce a=b 0, sicer.

5.1.2 Priklic

Priklic je v naˇsi raziskavi veliko pomembnejˇsa metrika kakor klasifikacij- ska toˇcnost, ker pove, kolikokrat je bila rast cene pravilno napovedana. V sploˇsnem je sicer moˇzno ustvarjati zasluˇzek tudi v primerih, ko cena pada, vendar se naˇs sistem osredotoˇca le na trgovanje z delnicami in ne drugimi finanˇcnimi instrumenti. Priklic se izraˇcuna kot koliˇcnik med pravilno napo- vedanimi pozitivnimi primeri in vsemi pozitivnimi primeri po enaˇcbi

Rec= T P T P +F N.

5.1.3 AUC in ROC krivulja

ˇSe ena zelo pomembna metrika je ROC (angl. Receiver operating characte- ristic curve). Ta je predstavljena kot krivulja, ki prikazuje uspeˇsnost modela pri razliˇcnih pragih. Prag je meja, ki doloˇca ali bomo instanco razvrstili kot

(52)

Slika 5.2: Primer ROC krivulje na podatkih iz poglavja 4.

pozitivno ali negativno. Krivulja torej pri razliˇcnih vrednostih praga izraˇcuna koliko instanc je sistem razvrstil pravilno in koliko ne. Torej namesto, da uporabimo prag 0,5, iteriramo ˇcez vrednosti med 0 in 1. Ta postopek po- novimo tolikokrat, kolikor imamo testnih primerov. Dobljene vrednosti nato uporabimo za izraˇcun senzitivnosti in specifiˇcnosti. Z njuno pomoˇcjo lahko izriˇsemo ROC-krivuljo. Za primer smo dodali primer ROC-krivulje naˇsega modela, prikazanega na sliki 5.2. Enaˇcba za priklic je podana v prejˇsnem odstavku, medtem ko se specifiˇcnost izraˇcuna po enaˇcbi

Spec = F P F P +T N.

Tudi ko imamo ROC-krivuljo ˇze izraˇcunano, nam ta sama po sebi ne pove veliko. Da bi jo lahko uporabili pri primerjavah, potrebujemo neko

(53)

5.1. UPORABLJENE METRIKE 37

preprostejˇso metriko. V ta namen uporabimo AUC (angl. area under the curve), katerega izraˇcunamo kot ploˇsˇcino povrˇsine med ROC-krivuljo in x- osjo. Veˇcja, kot je povrˇsina, uspeˇsnejˇsi je model. AUC si lahko predstavljamo kot verjetnost, da model razvrsti nakljuˇcno pozitivno instanco viˇsje kot na- kljuˇcno negativno [30]. Da bi bil AUC ˇcim veˇcji, si torej ˇzelimo najti krivuljo, ki je moˇcno konveksna.

Postopek izraˇcuna AUC je naslednji:

• Nariˇsemo graf, kjer x-os predstavlja specifiˇcnost in y-os priklic.

• Izraˇcunamo specifiˇcnost in priklic za vrednosti pragu x.

• Postopek ponovimo tolikokrat kolikor je testnih primerov.

• Vnesemo izraˇcunane vrednosti kot toˇcke v graf.

• Izraˇcunamo ploˇsˇcino pod krivuljo - AUC.

5.1.4 Stopnja povpreˇ cnega dobiˇ cka - MPR

Kot zadnjo metriko smo uporabili metriko, ki je uporabna le pri raˇcunanju kakovosti modela, ki sluˇzi ustvarjanju dobiˇcka. Kot je ˇze opisano v poglavju 2, je ta metrika poskus dopolnitve slabosti, ki imajo klasiˇcne statistiˇcne metrike.

MPR je bil razvit posebej za razvrˇsˇcanje trenda delnic, zato smo se odloˇcili, da ga vkljuˇcimo tudi v svoje delo. Od klasiˇcne klasifikacijske toˇcnosti se loˇci po stopnji dobiˇcka oznaˇcenega z r. Ta nam pove, kolikˇsen je bil dobiˇcek pri neki napovedi. Enaˇcba za izraˇcun MPR je torej

M P R= 1 n

n

X

i=1

I(xi, yi)∗ |ri|.

V enaˇcbi n predstavlja velikost testnega vzorca inxi napoved trenda cene za instanco i. Vrednost je lahko 1, ˇce se cena dvigne in 0 ˇce pade. Podobno je tudi pri yi, ki predstavlja dejansko vrednost in ne izraˇcunane. I(x,y) je funkcija, ki vrne 1, ˇce sta vrednosti obeh elementov enaki in ˇce nista 0.

(54)

Rezultat na koncu ˇse pomnoˇzimo s stopnjo dobiˇcka, ki je podan kot deleˇz za koliko se cena delnice spremeni v enem dnevu.

S pomoˇcjo ˇclena stopnje dobiˇcka so bolje nagrajene napovedi, ki so gene- rirale veˇcji dobiˇcek.

Za primer vzemimo delnico, katere cena se je tri zaporedne dni dvignila za 1 % in ˇcetrti dan padla za 20 % , kot je opisano v tabeli 5.1. Podana sta tudi dva algoritma, ki za vsak naslednji dan ocenita ali se bo cena dvignila ali bo padla. Prvi algoritem vedno izbere, da se bo cena dvignila in drugi da bo vedno padla. ˇCe bi kot mero uspeˇsnosti vzeli klasifikacijsko toˇcnost, bi bil v tem primeru kot boljˇsi algoritem izbran prvi, saj bi bila ocena klasi- fikacijske toˇcnosti algoritma 1 0,75 in algoritma 2 0,25. ˇCe pa si pogledamo dobiˇckonosnost prvega algoritma, vidimo, da je na koncu iz 10 evrov ustvaril skoraj 18-odstotno izgubo, kar je veliko slabˇse, kot ˇce bi upoˇstevali algoritem 2 in sploh ne investirali v to delnico. Pri delnicah je torej zelo pomembno, kakˇsen je konˇcni dobiˇcek, ne samo pravilna napoved gibanja cen. Predlagana metrika bi v primerjavi s toˇcnostjo za prvi algoritem vrnila oceno 0,01 in za drugi algoritem 0,067. MPR bi torej v tem primeru raje izbral algoritem 2, ker bi ta generiral veˇcji dobiˇcek oziroma manjˇso izgubo.

Dan1 Dan2 Dan3 Dan4 Dan5

Cena 10 10,1 10,201 10,30301 8,242408

Stopnja dobiˇcka 1 % 1 % 1 % -20 % -

Trend cene 1 1 1 -1 -

Algoritem 1 1 1 1 1 -

Algoritem 2 -1 -1 -1 -1 -

Tabela 5.1: Primer rezultatov razliˇcnih algoritmov za ocenjevanje toˇcnosti napovednega modela.

V svoji raziskavi smo to metriko malce prilagodili. Algoritem namreˇc ne zasluˇzi niˇcesar, ˇce pravilno predvidi, da bo cena padla, ker smo ga obli- kovali na naˇcin, da trguje le z delnicami. V primeru, da bi trgovali tudi

(55)

5.2. SIMULACIJA TRGOVANJA 39

z drugimi vrstami vrednostnih papirjev, kot na primer, da bi kot moˇznost uporabili prvotno obliko MPR. Poslediˇcno nas zanima samo, kolikokrat je metoda pravilno napovedala rast cene. Podobno kot pri priklicu smo torej kot n vzeli ˇstevilo pozitivnih primerov in ga primerjali s ˇstevilom pravilno pozitivno napovedanih primerov.

5.2 Simulacija trgovanja

V teoriji lahko vsak sistem deluje brezhibno, medtem ko se v praksi zelo hitro pokaˇzejo nepravilnosti. Dobljeni sistem moramo zato vedno simulirati ˇse na dejanskih podatkih. Naˇs sistem se osredotoˇca na raˇcunanje verjetnosti, ali bo cena delnice padla ali narasla. V praksi to ni dovolj, ker potrebujemo ˇse ogrodje, ki bo izvajalo transakcije pod doloˇcenimi pogoji. Pri tem moramo biti zelo pazljivi, da trgovalnega simulatorja ne prilagajamo preveˇc podat- kom, saj lahko pride do prilagajanja v popolnost (angl. overfitting). S tem sicer lahko dobimo boljˇse rezultate na svojih testnih podatkih, vendar bi na drugih bili rezultati veliko slabˇsi. Cilj simulatorja je torej prikazati delova- nje sistema na kar se da objektiven naˇcin. ˇSe vedno je zgradba simulatorja zelo odvisna od tipa in delovanja algoritma. V naˇsem primeru algoritem ve- dno kupi in ˇcez sedem dni proda vse delnice. ˇCe bi razvili algoritem, ki bi vkljuˇceval tudi razprˇsitev portfelija, bi bil naˇs simulator nezadosten. V tem primeru bi bilo treba raˇcunati tudi koliko in katere delnice kupovati. Izbira delnic ni trivialna teˇzava, saj je treba najti ravnovesje med razprˇsenostjo in tveganji.

Naˇs trgovalni sistem je zgrajen na osnovi napovednega algoritma. Ker ta potrebuje podatke o ceni delnice tri dni po objavi novice, tudi simulator deluje po tem naˇcelu. Na zaˇcetku sistem preveri, ali je bila na strani podjetja objavljena novica. ˇCe se izkaˇze, da je podjetje dodalo novo objavo, simulator za to novico poˇcaka tri dni in medtem nadaljuje z iskanjem drugih novic. Za trodnevni odmor smo se odloˇcili, ker so tudi v drugih raziskavah avtorji ugotovili, da se velikokrat vpliv novice pojavi ˇsele po treh dneh [17]. Po

(56)

preteklih treh dneh v napovedni algoritem vnesemo vse potrebne parametre, in sicer:

• predprocesirani podatki o ceni delnice za 14 dni pred objavo novice,

• podatki o ceni delnice tri dni po objavi novice in

• stopnja priljubljenosti podjetja v Googlu.

Naˇsa metoda nato vrne rezultat v obliki verjetnosti, da se bo cena dvi- gnila. ˇCe ta verjetnost ni vsaj 80-odstotna, algoritem ne opravi transakcije.

V nasprotnem primeru simulator vloˇzi celoten znesek, ki ga ima na voljo v to podjetje. Za verjetnost 80 odstotkov smo se odloˇcili na temelju analiz, opi- sanih v naslednjem poglavju. Te delnice simulator drˇzi sedem dni, nato jih proda ne glede na spremembo cene. Na tej toˇcki smo zopet priˇsli do zaˇcetne toˇcke simulatorja, in sicer preverjanje stanja objav podjetja, kot je opisano v diagramu 5.3.

Svoj simulator smo zasnovali na naˇcin, da deluje ˇcimbolj preprosto in zah- tevnejˇse dele prepusti napovednemu modelu. S tem smo minimalno posegali v delovanje sistema in konˇcne rezultate, ter s tem ohranili objektivnost.

Poudariti je treba ˇse stroˇske, ki so povezani s trgovanjem. V zadnjih letih je dnevno trgovanje postalo veliko bolj razˇsirjeno. K temu je pripo- moglo predvsem uveljavljanje preprostih aplikacij za trgovanje, ki omogoˇcijo trgovanje kar preko mobilnega telefona. S tem se delo borznih posredni- kov znatno zmanjˇsa, kar za konˇcnega uporabnika pomeni manjˇse stroˇske.

Doloˇcitev fiksnega stroˇska vsake transakcije je poslediˇcno zelo zahtevna na- loga, saj razliˇcni borzni posredniki zaraˇcunavajo razliˇcne zneske. Najveˇckrat pa je stroˇsek transakcije kar fiksen in znaˇsa nekje 1 evro na transakcijo.

V rezultate napovedi tega stroˇska nismo vkljuˇcili zato, ker nekateri posre- dniki za doloˇceno ˇstevilo transakcij ne zaraˇcunavajo transakcij in zato, ker je deleˇz stroˇska odvisen od vloˇzenega denarja. Poleg tega se stroˇski ves ˇcas spreminjajo, kar pomeni, da z doloˇcitvijo fiksnega stroˇska izgubimo moˇznost primerjave sistema s starejˇsimi modeli.

(57)

5.2. SIMULACIJA TRGOVANJA 41

Slika 5.3: Diagram izvajanja simulatorja trgovanja.

(58)

Za razliko od stroˇskov transakcij, je kapitalski dobiˇcek stroˇsek, kateremu se ne moramo izogniti. Ta je v Sloveniji v letu 2020 znaˇsal 25 % od razlike med investiranim zneskom in konˇcnim zneskom [31], ter se izraˇcuna po enaˇcbi

Davek= (Ik−Iz)∗0,25,

kjer Iz predstavlja znesek zaˇcetne investicije inIK znesek konˇcne investi- cije.

Dohodke od trgovanja vrednostnih papirjev je treba prijaviti na finanˇcni urad na koncu leta in se obraˇcuna sredi naslednjega leta. Za poenostavitev smo stroˇsek davka odˇsteli ob koncu leta.

(59)

Poglavje 6

Analiza rezultatov

Cilj poglavja analiza rezultatov je preveriti, kako dober je predstavljen model v praksi. Za dosego cilja smo morali zdruˇziti vsa ˇze predstavljena poglavja v eno. V svoj algoritem, predstavljen v poglavju 3, smo vnesli podatke iz poglavja 4. Za dobljen model smo nato izraˇcunali uspeˇsnost na temelju metrik predstavljenih v poglavju 5. V tem poglavju bomo dobljene rezultate tudi predstavili. Na koncu bomo poskuˇsali oceniti, ali sistem dela to, za kar je bil zgrajen, in sicer ustvarjanje pozitivnih donosov.

6.1 Primerjava podobnih metod napovedova- nja po klasifikacijski toˇ cnosti

Pri analizi je zelo pomembno, da dobljenih rezultatov ne interpretiramo samo na temelju zgrajenega modela, temveˇc jih primerjamo z ˇze obstojeˇcimi mo- deli. Naˇs sistem lahko dosega zelo visoko toˇcnost, vendar ˇce so za neki pro- blem tovrstni rezultati standard, nismo dosegli niˇcesar. ˇZal sploˇsne metode za primerjanje rezultatov metod napovedovanja ni. Razlog tiˇci v razliˇcnih na- ravah napovedovanj. Nekateri modeli se ukvarjajo z napovedovanjem toˇcne vrednosti delnice naslednji dan, drugi s klasifikacijo trenda naslednji mesec.

Kljub temu imajo vsi tovrstni sistemi enak cilj, in sicer ustvarjanje dobiˇcka.

V tabeli 6.1 je predstavljenih nekaj najboljˇsih algoritmov na podroˇcju na- 43

(60)

Avtor Vir podatkov Metoda Natanˇcnost

Bollen, Mao [32] Twitter SOFNN 87,6 %

Naˇs sistem Objave za javnost Nakljuˇcni gozd 85,2 %

Li [13] Podatki o delnicah LSTM 83,8 %

Arevalo [33] Trend delnic DNN 81,0 %

Mittal [34] Twitter SOFNN 75,5 %

Shah [10] Moneycontrol NLP 70,5 %

Si [35] Twitter DPM model 68,0 %

Hagenau [8] Nemˇske novice SVM 65,1 %

Schumaker[36] Novice iz ZDA SVM 58,2 %

Muntermann [37] Nemˇske novice SVM 56,5 %

Peng [9] Finanˇcne novice DNN 52,4 %

Tabela 6.1: Primerjava algoritmov po klasifikacijski natanˇcnosti.

povedovanja na osnovi novic. Nekateri modeli dosegajo zelo visoke toˇcnosti, vendar moramo pri rezultatih upoˇstevati razliˇcno naravo modelov. Vseeno lahko vidimo, da se naˇs sistem uvrˇsˇca med najboljˇse po natanˇcnosti. Boljˇsi je le model, ki uporablja samo-organizujoˇce se mehke nevronske mreˇze na novicah s Twitterja. V zadnjih letih se je politika dostopa do zgodovinskih podatkov Twitterja moˇcno spremenila in zato dostopa do teh podatkov veˇc nimamo. Kljub temu veliko predlaganih modelov uporablja podatke s soci- alnih omreˇzij in dosega dobre rezultate, torej tudi ti podatki nosijo veliko napovedno moˇc.

Za potrebe svoje raziskave smo izvedli tudi primerjavo razliˇcnih metod strojnega uˇcenja predstavljeni v tabeli 6.2, da najdemo tisto, ki vraˇca naj- boljˇse rezultate. Izkaˇze se, da nakljuˇcni gozd na testni mnoˇzici, predstavljeni v poglavju 4, vraˇca najboljˇse rezultate. Ti dosegajo klasifikacijsko toˇcnost do 85 %. Zanimivo je tudi dejstvo, da razliˇcni tipi nevronskih mreˇz, kot napri- mer LSTM in NN, vraˇcajo znatno niˇzje toˇcnosti, in sicer 54 % in 64 % . To so najboljˇse toˇcnosti, ki so jih metode dosegale pri razliˇcnih vrednostih para-

(61)

6.2. PRIMERJAVA METOD INVESTIRANJA 45

Ime metode Klas. toˇcnost Natanˇcnost Priklic

Nakljuˇcni gozd 0,856 0,856 0,854

Odloˇcitveno drevo 0,807 0,808 0,807

Nevronska mreˇza 0,642 0,640 0,642

Logistiˇcna regresija 0,6 0,603 0,6

LSTM 0,547 0,551 0,512

SVM 0,527 0,522 0,527

Tabela 6.2: Primerjava razliˇcnih algoritmov

metrov. Kot je ˇze omenjeno v poglavju literatura, SVM v sploˇsnem ne vraˇca kakovostnih rezultatov, kar se kaˇze tudi pri naˇsi analizi. Kot zadnjo smo za referenco dodali ˇse logistiˇcno regresijo, ki prav tako ni dosegala zadostne natanˇcnosti.

6.2 Primerjava metod investiranja

V diagramu 6.1 smo dodali ˇse primerjavo po dobiˇckih. Med trgovalne stra- tegije smo dodali investicijo v SP500, kot de fakto tip investicije, ”kupi in drˇzi”ˇcez celotno obdobje in metodo, predlagano s strani Ding-a [3]. Slednja predstavlja eno izmed veˇcjih napredkov na podroˇcju napovedovanja na osnovi dogodkov. Na zaˇcetku je treba poudariti, da je bil ˇcas naˇse testne mnoˇzice med leti 2018 in 2020 za gospodarstvo zelo slab. Veliko delnic, med katerimi sta naprimer Pfizer in Abbvie, je v tem ˇcasu izgubilo vrednost. Poslediˇcno je primerjava z alternativnimi strategijami zelo teˇzka. Na primer, med leti 2018 in 2020 je SP500 pridobil le 25 %, kar je veliko manj od povpreˇcnih 11 % letno [38]. Ko torej primerjamo metode, je treba upoˇstevati tudi ta dejavnik. Metoda 4 ima torej tako visok donos, ker smo uporabili rezultate analize, ki so bili storjeni na testni mnoˇzici iz ˇcasovnega intervala med 22.

2. 2013 in 21. 11. 2013. V tem ˇcasu je SP500 narasel za kar 72 %. ˇCe bi torej dobiˇcke svoje raziskave normalizirali na osnovi takˇsne gospodarske

(62)

rasti, bi se naˇs dobiˇcek znatno poveˇcal. Realni zasluˇzek algoritma 4 bi bil tako nekje 1000 evrov. Kot vidimo je torej naˇs algoritem od alternativ veliko bolj dobiˇckonosen tudi v ˇcasu, ko gospodarstvo stagnira.

Algo1 Algo2 Algo3 Algo4

0 1.000 2.000 3.000 4.000 5.000 6.000

100 300

5.000

6.000

Strategija

Dobiˇcek

Slika 6.1: Primerjava algoritmov po zasluˇzkih.

V grafu 6.1 predstavljajo

• Algo1 strategijo kupi in drˇzi,

• Algo2 investicijo v sklad SP500,

• Algo3 uporabo naˇse metode in

• Algo4 uporabo algoritma Ding-a iz leta 2014 [3].

V tabeli 6.3 so predstavljeni rezultati v odvisnosti od mejne vrednosti algoritma. Mejna vrednost je prag, ki ga doloˇcimo vnaprej in se nanaˇsa na verjetnost, da bo doloˇcena instanca pozitivna. Na primer, podjetje Pfizer se je odloˇcilo delniˇcarjem zviˇsati dividende za 10 %. Naˇs algoritem nato na temelju parametrov odloˇci, da se bo ˇcez sedem dni cena dvignila z 80-odstotno

(63)

6.2. PRIMERJAVA METOD INVESTIRANJA 47

verjetnostjo. ˇCe je naˇs prag niˇzji od 0,8, bo sistem opravil nakup delnice podjetja Pfizer, v nasprotnem primeru bo poˇcakal na boljˇso priloˇznost. S tem, ko doloˇcimo viˇsji prag, zmanjˇsamo ˇstevilo potencialnih nakupov, vendar tudi zmanjˇsamo tveganje. Glede na to, da naˇs sistem delnice zadrˇzi za sedem dni, preden jih proda, ne potrebujemo veliko transakcij, temveˇc je pomembnejˇse da te ustvarijo visok dobiˇcek.

Meja OPT 0,5 0,6 0,7 0,8 0,9

CA 1 0,857 0,843 0,805 0,718 0,5988

Priklic 1 0,855 0,901 0,935 0,960 0,983 MPR 2,75 % 2,36 % 2,35 % 2,20 % 1,96 % 1,63 % MPR+ 2,63 % 1,48 % 2,38 % 2,40 % 2,39 % 2,18 %

Tabela 6.3: Primerjava kakovosti napovednega modela pri razliˇcnih prago- vih.

Kot je razvidno tudi iz grafa 6.2, naˇs model dosega najveˇcje donose pri mejnih vrednostih med 0,8 in 0,9 na testnih podatkih iz let 2018, 2019 in 2020. To pomeni, da naˇs sistem opravi nakup delnice samo, ˇce nakljuˇcni gozd za dane parametre vrne verjetnost, da se bo vrednost delnice poviˇsala, vsaj 80 % oziroma 90 %. V primeru izbora previsoke vrednosti limite, se ˇstevilo transakcij znatno zmanjˇsa, prav tako tudi dobiˇckonosnost transakcij. Ta fenomen je zelo zanimiv, kajti pri viˇsji vrednosti limite, bi morale transakcije imeti viˇsje donose. Razlaga za ta pojav je, da sistem z visoko verjetnostjo razvrˇsˇca dogodke, ki so zelo podobni ˇze videnim. To so torej dogodki, ki so se zgodili ˇze velikokrat. Vˇcasih pride tudi do objave dogodka, ki je zelo redek, na primer nakup konkurenˇcnega podjetja. Tovrstni redkejˇsi dogodki imajo zelo velik vpliv na ceno in jo dvignejo tudi za 10 %. Takˇsne dogodke torej sistem ne razvrˇsˇca kot pozitivne z verjetnostjo nad 0,9, ker jih v uˇcni mnoˇzici ni bilo, kar zmanjˇsa donosnost transakcije.

Reference

POVEZANI DOKUMENTI

Prispevek razkriva zgolj vrhnje plasti sicer kompleksnega vprašanja povojne ureditve Evrope in predstavlja odzive Slovencev na idejo Richarda Nicolasa Coudenhove-Kalergija

Sesta teˇ ˇ zava z ustreznim prioritiziranjem zahtev je prav tako reˇsena ˇ ze z vodenjem skupnega seznama zahtev ter umeˇsˇ canjem novih zahtev na ta seznam. Tako ˇ ze v ˇ

Mnenja prebivalcev o oddaljenosti Zemlje od Sonca na različnih poloblah so ob istem trenutku lahko povsem različna, saj bi tako na severni polobli trdili, da je Zemlja najdlje od

Ugotavljala sem, kateri stili ustvarjalnega reševanja problemov so značilni za specialne in rehabilitacijske pedagoge ter značilnosti ugotovljenih stilov glede

Z vprašanji o podobnostih in razlikah med rastlinami in živalmi, o lastnostih živih bitij ter o potrebah živih bitij za življenje se slovenski otro- ci srečujejo že v

Pri pouku je zato bolje reči, da imajo snovi različno prevodnost, kot pa da jih delimo na prevodnike in izolatorje, ali da imajo snovi različ- no gostoto, kot pa da jih delimo na

Koncept problemsko zasnovanih znanstvenih srečanj, kakršnega predstavlja tudi kon- ferenca EURORURAL, je izjemno zanimiv predvsem za vse raziskovalce, ki se z vidika svoje

Natančnost določanja sentimenta smo evalvirali na vzorcu 600 besedil (Fišer et al. 2016), v katerega smo vključili po 120 besedil iz vsake vrste besedil v korpusu,