You are on page 1of 22

Odreivanje pravila trgovanja dionicama uz pomo genetskog programiranja

Aleksandar Topuzovi
Fakultet elektrotehnike i raunarstva, Zagreb

22. rujna, 2011.

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

1 / 22

Trita kapitala
Fundamentalna analiza
utvruje pravu vrijednost tvrtke promatra razne ekonomske parametre nije pogodna za kratkoronu analizu

Tehnika analiza
praenje trendova, cijena i obima nije vana sama cijena nego njeno kretanje pogodna za kratkoronu analizu

Da li je mogue predvidjeti kretanje cijena? Ekasnost trita


slabi oblik polujaki oblik jaki oblik

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

2 / 22

Trita kapitala

Pravilo trgovanja je algoritam koji nam govori kada kupiti a kada prodati neki nacijski instrument Tehnika analiza koristi razne pokazatelje a pravila slijede iz odnosa tih grafova Pomini prosjek Pomini prosjek konvergencije divergencije Stopa promjene Relativni indeks snage Cjenovni oscilator

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

3 / 22

Genetsko programiranje

Stohastika optimizacijska metoda iz skupine evolucijskih algoritama Evolucijski algoritam:


1 2 3

Nasumino generiraj poetnu populaciju Izraunaj dobrotu jedinke Kreiraj nove jedinke
1 2

Odaberi jedinku/jedinke iz populacije Primjeni genetske operacije (krianje, mutacija)

4 5

Izraunaj dobrotu novih jedinki Ukoliko nije dosegnut uvjet zaustavljanja idi na korak 2

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

4 / 22

Genetsko programiranje
Prikaz jedinke Stablasti prikaz
ADD

MUL

Linearni prikaz
niz instrukcija

Prikaz grafom
slian stablastom prikazu

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

5 / 22

Genetsko programiranje
Kreiranje poetne populacije Potpuna metoda izgradnje

Rastua metoda izgradnje

Pola pola metoda izgradnje


kombinacija potpune metode i rastue metode
Aleksandar Topuzovi Odreivanje pravila trgovanja uz pomo GP-a 6 / 22

Genetsko programiranje
Mutacija Standardna mutacija
GT GT ADD MUL X 24 Y 74

Mutacija smanjivanjem
GT GT ADD Y X 24

Mutacija zamjenom vora


GT GT ADD SUB

24

24

Mutacija zamjenom podstabla


GT GT ADD Y Y ADD X 24 X 24

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

7 / 22

Genetsko programiranje
Krianje Prvi roditelj
AND LT GT

24

45

Drugi roditelj
OR LT GT

56

Dijete
AND LT LT

24

56

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

8 / 22

Genetsko programiranje

Odabir Jednostavni odabir


vjerojatnost odabira proporcionalna dobroti p(i) =
di N j =1 dj

vee je vjerojatnost odabira jedinke sa boljom dobrotom

K-turnirski odabir
K jedinki se meusobno usporeuje te se odabire najbolja

Nasumini odabir
nasumino se odabire jedinka iz populacije

Leksika krtost
isto kao i K-turnirski odabir samo to se u sluaju kad dvije jedinke imaju istu dobrotu odabire se ona koja je manja

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

9 / 22

Genetsko programiranje
Dobrota Sirova dobrota
denirana prirodom problema ne moemo jednoznano okarakterizirati bolje i loe jedinke

Standardizirana dobrota
vrijednosti ne smiju biti manje od 0 moemo izraunati iz sirove dobrote manja vrijednost karakterizira bolju jedinku

Prilagoena dobrota
rauna se iz standardne dobrote: dp =
1 1+ds
k

vrijednosti [0, 1] vea vrijednost karakterizira bolju jedinku

Normalizirana dobrota
rauna se iz prilagoene dobrote: dn = vrijednosti [0, 1] vea vrijednost karakterizira bolju jedinku
Aleksandar Topuzovi Odreivanje pravila trgovanja uz pomo GP-a 10 / 22
k

dp dp

.
k

Genetsko programiranje
Strojno uenje omoguuju raunalima da unaprijede i poboljaju vlastito ponaanje stabla odluke Da li je subotnje jutro pogodno za tenis?
Vrijeme suncano oblacno Vlaznost DA kisovito Vjetar jak NE slab DA

visoka normalna NE DA

Zbog problema prenauenosti skup za uenje dijelimo na skup za uenje skup za provjeru Kvaliteta rjeenja ocjenjuje se na skupu za ispitivanje
Aleksandar Topuzovi Odreivanje pravila trgovanja uz pomo GP-a 11 / 22

Implementacija

OpenBEAGLE Oslanja se na OO, napisan u C++ konguracija i algoritam evolucijskog programa u XML datoteci SQLite ugraena SQL baza podataka

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

12 / 22

Implementacija
vorovi
Nezavrni (funkcijski) Aritmetike operacije Funkcije usporedbe Logike operacije Logika funkcija Aritmetike funkcije + (zbrajanje, ADD), - (oduzimanje, SUB), * (mnoenje, MUL), / (dijeljenje, DIV) < (manje od, LT), > (vee od, GT), = (jednako, EQ) i (AND), ili (OR), ne (NOT) Ako-onda-inae (IF-THEN-ELSE) prosjena vrijednost u periodu (AVG), minimalna vrijednost u periodu (MIN), maksimalna vrijednost u periodu (MAX) ROC, RSI, EMA, MACD, PPO

Financijski pokazatelji Zavrni (podatkovni) Logike konstante Cjelobrojna konstanta Realne konstante Parametri

istina (TRUE), la (FALSE) dana (D), kao argument AVG, MIN, MAX [0,260] E ([-1,1]) cijena (P), koliina (V)

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

13 / 22

Implementacija
Dobrota zarada koja se ostvarije povrh bazne strategije Dnevna zarada: rt = log Pt log Pt1 1c Zarada bazne strategije: rbh = T rt + log 1+c t=1 T 1c Zarada pravila: rr = t=1 rt I (t) + n log 1+c 1 na tritu I (t) = 0 van trita c - provizija, Pt - cijena na dan t, Pt1 - cijena na dan t-1, n - broj transakcija, T - broj dana trgovanja Ukupna zarada: = e r 1 Zarada povrh bazne strategije: r = rr rbh Dobrota: d = e r
Aleksandar Topuzovi Odreivanje pravila trgovanja uz pomo GP-a 14 / 22

Implementacija
GT

IF

AVG

GT

AVG

D = 147

SUB

D = 169

MAX

IF

D = 349

GT

MUL

ABS

DIV

K = 914.376

IF

ROC

K = 438.464

AVG

ROC

LT

AVG

ROC

D = 69

D = 256

D = 152

E = 0.450821

D = 172

D = 220

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

15 / 22

Ispitivanje
Utjecaj evolucijskih parametara
Broj generacija Veliina populacije (broj jedinki) Standardna mutacija Vremenski period (skup za uenje) Vremenski period (skup za ispitivanje) Dionica Strategija za usporedbu 10, 20, 30, 50, 100, 200 5, 10, 15, 20, 30 0.01, 0.05, 0.1 01.01.2000 do 31.12.2007 01.01.2008 do 01.01.2011 AAPL (Apple inc.) buy and hold

Rezultati
Avg 3.2 1.21 4.62 12.1 Stddev 0.99 0.17 2.14 17.91 Max 6.96 1.7 16.0 159.0 Min 1.01 1.01 3.0 4.0

Dobrota na skupu za uenje Dobrota na skupu za ispitivanje Dubina stabla Veliina stabla

Najbolji za populaciju od 200 jediniki, 30 generacija i mutaciju od 0.1


Aleksandar Topuzovi Odreivanje pravila trgovanja uz pomo GP-a 16 / 22

Ispitivanje
Utjecaj skupa za provjeru
Broj generacija Veliina populacije (broj jedinki) Standardna mutacija Dionica Strategija za usporedbu 100 20 0.1 AAPL (Apple inc.) buy and hold

Bez skupa za provjeru


odabir najbolje jedinke samo na temelju dobrote na skupu za uenje

Sa skupom za provjeru
na kraju evolucije odabire se najbolja jedinka temeljem dobrote na skupu za provjeru

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

17 / 22

Ispitivanje
Bez skupa za provjeru
Vremenski period (skup za uenje) Vremenski period (skup za ispitivanje) 01.01.2000 do 31.12.2007 01.01.2008 do 01.01.2011

Rezultati
Avg 4.15 0.98 5.4 15.58 Stddev 1.64 0.32 2.28 12.54 Max 8.28 1.59 16.0 58.0 Min 1.06 0.46 3.0 4.0

Dobrota na skupu za uenje Dobrota na skupu za ispitivanje Dubina stabla Veliina stabla

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

18 / 22

Ispitivanje
Sa skupom za provjeru
Vremenski period (skup za uenje) Vremenski period (skup za provjeru) Vremenski period (skup za ispitivanje) 01.01.2000 do 31.12.2005 01.01.2006 do 31.12.2007 01.01.2008 do 01.01.2011

Rezultati
Avg 4.2 0.77 1.01 5.47 16.18 Stddev 2.44 0.2 0.34 3.16 19.12 Max 15.65 1.03 1.66 15.0 90.0 Min 1.67 0.38 0.48 2.0 3.0

Dobrota na skupu za uenje Dobrota na skupu za provjeru Dobrota na skupu za ispitivanje Dubina stabla Veliina stabla

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

19 / 22

Ispitivanje

Usporedba rezultata sa i bez skupa za provjeru


Avg 0.98 1.01 Stddev 0.32 0.34 Max 1.59 1.66 Min 0.46 0.48

Dobrota jedinki bez skupa za provjeru Dobrota jedinki uz skup za provjeru

Rezultati uz koritenje skupa za provjeru su neznatno bolji

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

20 / 22

Zakljuak

moemo uvidjeti zavisnosti u kretanju cijena dionica koje inae ne bi bile oite poeljno je koristiti skup za provjeru

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

21 / 22

Hvala na panji! Pitanja?

Aleksandar Topuzovi

Odreivanje pravila trgovanja uz pomo GP-a

22 / 22