eskévysokéenítechnicképraze Fakultaelektrotechnická Katedrakybernetiky Bakaláskápráce Obchodovánínadevizovémtrhuvyužitímgenetického programování TomášJungman Vedoucípráce:Ing.PetrPošík,Ph.D. Studijníprogram:Softwarovétechnologiemanagement,Bakaláský Obor:Umláinteligence 3.ledna2012
ii
Podkování RádbychpodkovalvedoucímupráceIng.PetruPošíkovi,Ph.D.zavelkou trplivostochotnoupomoctvorbpráce.chcitaképodkovatrodinátelm, ktevždystálipodporovalihemceléhostudia. iv
Prohlášení Prohlašuji,žejsemsvoubakaláskouprácivypracovalsamostatnpoužiljsem pouzepodkladyuvedenéiloženémseznamu.nemámzávažnývodprotiužití tohotoškolníhodílavesmyslu 60Zákona121/2000Sb.,právuautorském, právechsouvisejícíchprávemautorskýmzmkterýchzákon(autorský zákon). Prazedne3.ledna2012... vi
vii
Abstract Thegoalofthisworkistoexplorethepossibilityofuseofthegenetic programmingtosolveforeignexchange(forex)ratepredictionproblem.expert advisorforautomatedtradingisbuiltontopofthepredictionalgorithm.behaviorand performanceofadvisorareanalyzedandcomparedtootherexpertsadvisors,createdby meansofconventionalmethods. Abstrakt Cílemtétoprácejeovitmožnostipoužitígenetickýchalgoritmnaproblém predikcevývojecennadevizovýchtrzích.nazákladpredikníhoalgoritmujesestaven expertníporadce(expertadvisor),proautomatizovanéobchodování.chování výkonnostporadcejsouanalyzoványsrovnányjinýmiexpertnímiporadci, vytvoenýmižnýmimetodami. viii
ix
OBSAH Seznamobrázk...xii Úvod...1 1. edstaveníproblému...3 1.1 Historiemezinárodníhoobchodu...3 1.2 Obchodovánínadevizovémtrhu...4 1.3 Chovánítrhu...5 2. Stávajícíístupyproblematicepredikce...7 2.1 Ukazatelénabáziplovoucíhoprru...7 2.2 Ukazatelétypumomentum...8 2.3 CCIUkazatelé...9 2.4 Regresníukazatelé...9 3. Rozborešení...10 3.1 Volbaalgoritmu...10 3.2 PoužitívýzkumnéhosystémuECJ...11 3.3 IntegraceešeníobchodníplatformouMT4...13 3.4 Ostatnípoužitésoftwarovénástroje...14 4. GenetickáástEA...15 4.1 RozšíenísystémuECJ...15 4.2 Popispoužitýchalgoritm...16 4.2.1 Reprezentaceešení...16 4.2.2 Ohodnocenífitness...19 4.2.3 íženímutace...21 4.3 Vlastnostievoluce...22 5. IntegraceobchodníplatformouMT4...25 5.1 PropojenípomocíDLLknihovny...25 5.1.1 Návrhknihovny...25 5.1.2 PodrobnýpopisfunkceDLL...26 5.2 Expertníporadce(EA)...28 5.2.1 ExportimportdatECJ...28 5.2.2 Využitípredikceproobchodování...29
5.2.3 UkázkapoužitíEA...30 6. TestováníEA...33 6.1 Testovacíprostedí...33 6.2 esnostpredikce...34 6.3 Analýzavýkonu...35 6.4 SrovnánívýsledkjinýmiEA...37 6.5 Shrnutíhodnocení...41 7. Možnostibudoucíhovývoje...43 7.1 Výpoetnívýkonparalelizace...43 7.2 Proloženípredikcíznýchasovýchúsek...43 7.3 VylepšeníobchodníástiEA...44 Seznamliteratury...47 ílohaa:seznampoužitýchzkratek...49 ílohab:obsahiloženéhocd...51 xi
SEZNAMOBRÁZK Obr.1:Ukazatelplovoucíhoprru...7 Obr.2:Ukazatelmomentum...8 Obr.3:AutomatickyzakreslenýCCIukazatel...9 Obr.4:RegresníFFTukazatelé...10 Obr.5:SchémaintegraceešeníplatformouMetatrader...13 Obr.6:SchémadatovékomunikaceupravenéverzeECJ...15 Obr.7:Ukázkastrukturygenetickéhoprogramu...17 Obr.8:Smohodnocenífitness...20 Obr.9:Grafasovénáronostialgoritmu...23 Obr.10:Grafkonvergencealgoritmu...24 Obr.11:PodrobnéschémapráceDLLknihovny...27 Obr.12:Prediktivnídatavloženádoobchodníobrazovky...29 Obr.13:Využitípredikceproumísttníobchodníchpokyn...30 Obr.14:PoužitíEAprostedíobchodníplatformy...31 Obr.15:TestovacírozhraníMT4...33 Obr.16:Srovnánípredikcedvouznýchalgoritmu...35 Obr.17:GrafvývojebilanceEAhemtestu...36 Obr.18:SrovnáníprofitabilityEA...38 Obr.19:Srovnánífaktoruziskovosti...39 Obr.20:Srovnánímíryrelativníhopoklesu...40 xii
xiii
ÚVOD Mezinárodnídevizovýtrh(angl.foreignexchange,FOREX)májiž relativndlouhoutradici.jehozákladybylypoloženysedmdesátých letech20.století.souasnédobjenejobchodovanjšímtrhembec, dennímobratem1.6bilionu(milionmilion10 12 [1]americkýchdolar souasnédobjetentotrhrealizovánjakodecentralizovaný elektronickýkomunikanísystém,jenžzajišujespojenívykonání transakcímeziobchodníky,užsejednácentrálníbanky,velkéfirmy, burzovnímakléjednotlivéspekulanty.úkolemtohotosložitého systémujezajistitsmnitelnostmezinárodníchn. Posláníobchodníknatrhusemohoulišit,napíkladtypický centrálníbankéchceochránitekonomikusvézemneváháprotosvou domácínucílenoslabitesznanéfinannínáklady,naopaktypický spekulantchcezakaždoucenuvydlatbezdalšíchohledužjecíl devizovéhoobchodníkajakýkoli,vždyjehlavnínáplníjehoprácezptná analýzacenovýchpohybzaminuláobdobí,najejichžzákladsesnaží odhadnoutchováníbudoucívývojsmnnéhokurzuproobdobí nadcházející. Stejnýúkoljakoobchodnícimajítomtoohledupoítaové programyzvané expertníporadci (angl.expertadvisor,ea).jsouto speciálnípodprogramyobvyklespouštnéprofesionálníchobchodních platforem.jejichúkolysenijaknelišíodúkolspekulujícíhodevizového obchodníka,nezávisleanalyzujíznámáobchodnídatanazákladsvých zjištnípotomsamiprovádjínatrhuobchodnítransakcesesveným
kapitálem.hlavnímiítkemjejichúspchujsouitomdosaženýzisk mírarizika,jemužbyljimsvenýkapitálvystaven. Výstupemtétoprácejeprávtakovýexpertníporadce,jenžbudeza pomocigenetickýchalgoritmprovádanalýzudostupnýchdat devizovéhotrhunazákladsvéedpovdiumísovatobchody.eaje vyvíjentestovánnaplatformmetatrader4,ježješirocepoužívána retailovýmiforexbrokery.jehoprediktivníanalytickáástjepotom vytvoenaupravenémevolunímvýzkumnémsystémuecj.
1. PEDSTAVENÍPROBLÉMU 1.1 HISTORIEMEZINÁRODNÍHOOBCHODU Mezinárodníobchodovánímádlouhoutradici,jižodpoátku lidémezisebousmovalisurovinyvýrobky.rostoucímmnožstvím smnnýchobchodnarstalapoptávkapouniversálnjšímvyjádení hodnoty.lidépotebovalivyjádithodnotuím,cobybylosnadno smnitelné,lehceenosnétakélitelné. Zaprvnípodobupensedajípovažovatžnáhospodáskázvíata jakokrávyneboovce[1],ježbylysnadnosmnitelné,ovšemuž litelnéenosné.ibližnroce1000n.l.seobjevilyprvníkovové mince,splujícívšechnyzákladnípožadavkynauniversálníplatidlo. chtoranýchdobáchbylajejichhodnotadánaedevšímjejich smnitelnostízazlato,ježbylovysocecennoprosvouvzácnost.tento systém,vekterémjeplatidlokrytozlatem,kalnástuppapírových penz,roce1880byloficiálnzavedenjakotzv. Zlatýstandart. Poprvnísvtovéválce,ve20.letech20.stoletízapoalmezinárodní devizovýobchodsouasnépodobmezinárodnínybylismnitelnéza zlatostíbro,takémezisebou.hlavnímiobchodníminamibylité dobbritskálibraamerickýdolar. Ve30.letech20.stoletídošloposvtovéhospodáskékriziopuštní zlatéstandartuhemdruhésvtovéválkyestalmezinárodnídevizový trhdefactoexistovatúplnpoválcebylauzavenatzv.brettonwoodská dohoda,kterébylustanovenmezinárodnínovýfond(mmf).byl
stanovenpevnýsmnnýkurzamerickéhodolaru(usd)zlatu(35$za trojskouunci),hodnotaostatníchpotombylastanovenavzhledem USD.Dolartakzískalstatutmezinárodnírezervníny,jehoemisebyla plnkrytaamerickýmizlatýmirezervami. vnstanovýkurzvšakpostupnvedloderpáníznanéásti americkéhozlata,ažroce1971americkýpresidentr.nixonodmítldále plnitzávazkybrettonwoodskédohody,ímždošlojejímuúplnémuzániku. hemkrátkédobytrhvyrovnalpodhodnocenýkurzzlata,jež znkolikanásobilosvoucenu. MMFreagovaledstihemjižroce1968zavedlopatení nahrazujícíamerickýdolarnapozicisvtovérezervníny,zavedenínové abstraktnínysloženézesmnnýchkurzhlavníticesvtovýchn. novýmtrhtakbylaponechánanezávislostnajakémkolipodkladovém aktivu.vzájemnýsmnnýkurzmezinamijeodtédobyažposouasnost stanovovánjennazákladnabídkypoptávkyastníktrhu. 1.2 OBCHODOVÁNÍNADEVIZOVÉMTRHU Devizovýtrhjemístem,kdesesetkávánabídkapoptávkou. Obchodováníprobíhámnohanovýchpárech.souasnédobje nejobchodovanjšímpáremeurusd,ibližn30%podílemnacelkovém obratu[1].obchodnícinabízejípoptávajíobnynovémpáru, emžlzenatrhuprovéstznédruhytransakcí.tétoprácibudekladen etelpouzenatynejbžnjšínichtopokyny nakup prodej (angl. buy sell ).Pokudserozhodnemeprovéstnákup(buy)nanovém párueurusd,systémnakoupízavylennéprostedkyeuro.naopak
ípadprodeje(sell)systémnakoupídolar.provedenímkteréchto dvoutransakcíjeoznaovánotakéjakootevenípozice,nebovodní investinínyobchodníkajsouprostedkyvloženydoobchodované ny.tytoprostedkyjsoupouzavenítransakcesystémemevedeny zpdoinvestiníny.investinínoubývánejastjiamerickýdolar stejntomubudedáletétopráci. Jednotkouobjemubýváobvyklelot,cožje100000jednotekny. Abybylobchodumožnsubjektmenšímkapitálem,nabízítšina FOREXbrokerobchodovánítzv.finannímpákovýmefektem(leverage). Jednásepodstatformuzapenípenz,kteráumožujeobchodovat ádovvyššímkapitálem,nežmáobchodníkreálndispozici.tato metodasebounesevýraznézvýšeníefektpohybdevizovýchkurzna bilanciuzavenétransakce,ímžpomáhádosáhnoutvyššíchziskvyšších ztrát.oprotiklasickémuobchodovánímápákovýefektnavícdalší nevýhodu,žepokudpoklesneztrátaobchodublízkouhodnotreáln investovanékapitálu,brokerobchodnucenuzave,abyedešelnegativní bilanciobchodníkovatu.hrozítakabsolutníztrátavšechinvestovaných prostedk esmožnárizikaobchodufinannímpákovýmefektemjetéto prácipoužitoleverage1:500,nebojejnabízívelkémnožstvíinternetových brokerjetakblížesouasnépraxi,nežliobchodováníbezleverage. 1.3 CHOVÁNÍTRHU ideálnímípadbykaždátransakcenamezinárodnímdevizovém trhulaznamenatdrobnouzmnuvesmnnémkurzu.protožejeobjem
obchodvelký,docházísmnnýchkurzpravidelnýmpohybm.na novémpárueurusdjdepohybyrozmezíkolikadesetin procentníhobodukolikrátzavteinu.edpovvelikosti,smruasu chtopohybjenetriviálnímúkolemtakéhlavnímzamenímtétopráce. ístupyedpovdivývojekurzselišípodleinformací,ježjsou použityproanalýzu.technickáanalýzapoužívájenhistorickádata smnnýchkurzobchodovanýchobjemkdežtobehaviorálníanalýza zkoumásledkyevážnekonomickýchpolitickýchudálostíreálném svnavývojcennatrhu.existujíístupykombinovanénaopakteorie naprosténepedpovditelnostitrhu[2].zpsobedpovdipopisovaný tétoprácispadádokategorietechnickéanalýzy,nebojakojehovstup sloužípouzehistorickádatavývojekurzu. ExistujetakéteorieElliottovýchvln(angl.ElliottWavePrinciple)[3], popisujícívývojnatrhujakoivkusloženouvlnznéfrekvenci amplitudkolitatoteorienejdebezprostednvyužítproreálné obchodování,bylahlavníinspiracívytvoenítétopráce,jejížhlavním edpoklademjepohybtrhuvevlnách.
2. STÁVAJÍCÍÍSTUPYKPROBLEMATICEPREDIKCE 2.1 UKAZATELÉNABÁZIPLOVOUCÍHOPRRU Prrováníjejednímnejstaršíchobchodníchukazatelbec. Jednásemetoduprrovánívývojecenplovoucíchoknech.Délky oknazpsobyvýpotuprrusemohoulišit.astojsoupoužívány aritmetickýprr,váženýprr,exponenciálníprznéformy vyhlazovánívýslednéivky. Obr.1:Ukazatelplovoucíhoprru kolitytoukazatelénemajísamisobžádnoudopednou prediktivníschopnost,bylnajejichzákladsestavenukazatelmacd(angl. movingaveragekonvergence/divergence).fungujenazákladrozdílmezi
dvmaplovoucímiprryrozdílnýmidélkamiplovoucíhookna. estožeanitatosloženávariantaukazatelenemáedpovdníschopnost, poskytujecennéinformacerytmupohybnatrhu,ježmohoubýt podklademprodopednoupredikciobchodníka. 2.2 UKAZATELÉTYPUMOMENTUM Momentumjejednoduchýukazatel,kalkulujícíaktuálnízrychlenítrhu minulýmhodnotám.stejnjakopohyblivýprpoužíváasové okno,vekterémurujediferencipoáteníkoncovécen Obr.2:Ukazatelmomentum Tentoukazatel,stejnjakoukazatelenabáziplovoucíchpr nemávýstuppodobdopednépredikcecen.jepoužívánprokrátkodobé edpovdinazákladzjištnéhoaktuálníhozrychlenítrhu.
2.3 CCIUKAZATELÉ CCI(commoditychannelindex)jekanálcenovýchhladinvypoítaný nazákladplovoucíhoprrucen,typickécenyprrnéodchylky. adaobchodníktakézakreslujekanálruvesvémobchod.software[4]. Tentoindikátorposkytujeedpovbudoucíhovývoje,byjen orientaní.trhovšemnevydržísledovattrend,kterýjeukazatelemvytyen poílišdlouhoudobutémvždydojdejehotzv. proražení. Obr.3:AutomatickyzakreslenýCCIukazatel 2.4 REGRESNÍUKAZATELÉ Tatokategorieindikátormázaúkolproložitznámáobchodnídata matematickoufunkcí.jednásenetriviálníproblém,neboformafunkce
neníedemznámaregresníalgoritmusjimusíuritspoluhodnotou parametrtomutoelusloužíceláadaalgoritmoblastizpracování signálnejastjifourierovatransformaceautokorelanífunkce. Obr.4:RegresníFFTukazatelé Ukazateletohototypuposkytujíkonkrétnídopednoupredikci,avšak spolehlivostjejichedpovdínenítypickydostatenáproreálné obchodování. 3. ROZBOREŠENÍ 3.1 VOLBAALGORITMU 10
vodnínávrhpoítalvyužitímgenetickéhoprogramovánípro sestaveníkompletníhoprogramuexpertníhoporadce(ea),tj.jeho prediktivníobchodníásti.jedincijsoupopsánistromovoustrukturou, typickouprogp.jakouzlybylyuvažoványobvyklématematickélogické operátory,trénovacíhistorickádataspeciálníterminályprozadávání obchodníchíkazítkemúspchukandidátskýchešeníbylzjištný ziskprovedenýchtransakcínamnožindostupnýchobchodníchdat. Nejlepšíevolunalezenéešenípotomlobýttestovánonapodstatn tšímtestovacímdatasetuípadnoznaenojakovýslednýea. Ranépokusyvšaknepinášelyžádnáúspšnáešení,cožbylo rozporuekáváním.úsilíbyloprotoesunutosmremprediktivní ástiea,vypuštnímobchodovacíchlogickýchtermináltímbyl problémdefactoomezennahledánísymbolickéregresevstupníchdat[5]. Symbolickáregresejepostup,kterémseprodostupnádatahledá takovásloženámatematickáfunkce,jejížchovánímtodatconejlépe odpovídá.pronalezenítakovéregreseitomlzevyužítvšechnyprincipy genetickéhoprogramování.narozdílodvodníhonávrhuvšak automatickynalezenáešenípostrádajízamýšlenouuniversálníplatnost provšechnavstupnídata.jedengenetickéalgoritmuzajistípredikci pouzeomezenéhopotubudoucíchcenovýchhodnot.tímvzrostlynejen nárokynavýpoetnívýkon,alevyvstalataképotebapropojenímezi testovacímobchodnímrozhranímgenetickýmalgoritmemreálnémase. 3.2 POUŽITÍVÝZKUMNÉHOSYSTÉMUECJ 11
ECJ[6]jevýzkumnýgenetickýsystémvytvoenýnauniversity GeorgeMasonapoblížamerickéhoWashingtonu.Jednáseuznávaný softwarovýnástrojjazycejava,kterýdíkysvýmvolndostupným zdrojovýmkódpodrobnédokumentacinabízídostatenou rozšiitelnostproménžnéproblémy. ZákladnívýzvoupoužitíECJtétoprácibylomimojinézajistit dostupnostreálnýchobchodníchdatpropoužitígenetickýmalgoritmem. Dalšímiproblémybylyvhodnákonfiguracealgoritmu,vytvoenívhodných terminálzpsobuohodnoceníjedinc ImplementacevycházídostupnýchíkladnawebuECJ[7],je realizovánajakožnágenetickáaplikacetohosystému.import obchodníchdatjerealizovánjakoproprietárnírozšíenítétoplatformy ástizajišujícínaítánídatexterníchsouborjejichuloženívolný ístupterminálvytvoenéecjaplikace. TypickýípadpoužitívytvoenéECJaplikacejejejívyvoláníes BATspouštcísouborspolukolikaparametrycestouvstupnímu datovémusouboru. 12
3.3 INTEGRACEEŠENÍSOBCHODNÍPLATFORMOUMT4 ObchodnísoftwareMetaTraderruskéfirmyMetaQuotes Software[8],seoddobysvéhovydáníroce2005stalnejdostupnjší nejrozšíenjšíplatformouprodetailovéobchodovánínaforextrhu. Zprostedkovávánejenístupobchodnímdatmanuální zadáváníobchodníchpokynaletakéumožujevytváeníindikátor expertníporadcpomocívlastníhoprogramovacíhojazykamql (MetaQuoteslanguage).Možnostitohotojazykanedovolujíímévolání jinéhoprogramu,aniukládánídatdosouboru.jevšakumožnno importovatfunkcepromnnéexterníknihovnyddl. Obr.5:SchémaintegraceešeníplatformouMetatrader ObchodníástEApopisovanéhotétoprácibudeprogramem jazycemql,kterýbudejednoduchýmzpsobemvyužívatedpovdi 13
vývojetrhuzjištnéecjaplikacíumístnítransakcí.prozajištní propojenímeziobchodnígenetickouprediktivníástíeajezapotebí vytvoenídllknihovnyjazycec,jejímžúkolembudespuštníregresní aplikacesystémuecj,edáníhistorickýchdatnatenízjištných prediktivníchhodnot.datovákomunikacebudeprotšísledovatelnost vývojiešenaukládánímzptnýmnaítánímdattextovýchsoubor 3.4 OSTATNÍPOUŽITÉSOFTWAROVÉNÁSTROJE ProvytváeníúpravuzdrojovýchkódusystémuECJbylopoužito IDENetbeans7.0,jednásežnpoužívanýeditanínástrojprojazyk JAVA.ObchodníástEAbylavytvoenaMetaEditoru,cožjeeditorjazyka MQLplnintegrovanýplatformouMT4.Provytvoenípropojovací knihovnyposloužiloidemicrosoftvisualstudio2010express[8]. hemvytváenítéto,prácevzniklitakédvaevážnvizualizaní nástroje.bylyzapotebívefázi,kdyještnebylodokonenovisuální zobrazováníregresníchdatímoprostedímt4,ježjedostupné konenéverziea.nástrojebylyvytvoenyjazyceas3vezkušebníverzi IDEAdobeFlashCS5,jakoprogramprointerpretAdobeAIR[9],umožující jejichspuštníveformžnýchdesktopovýchaplikací. 14
4. GENETICKÁÁSTEA 4.1 ROZŠÍENÍSYSTÉMUECJ SystémECJjejiždistribuovánspolekompletnímiíkladyešící problémynelineárníregrese.nedisponujeovšemmožnostínatení externíchdatdatovýchsoubortatofunkcionalitajenutnáprosprávné fungovánívyvíjenéhoea,nebojeprokaždousaduobchodníchdat ekávánajinápredikce.statickámetodazabudovánítrénovacíchdat ímodokódualgoritmuprotonepicházíúvahu. Obr.6:SchémadatovékomunikaceupravenéverzeECJ Prozajištníístupugenetickéalgoritmuaktuálnímobchodním datbylazvolenajednoducháformamezi-ukládánídodatovýchsoubor 15
Tatobylavybránazejménadíkymožnostisnadnéhomonitorovánítaké objektivnjednoduššíimplementaci(oprotiímýmformámkomunikace meziprocesyoperaníhosystému). RozšíenísystémuECJjeimplementovánojakosamostatnýbalíek (package)sestávajícísezejavaíd.prvnízeídsestarásprávnou interpretacispouštcíchparametrdruháfyzickénaítáukládánídat dosouboretíuloženíístupdatm. Rozšíeníneníaktivnívždy,jejejnutnéaktivovathemspouštní ECJspeciálnímparametrem( -extc ).ZdrojovékódyJAVAlzenalézt,název balíku cext,ježsenalézánaúrovnibalíku ec,cožjekoenovýbalíek systémuecj. 4.2 POPISPOUŽITÝCHALGORITM Algoritmempronalezeníhledanéregreseobchodníchdatjegenetické programování,jakjejpopsaljohnr.koza[10].jednásetypalgoritmu inspirovanýbiologickouevolucí.využíváírodžnémechanismy,jako napíženínebomutaceprovytváenínovýchjedincmezimitojsou následnmechanismypodobnýmiirozenémuvýbruupednostnniti vyššívhodnostíprospecifikovanýproblém.poáteníinicializaceje provedenahybridnímalgoritmemecj( HalfBuilder [10]). 4.2.1 REPREZENTACEEŠENÍ 16
KaždéešenívyvinutéprostedkyGPodpovídáprogramu,resp. matematickéfunkcijednímvstupnímparametrem.tentoprogramže býtsloženkonstant,matematickýchfunkcíterminálovéhouzlu,jež reprezentujeaktuálnívstupníhodnotuprogramu.prvky,zekterýchje programsložený,jsouuspoádánydostromovéstruktury,kterájetypická progp. Obr.7:Ukázkastrukturygenetickéhoprogramu Uzlyprogramumohoumítžádný,jedennebodvapotomky.Každý uzelvšakmáprávjednovýstupníohodnocení.konstanttotoodpovídá jejichabsolutníhodnotfunkcíoperátorpotomodpovídáhodnot funkníchohodnocenívýsledkprovedenýchoperací,emžjako operandyjsouvždypoužitypotomcidanéhouzlu. 17
syntaktickousprávnostvyvinutýchprogramsestarajívnitní mechanismyecjnazákladpravideldefinovanýchsouborunastaveníecj aplikace(soubor forex.params koenovémbalíkuecjaplikace ec.a2app.forex_basic_reg ).Tazajišují,abykaždýuzelvždypotebný poetpotomk následujícítabulcebudeuvedenehledvšechpoužitýchuzljava ídylzenaléztkoenovémbalíkuecjaplikace. Názevuzlu ída Typ Poetpotomk pozice Y.java terminál PI.java konstanta souet Add.java operátor rozdíl Sub.java operátor násobení Mul.java operátor sinus Sin.java funkce cos Cos.java funkce jedna One.java konstanta deset Ten.java konstanta setina OneHundreth.java konstanta Tabulka1:Seznampoužitýchgenetickýchuzl Názevuzlu ída Typ Poetpotomk tisícina OneThousandth.java konstanta nula Zero.java konstanta umocnnínadruhou Pow2.java funkce logaritmus Log.java funkce prvstup.dat Average.java konstanta 18
náhodnákonstantaerc MyERC.java konstanta Tabulka1:Seznampoužitýchgenetickýchuzl Nejdležitjšímjeuzeloznaenýjako pozice.jednáseterminál, jehožhodnotaseníhemohodnocenífitness.rozsahjeomezen potemdostupnýchtrénovacíchdatzaínáod0. Dalšímiménobvyklýmiuzlyjsou prr náhodnákonstanta ERC.Prjekonstantahodnotouodpovídajícíaritmetickémuprru všechtrénovacíchdat.bylazavedenavoduurychleníhualgoritmu, nebobylovypozorováno,žehemúvodních20generacíbylavždy vyvinutaešení,jejichžvýstupodpovídaltétokonstanterc( Ephemeral randomconstant )jenáhodnákonstanta,jejížhodnotajenáhodn stanovenapevnohranienémrozmezíokamžikujejíhoprvníhovložení dostromuprogramu.ercbylypoužitytakévoduurychleníalgoritmu, nebosehemgpevoluceprogramechvelmipravidelnobjevovali znékonstanty,vyjádenévelkýmpotemjinýchuzl 4.2.2 OHODNOCENÍFITNESS Nezbytnousouástígenetickéhoprogramováníjeohodnocení vyvinutýchprogramzaelemrelativníhoporovnáníjejichvhodnosti. našemípadjeohodnocenífitnesspoítánojakosumaabsolutních hodnotrozdílvýstupuprogramuodvstupníchobchodníchdat. 19
Obr.8:Smohodnocenífitness Hlavníástíhodnotícífunkce(metoda evaluateuniversal veíde problémuecjaplikace)jeprogramovásmyka,ježpostupnzvyšuje hodnotuvstupníhotermináluy.hodnotatohotermináluodpovídá indexovánípolevstupníchobchodníchdat,takželzekaždémcyklu smykyímoporovnatvýstupohodnocovanéhoprogramuodpovídajícím reálnýmobchodnímúdajem. CelkováfitnessjepotomvyjádenajakosouetzjištnýchrozdílTo zároveusnadujedalšípoužití,nebotentotvarodpovídá standardizovanéfitnesspoužitéecj,kdeoznaujeideálníešení.se stoupajícíhodnotoufitnessjeprogram,resp.jímvyjádenáregresnífunkce ménesnátímmátakéklesajíjejíšanceížícíástialgoritmu. Hodnotícíídatakéobsahujemechanismy,dálepenalizujícíešení podobkonstantníchfunkcífunkcí,kterédosahujíílišvysokých nízkýchhodnottrénovacímdatm.tímjeuplatnnaprioryznalost ešenéhoproblému,kdylzeedpokládat,žesevývojobchodovánínebude ubíratmitoextrémnímismry,naptémjistotouvíme,žesmnný kurzdolarunenadánínevyletíažnekonenu. 20
4.2.3 KÍŽENÍMUTACE Mutacespoleíženímjsoumechanismy,kteréprobíhají okamžiku,kdybyliohodnocenivšichnijedincipopulaciešení.jejich funkcíjevytvoitnovougeneracijedincjejichvzájemnoumanipulací, založenouástinazákladnjijejichhodnocenífitness. Novápopulacejevytvoenaibližn10%prostýmenesením vybranýchjedinc90%jejichížením.použitojetaképonechání nejúspšnjšíchjedincpopulaci,tzv.elitismus,ponechánajetice nejlepších. Keíženíímémuenosujsoujedincivybíránižnou turnajovoumetodou,vekterémajívyššíšancinavybránítilepší(nižší) fitness.procesíženíprobíhámezidvmavybranýmijedinci.každéhoje náhodnýmzpsobemzvolenjedenuzel,tytouzlyjsoupotommezisebou vymnyetnsvýchpotomkresp.jimitvoenýchpodstromecj itomobsahujemechanismyzajišujícívalidituobounovvzniklých jedinc Mutacejedalšímgenetickyinspirovanýmprvkemalgoritmu.Probíhá 1%pravdpodobnostípouzejedincvzniklýchížením.jedinceje náhodnýmzpsobemvybránuzel,jenžjespolucelýmpodstromem nahrazennovvygenerovanýmstromemmaximálníhloubce17úrovní. Algoritmemprovytvoenínovéástistromuje GrowBuilder [6] vytvoenýpodlealgoritmujohnar.kozy GROW [10]. 21
4.3 VLASTNOSTIEVOLUCE Základnímivlastnostmi,kterézásadnímzpsobemovlivujívýsledek automatickéevoluce,jsouvelikostpopulacepoetgenerací.majívelký vlivnakvalitunalezenýchešenívýpoetnías.pokudbybylazvolena ílišvelkávelikostpopulaceílišvysokýpoetgenerací,výpoetní nárokybymohlibýtextrémní.naopakpokudbyparametrybyliílišnízké hodnoty,kvalitanalezenýchešeníbymohlanevalná. Nalezenírovnováhymezivýpoetníbyloedmtemsérie experimentprovedenénavybranésaddat.poetjedincbyl experimentálnstanovenna4000.kdynižšíhodnotynezaruovalinalezení ijatelnýchešenívyššíjižnepinášelidostatenévylepšení konvergence. Podobnásérieexperimentbylaprovedenataképrourenípotu generací.protestováníbylapoužitapopulacestanovenévelikosti4000 jedincpoetgeneracísepotomveskocíchzvyšovalod50ažpo1000 generacíjednomhualgoritmu.namenéhodnotybylyposkonení experimentzaznamenányautomatickygenerovanýchstatistických soubor 22
1600 1400 1200 as výpotu (s) 1000 800 600 400 200 0 50 100 200 300 400 500 650 800 1000 Poet generací Obr.9:Grafasovénáronostialgoritmu Novvytváeníjedincipopulacimajítendencivytváetímdál složitjšístruktury,abyseconejlépeizpsobiliešenémuproblému.se složitjšístrukturourostetakévýpoetnías.zezaznamenanýchhodnotje patrnýexponenciálnínárstvýpoetnídobyibývajícímpotem generací,cožjesouladuedpokládanýmchováním. 23
3,5 3 2,5 Max. fitness 2 1,5 1 0,5 0 50 100 200 300 400 500 650 800 1000 Poet generací Obr.10:Grafkonvergencealgoritmu Konvergencealgoritmuvykazujezpomalujícícharakter.Hodnotyna obrázku10jsouproloženylogaritmickouadou.kolipoet provedenýchexperimentnenídostatenýproesnjšíodhad,lzeíci,že algoritmuspomalukonvergujehodnotámfitnessokolo1.takétoto zjištníjeplnsouladuekávanýmchovánímalgoritmu. 24
5. INTEGRACESOBCHODNÍPLATFORMOUMT4 5.1 PROPOJENÍPOMOCÍDLLKNIHOVNY Jakužbyloedznamenánoívetétopráci,prospojenímezi obchodnígenetickouástíeajezapotebídynamickéknihovny(dll). KnihovnazajišujespuštníaplikacesystémuECJ,edáníparametr následnoudatovoukomunikaci. 5.1.1 NÁVRHKNIHOVNY DynamickéknihovnyvytváenépropoužitíplatformouMT4musí dodržovataduproprietárníchstandardježbohuželnejsounikde uvedenyplnémznníaniesvelkourozšíenostplatformy.návrhu knihovnybylprotozaujatponkudpragmatickýístup,vycházející íkladdistribuovanýchspolemt4. PoprvotníchneúspšnýchpokusechkompilacíDLLobvyklými zpsoby[8]bylonutnévyužítkombinacimnohaznýchraddoporuení internetovýchfór[11]vydavateleplatformymt4.tšinanichsetýkala specifickýchnastaveníidemicrosoftvisualstudioc++,edevším nastaveníkompilátorulinkeruproprácisestaršíverzíknihovny msvcrt.lib. Jádroknihovnypotomtvodvhlavnífunkce.Prvnízajišujekrom spuštníalgoritmutakévytvoenípracovníhoadresákonkrétníhohu 25
správnépojmenovánívšechsouboretncestyoperanímsystému. Druhámánastarostipržnénaítáníaktuálníchregresníchdat,která bylavytvoenaecjaplikací.jelikožsetatoprediktivnídataníkaždé generacihugenetickéhoalgoritmu,funkcetaképodáváinformaci,zdaje jižgenetickéástidokonen. 5.1.2 PODROBNÝPOPISFUNKCEDLL KnihovnajeimplementovánajazyceC,jejízdrojovékódybylibýt souástítétopráce.hlavnímivýzvamiimplementacibyloedevším zajištníspouštníecjaplikacezajištníkorektníprácesesoubory. DLLspouštísystémECJprostednictvímBATsouboru,kterýdopedu vygenerujeuloží.tentosouboruobsahujevšechnanastaveníabsolutní cestysouborsystémusouborbatsouborjevolámjakonový procesoperaníhosystému,prostednictvíminterpretuíkazovéádky ( cmd.exe ).JednásetakešeníplnzávislénaplatformOSWindows. BATsouborpotomspouštíinterpretjazykuJAVApracovním adresáecj,sevstupníídou ec.evolve,cožjehlavníspouštcíída systémuecj.tomtospuštnízároveedámnožstvíparametrdll žetímtozpsobemsnadnozvolit,zdaspustí32nebo64bitovýjava interpretjakvelkouástsystémovépamtimuidlí.dalšímležitým nastavenímjepoetvýpoetníchjader,kterýjezpístupnsystémuecj. Díkymtomožnostemlzevšechnyparametrypohodlnnastavit ímouživatelskéhorozhraníobchodníplatformymt4,vložení expertníhoporadce. 26
Obr.11:PodrobnéschémapráceDLLknihovny ProkaždéspuštníECJaplikacevytvoknihovnavevýchozím umístní( C:\xevo_ea\ )adresánázvemparametryspuštní.donázvu adresájezakódovánvlastnínázev,oznaenínovéhopáru,asovýúsek odpovídajícíjednomudatovémuúdaji(napm5prominutovýúsek), poetgeneracígp,poetjedincpopulacigp,datumas,nap test[eurusd][m5][g500][i4000][10-10-2011-22.20]. Doadresáhuseukládajívstupnídata,nalezenáprediktivnídata, statistikykonvergencealgoritmusouborúdajemcelkovémvýpoetním ase.totoešeníjevhodnézejménaproelypozdjšíanalýzyhu. Poslednínepopsanoufunkcíknihovnyjenateníprediktivníchdat.To sejenavyžádáníexpertníhoporadcevždyhemkrátkéhoasového okamžiku(1s).knihovnapotomnatesouborprediktivnímidaty 27
dedikovanéhoadresádanéhohudodynamickyalokovanéhopole, kteréedázpporadci. 5.2 EXPERTNÍPORADCE(EA) Obchodníástexpertníhoporadcejerealizovánajakoprogrampro platformumt4.použitíeajeurenodvmafaktory,novýmpárem asovýmúsekem.tytodvalzežnzvolitguimetatraderu.ponatení seeainicializujeizpsobíaktuálnímunastaveníobchodovací obrazovky.lzejejtedybezezmnypoužítnalibovolnýnovýpár asovýúsek. OkamžitpovloženídoobrazovkyEAedáprostednictvímDLL knihovnyaktuálníobchodnídataregresníaplikaciecjpožaduje edpovodtohookamžikudocházíobnoveníedpovdikaždou vteinu,aždodobyukoneníhugenetickéástialgoritmu.toto obnovováníjeuskutenoedevšímvoduvizualizaceprhugp evoluce,proobchodovánípoužijeeapouzekonenouverziprediktivních dat. 5.2.1 EXPORTIMPORTDATECJ DatovákomunikacemeziobchodnígenetickouástíEAprobíhána abstraktníúrovnivelmijednoduše.datapodobotevíracíchnákupních 28
cenzasledovanéobdobí(defaultníhodnotaje500cenovýchúdajdo minulostiodaktuálního)seuložídopole. Obr.12:Prediktivnídatavloženádoobchodníobrazovky Vestejnémformátu,tj.jakootevíracínákupníceny,jsounateny hodnotypredikcedozvolenéobchodníobrazovkymt4.zakreslenajenejen predikce,aletakézjištnéproloženístávajícíchdatregresnífunkcí. 5.2.2 VYUŽITÍPREDIKCEPROOBCHODOVÁNÍ Predikceurenágenetickýmalgoritmemjevyužitaproobchodování relativnjednoduchýmzpsobem.predikci(obr.13,mode)jsouvždy nalezenyminimálnímaximálníhodnoty.pokudminimálníedchází 29
maximální,eabudespekulovatnavzrst,tedypokánaedpovzený okamžikminimaprovedenákup.íkazukonokamžiku edpovzenéhomaxima,ímideálnímípadrealizujeprofit.pokud minimálníhodnotapredikcinaopaknásledujehodnotumaximální,pakea spekulujenapoklesstejnýmzpsobem. Prodej v nejvyšším bod Uzavení v nejnižším bod Obr.13:Využitípredikceproumísttníobchodníchpokyn Tentozpsobvyužitípredikcebylzvolenrespektemkeslabé stráncepredikce,kterouješpatnáschopnostodhadovatabsolutníhodnotu budoucíchobchodníchcen.naopaklépesiregresníalgoritmusvede edvídáníobchodního rytmu.edpovjetakpoužitanikolivzhledem esnýmcenám,aleohledemnaekávanérelativnícenovévýkyvy. 5.2.3 UKÁZKAPOUŽITÍEA PoužitíEAuživatelskérozhraníMT4senikteraknelišíodjiných expertníchporadcdoobchodníobrazovkyseidávávybránímokn 30
Navigátor (obr.14vlevodole).žnáúvodníobrazovkavyzývající prvotnímunastavení(obr.14),obsahujeneobvyklevysokémnožství parametrjejichcharakterjetšinouexperimentálnílzejeponechatna výchozíchhodnotách. Obr.14:PoužitíEAprostedíobchodníplatformy Nastavitlzezákladníparametrygenetickéhoalgoritmujakovelikost populacepoetgenerací.lzevybratmezi3264bitovýmjava interpretemprospuštníecjpoetvýpoetníchjaderprocesoru,jež budouecjidleny.zvolitlzetakévelikosttrénovacíhodatasetudélku predikce,ježbudepožadována. EApotomnazákladpredikceumísujepopsanýmzpsobem obchodnítransakcepevnévelikostilot,cožje100000jednotekzákladní ny.pokudjetakovýkapitáldispozicinaobchodnímtu. 31
VždyposkonenípredikovanéhoobdobísiEAautomatickyvyžádá novoupredikcizesvégenetickéásti.jeprotomožnéeaspustitna libovolndlouhéobdobíbezdalšíhonastavovánínebomanuálníchzásah 32
6. TESTOVÁNÍEA 6.1 TESTOVACÍPROSTEDÍ ObchodnísoftwareMT4nabízírozhraníprozptnétestování expertníchporadctzv. Strategytester.Jednásenástrojvýbornse hodícínejenprozjištníprofitabilityukazatele,aletaképrosnadné porovnánívýkonemjinýcheanashodnýchobchodníchdatech. Obr.15:TestovacírozhraníMT4 Testovacírozhranímáístupkevšemdatm,zaznamenaným brokerem.lzetedyvybratjakýkolinovýpárasovýúsekdatových údaj(m1,m5atd.)používanýžnémobchodování.údajejsounavíc 33
ístupnémnoholetzpt,jeprotomožnétestovánízvolitvelmivzdálené období. ProelytestováníEAtétoprácibylyzvolenydvasíceroku 2009,záíjen. 6.2 PESNOSTPREDIKCE esnostpredikcegenetickéalgoritmujepodstatklíovýmprvkem tétopráce,bylovynaloženovelkéúsilínalezenívhodnékonfigurace, edevšímpoužitýchgpuzlzpsobuvýpotufitness.vhodná konfiguracebylatšinouzjištnaexperimentálnícestou,jennazáklad kolikaspuštníalgoritmusubjektivníhoposouzeníjejichvlivuna chovánípredikce. Tatoproblematikabyzasluhovalamnohemtšíprostor,nežjízde mohlbýtnován.edevšímdetailnízkoumánívlivuvšechmožností konfiguracejejichvlivunaopakovatelnostvýsledku. Právopakovatelnostpredikcenastejnýchdatech,jenejvtším nedostatkemregresníhogen.algoritmu.typickýpommezisubjektivn dobrýmišpatnýmipredikcemijezhruba2:1veprospchšpatných edpovdí,závislostinaaktuálnítendencitrhu,vizobr.16 (predikovanádatajsouzanesenymodroubarvou). 34
Obr.16:Srovnánípredikcedvouznýchalgoritmu esnepíznivýpom podaených edpovdísivšakeaže zachovatsvouprofitabilitu,díkyrelativnímuzpsobuobchodování.toje založenohlavnnarytmuvzestupupoklesu,kterésepodaodhadnout korektnmnohoastji(napnaobr.16vlevobyobchodeaskonil díkysprávnémunaasováníjennízkouztrátouesnaprostochybn odhadnutýtrendstu). 6.3 ANALÝZAVÝKONU TestováníEAprobhlovýchozímnastavenímGP,4000jedincích populace500generacích.formátdatovéobdobíbylom5(jedendatový údajshrnujecenuobchodováníhemminutreálnéhoasu).prediktivní oblastbylanastavenatak,abyjedenalg.poskytlúdajeibližnna jedendenobchodování.zaátektestovacíhoobdobíbylstanovenna 1.9.2009,konecpotom1.11.2009.PoužitbylnovýpárEURUSDprosvou vysokoulikviditu.poáteníbilancetestovacíhotubyla10000$. 35
EvoluceprobíhalanahardwarejádrovýmprocesoremInteli7 8GBoperanípamti.Celkovývýpoetnías,jenžbylpotebaprovšechny hygenetickéhoalg.bylzhruba18hodin63zích.prrnýas jednohohubylpotom17minut25vtein. Obr.17:GrafvývojebilanceEAhemtestu NakoncitestuvykazovalEApositivníbilancitu11953,95$,to edstavujeistýzisk953,95zadvasíceobchodování,cožje19% nárst.eaotevelcelkem63pozic,nichžbylo36ziskových27 ztrátových(vizualizaceprotokolpodrobnýmvýpisemtransakcíby býtiložentétopráci). Celkovýziskzeziskovýchobchodinil17382,82$,celkováztráta obchodztrátovýchpotom15428,87$.toedstavujepomziskovosti 1,13.Maximálnírelativnípokles,vyjadujícímírurizika,byl528,41(27, 23%celkovébilancetu). StatistickéúdajejsouvýkonuEApomrnnaklonny,nebovykazuje nezanedbatelnýziskrelativnrozumnémírizika.jediným nepíznivýmukazatelemjenízkýpomziskovosti,tj.pommezi celkovýmobjemziskovýchztrátovýchtransakcí.upozorujetak,naíliš 36
vysokýobjemztrátovýchobchodcožtakénázornukazujegrafvývoje bilancenaobr.17. Ztrátovétransakce(avšakkterézeziskových)jsoutšinou zpsobenynekorektníedpovdí. 6.4 SROVNÁNÍVÝSLEDKSJINÝMIEA Prosrovnánívýsledkvyvinutéhoporadcebylapoužitašestice znýchea.bylyporovnányjejichvýkonyzastejnýchpodmínek,ježbyly shodnépodmínkamihemtestováníkapitole6.3. PoradciMAMACDjsouímosouástísoftwareMT4jednáse strategiezaloženénaplovoucímprru.zbyléeapotombylystaženy komunitníchfóruživatelplatformy[11].zigzagjestrategiezaloženána pravidelnéstídánívzestuppokleslcsmacdgoodg@bijsou strategiezaloženénabázimacd,rozšíenépráciukazateli stochastic momentum.doubleupjepotomstrategiespíšehazardníhotypu,pravideln zvyšujícíobjemtransakcí. ProelygrafickéhosrovnánídalšíhopopisujeEAvyvinutýtéto prácioznaenjako EVO. 37
6000 5000 4000 3000 istý zisk 2000 1000 0-1000 MA MACD EVO ZigZag LCS MACD GoodG@bi2 DoubleUp -2000-3000 Obr.18:SrovnáníprofitabilityEA Cosetýprofitability,lzeEVOzaaditdoprru.Strategie založenépouzenamasicodoziskovostinevedlyílišdobe.naopakse dailokombinovanýmukazatelm,jejichžvýkonulzeevoirovnat. StrategiiDoubleUpsetestupodailodosáhnoutextrémníhozisku,jež evyšujeziskevovíceneždvojnásobn 38
6 5 Faktor ziskovosti 4 3 2 1 0 MA MACD EVO LCS MACD DoubleUp ZigZag GoodG@bi2 Obr.19:Srovnánífaktoruziskovosti Faktorziskovostijejednímítekefektivity,sekterouEA nakládajísesvenýmiprostedky.ímvyššífaktor,tímvyššíje pravdpodobnost,žeprovedouziskovýobchod.tomtoohledusievo nevedeílišdobe,nebojepomziskovýchztrátovýchobchodtém vyrovnaný. tomtoohodnocenívítzípropracovanjšíealepším managementemrizika.evosejimtomtoohledunemžerovnat,nebo úplnpostrádáízenívýšekapitáluobchodujevždypevndanou ástkou. 39
45,00% 40,00% 35,00% Relativní pokles 30,00% 25,00% 20,00% 15,00% 10,00% 5,00% 0,00% MACD ZigZag MA GoodG@bi2 LCS MACD EVO DoubleUp Obr.20:Srovnánímíryrelativníhopoklesu Relativnípoklesjehlavnímítkemrizika,jemužEAvystavil svenýkapitál.ímjerelativnípoklesvyšší,tímvyššíbylnejvyšší dosaženýpokleshodnotykapitálu.napevodosáhlmax.relativního poklesu27%,cožznamená,ženejhoršímmomentuobchodováníztratil zhrubatvrtinukapitálu(relativnvzhledemobjemukapitálued poklesem). kolijeevotomtohodnocenínaedposlednímmístjehomíra rizikajeplnsrovnatelnáostatnímiea,ježdosáhližnýchhodnot. ekvapivnízkéhodnotydosáhleazaloženánamacd,neboobchodoval jenvelmimalouástíkapitálu.naopakpodleekávánídopadlea DoubleUp,jehožstrategieoblastihazardníchhervystavilarizikuztráty témdvtinykapitálu. 40
6.5 SHRNUTÍHODNOCENÍ esabsencijakéhokolimanagementurizikazaznamenalvyvinutý EArelativníúspch.Podailosemuuzavítobchodováníseziskem,emž nevystavilkapitálmnohotšímuriziku,nežbylonutné. estoseobjevilovarovánípodobnízkéhofaktoruprofitability,jež upozorujenanevýhodnýpommeziziskovýmiztrátovýmiobchody. Obatypyobchodlitém10xvetšíobjem,nežlibylfinálnízisk,což odhalujeznanou nestabilitu nejistotuchováníea. Jetakénutnézdraznit,žekvliextrémnímvýpoetnímnárokbyl provedenpouzejedentestovacítestovacíobdobíbylozkrácenona dvasíce.testmátakpouzeorientanícharakter.proesnjšívýsledky bybylonanejvýšvhodnéeadáletestovatpokolikdesítekpro každéobdobítakézvýšitvelikostobdobízedvousícnanaprok, ípadntestovatchováníeaoddlennadatechkolikaznýchlet. EAnebylnavrženproprakticképoužitíEAsouasnépodobse jehopoužitínedádoporuit,vzhledemnízkémufaktoruprofitability, malémíotestování. EAbylnaopakodpoátkuzamýšlenjakoexperimentcílemovit možnostipoužitígpproproblémedpovdichovánínovýchtrh Tentoexperimentsedápovažovatzaúspšný,nebozauritýchpodmínek, ježnejsouplnprozkoumány,docházíautomatickémuvyvinutívelmi esnýchedpovdí. 41
42
7. MOŽNOSTIBUDOUCÍHOVÝVOJE 7.1 VÝPOETNÍVÝKONPARALELIZACE AlgoritmusGPpoužitýtétopráciproešeníregresníhoproblémuje znaasovnároný.tutonáronostizpsobujeedevšímkomplexní hodnotícífitnessfunkce,ježmusíprocházetkaždéhojedincevždycelá vstupnídatamnohokrátvyhodnocovatsložitéstromyešení. Tatovelkávýpoetnínáronostneumožujeepoítatregresiznovu každémcenovémpohybu,cožbyumožnilojiizpsobitseaktuálnímu nínatrhuumožnilobytoípadnouzmnuaktuálnístrategie obchodování. ejmýmešenímjesamozejmnavýšenívýkonuhardware. Vzhledemtomužeprocesor,namžprobíhalotestování,patil nejvýkonnjšímžndostupnýmprocesorm,jsoumožnostidalšího navyšováníomezenynapoužitísuperpoítae,výpoetníhoclusterunebo výpotunagrafickékart(gpu). VšechnymožnostijsouitomgenetickýmsystémemECJ podporovány.nejdostupnjšízárovenejvýhodnjšímožnostíprodalší prácisejevípoužitígpurozšíeníecj[12],kterébyumožniloádov rychlejšíohodnoceníjedinctímcelkovémarkantnízrychleníhu algoritmu. 7.2 PROLOŽENÍPREDIKCÍZZNÝCHASOVÝCHÚSEK 43
Jakbylopoznamenánopodkapitolechovánítrhtatoprácebyla inspirovánateoriíelliottovýchvln,jenžbymohlabýtzárovetaké východiskemprodalšípráci. Teoriepodstatíká,žeaktuálnínínatrhujesloženovelkých vln.tytovlnyjsoupaksloženymenšíchvln.tímvšakteorienekon íká,žetytojsousloženyještmenšíchvlnatd. Takovýkonceptbysedalímovyužítsestaveníkomplexní edpovditrhusloženédílíchedpovdí,tj.krátkodobé,stedndobé dlouhodobé.resp.složenímedpovdíprostandardizovanéasové formátydat(m1,m5atd.). Skládánízjišovánítšíhopotuedpovdíbyvšakvyžadovalp takévyššívýpoetnívýkon.dalšímubádánítomtosmrubytakejm museledcházetkterýzezpsobzvýšenívýpoetníhovýkonu algoritmupodkapitoly7.1. 7.3 VYLEPŠENÍOBCHODNÍÁSTIEA VýpoetnnejménnáronýmvylepšenívytvoenéhoEAbybyla úpravajehoobchodníásti.témnezbytnýmsejevízavedeníkteré foremmanagementurizika. Dalšímracionálnímkrokembybylorozeznáníchybnépredikce novéspuštníregresníhoalg.okamžikukdybyedpovzenéhodnoty nabývalyneobvyklýchhodnot. 44
Dalšípozornostbytakézasluhovalmechanismusumísování transakcí.souasnéverziseídíprostýmmaximemminimemzjištné predikce,bezjakékolidalšívazbynaaktuálnínínatrhu.kvlischopnosti GPalgoritmuedpovrytmuspoklesvzestupbyejmbyla výhodnjšíjináformamechanismu,ježbydokázalasledovatúrove korelacemezipredikcíaktuálnímiobchodnímidaty. 45
46
SEZNAMLITERATURY 1.Shamah,Shan.ForeignExchangePrimer.ChichesterJohnWiley SonsLtd.,2003.ISBN0-470-85162-7. 2.Lo,AndrewW.TheEvolutionofTechnicalAnalysis:Financial PredictionfromBabylonianTabletstoBloombergTerminals.s.l.Bloomberg Press,2010.ISBN1576603490. 3.Poser,StevenW.ApplyingElliottWaveTheoryProfitably.New JerseyJohnWileyandSons,2003.ISBN0-471-42007-7. 4.Horner,Raghee.Forextradingemmaximálnímziskm.Brno ComputerPress,2011.ISBN978-80-251-2921-0. 5.Riolo,Rick,Vladislavleva,EkaterinaandMoore,JasonH. Moore.GeneticProgrammingTheoryandPracticeIX.LondonSpringer, 2011.ISBN978-1-4614-1769-9. 6.Luke,Sean.TheECJOwner smanual.fairfaxgeorgemason University,2010. 7.Luke,Seankolektiv.http://cs.gmu.edu/~eclab/projects/ecj/. 8.Corp.,Microsoft.http://www.microsoft.com/visualstudio/enus/products/2010-editions/express. 9.Inc.,AdobeSystems.http://www.adobe.com/products/air.html. 10.Koza.,JohnR.GeneticProgrammingII:AutomaticDiscoveryof ReusablePrograms.CambridgeMITPress,1994.ISBN0262111896. 11.corp.,MetaquotesSoftware.http://www.mql4.com/. 47
12.Robilliard,Denis,Marion,VirginieandFonlupt,Cyril.High PerformanceGeneticProgrammingonGPU.BarcelonaACM,2009. 48
PÍLOHAA SEZNAMPOUŽITÝCHZKRATEK BAT Batch,Batchfilesouboríkazvykonanýinterpretemoperaního systému C CCI Programovacíjazyk Commoditychannelindex DDL Dynamiclinkinglibrary,dynamickáknihovna EA ECJ Expertadvisor,expertníporadce EvolunívýpoetnísystémjazyceJAVA ERC Ephemeralrandomconstant,náhodnákonstanta EUR Euro EURUSD FOREX OznaenínovéhopáruEUR/USD Foreignexchange,mezinárodnínovýtrh GP Geneticképrogramování GPU Graphicalproccesingunit IDE Integrateddevelopmentenvironment,integrovanévývojové prostedí JAVAProgramovacíjazkyJAVA MA Movingaverage,plovoucípr MACD Movingaverageconvergence/divergence MMFMezinárodnínovýfond MQL MetaQuoteslanguage MT4 MetaTrader4,obchodnísoftware 49
OS PIP Operanísystém Percentageinpoint,procentníbod USD Americkýdolar 50
PÍLOHA OBSAHILOŽENÉHOCD (koenovýadresá jungmto1_bp.docxbakaláskápráceveformátudocx jungmto1_bp.pdfbakaláskápráceveformátupdf prirucka.pdfprvodceinstalacípoužitímea ecjadresásezdrojovýmisoubory,rozšiujícísystémecj mt4adresáobchodníástíea dlladresásezdrojovýmikódypropojovacíknihovny testadresávizualizacíprotokolemtestováníea 51