Inteligență artificială și învățare automată în procesele financiare [608067]
Inteligență artificială și învățare automată în procesele financiare
Blendica Vlad
Universitatea Transilvania din Bra șov
Facultatea de Stiințe Economice și Administrarea Afacerilor
Rezumat
Obiectivul acestei comunicări este acela de a analiza tehnici de predicție a bursei (piața de capital).
Lucrarea va oferi o scurtă introducere în lumea inteligenței artificiale folosite în analiza si predicția pieței de
capital, arhitecura si fluxul de fun cționare a acesteia. Se va prezenta principiul învățării automate si se va
exemplifica ap licativ intr -un studiu de caz. Vor fi parcurse trei abordari ale problemei, precum a naliza
fundamentală, Analiza Tehnică si aplicarea Învățării automate folosind tehnologii moderne.
Cuvinte cheie: inteligență artificială, învățare automată, piață de capital
Summary
The purpose of this communication to analyze stock market prediction te hniques. The paper will provide a
brief introduction into the world of artificial intelligence used in the analysis and prediction of the stock market, its
architecture and workflow. The principle of Machine Learning will be presented and exemplified in a case study.
There will be three approaches to the problem, such as fundamental analysis, technical analysis, and application of
machine learning using modern technologies.
Keywords: Artificial intelligence, machine learning stock market
1. Introducere
Previzionarea diverselor fenomene din societate și din natură a fost una din preocupările
oamenilor încă din antichitate. Însă cele mai importante descoperiri științifice legate de
previzionare și predicții au fost făcute din anii 1960 până în prezent. Și odată cu apariția
calculatoarelor, s -a inceput studierea modelelor computerizate, care să genereze predicții, având
la bază algoritmi construiți după modele matematice sau seturi de reguli folosite de experți.
În a doua jumătate a secolului XX a început să se dezvolte și o nouă ramură a informaticii
– inteligența artificială. Aceasta include și studiul învățării automate – o serie de algoritmi și
metode care evoluează în funcție de datele empirice primite. Problemele în care se cer predicții
s-au dovedit a fi ușor de transformat în probleme de învățare automată.
Încă de la începuturile existenței pieței de capital prezicerea ei a fost scopul tuturor
investitorilor. În fiecare zi, la bursă sunt tranzacționați miliarde de dolari, iar in spatele fi ecărui
dolar stă câte un investitor care speră să genereze profit intr -un fel sau altul. Un număr mare de
companii cad si se ridică zilnic bazat pe comportamentul pieței. Dacă un investitor ar avea
abilitatea de a prezice cu acuratețe mișcările pieței, ar fi predispus la bogație si influență. Întrucât
în numeroase situații informațiile care lipsesc sunt legate de evenimentele care încă nu au avut
loc, se caută modalitați de a prezice anumite fenomente care sunt relevante pentru situațiile in
cauză sau de a estima rezultatele unor evenimente despre care nu se știe in ce fel vor avea loc.
2. Inteligența artificială si învățarea automată
Ce este inteligența artificială?
Inteligența artificială , sau IA, este o ramură a informaticii cu ajutorul căreia se încearcă
construirea de sisteme informatice inteligente, care sunte capabile de a învăța noi concepte și
deduce output -uri bazate pe acestea. Termenul de inteligență artificială a fost pentru prima dată
folosit în anul 1955 de John McCarthy. Acesta defi nea IA drept “știința și ingineria construirii
mașinilor inteligente “. Inteligența artificială ia amploare in 1980, fapt datorat sistemelor expert
pentru asistarea deciziilor.1 Inteligența artificială poate fi folosită pentru a îmbunatații anumite
procese financiare sau pentru a le oferi extra funcționalitate. Pe plan economic I.A. este cel mai
mult folosită in industriile bancare si în analiza a diverse piețe.
Ramuri ale inteligenței artificale.
Scopurile de baza ale cercetării in IA sunt evidențiate de subdomeniile acesteia. Printre
acestea se numară: Prelucrările simbolice, Reprezentarea cunoașterii, Raționament automat si
demonstrarea teoremelor, Procesarea limbajulu i natural, Vederea artificială, Robotică.
Principalela ramură de I.A. folosită în finanț e este Învățarea automată (Machine Learning)2 3
Învățare automată (Machine learning)
Unul din sub -domeniile de bază ale inteligenţei artificiale si de asemenea sub-domeniul
folosit pentru predicția pieței de capital , se preocupă cu dezvoltarea de algoritmi şi metode ce
permit unui sistem informatic să înveţe date, reguli sau algoritmi . Învăţarea automată presupune
în primul rând identificarea şi implementarea unei modalităţi cât mai eficiente de a reprezenta
informaţii, în sensul facilitării căutării, reorganizării şi modificării lor. Alegerea modului de a
reprezenta aceste date ţine atât de concepţia generală asupra modului de rezolvare a problemei,
cât şi de caracteristicile datelor cu care se lucrează.
Învăţarea nu se poate face pe baza unui set foarte mare de cunoştinţe, atât din cauza
costurilor mari presupuse de acumularea unor baze de informaţii mari cât şi din cauza
complexităţii memorării şi prelucrării unui volum mare de informaţii . În acelaşi timp însă,
învăţarea trebuie să ducă la formularea de suficiente “reguli” atât cât să permită rezolvarea unor
probleme dintr -un spaţiu mai larg decât cel pe baza căruia s-a făcut învăţarea. Adică, învăţarea
trebuie să îmbunătăţească performanţa unui sistem nu doar în rezolvarea repetată a unui acelaşi
set de probleme , ci şi în rezolvarea unor probleme noi. Acest lucru presupune o generalizare a
unei metode de rezolvare pentru a acoperi un număr cât mai mare de instanţe posibile , dar şi
păstrarea unei specializări suficiente pentru a fi identificate corect instanţele acceptate. Aceasta
se poate face fie inductiv , generalizând o problemă plecând de la un set de exemple, fie deductiv ,
plecând de la o bază de cunoştinţe suficiente asupra universului problemei şi extrăgând date şi
reguli esenţiale. Pentru a putea face acest lucru , un algoritm de învăţare trebuie să fie capabil să
selecteze acele elemente semnificative pentru rezolvarea unei instanţe viitoare a problemei .
Aceasta alege re se face pe baza unor criterii de selecţie numite diagonale inductive . Învățarea
automată cuprinde două subdomenii generale, anume învățarea supervizată si învățarea
nesupervizată, lucrarea v -a cuprinde doar Învățarea supervizată deoarece este obiectul principal
folosit in predicția bursei.
1 Russel S. J., Norvig P., (1995). Artificial Intelligence: A Modern Approach , Prentice Hall, New Jersey,
pp. 4 -8, 567 -570.
2 Cristea D., Pistol I., (2011). Inteligența Artificială , Facultatea de Informatica, Univ. Al. I. Cuza, Iași,
pp.1.
3 Mitchell T., (1997). Machine Learning , McGraw -Hill, March , pp.1, 81 -96, 262 -266.
O altă componentă esenţială a unui algoritm de învăţare este metoda de verificare , o
metodă capabilă să confirme dacă generalizările făcute sau regulile deduse se apropie mai mult
de soluţia ideală decât starea anterioară a sistemului. Studiul învăţării automate a dus la
descrierea a numeroase metode , variind după scop, date de antrenament , strategia de învăţare şi
modalitatea de reprezentare a datelor 4.
Specificarea unei metode de învăţare automată presupune definirea următoarelor date:
scopul metodei şi baza de cunoştinţe necesară;
formalismul de reprezentare a datelor utilizate şi a celor învăţate;
un set de operaţii asupra datelor disponibile şi învăţate;
spaţiu general al problemei în care se va specifica soluţia;
opţional, reguli euristice pentru căutarea în spaţiul problemei.
Învățare supervizată
Învățarea supervizată este un tip de învățare automată prin care se induce o funcție dintr –
un set de date cu valori dej a atribuite. Cu alte cuvinte, este formalizarea învățării din exemple. În
cadrul învățării supervizate, programul are la dispoziție două seturi de date: un set de date de
antrenament și unul de test. Ideea constă în faptul că programul să învețe dintr -un set de exemple
cu etichete cunoscute din setul de antrenament pentru a identifica exemplele neetichetate din
setul de test cu o acuratețe cât mai mare.
Un algoritm de învățare supervizată analizează datele de antrenament și produce o
funcție, care este num ită funcție de clasificare dacă datele de ieșire sunt dintr -o mulțime discretă
sau funcție de regresie dacă datele de ieșire aparțin unei mulțimi continue. Funcția produsă ar
trebui să prezică cât mai bine valorile de ieșire pentru orice obiect de intrare valid. Acest lucru
cere de la algoritmulde învățare să generalizeze de la datele de antrenament la orice date de
intrare din mulțimea indicată în problemă.
Astfel, pentru a rezolva o problemă de ML, trebuie întreprinși următorii pași:
Precizarea tipului de exemple de antrenament.
Colectarea unui set de date de antrenament.
Determinarea unei reprezentări potrivite pentru datele de intrare a funcției învățate.
Deciderea asupra structurii funcției învățate și a algoritmului de învățare corespunzator.
Execuția algoritmului pe setul de date de antrenament ales.
Evaluarea acurateții funcției învățate, folosind un set de date de test.
Învățarea supervizată este abordată in sistemele de predicție financiară deoarece se pot
folosi datele istorice ale bursei unei sau mai multor companii ca și model de învățare dar in
accelaș timp si de testare, având un anumit target a datelor de ieșire atribuit de către o persoană
(Ex. Dacă prețul se modifică cu X in Y zile atunci este recomandat output -ul Z).
3. Sisteme predictive int eligente în finanțe
Studiul care se ocupă cu sistemele predictive este analiza predictivă. În acest capitol se
vor prezenta aspecte generale legate de analiza predictivă și modalități prin care se pot aplica
tehnici de învățare automată pentru a co nstrui sisteme predictive pentru finanțe. Analiza
4 Cristea D., Pistol I., (2011). Inteligența Artificială , Facultatea de Informatica, Univ. Al. I. Cuza, Iași, pp.
5-10, 166 -170.
predictivă poate fi folosită pentru a construi modele de clasificare și modele de regresie, dar în
această lucrare se pune accentul pe modelele de regresie.
Analiza predictivă este un domeniu al analizei statistice care se ocupă cu extragerea
informațiilor din date și folosirea acestora pentru a prezice comportamentul unor fenomene din
viitor. Cuprinde tehnici statistice din învățare automată, data mining, teoria jocurilor, care
analizează evenimente curen te și din trecut pentru a face predicții despre evenimente din viitor.
Daca multimea datelor de ieșire este continuă, atunci modelul este de regresie.
Din punct de vedere al afacerilor, analiza predictivă este vazută ca un set de tehnici de
business intell igence (BI) prin care se caută descoperirea unor relații și șabloane în volume mari
de date care pot fi folosite pentru a prezice comportamente și evenimente. Spre deosebire de alte
tehnici de BI, analiza predictivă este anticipativă, folosind evenimente d in trecut pentru a
anticipa viitorul5.
Analiza predictivă este considerată mai mult decât doar statistică. Regresia liniară și
logistică – tehnici clasice din statistică – încă sunt folosite pe larg în modelele predictive de azi și
aproape toți modelatorii analitici folosesc statistica descriptivă (medie, mod, mediana, deviația
standard, histograme) pentru a înțelege natura da telor care trebuie analizate .
Însă descoperirile din informatică și tehnologie au facut posibil să se folosească o clas ă
mai largă de tehnici predictive, cum ar fi: arbori de decizie, rețele neuronale, algoritmi evolutivi,
mașini cu suport vectorial și alți algoritmi matematici. Aceste noi tehnici se folosesc de puterea
de lucru tot mai mare a calculatoarelor pentru a face calcule complexe care de multe ori necesită
parcurgeri multiple ale setului de date. Ele sunt modelate, astfel încât să ruleze cu volume mari
de date, cu multe variabile. De asenemenea, sunt gândite să gestioneze zgomotul din date cu
diverse anomalii care ar face probleme modelelor tradiționale.
Indiferent de metodă, majoritatea proceselor pentru a crea modele pred ictive includ
următorii pași6:
Definirea proiectului: Definește obiectivul și rezultatele așteptate pentru un anumit
proiect, acestea fiind tr aduse în obiective și sarcini din analiza predictivă.
Explorare: Analizează sursa de date și determină cel mai potrivit set de date și cea mai
bună abordare pentru a construi modelul.
Pregătirea datelor: Selectează, extrage și transformă datele care vor fi folosite pentru
crearea modelului.
Construirea modelului: Creează, testează și validează modelul. Evaluează cât de bine
acesta satisface cerințele proiectului.
Exploatare: Aplică rez ultatele modelului în deciziile și procesele de business care sunt
studiate.
Gestiunea modelului: Gestionează și întreține modelele construite pentru a îmbunătăți
performanța, a promova reutilizabilitatea și a minimiza activitățile redundante.
Unul din ti purile de modele de regresie care sunt obținute în urma analizei predictive sunt
modelele bazate pe serii de timp. O serie de timp este o secvență de puncte de date, de obicei
măsurate la intervale egale de timp, precum Piața de capital.
5 Mitchell T., (2006). Discipline of Machine Learning , Universitatea Carnegie Mellon, Pittsburgh,
pp. 1 -3.
6 Ibidem , pp.1-3.
4. Studiu de caz – Aplicație de predicție și asistarea deciziei pentru bursă
Arhitectura sistemului, flux și obiectiv
Folosind limbajul de programare Python7 si setul de unelte(framework -ul) pentru Machine
Learning si statistică Skikit -learn8 (SKLearn), s -a dezvoltat o aplicație de asistență decizională în
investirea la bursă. În implementarea aplicației s-au folosit 3 funcții ale framework -ului
SKLearn, și anume:
1. KNeighborsClassifier – Un algoritm ce implementează c onceptul matematic si
informatic de ”cei mai apropiați vecini ai lui K”9
2. RandomForestClassifier – Un algoritm meta estimatoar ce cuprinde un număr de
ramuri de decizie ce clasifică anumite sub -seturi de date din setul întreg și calculează media
anumitor tupluri si atribute ale matricii de date10.
3. LinearSVC – Un set de metode de învățare supervizată folosite pentru regresie și
clasificare cu suport vectorial.
Subiectul experimentului este fluctuația pieței de capital a companiei Apple “AAPL” pe
două int ervale de timp, 12.04.2018 (12 aprilie) – 18.04.2018 (18 aprilie), respectiv 19.04.2018
(19 aprilie) – 26.04.2018 (26 aprilie). Obiectivul experimentului este studierea preciziei de
predicție a sistemului în contextul implementarii unui sistem neuronal art ificial ce folosește 3
arbori decizionali care au la bază funcțiile framework -ului SKLearn.
Pentru atingerea obiectivului au fost folosite ca și date de învățare si testare datele
istorice din ultimii 10 ani ale companiilor din Sp500 (printre care și subi ectul experimentului,
Apple). Datele istorice a tuturor companiilor folosite pentru experiment au fost încărcate într -o
singura matrice liniară din punct de vedere a timpului, pentru a face posibilă citirea si prelucrarea
lor cât mai eficientă.
1. Pentru a utomatizare si reducerea efortului uman, flu xul sistemului începe cu o funcț ie
care extrage tabelul care conține numele companiilor din Sp50011.
2. Urmatoarea funcție extrage meta -datele din spatele String -urilor ce contin numele
companiilor in fișiere de tip .ticker.
3. Fisierele de tip .ticker sunt date ca parametru unei funcții ce folosește API -urile12
Yahoo Finance pentru extragerea datelor istorice din ultimii 10 ani ale bursei celor 500 de
companii.
4. Datele sunt extrase și prelucrate de urmatoarea funcție, ce are rol de a alipi datele intr –
o singură matrice de tip csv,
5. Se ajunge la funcția ce reprezintă modelul de învățare, și anume intervale de câte 7
zile, începând cu prima zi a setului de date.
6. Se ajunge la funcția ce are rolul de a aplica algoritmii KNeighborsClassifier,
RandomForestClassifier și LinearCSV. Se ajunge la o interacțiune cu o alte două funcții:
7 Limbaj de programeare interpretat, funcțional, procedural și orientat pe obiecte, având o vastă amploare
in dezvoltarea aplicațiilor de Machine Learning sau Data Science.
8 Librarie gratuită de funcții și clas e create in scopul ușurării procesului de creație a sistemelor
informatice inteligente.
9 Principiul din spatele acestui algoritm este de a c ăuta un număr predefinit de mostre de testare cât mai
apropiat de următorul punct de regresie și să prezică calific ative din acestea. Numărul mostrelor de testare
poate fi atribuit definit printr -o constantă sau să varieze în funcție de densitatea locală a punctelor.
10 În cazul de față un fișier de format “Comma separated values” (.csv)
11 Extragerea a fost facută de pe website -ul en.wikipedia.org
12 Aplication programming interface – un set de funcții ce permite programarea de aplicații cu access la
facilități sau date ale altor sisteme informatice.
a. Extragerea atributelor descriptive ce defin esc setul de date (reprezentând fluctuația
prețurilor), având ca parametru modelul de învățare .
b. Funcția de deducție asupra rezultatului problemei, și anume variația valorilor cu
2%/7 zile raportat la variația din acele zile a tuturor companiilor din setul de date,
sistemul învățând tendințele de modificare a prețurilor companiei ce este o ferită ca
parametru (în acest caz Apple) din evoluția liniară a acestora în tot setul de date,
corelându -le cu modificarea prețurilor celorlalte companii din Sp500 în aceeaș
perioadă de timp.
Pe baza atributelor descriptive si funcției de deducție se fac p redicții pentru fiecare interval de 7
zile si se testează pe următorul interval de 7 zile din setul de date, Sistemul reușind sa învețe mai
mult cu cât matricea de date este mai vastă. Dacă se recomandă păstrarea acțiuniilor pentru
următoarele 7 zile pentr u fiecare subset de date funcția principală returneaza valoarea 0, dacă se
recomandă vânzarea lor se returneaza valoarea -1 iar dacă se recomandă cumpărarea de acțiuni
se returnează 1.
7. Se printează tendința generală de predicție pentru întreg setul de date, acuratețea si
predicția pentru următoarele 7 zile.
Rezultat ele obținute
A) Intervalul 12 -18 aprilie 2018
Fluctuația prețurilor primului interval de testare este repre zentată de graficul din figura 1 . În
grafic se observă o creștere susținută a prețului de la ~174 dolari la ~178,5 dolari pe o perioad ă
de 7 zile. În figura numărul 2 este prezentată predicția sistemului pentru respectivul interval de
timp.
Prin mul țimea ”Predicted spread counter” , ce are rol de scor de recomandare. Ramurile
neuronale ale sistemului a u votat 172 pentru păstrarea acțiunilor (reprezentat de cifra 0), 86
pentru vânzarea acțiunilor (reprezentat de cifra -1) si 56 pentru cumpărare (reprezentat de cifra
1). Acuratețea estimată a recomandării este de 64%.
Raportând predicția la evenimentele reale din intervalul 12 -18, se poate susține faptul ca
predicția sistemului informatic a fost una bună, fiind recomandată la diferență semnificativă
păstrarea acțiunilor pentru intervalul de timp studiat.
B) Intervalul 19 -26 aprilie 2018
Fluctuația prețurilor prim ului interval de testare este reprezentată de graficul figurii 3. În
grafic se observă o scădere abruptă a prețului de la ~172 dolari la ~167 dolari iar apoi o stagnare
constantă pentru restul intervalu lui de timp. În figura numărul 4 este prezentată predi cția
sistemului pentru respectivul interval de timp.
Ramurile neuronale ale sistemului au votat 181 pentru păstrarea acțiunilor, 94 pentru
vânzare și 39 pentru cumpărare, cu o acuratețe estimată la 57%. În cazul de faț ă recomandarea
făcută de sistem este e ronată datorată unei scaderi neasteptate a valorii acțiunilor Apple din
cauza unor controverse privind anumite produse ale companiei, fapt ce denotă ca inteligența
artificială și învățarea automată nu pot lua în considerare variabile aleatoare neprevăzute , ce pot
afecta piața.
Fig.1. Evoluția în intervalul 12 -18 aprilie 2018
Fig. 2. Recomandările pentru intervalul 12 -18 aprilie
Fig.3. Evoluția în intervalul 19-26 aprilie 2018
Fig. 4. Recomandările pentru intervalul 19 -26 aprilie 2018
5. Concluzi i
În timp ce avansul tehnologic accelerează constant, adoptarea acestuia de către om
trebuie sa prindă din urmă, în special în industria investițiilor în piața de capital. Chiar dacă
progresul tehnologic duce algoritmii de învățare automată la o marjă de eroar e din ce în ce mai
mică, asta nu înseamnă neaparat ca aceștia reflectă in totalitate si de fiecare dată realitatea. În loc
sa ne bazăm deciziile in totalitate pe puterea tehnologiei, omul ar trebui să colaboreze cu aceasta
pentru a înlătura inconsistențele și înclinările pe care inevitabil le are in procesul biologic de
gândire. Utilizarea algoritmilor de predicție pentru a dezvolta strategii optime de investire este
doar începutul pentru inteligența artificială în gestionarea proceselor economice .
Ne propunem ca a plicația informatic ă realizată să fie dezvoltată , prin implementarea unor
posibilități de reprezentare grafică, extra -parametrizare și condiționare și a unei interfețe pentru
utilizator.
Codul sursă al sistemului poate fi găsit la: https://github.com/blendicavlad/StockPredictML
Bibliografie
1. Cristea D., Pistol I., (2011). Inteligența Artificială , Facultatea de Informatica, Univ. Al. I.
Cuza, Iași .
2. Mitchell T., (1997). Machine Learning , McGraw -Hill.
3. Mitchell T., (2006). Discipline of Machine Learning , Universitatea Carnegie Mellon,
Pittsburgh .
4. Russel, S.J., Norvig P., (1995). Artificial Intelligence: A Modern Approach , Prentice Hall,
New Jersey .
5. Documentarea general ă pentru realizarea aplicației informatic e a fost făcută pe website -urile
http://scikit -learn.org/stable/documentation.html ,
https://pythonprogramming.net/
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Inteligență artificială și învățare automată în procesele financiare [608067] (ID: 608067)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
