Vyhledávání v článcích
Tip na knihu


Jak na...

Přímá cesta k informacím

Automatizované analytické workflow s naprosto minimálními náklady? Ano je to možné.


Za poslední měsíce jsem na Finančníkovi napsal hned několik článků týkajících se většího zapojování automatizace do svého obchodování. A jelikož postupně vše nabralo skutečně vysoké obrátky, chci dnes upozornit na některé věci, které vás možná nadchnou a posunou stejně jako mě.

  
Foto (c)123rf.com  

Vše se u mě dalo do pohybu někdy v průběhu loňského roku, kdy jsem začal mít potřebu více pracovat na integraci a zefektivnění svých obchodních přístupů. Je možné, že za tím stál plánovaný přírůstek do rodiny (a tudíž výrazně větší nároky na volný čas), částečně patrně i potřeba vystoupit po letech z komfortní zóny a zkusit se posunout dále. Vlastně jsem neměl konkrétní plán, jen jsem vnímal, že by šlo některé věci propojit a dělat lépe. Například do intradenního obchodování více využívat některých vstupů (a pravděpodobností) z opčních strategií a tendencí ze swingových strategií. Dlouhou dobu uvažuji nad tím více automatizovat spreadové strategie a podobně. Dlouho jsem přemýšlel, kterým směrem se vydat. Obzvlášť proto, že jsem naposledy programoval v Basicu na základní škole a nikdy jsem neměl zájem stát se programátorem. Uvědomoval jsem si možnou cestu nechat si nějaké řešení naprogramovat, ale to nebylo úplně to, co jsem hledal. Jak už z předchozích článků víte, nakonec jsem se přiklonil k používání Pythonu řekněme na „uživatelské úrovni“. A zpětně musím konstatovat, že věci se postupně začaly hýbat opravdu rychlým směrem a k mé ohromné spokojenosti.

Ono totiž i s relativně malými programátorskými znalostmi a neustále zapnutým vyhledáváním v Google jde v dnešní době provádět na počítači neuvěřitelné věci.

Mé ambice byly nemalé. V zásadě jsem chtěl především vytvářet řešení, která budou svým způsobem pracovat sama a šetřit mi čas. Budou efektivní.

Pochopitelně, že už dříve jsem pracoval s různými skripty, například v Multicharts/Tradestation, ale bohužel to bylo vše hrozně fragmentované a vyžadovalo to mé neustálé zapojení. Patrně to znáte sami.

Má představa byla zadat počítači práci typu – otestuj například různé denní profily trhů a otevírací gapy. Najdeš tam nějaké základy edge? Pokud ano – zkus funkční řešení rozšířit například o testy volatility a sezónnosti. S tím, že finální výstupy bych jako tendence používal ve svých diskréčních přístupech, případně nechal obchodovat automaticky (například ve stylu obchodování FOMC dne) a skládal je do širších portfolií.

Samozřejmě, že i podobná řešení vyžadují čas tradera, ale především ten analytický, kdy člověk připraví ty správné otázky. Moje představa byla taková, že počítač bude poté sám dělat různé analýzy, které na sebe budou navazovat a ovlivňovat se podle předcházejících výsledků.

Zkoušel jsem různé cesty. Nejschůdnější se mi vždy jevila TradeStation, která se ale ukázala jako hrozně uzavřená. Díky zkušenému programátorovi to sice chvíli vypadalo, že bych mohl automatizaci dotáhnout přes jejich optimization api, ale bylo to dost komplexní, vyžadující seriózní programátorskou práci, pomalé a bohužel s řadou dost zásadních limitů. Kdo zkusil, ví.

TradeStation mám rád pro programování jednodušších skriptů a automatické obchodování, ale jako srdce mého automatického analytického workflow neobstála. Chtěl jsem něco, co bude levné, stabilní, rychlé, nabízející všechny běžné nástroje technické analýzy, disponující pokročilými genetickými optimalizacemi a především – plně externě ovladatelné mými jednoduchými skripty.

Jak už řada z čtenářů Finančníka ví, nakonec jsem řešení objevil v Amibrokeru. Tento software, který patří k těm nejlevnějším na trhu, jsem vždy tak trochu přehlížel, ale pokud hledáte podobné řešení pro plnou automatizaci svých analytických procesů, tak doporučuji zaměřit svou pozornost tímto směrem.

Amibroker zcela vše ukládá do textových nebo XML souborů, které lze externě editovat – tedy není problém jednoduchými kroky upravovat například backtestované studie, nastavovat trhy, rozsahy testovaných období, timeframe atd. Současně má OLE rozhraní (viz en.wikipedia.org/wiki/Object_Linking_and_Embedding ). S pomocí jednoduchých externích skriptů tak lze v programu dělat cokoliv – spustit analýzu, optimalizaci, WFO, updatovat databázi atd. Prostě cokoliv. A v neposlední řadě je ten program neuvěřitelně rychlý.

Rychlost je dnes relativní pojem, neboť každý výrobce o svém programu píše jen samé superlativy. Pro ukázku jsem tak připravil video porovnání optimalizace použití Amibrokeru a TradeStation 9.5 (která je rychlejší než předchozí verze, protože má podporu multithreadingu). Jde o menší optimalizaci s 300 kombinacemi na minutových datech trhu ES za 3 roky. Jedná se skutečně jen o technické srovnání, které slepě optimalizuje jednoduchou Bollinger band strategii. Amibroker má práci hotovou za 32 sekund, TradeStation 9.5 má kompletní práci hotovou za 2 minuty 25 sekund. Oba testy jsem natočil a můžete si je vizuálně porovnat (běžely na stejném počítači, oba samostatně):

Nechápejte mě špatně – nikdy jsem nebyl nějak vysazen na rychlosti optimalizace. Ale pokud enginy s podobnými rychlostmi necháte běžet dlouhodobě, tak je rozdíl odvedené práce opravdu výrazný. Jako neprogramátor se někdy nestačím divit, jak je možné, že to, co v jednom programu je samozřejmé, je u druhého takový problém.

Jak vypadá například automatické spuštění optimalizace v Amibrokeru externím skriptem v Pythonu?

NewA = AB.AnalysisDocs.Open(ApxToLoad);
NewA.Run(4)
while (NewA.IsBusy):
time.sleep(0.5)
NewA.Export(ResultsExportPath);
NewA.Close()

Tedy extrémně jednoduše i pro běžného neprogramátora, jako jsem já. Výsledky jsou přitom uloženy do csv, které je poté možné dál zpracovávat, procházet filtrovat a na jejich základě upravovat spouštěné analýzy a takto pokračovat stále dokola. Prakticky 100% automatizovaně.

Musím se přiznat, že i samotný průběh hledání a testování různých slepých cest a nuancí představoval docela náročný proces. Pokud tedy řešíte podobné výzvy, kterými jsem procházel já, tak mohu toto řešení plně doporučit.

A pokud nechcete věnovat čas studiu vytvářených ovládacích skriptů, tak mám pro vás další dobrou zprávu. Na únor plánuji připravit workshop zaměřený na vytváření řešení vycházejících z popsaných principů. K workshopu budu poskytovat také již mé hotové skripty, takže účastníci získají prakticky kompletní řešení. Pro jeho ovládnutí tak bude stačit seznámit se s Amibrokerem, na čemž případně můžete začít pracovat přes vánoce (využít můžete můj on-line kurz, který jsem připravil hlavně pro spolupracovníky ze svého programátorského týmu. Na tomto linku jej do konce roku získáte s výraznou slevou).


Petr

(publikováno 07.11.2016, editovat ) Vytisknout tento článek

Klíčová slova použitá v článku:
broker, TradeStation, limit, margin, backtest

Finančník.cz je místo, kde už od roku 2004:

  • Autoři webu a zkušení tradeři Petr a Tomáš předávají své know-how.
  • Autoři webu Petr a Tomáš přinášejí kompletní vzdělání v tradingu.
  • Naleznete nejkomplexnější informace o tradingu v českém jazyce.
  • Získáte profesionální tipy a rady, plynoucí z reálných zkušeností z trhů.
  • Najdete inspiraci a motivaci k novému životnímu stylu tradera.
  • 2x týdně naleznete nový článek věnovaný úspěšnému tradingu.

Upozornění: Všechny informace poskytované na Financnik.cz jsou určeny výhradně ke studijním účelům témat týkajících se obchodování na burze a neslouží v žádném případě coby konkrétní investiční či obchodní doporučení. Provozovatel serveru ani jednotliví autoři nejsou registrovanými brokery či investičním poradcem ani makléřem. Jsou-li na stránkách zmiňovány konkrétní finanční produkty, komodity, akcie, forex či opce, vždy a pouze za účelem studia obchodování na burze. Vydavatel serveru není zodpovědný za konkrétní rozhodnutí jednotlivých uživatelů.

Burzovní obchodování a investování s finančními instrumenty (a komoditami obzvláště) je vysoce rizikové. Rozhodnutí obchodovat komodity a akcie je odpovědností každého jednotlivce a jedině on sám nese za svá rozhodnutí plnou odpovědnost. Nikdy se nepouštějte do obchodů, jejichž podstatě plně nerozumíte. Pamatujte, že burza má svá pravidla, kterým je třeba porozumět, než začnu riskovat své vlastní peníze!

Tento web používá k poskytování služeb a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte.
Copyright 2016 © Financnik.cz - Developed by BlueCube.cz
Server Financnik.cz vydává a všechny služby provozuje Centrum finančního vzdělávání, s.r.o.
Všechny články zde uveřejněné podléhají autorskému zákonu a jejich kopírování pouze se souhlasem autora.