određivanje pravila trgovanja dionicama uz pomoć genetskog programiranja - prezentacija
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hvala na pažnji!
Pitanja?
Aleksandar Topuzović Određivanje pravila trgovanja uz pomoć GP-a 22 / 22