Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Diskuze k článku: Adaptrade Builder - jak může vypadat genetické generování obchodních systémů II?


Doporučené příspěvky

Odesláno

Gizmo:

Zaujalo me, ze sis taky psal svuj nastroj na backtesty. Zkousel sis osahat nejake komercni tooly, NinjaTrader, TradeStation, atd? Mas s nima nejakou zkusenost? Co te vedlo k tomu, ze si pises backtestovaci nastroj sam?

Ja jsem si s historickymi daty a automatickymi testy zacal hrat uz pred nejakymi ctyrmi lety. Tenkrat jsem nenasel zadnej slusnej programovatelnej tool zadarmo nebo skoro zadarmo, tak jsem si to napsal sam. Ale obcas si rikam, jestli ma tenhle pristup jeste dneska smysl, ze je to slepa ulicka, ze musi existovat profesionalni nastroje, pod kteryma bych byl produktivnejsi. Jenom jaksi nemam porad dost motivace stravit nekolik tydnu az mesicu tim, abych udelal dukladnej pruzkum trhu, neco vybral, poradne se to naucil, a prepsal pro to vsechny svoje programy.

Odesláno

> jaaan

Pouzivam NinjaTrader - delal jsem v nem rucni backtest a nejspis ho budu pouzivat pro ID obchodovani, az se k nemu dokopu. Ale nikdy jsem v nem nic neprogramoval. Ikdyz co jsem se tak zbezne dival, vypada to docela schopne (a taky se mi jako C/C++/PHP/Perl cloveku libila syntaxe :) ). V budoucnu se na to planuju taky poradne podivat, ale momentalne nema smysl, abych se snazil programovat ID strategii.

Taky se ted koukam na Qtstalker, protoze se mi zalibilo Ubuntu a premyslim, ze bych to hodil na vsechny masiny (zatim to mam jenom na HTPC a funguje to velice dobre). Ale to spis az pozdeji - az budu mit cas na to si to doprogramovat k obrazu svemu :)

Svuj backtestovaci nastroj jsem napsal ze dvou duvodu - jednak je parovy obchodovani dost specificka vec a nevim o zadnym nastroji, kterej by to umel zbacktestovat a jednak potrebuju presne simulovat chovani sve AOS, aby se z backtestu dalo vychazet. A pak vlastne jeste jeden duvod - nechci zustat jenom u backtesteru, ale chci to rozvest trochu dal a backtester bude jenom jedna feature...

Ale jinak samozrejme souhlasim, ze ne vzdycky je dobry znovu vynalezat kolo. Co se tyka manipulace s daty (konverze formatu dat, filtrovani, synchronizace atd.), tak na to si vetsinou pisu svoje veci, protoze je to zpravidla tak, ze nez bych neco rozumnyho vygooglil, mam to napsany v Perlu. Ale pokud je potreba delat neco s UI, tak uz se radsi podivam po necem hotovym. Mrkni na toho Ninju, to vypada fakt rozumne.

A jeste co se tyce genetickych algoritmu - dival jsi se na CUDA? To je rozhrani od nvidie, ktery ti dovoli pouzivat graficky procesory k vypoctum. To by mohlo byt docela uzitecny.

Odesláno

Vida, o CUDA jsem nevedel. Az si nekdy za dlouhych veceru nebudu mit s cim hrat... zatim mi bude stacit hlavni procesor.

Presne jak pises, kolikrat clovek na neco hleda nejakej nastroj, a nic poradnyho na to neni, nebo je to soucasti nejakyho drahyho velkyho baliku, a pak zjisti, ze je rychlejsi a jednodussi si to napsat sam. Takze nakonec tezko rict, do jake miry by byl prechod na hotovej softwarovej balik vyhra, kdyz bych si tam stejne musel porad neco dodelavat, a pripadne jeste bojovat s tim, ze v uzavrenym systemu vzdycky rada veci "nejde udelat", protoze to neni "podporovany". Ale to nezjistim, dokud to seriozne nevyzkousim.

Ja jsem ted zkoumal balik MarketCetera
www.marketcetera.org/confluence/display/MPIO/Welcome+to+the+Marketcetera+Community
Je otevreny, jsou k dispozici zdrojaky, muzes si to ohnout libovolnym smerem, podporuje to backtest i zive obchodovani, ale je to v podstate jen holej framework, dalo by spoustu prace, nez by tam clovek rozchodil svuj system.

Odesláno

Gizmo

By the way, jaky mas plany s rozvadenim dal? Kdyby byly na financniku dostupny soukromy kontakty, napsal bych ti soukromej mail.

> A pak vlastne jeste jeden duvod - nechci zustat jenom u backtesteru,
> ale chci to rozvest trochu dal a backtester bude jenom jedna feature...

Ja posledni dobou uvazuju co delat dal. Napsal jsem si backtester. A taky jednoduchej runtime na AOS, napojenej na InteractiveBrokers a obchoduju pres nej na zivo, coz mi, zatim, vydelava na chleba a trosku te sunky a okurcicek na nej. Ted posledni tydny experimetuju s gentickyma algoritmama, aby mi pomohly v inspiraci.

Vsechno co delam je na maximalne pragmaticke urovni. Minimalisticke GUI, nejjednodussi vec, ktera mi bude fungovat a pomuze mi neco vyresit.

Ale uz je v tom mozna dost know how, ze kdyby se to ucesalo a udelalo k tomu nejake rozhrani (at uz API nebo GUI), tak to vyda na pouzitelnej projekt i pro ostatni. At uz open source zadarmo, nebo klasickej soft za prachy. Ale spis inklinuju k OSS. V komercnich toolech je velika konkurence, a pritahuje vsechny neuspesny tradery. OSS pritahuje chytry technicky lidi, kteri maj zajem vazne pracovat. Vyvojem software jsem se predtim leta zivil, ted ho beru jako seriosni konicek. Vydelavat se snazim na tradingu.

Proto bych ten soft bych rad uplatnil, kdyz uz je na svete. Jen jsem zrovna na rozcesti, jak to delat. Jestli dat do sveta svuj framework, par jich takovych bylo a vzdycky si publikum nasly, jen je potreba to pak udrzovat dlouhodobe dal. Nebo se prestehovat na nejakou traderskou platformu, jako NinjaTrader, nechat infrastrukturu na nich, a prepsat pro ni tech nekolik napadu co mam, a neco z toho pustit ven. Nebo zustat sam pro sebe, vytvorit paraleni sadu systemu k tomu co obchoduju, prodavat tipy? Nebo neco jineho? Co muze delat programator v tradingu vedle tradovani?

Rad vymenim zkusenosti a nazory v tomto smeru, kdybys mel zajem.

Jan

Odesláno

> jaaan

Tohle uz je trochu offtopic, ale snad nam Michal promine :)

Ja mam v planu takovej portfolio builder/tester - melo by to byt schopny zkombinovat vic strategii, otestovat, jak by si vedly dohromady, jak moc vyuzivaji kapital - aby co nejvic z kapitalu vydelavalo a penize tam jenom nelezely (jestli jsem se za poslednich nekolik mesicu neco naucil, tak je to to, ze nedostatecny, stejne jako spatne rozvrzeny kapital, ma zasadni negativni vliv na vykonnost). Jaka je mezi nima korelace, jestli ma vubec smysl je kombinovat. Proste takovej nastroj pro analyzu diverzifikace. Zatim jsem u toho backtesteru, ale snazim se to psat jako samostatnej modul, aby se to pak dalo jednoduse propojit s ostatnima vecma (a tech backtesteru bude muset byt samozrejme vic). Je to uz docela dost specificky reseni a do sveta to poustet nehodlam, protoze je to zamereny opravdu jenom na analyzu konkretnich veci, univerzalnost neni v tomto pripade priorita - takovej advanced backtester. A ty geneticky algoritmy me posledni dobou taky zaujaly, protoze by z toho mohly vypadnout zajimavy napady, kudy se vydat dal a rozsirit si tak trochu portfolio. AOS mam ale uplne nezavisle na tom portfolio builderu.

Na druhou stranu mam v praci kolegu, se kterym plno veci konzultuju, protoze on je o dost starsi a zjisil jsem, ze kdykoliv prijdu na nejakou zajimavou vec, on uz to pred 20ti lety delal :). Obchoduje hlavne opce a trochu forex, ale ma to jenom jako takovej privydelek. A kdysi delal pro nejakyho tradera optimalizaci nejake strategie pomoci genetickych algoritmu - samozrejme v te dobe nemohl jit na google a precist si o cemkoliv, takze o tom ma nejaky knihy (ikdyz vetsinu ve francouzstine, coz je pro me zatim jeste porad problem). A rikal, ze se mu tu strategii podarilo vylepsit v radu procent, ale nic uzasnyho se nekonalo. Takze me trochu varoval, at od GA nemam prehnany ocekavani. V dnesni dobe jsou zase ale vypocetni moznosti uplne nekde jinde a obcas jsem se usmival, kdyz mi vypravel, jak psal programy a musel pracovat s pameti v radu kilobajtu. Ten muj backtester bezi se vsim vsudy asi 30 sekund (vcetne nacitani dat a statistickych vypoctu), ale vezme si kolem 700 mega pameti, kdyz pracuju s minutovymi daty za 5 let :)

Ale pokud jsi to svoje reseni psal dostatecne univerzalne a koketujes s myslenkou pustit to do sveta, asi bych se vydal cestou open source. Podle toho, co jsi psal, nemam pocit, ze to delas z duvodu, aby jsi na tom neco vydelal. A jak rikas, open source pritahuje vetsinou technicky lidi, kteri by mohli prinest novy napady. Jinej kolega udelal ve volnym case takovej automatizacni framework, kterej pouzivame i v praci pro automatizaci ruznych procesu a vydal to prave taky jako open source. Musim se ho zeptat, jestli se mu nekdo ozval, ze by to chtel rozvijet dal. Ikdyz to neni az tak moc komplikovanej soft a vetsinu z toho, co od toho clovek kdy muze potrebovat, uz udelal v prvni verzi. Ale kudos, my jsme takovej framework potrebovali (minulej rok jsem udelal prvni verzi, na ktere jsme se naucili, co nefunguje :) ) a nic uzitecnyho jsme nenasli. A on to napsal a pustil do sveta. Pokud se rozhodnes pro to samy, tak rozhodne (tu)

Odesláno

Presne, portfolio optimalizace. GA pomuzou obcas najit dobrej napad na vstupy, ale funkcni byznys stoji na skale ruznych systemu, ktery musi fungovat dohromady. Ja tohle zatim delam jen selskym rozumem. Mam nekolik systemu v nekolika trzich (urokovy miry, kovy, zrniny, softs, masa), o kterych idealisticky predpokladam, ze jsou nekorelovany, a u kazdyho systemu pocitam statistiku, kterou jsem si pracovne nazval "jednotkovy obrat", coz je soucin frekvence obchodu krat risk v jednom obchodu na kontrakt. A obchoduju v kazdym systemu tolik kontraktu, aby souhrnnej jednotkovej obrat byl v kazdym systemu stejnej. Ale je to jen heuristika zalozena na selskym rozumu.

Mechanickej nastroj na optimalizaci ruznych stategii na alokaci kapitalu by urcite pomohl. Kdyz jsem vzal log svych obchodu za posledni rok a zkusil tam pustit par simulaci, jak by to probehlo, kdybych tam prideloval penize jinyma zpusobama, tak jsem videl, jak zasadni rozdil position sizing hraje. Clovek muze mit supr system a spatnym position sizingem ho znicit. Anebo naopak. Nejlip mi zatim vyslo davat na kazdej obchod stejny procento uctu, ale to se da praktikovat jen s obrovskym uctem, kdyz clovek obchoduje s desitkama kontraktu. A pak zas tezko rict, jak by fungovaly moje rychly systemy. Jestli by slo vstupovat a vystupovat s desitkama kontraktu stejne rychle, jakto delam ted. Ted se potykam s problemama socek - ze napriklad v malym stribre YI je obrovska slippage, a ve velkym stribre SI, si v obzvlast divokych dnech nemuzu dovolit ani jeden kontrakt. V TNotes muzu skalovat plynule, ale v cukru muzu davat jeden kontrakt nebo dva a mezi jenim a dvema je obrovskej rozdil.

Ostatne v tomhle by te mohl inspirovat ten chlapik co napsal ten GA program, k jehoz clanku je tahle off topic dikuse. Na svych strankach prodava i program na position sizing. A taky to ma cely dobre vymysleny a kdyz si ctu manual, takhle to ma bejt. Extrahoval statistiky, ktery si kazdej delame sam na kolene, a udelal z nich produkt. A na rozdil od GA, tady nezalezi na rychlosti, takze bych si i dokazal predstavit, ze bych si to od nej mohl koupit a pouzizvat to. Pro tebe by to mohla byt inspirace co uz existuje a jak to delaj jini.

Ad rychlost. Ted jsem si pohral s profilerem a zrychlil jsem beh jednoho kroku ze vterin na desetiny vterin. Myslim ze o tomhle je cesta v nasem byznyse. Kdyz uz clovek udelal tech par zacatecnickych kroku a naucil se zachazet s penezma a s rizikem, tak je potreba vyuzit kazdou vyhodu ktera se da. A kdyz delam GA, tak mit soft, kterej vyzkousi za noc 100000 reseni, a ne 100, jak v tomhle recenzovanym softu. Nebo vzit jakejkoli system kterej vydelava, a vyvinout spickovej algoritmus na alokaci penez. Nebo oboji dohromady.

Odesláno

Ale jinak jo, jak rika tvuj sarej kolega, vsechno uz bylo udelany. To mozna znas z programovani, ze v ucebnicich ze 60tych let jsou vsechny triky, ktery se ted znova objevujou a prezentujou jako velkej objev. Stene tak v tradingu vsechno podstatny bylo receno na zacatku minulyho stoleti v Reminiscences of a stock operator.

en.wikipedia.org/wiki/Reminiscences_of_a_Stock_Operator

Jde jen o to si nejakou, treba i davno znamou vec, vyhlidnout a jit za ni a delat ji poradne.

×
×
  • Vytvořit...