Další díly tématického seriálu :

Vyhledávání v článcích

Tip na knihu


Jak na...

Bezplatné ebooky

Breakout první korekce - automatické testování v TradeStation


Dnes navážu na svůj minulý článek „Studujeme intradenní systémy - breakout první korekce“ a prakticky vám ukážu, jak přibližně složité je vytvořit automatický test strategie, jehož výsledky byly v článku uvedeny.

S Tomášem skoro na každém našem kurzu diskutujeme na téma, zda-li obchodní strategie programovat či nikoliv. Odpověď je vždy jednoznačná – pokud člověk s tradingem začíná, měl by se z naší zkušenosti programování čehokoliv vyhnout. Je totiž jen velmi nepatrná šance, že začátečník, který má o burze jen minimální povědomí, naprogramuje něco, co by mělo reálnou šanci „samo“ vydělávat peníze. Obzvláště to platí v oblasti intradenního obchodování. Jediné, co může začínajícího tradera posunout vpřed je studium grafů. A začátečníkům, kteří se snaží dívat na trhy skrz mechanické programování, bohužel navždy unikají ty nejzákladnější principy.

Situace se pochopitelně mění u zkušených obchodníků. Pokud již rozumíte principům obchodování, máte dobře osahané své strategie (nejlépe skrz dlouhodobější živé obchodování), mohou vám různé programové nástroje zvýšit efektivitu nejrůznějšího testování nebo pomoci při nejrůznější automatizaci. Osobně používám programovatelné nástroje pro hledání tendencí nebo problematických období. Jednoduše řečeno jsem si vědom, že nejsem žádný programátor a nejsem schopen naprogramovat veškeré nuance obchodních přístupů, které používám. Většinou si tak vytvořím nějaký jednoduchý kód vystihující z principu určitou myšlenku a mohu chtít mechanicky otestovat její robustnost v čase předtím, než ji začnu jemně testovat ručním backtestem.

Nástrojů, ve kterých lze testovat mechanické principy existuje obrovské množství. Poměrně dost tipů můžete získat ve starším článku „Jaký software pro backtesting a vytváření vlastních obchodních systémů a indikátorů?“. Osobně dnes používám programy TradeStation a Microsoft Excel.

Krátce o TradeStation

TradeStation je brokerská analytická platforma, kombinující skoro vše, co obchodník potřebuje pro technickou analýzu a mechanické programování nejrůznějších algoritmů. Podrobněji viz např. náš seriál „Pracujeme s TradeStation (1)“. Dnes samozřejmě existují i další podobná řešení, já osobně ale upřednostňuji právě TradeStation, kterou ke své spokojenosti používám již velmi dlouho. Mezi hlavní důvody patří snadná práce s daty (v podstatě historická data vůbec neřeším, protože se mi vždy načtou od brokera, byť např. ticková data jsou zde omezená pouze na 6 měsíců), velmi rozsáhlá uživatelská komunita (když potřebuji tak na diskuzním fóru vždy najdu řešení svého problému) a samozřejmě technické možnosti. Jenom pro dokreslení obrázku - platforma je zdarma klientům TradeStation (pokud děláte alespoň skutečné minimum obchodů) nebo se platí cca 100 dolarů měsíčně (plus je třeba vždy platit poplatky burzám za jejich data), komise jsou podobné jako u InteractiveBrokers. TradeStation má pochopitelně také své ALE – vývoj platformy je poměrně dost pomalý a např. až letos do platformy přibyla možnost obchodování rangebars (vteřinové grafy pořád chybí) a pro obchodníky z Evropy je nepříjemné, že prakticky příliš nelze obchodovat evropské trhy.

Podoba kódu pro testování konceptu proražení první korekce

Abyste si dokázali udělat představu o náročnosti programování v TradeStation, přikládám svůj kód pro diskutovanou strategii proražení první korekce. Upozorňuji, že nejsem programátor, ale uživatel. Je tak pravděpodobné, že věci jdou dělat efektivněji nebo jinak. Aby byl kód přehledný, uvádím jej jako obrázek, pokud by měl někdo zájem, napište do diskuze a vložím jej v textové podobě:

breakout-jako-aos.gif, 48kB

Jak vidíte, kód není příliš dlouhý. Nejprve se definují používané proměnné a vstupní hodnoty.

Následná zhruba třetina kódu sleduje, kolik uděláme obchodů za den. V této chvíli obchoduje strategie jediný obchod denně, počítání obchodů se děje přes proměnnou numTradesToday a jakmile má tato proměnná hodnotu 1, další obchody bude software „obchodovat“ až následující den.

Teprve až posledních několik řádků obsahuje kód samotné strategie. Obchodujeme pouze v určité hodiny (zde nastaveno přes proměnné čas 9:33 až 10:00, což je lokální čas obchodování trhu TF, budete-li chtít obchodovat např. trh NQ je třeba nastavit lokální čas o hodinu nižší, neboť TF a NQ se obchodují na jiné burze, v jiném časovém pásmu) a sledujeme, zda-li trh překoná v daném čase první korekci. V takovém případě zkoušíme nastoupit stop příkazem nad high (v případě dlouhé pozice) poslední úsečky.

Výstupy v tomto kódu definované nejsou, protože používám předpřipravené kódy dostupné v TradeStation. Strategie ani neřeší „premarket“, protože v TradeStation můžeme strategii automaticky aplikovat pouze na data v hlavní obchodní hodiny – v našem případě zvolím „ticker“ @TF.D.

Shrnutí

Článkem jsem chtěl ukázat, že pro určité typy situací může být efektivní použít programové prostředky a otestovat si robustnost myšlenky tímto způsobem. Pochopitelně, že vytvoření kódu např. v TradeStation vyžaduje určitou zkušenost, ale můžete mi věřit, že sám ovládám jen minimum příkazů, většinou kód buduji systémem pokus-omyl-diskuze, ale i tak je vytvoření podobného kódu otázka maximálně několika málo hodin práce (a zkušený programátor toto pochopitelně má hotové za pár minut). Zdůrazňuji, že je nutné rozlišovat situace, pro které má mechanické testování smysl dělat, a pro které nikoliv. Pokud však obchodník buduje jednoduché strategie, které plánuje obchodovat čistě mechanicky a tyto lze naprogramovat, tak by se o to myslím mohl pokusit. Jednak proto, že si poté velmi zkrátí čas s hrubým otestováním robustnosti přístupu (aplikováním na roky historie zpět, další trhy atd) a jednak proto, že může kód použít pro zautomatizování exekucí, protože proč nenechat jednoduchou strategii tohoto typu zobchodovat počítač, pokud je vše nadefinováno mechanicky?
Na závěr připomenu, že sám jsem diskréční typ obchodníka a mechanické přístupy testování používám většinou na vyšší timeframe (většinou denní), navíc za účelem sledování různých základních tendencí a pravděpodobností, nikoliv pro budování AOS. V rámci intradenního obchodování neobchoduji přístup, který by bylo možné naprogramovat, ale na druhou stranu se určitě nezdráhám použít nejvhodnější nástroje v případech, které jsou k tomu vhodné.


Diskutovat k tématu článku můžete zde


Petr

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

Předcházející kapitola:
Pracujeme s TradeStation (3)


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!

Zásady ochrany osobních údajů   Cookies na serveru Financnik.cz   Všeobecné smluvní podmínky užívání on-line kurzů

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 2018 © 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.