određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

22
Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja Aleksandar Topuzović Fakultet elektrotehnike i računarstva, Zagreb 22. rujna, 2011. Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 1 / 22

Upload: aleksandar-topuzovic

Post on 29-Jul-2015

31 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Određivanje pravila trgovanja dionicama uz pomoćgenetskog programiranja

Aleksandar Topuzović

Fakultet elektrotehnike i računarstva, Zagreb

22. rujna, 2011.

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 1 / 22

Page 2: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Tržišta kapitala

Fundamentalna analizautvrđuje pravu vrijednost tvrtkepromatra razne ekonomske parametrenije pogodna za kratkoročnu analizu

Tehnička analizapraćenje trendova, cijena i obimanije važna sama cijena nego njeno kretanjepogodna za kratkoročnu analizu

Da li je moguće predvidjeti kretanje cijena?Efikasnost tržišta

slabi oblikpolujaki oblikjaki oblik

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 2 / 22

Page 3: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Tržišta kapitala

Pravilo trgovanja je algoritam koji nam govori kada kupiti a kadaprodati neki finacijski instrumentTehnička analiza koristi razne pokazatelje a pravila slijede iz odnosatih grafova

Pomični prosjekPomični prosjek konvergencije divergencijeStopa promjeneRelativni indeks snageCjenovni oscilator

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 3 / 22

Page 4: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Stohastička optimizacijska metoda iz skupine evolucijskihalgoritama

Evolucijski algoritam:1 Nasumično generiraj početnu populaciju2 Izračunaj dobrotu jedinke3 Kreiraj nove jedinke

1 Odaberi jedinku/jedinke iz populacije2 Primjeni genetske operacije (križanje, mutacija)

4 Izračunaj dobrotu novih jedinki5 Ukoliko nije dosegnut uvjet zaustavljanja idi na korak 2

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 4 / 22

Page 5: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Prikaz jedinke

Stablasti prikazADD

3 MUL

2 x

Linearni prikazniz instrukcija

Prikaz grafomsličan stablastom prikazu

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 5 / 22

Page 6: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Kreiranje početne populacije

Potpuna metoda izgradnje

Rastuća metoda izgradnje

Pola pola metoda izgradnje

kombinacija potpune metode i rastuće metode

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 6 / 22

Page 7: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Mutacija

Standardna mutacija

ADD

X 24

GT

MUL

Y 74

GT

Mutacija smanjivanjem

ADD

X 24

GT

Y

GT

Mutacija zamjenom čvora

ADD

X 24

GT

SUB

X 24

GT

Mutacija zamjenom podstabla

ADD

X 24

Y

GT

Y ADD

X 24

GT

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 7 / 22

Page 8: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Križanje

Prvi roditelj

LT

X 24

GT

Y 45

AND

Drugi roditelj

LT

56 Y

GT

Y X

OR

Dijete

LT

X 24

LT

56 Y

AND

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 8 / 22

Page 9: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Odabir

Jednostavni odabirvjerojatnost odabira proporcionalna dobroti p(i) = di∑N

j=1 dj

veće je vjerojatnost odabira jedinke sa boljom dobrotomK-turnirski odabir

K jedinki se međusobno uspoređuje te se odabire najboljaNasumični odabir

nasumično se odabire jedinka iz populacijeLeksička škrtost

isto kao i K-turnirski odabir samo što se u slučaju kad dvijejedinke imaju istu dobrotu odabire se ona koja je manja

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 9 / 22

Page 10: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Dobrota

Sirova dobrotadefinirana prirodom problemane možemo jednoznačno okarakterizirati bolje i loše jedinke

Standardizirana dobrotavrijednosti ne smiju biti manje od 0možemo izračunati iz sirove dobrotemanja vrijednost karakterizira bolju jedinku

Prilagođena dobrotaračuna se iz standardne dobrote: dp = 1

1+dsk

vrijednosti [0, 1]veća vrijednost karakterizira bolju jedinku

Normalizirana dobrotaračuna se iz prilagođene dobrote: dn =

dp∑k dpk

.

vrijednosti [0, 1]veća vrijednost karakterizira bolju jedinku

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 10 / 22

Page 11: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Genetsko programiranje

Strojno učenjeomogućuju računalima da unaprijede i poboljšaju vlastitoponašanjestabla odlukeDa li je subotnje jutro pogodno za tenis?

Vrijeme

Vlaznost

suncano

DA

oblacno

Vjetar

kisovito

NE

visoka

DA

normalna

NE

jak

DA

slab

Zbog problema prenaučenosti skup za učenje dijelimo na

skup za učenjeskup za provjeru

Kvaliteta rješenja ocjenjuje se na skupu za ispitivanjeAleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 11 / 22

Page 12: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Implementacija

OpenBEAGLEOslanja se na OO, napisan u C++konfiguracija i algoritam evolucijskog programa u XMLdatoteci

SQLiteugrađena SQL baza podataka

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 12 / 22

Page 13: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Implementacija

Čvorovi

Nezavršni (funkcijski)

Aritmetičke operacije + (zbrajanje, ADD), - (oduzimanje, SUB), *(množenje, MUL), / (dijeljenje, DIV)

Funkcije usporedbe < (manje od, LT), > (veće od, GT), = (jednako,EQ)

Logičke operacije i (AND), ili (OR), ne (NOT)Logička funkcija Ako-onda-inače (IF-THEN-ELSE)Aritmetičke funkcije prosječna vrijednost u periodu (AVG), minimalna

vrijednost u periodu (MIN), maksimalna vrijed-nost u periodu (MAX)

Financijski pokazatelji ROC, RSI, EMA, MACD, PPO

Završni (podatkovni)

Logičke konstante istina (TRUE), laž (FALSE)Cjelobrojna konstanta dana (D), kao argument AVG, MIN, MAX [0,260]Realne konstante E ([-1,1])Parametri cijena (P), količina (V)

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 13 / 22

Page 14: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Implementacija

Dobrota

zarada koja se ostvarije povrh bazne strategije

Dnevna zarada: rt = logPt − logPt−1Zarada bazne strategije: rbh =

∑Tt=1 rt + log 1−c

1+c

Zarada pravila: rr =∑T

t=1 rt I (t) + n log 1−c1+c

I (t) =

{1 na tržištu0 van tržišta

c - provizija, Pt - cijena na dan t, Pt−1 - cijena na dan t-1, n - brojtransakcija, T - broj dana trgovanjaUkupna zarada: π = er − 1Zarada povrh bazne strategije: ∆r = rr − rbhDobrota:

d = e∆r

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 14 / 22

Page 15: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Implementacija

GT

IF AVG

GT P AVG

P SUB

MAX IF

D = 349 GT MUL ABS

DIV K = 914.376

AVG ROC

D = 256 D = 152

IF ROC

LT AVG ROC

P E = 0.450821 D = 172 D = 220

D = 69

K = 438.464

D = 169

D = 147

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 15 / 22

Page 16: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Ispitivanje

Utjecaj evolucijskih parametara

Broj generacija 10, 20, 30, 50, 100, 200Veličina populacije (broj jedinki) 5, 10, 15, 20, 30Standardna mutacija 0.01, 0.05, 0.1Vremenski period (skup za učenje) 01.01.2000 do 31.12.2007Vremenski period (skup za ispitivanje) 01.01.2008 do 01.01.2011Dionica AAPL (Apple inc.)Strategija za usporedbu ’buy and hold’

Rezultati

Avg Stddev Max MinDobrota na skupu za učenje 3.2 0.99 6.96 1.01Dobrota na skupu za ispitivanje 1.21 0.17 1.7 1.01Dubina stabla 4.62 2.14 16.0 3.0Veličina stabla 12.1 17.91 159.0 4.0

Najbolji za populaciju od 200 jediniki, 30 generacija i mutaciju od 0.1Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 16 / 22

Page 17: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Ispitivanje

Utjecaj skupa za provjeru

Broj generacija 100Veličina populacije (broj jedinki) 20Standardna mutacija 0.1Dionica AAPL (Apple inc.)Strategija za usporedbu ’buy and hold’

1 Bez skupa za provjeruodabir najbolje jedinke samo na temelju dobrote na skupu zaučenje

2 Sa skupom za provjeruna kraju evolucije odabire se najbolja jedinka temeljem dobrotena skupu za provjeru

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 17 / 22

Page 18: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Ispitivanje

Bez skupa za provjeru

Vremenski period (skup za učenje) 01.01.2000 do 31.12.2007Vremenski period (skup za ispitivanje) 01.01.2008 do 01.01.2011

Rezultati

Avg Stddev Max MinDobrota na skupu za učenje 4.15 1.64 8.28 1.06Dobrota na skupu za ispitivanje 0.98 0.32 1.59 0.46Dubina stabla 5.4 2.28 16.0 3.0Veličina stabla 15.58 12.54 58.0 4.0

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 18 / 22

Page 19: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Ispitivanje

Sa skupom za provjeru

Vremenski period (skup za učenje) 01.01.2000 do 31.12.2005Vremenski period (skup za provjeru) 01.01.2006 do 31.12.2007Vremenski period (skup za ispitivanje) 01.01.2008 do 01.01.2011

Rezultati

Avg Stddev Max MinDobrota na skupu za učenje 4.2 2.44 15.65 1.67Dobrota na skupu za provjeru 0.77 0.2 1.03 0.38Dobrota na skupu za ispitivanje 1.01 0.34 1.66 0.48Dubina stabla 5.47 3.16 15.0 2.0Veličina stabla 16.18 19.12 90.0 3.0

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 19 / 22

Page 20: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Ispitivanje

Usporedba rezultata sa i bez skupa za provjeru

Avg Stddev Max MinDobrota jedinki bez skupa za provjeru 0.98 0.32 1.59 0.46Dobrota jedinki uz skup za provjeru 1.01 0.34 1.66 0.48

Rezultati uz korištenje skupa za provjeru su neznatno bolji

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 20 / 22

Page 21: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Zaključak

možemo uvidjeti zavisnosti u kretanju cijena dionica koje inačene bi bile očitepoželjno je koristiti skup za provjeru

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 21 / 22

Page 22: Određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija

Hvala na pažnji!

Pitanja?

Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 22 / 22