Archive for July, 2007

Kaip testuoti investavimo strategiją su Amibroker

Išsikviečiam Analysis->Formula Editor, kuriame reikia surašyti testavimo kodą. Amibroker naudoja AFL script kalbą, kuri nesiskiria nuo kitų programavimo kalbų, bet turi daug paruoštų funkcijų.
Atsidaro elementarus redagavimo langas kodo rašymui.
Photo Sharing and Video Hosting at Photobucket

Testavimui privalomi 2 parametrai: Buy, Sell. Turime įvesti pagal kokią formulę turi būti įvykdytas pirkimas ir pardavimas. Pvz. pabandysime tam panaudoti EMA 8 ir EMA 50.

Buy = Cross( EMA(C, 8 ), EMA (C,50) );
Sell = Cross ( EMA (C,50),EMA(C, 8 ));

Čia parašėme – įvykdyti pirkimą, kai EMA8 paliks aukščiau EMA 50, o pardavimą, kai EMA8 nukris žemiau EMA 50. Išsaugom šitą formulę ir bandom testuoti: Analysis->Automatic Analysis->Pick pasirenkam failą, kurį neseniai išsaugojom. Spaudžiam Back Test mygtuką ir turime rezultatą.
Photo Sharing and Video Hosting at Photobucket


Pastaba
: kode nenurodėme short/cover parametrų, todėl gali pasirodyti klaidos pranešimas. Norint panaikinti klaidos pranešimą einam: Settings->General->Positions ir pasirenkam Long.
Photo Sharing and Video Hosting at Photobucket
Įvykdžius testą, matome kokį pelningumą turi strategija, kiek pelningų ir kiek nuostolingų sandėrių buvo įvykdyta. Testuoti galima tiek vieną akciją(current symbol), tiek grupę (use filter), tiek visas akcijas.

O pabaigai, pats įdomumas. Amibroker numato parametrų optimizavimą. Tai yra, galima įvesti diapazoną tam tikro parametro ir sistema pasakys, kuris parametras turi didžiausią grąžą. Pvz. norime įsitikinti, ar EMA 50 tinkamas strategijai. Tam naudojame funkciją optimize(pavadinimas, default value, min, max, žingsnis):

emaOptimize = Optimize(“emaOptimize”, 50, 10, 100, 2 );
LongMA = EMA( C, emaOptimize );
ShortMA = EMA( C, ShortPer );

Buy = Cross( ShortMA, LongMA );
Sell = Cross( LongMA, ShortMA );

Pataisome formulę ir spaudžiame Optimize. Rezultatas – lentelė, kurios viršuje bus daugiausiai pelno uždirbęs parametras. Reikia pastebėti, kad tai nėra Šventasis Gralis – tas pats parametras su kita akcija ar akcijų grupe neatrodys taip gerai. Bet testavimas parodo sistemos silpnasias puses, akcijas ir jų grupes su kuriomis strategija nepasitvirtina ir t.t.
Photo Sharing and Video Hosting at Photobucket

Comments

Trading in the Zone by Mark Douglas

Koks Jūsų pagrindinis investavimo ramstis? Fundamentinė analize? Techninė analizė? Pasak autoriaus to neužtenka, nes investavimo pagrindas yra psichologinė analizė. Galima žinoti visus galimus indikatorius, šablonus, įmonės pelno prognozes ar net būsimus rezultatus ir vis tiek nieko neuždirbti iš investicijų. Yra didelis skirtumas tarp rinkos krypties nustatymo (ir galybės svajonių, ką su uždirbtais pinigais bus galima padaryti) ir realybės, kai reikia atidaryti ir uždaryti poziciją. Kol tas skirtumas galvoje nepanaikintas, tol rezultatas bus prastas.
Kitas plėtojamas klausimas – kaip reaguojate į nuostolius? Nuostolis ir prekyba akcijomis neatsiejami dalykai. Tai žino visi prekybos vilkai, bet su tuo visiškai nenori sutikti naujokai. Todėl, kiekvieną kartą jiems fiksavus nuostolį, tenka gintis nuo blogos nuotaikos ir emocinio skausmo. Profesionalai žino, kad nėra pasaulyje investavimo metodo, kuris niekada neklystų, todėl kiekvieną kartą investuodami jie prisiima riziką ir susitaiko su galimu nuostoliu. Ar prisiimat riziką?

Tiesiog geras investavimo vadovėlis. Knygoje pateikiama daug teorinių dalykų, kuriuos reikia taikyti kasdiena. Vienintelis minusas, kad nėra praktinių pavydžių. Įvertinimas: 10/10.

Comments (2)