Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Na této stránce
Archiv článků Psychologie obchodování Jak na obchodní plán Mé obchodní strategie
  • 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ě.

       automatizace.jpg
    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ě):

    -- video již není na serveru k dispozici

    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.

    6.11.2016

    Petr Podhajský

    Fulltime obchodník věnující se tradingu více než 20 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování: stavba automatizovaných portfolio systémů, které využívá i při správě většího externího kapitálu.


    Sdílíme, co nám samotným funguje.
    7 výukových lekcí.

    Jak reálně uspět v tradingu?

    Naučte se vydělávat na své sny (naše metody na Finančník.cz)

    Praktický návod, jak v trzích získat šanci vydělávat stovky tisíc až miliony dolarů ročně bez vlastního kapitálu a nutností trávit denně hodiny před počítači (bez práce to ale nepůjde).

    >> Získat kurz zdarma <<

    Další články na toto téma

    Zapojte se: stavba nového intradenního momentum systému s plnou automatizací

    V tradingu často uslyšíte, že k dlouhodobým ziskům potřebujete nejen dostatečný kapitál a rozumně nastavený money management, ale také funkční strategii a důslednou systematičnost. Jakmile ale přijde na to, jak strategii vytvořit, začátečníci obvykle nemají jednoduchou cestu. Ať už si strategii staví sami ručně, nebo použijí některý „generátor strategií“, většinou rychle sklouznou k přeoptimalizovaným modelům, které v reálném obchodování brzy přestanou fungovat.
    Na Finančníkovi proto otevíráme nový projekt v rámci Trading Room, kde se do tvorby intradenní momentum strategie pustíme společně. Vycházíme z akademické studie Beat the Market – An Effective Intraday Momentum Strategy for S&P500 ETF (SPY) (autoři Carlo Zarattini, Andrew Aziz a Andrea Barbon), kterou si výrazně přizpůsobíme, abychom ji mohli reálně nasadit na mikro futures – a to plně automatizovaně.
    Obsah
    Proč se vyplatí vyvíjet strategii spolu se zkušeným obchodníkem Backtest strategie ze studie Track record – navazujeme na minulý intradenní projekt Proč přidat do portfolia další strategii Jak projekt probíhá a proč se zapojit hned teď Projekt i pro úplné začátečníky Žádná potřeba dalšího software Cena zapojení do skupiny a proč se členství vyplatí Shrnutí: Kam se s projektem posunete Proč se vyplatí vyvíjet strategii spolu se zkušeným obchodníkem
    Samozřejmě, postavit si systém od nuly je možné i individuálně. Praxe mi ale mnohokrát potvrdila, že pokud se do vytváření systémů vrhne obchodník, jenž nemá s tradingem větší reálné zkušenosti, velice často narazí na skrytá úskalí a vytvoří něco, co funguje jen na historických datech, ale v praxi vyhoří. V rámci skupiny Trading Room při tvorbě intradenní momentum strategie získáte:
    Ověřený koncept vycházející z publikované studie. Diskuzi a zpětnou vazbu ke klíčovým rozhodnutím, kterými budeme strategii upravovat a posouvat pro reálný trading. Hotové nástroje potřebné k backtestu a automatizaci tradingu (psané v Pythonu – vše ve skupině sdílíme ve formě otevřených kódů). Ukázky z mých účtů, kde budu strategii nasazovat do živého obchodování a diskutovat výsledky. Zasazení strategie do portfolia našich dalších strategií. I když se nebudete chtít nebo moci zapojit do diskuze aktivně, získáte formou reportů kompletní přehled o tom, jak strategii stavíme, testujeme a nasazujeme.
    Backtest strategie ze studie

    Takto vypadá ekvity křivka systému tak, jak jej prezentuje studie (od poloviny roku 2024 jde čistě o out of sample obchody). Backtest vznikl již v backtesteru, který můžete sami používat a naleznete jej v Trading Room. Komise dle Interactive Brokers aplikovány. Backtest zobrazuje zhodnocení cca 22 % ročně při drawdownu -10,8 %. Sharpe ratio 1,39. Backtest je dle studie na trhu SPY. Naším cílem bude obchodovat strategii s micro futures a to na širším portfoliu trhů.
    Samozřejmě, záruky v tradingu neexistují a v tuto chvíli nemohu garantovat, že ze studie opravdu vznikne obchodovatelný systém s podobnými parametry. Ale dosavadní zkoumání přístupu nasvědčuje tomu, že bychom měli projekt dotáhnout do reálného tradingu.
    Stejně jako se nám to povedlo loni s podobnou myšlenkou intradenního breakoutu.
    Track record – navazujeme na minulý intradenní projekt
    V Trading Room jsme už loni vyvíjeli intradenní strategii zaměřenou na breakouty.
    Strategii jsme ve skupině začali vyvíjet v březnu 2024 (viz Jak se na Finančníkovi naučit obchodování na burze – update 2024), o dva měsíce později jsem začal ve skupině ukazovat první živé obchody a postupně jsme vyvinuli celou paletu nástrojů pro její automatizované obchodování. Za rok živého obchodování u Interactive Brokers (po všech skluzech a poplatcích) se mi podařilo dosáhnout následující ekvity křivky:
    Podle zvolených finančních nástrojů jde o cca 28% roční zhodnocení při 20% anualizované volatilitě a drawdownu cca -13 %. Tedy Sharpe ratio 1,17. Úspěšnost systému byla 40,78 %, s RRR kolem 1:2. Uvedený graf obsahuje obchody, jak jsem je sám realizoval na živém účtu u Interactive Brokers. Obchodování strategie je podloženo rozsáhlými backtesty, ale pochopitelně žádné historické výsledky negarantují, že strategie bude fungovat stejným způsobem i do budoucna.
    Všechny detaily o vyvinutém systému intradenního breakoutu najdete v článku Trading Room intradenní breakout – Zákulisní orientace. Strategie, včetně všech nástrojů pro její automatizované obchodování, je v Trading Room stále dostupná všem členům (nástroje pro automatizaci v Interactive Brokers pak jen těm s ročním předplatným).
    Na rozdíl od mnoha jiných, na Finančníkovi vytváříme strategie, které reálně obchodujeme a profitujeme s nimi.
    Proč přidat do portfolia další strategii
    Momentálně máme tedy v plánu vedle intradenního breakoutu postavit ve skupině strategii využívající intradenního momenta, a zvýšit tak naši intradenní diverzifikaci:
    Momentum a breakout jsou dva různé přístupy, které se mohou navzájem dobře doplňovat. Bude se jednat o intradenní obchodování micro futures, které umožňuje pracovat i s menšími účty. Finální plán je vše propojit do jediného automatizovaného portfolia s několika nezávislými strategiemi. Jak projekt probíhá a proč se zapojit hned teď
    Zatím jsme na úplném začátku – většina práce teprve přijde. Proto je výhodné:
    Přidat se k nám už ve fázi nula, abyste si prošli celým procesem stavby strategie – od prvních kódů pro backtesting, přemýšlením nad nuancemi až po optimalizaci a ostré nasazení. Samozřejmě hned od startu přitom můžete využívat už existující nástroje, například hotovou breakout strategii, kterou jsme v Trading Room s úspěchem vyvinuli minulý rok (k dispozici i s autotraderem). Podrobnosti o tom, co v Trading Room naleznete, popisujeme na stránce informace o Trading Room. Vstřebávat informace tak, jak budou prezentovány. Proces vytváření strategie není hotový kurz. Nejde o typickou výuku. Jde o pracovní skupinu probíhající formou diskuze v uzavřeném diskuzním fóru, kterou vedu za cílem vytvořit si další nástroj pro vlastní obchodování. Účastníci skupiny pak benefitují tím, že se mohou z vývoje učit, ovlivňovat jej a využívat plody práce. Zkušenosti s vývojem předchozího systému intradenního breakoutu ukazují, že dotáhnout projekt do vlastního reálného obchodování a lépe vše pochopit mají ti obchodníci, kteří se účastnili celého procesu. Přestože lze očekávat, že za cca 3 měsíce budeme mít první verze kompletního systému a začneme pracovat na finalizaci automatizace, nejde jednoznačně odhadnout, jak dlouho budeme na tématu pracovat.
    V případě zájmu o zapojení doporučuji roční předplatné Trading Room, protože za tu dobu by měla být strategie plně vyvinutá i implementovaná a vy můžete postupně vstřebat a vyzkoušet všechny změny, které v projektu přijdou. Navíc jen v ročním předplatném sdílíme nástroje pro automatizaci obchodování u Interactive Brokers.
    Projekt i pro úplné začátečníky
    Pokud vás láká systematické obchodování, ale zatím tápete, pak vás zapojení do Trading Room může mílovými kroky posunout vpřed.
    Jednak v Trading Room získáte přístup k výukové části webináře Profitabilní obchodování A do Z, kde vám vysvětlím potřebné základy. Všechny skripty, které budeme používat, jsou v otevřené formě. Není nutné znát programování – stačí si kódy stáhnout a naučit se je spouštět. Každý krok a vychytávku rozebíráme na uzavřeném fóru, takže pokud vám není něco jasné, stačí se zeptat. Účast vám přinese konkrétní automatizované systémy, se kterými můžete začít pracovat. Plně hotový je intradenní breakout, postupně přibude aktuálně vyvíjený systém intradenního momenta (plus získáte přístup ke všem nástrojům běžně nabízených v Trading Room). Žádná potřeba dalšího softwaru
    Systém vyvíjíme v bezplatném jazyce Python a kódy jsou distribuovány v otevřené podobě. Pro samotný trading systému není znalost Pythonu potřeba (pokud se ale rozhodnete se i v této oblasti posouvat, můžete se na Finančníkovi Python naučit v TechLabu).
    V Pythonu bude vyvinut jak backtester, tak nástroje pro autotrading. S tímto bezplatným nástrojem si tak budeme moci otestovat vlastní nuance systému (případně si jej dále upravovat) a také obchodovat. Podporovat budeme dva brokery:
    Darwinex Zero – pro obchodování bez vlastního kapitálu Interactive Brokers – nástroje pro automatizaci s Interactive Brokers sdílíme jen v rámci ročního předplatného. Cena zapojení do skupiny a proč se členství vyplatí
    Trading Room je placená skupina, protože nabízí profesionální prostředí, ve kterém pracujeme s nástroji a přístupy reálně generujícími peníze.
    Typický retailový obchodník v trzích ztrácí, protože není schopen obchodovat systematicky. V Trading Room je vše postaveno na systematičnosti a opakovatelnosti. Už jen pokud vám sdílené know-how pomůže vygenerovat 15 % zisku ročně při účtu 10 000 dolarů, tak se vám vzdělání zaplatilo. Většina obchodníků ve skupině přitom obchoduje s násobně většími účty.
    Vyvíjené intradenní strategie (intradenní breakout a momentum) i kódy vám zůstanou i po ukončení členství. Nejde o žádný blackbox, který po odhlášení přestane fungovat.
    Shrnutí: Kam se s projektem posunete
    Naším cílem je začít obchodovat diverzifikované intradenní portfolio dvou strategií – intradenní breakout (již hotovo) a intradenní momentum (aktuálně startujeme vývoj). U obou strategií jsou ve skupině diskutována pravidla systémů a sdíleny nástroje pro automatizaci.
    Při zapojení do projektu můžete očekávat, že se stanete reálnými systematickými intradenními tradery. Prakticky okamžitě můžete začít obchodovat strategii intradenního breakoutu. S velkou pravděpodobností budete moci v průběhu roku do arzenálu přidat další strategii intradenního momenta. U té připomínáme, že jde o výzkumný projekt, nikoliv hotový kurz. V tuto chvíli tedy nikdo netuší, kam přesně nás projekt dovede. Ale i kdyby nebyla na konci projektu hotová nová konkrétní strategie (což se mi nejeví jako příliš pravděpodobné), tak se minimálně všichni hodně naučíme. Pokud tedy hledáte funkční cestu, jak systematicky intradenně obchodovat, anebo začínáte úplně od nuly a chcete se vše naučit v jednom uceleném balíku, přidejte se k nám do Trading Room. Věřím, že projekt intradenního momenta bude skvělým doplněním existujících systémů a pomůže vám posunout se v tradingu o velký kus kupředu.
    Do skupiny se registrujete na stránce Trading Room – zaměřeno na praxi portfolio obchodování.

    Automatizované obchodování – jak to děláme na Finančník.cz

    V dnešní době se stále více obchodníků setkává s potřebou zautomatizovat části svého tradingového procesu, nebo tradingu jako celku. Systematické obchodování, které na Finančník.cz používáme, vede k tvorbě jasných a konzistentních pravidel, podle kterých obchody uskutečňujeme. A protože je systematické obchodování založeno na předem definovaných mechanických pravidlech, je pro mnohé z nás posun k automatizaci rutinních činností logickým krokem. V následujícím textu bych rád ukázal, jak k takové automatizaci přistupujeme a co všechno to obnáší.
    Obsah:
    Automatické obchodování skrz skripty – jak to děláme na Finančník.cz Proč zvolit systematický přístup k obchodování Automatizace nemusí být komplikovaná Řešení autotraderu na Finančník.cz Nová verze autotraderu – SignalTrader Ukázka jak SignalTrader může pomoci v praxi Závěrečné myšlenky k automatizaci v tradingu Automatizované obchodování skrz skripty – jak to děláme na Finančník.cz
    Většina obchodníků, kteří obchodují spolu se mnou na Finančníkovi, přešla stejně jako já na systematický trading.
    To znamená, že vyhledáváme reálně ověřitelné výhody v trzích, vytváříme funkční logiky, které skládáme do diverzifikovaných portfolií, a následně při samotném obchodování jen následujeme signály vycházející z předem definovaných plánů.
    Tato cesta je nesmírně efektivní z hlediska času a také pomáhá udržet stabilitu psychiky obchodníka.
    Systematické přístupy lze obchodovat manuálně. Například tak, že se před otevřením obchodní seance zadají ručně příkazy do brokerské platformy a tím se na daný den vyřeší veškerá aktivita okolo samotných vstupů a výstupů. Nicméně jakmile se naučíte dodržovat striktní pravidla, nabízí se možnost automatizovat celý proces obchodování a v podstatě se zbavit denní rutiny. Tím uvolníme energii na to nejdůležitější – na další výzkum, studium a testování nových myšlenek.
    Je důležité zdůraznit, že pokud s tradingem teprve začínáte, není automatizace nezbytná a jsou mnohem důležitější principy, na které je v začátcích důležité soustředit pozornost. Mnoha obchodníkům pomůže projít si „ruční fází“ zadávání příkazů, aby důkladně porozuměli fungování trhů a rozvíjeli zkušenosti s reálným sledováním chování trhů. V momentě, kdy získáte větší zkušenost, se ovšem otevírá velký prostor pro úsporu času, a právě tehdy dává přechod k větší míře automatizace opravdu smysl.
    Proč zvolit systematický přístup k obchodování
    Než se pustíme do samotné automatizace, pojďme si stručně zrekapitulovat, proč vůbec obchodovat systematicky.
    Systematické obchodování přináší řadu výhod. Předně je to konzistentní realizace ověřených strategií. Mnozí obchodníci se potýkají s emočními tlaky, které často vedou k „překrucování“ plánů v průběhu samotného obchodního dne. Přidáme-li k tomu zbytečný stres a možné chyby při zadávání příkazů, není divu, že se mnoho dobrých obchodních nápadů v praxi zvrtne do ztráty. Systematický přístup sice není zárukou výdělků, ale dává vysokou míru jistoty, že vše bude probíhat tak, jak předem stanovíme.
    Když se systematický přístup navíc spojí s automatizací, získáme:
    Minimum potřeby se denně zabývat zadáváním obchodů. Větší možnost spravovat více strategií současně. Časovou flexibilitu – není nutné sedět u počítače v určité hodiny. Omezení chyb, které vznikají z rutinního kopírování příkazů. Automatizace nemusí být komplikovaná
    I když je možné systematicky obchodovat čistě ručně, pracná stránka přichází v okamžiku, kdy máte v portfoliu větší počet strategií. Obchody je potřeba kontrolovat, zadávat a neustále porovnávat se stavem otevřených pozic v brokerské platformě.
    Automatizace takových procesů může být v zásadě velmi jednoduchá a u pomalejších stylů (typicky swingové obchodování) skutečně stačí následovat podobný postup:
    Obchodní plán systematizujeme a převedeme do skriptovacího jazyka běžně dostupných programů (na Finančníkovi používáme hodně Amibroker nebo TradeStation). Každý den spustíme používaný software, který provede kontinuální backtest našeho obchodního systému a vytvoří sadu otevíracích a uzavírajících příkazů pro daný den. S využitím skriptů (například v Pythonu) se napojíme na brokera skrz API (na Finančníkovi používáme Interactive Brokers) a stáhneme si aktuální otevřené pozice, stav účtu atd. Skripty porovnáme otevřené pozice s pozicemi vygenerovanými v bodě 2, vyřešíme duplicity v obchodovaných trzích a možné rozdíly v otevřených pozicích vůči tomu, co bychom měli mít otevřené dle backtestu. Skripty převedeme platné signály na obchodní buy/sell příkazy a skrz API je předáme do brokerské platformy. Tím celá denní práce končí a můžete se věnovat dalším aktivitám.
    Řešení autotraderu na Finančník.cz
    Pro swingové obchodování sdílíme na Finančníkovi v TechLabu univerzální autotrader skript vytvořený v Pythonu, který popsanou automatizaci realizuje.
    Jde o otevřené řešení, které si každý může uzpůsobit podle svých potřeb. Traderů, co obchodují systematicky, přibývá, a proto považuji za důležité, aby podobné nástroje byly snadno dostupné. Obchodníci tak mají možnost rychle začít s vlastní automatizací, a to bez nutnosti tvořit vše od nuly. V TechLabu je autotrader navíc poskytován s průběžnou výukou – jak tvorby strategií, tak například práce s Pythonem a hodně obchodníků si tak postupně swingový autotrader rozšiřuje podle svých potřeb.
    Nová verze autotraderu – SignalTrader
    Protože se v TechLabu věnujeme automatizaci dlouhodobě, celé řešení postupně vylepšujeme. Aktuálně (březen 2025) jsme publikovali výrazně vylepšenou verzi, kterou nyní nazýváme SignalTrader – snadněji se tak řešení swingového autotraderu odliší od specializovaných řešení pro intradenní autotrader, která jsou k dispozici v TradingRoom.
    SignalTrader je primárně určen k tomu, abychom mohli odesílat příkazy do trhu i z běžného počítače, tedy bez nutnosti speciálního serveru nebo VPS. Ke zpracování vstupů a výstupů z pozic v rámci swingových přístupů skutečně stačí jediný denní start skriptu.
    Přehled novinek k březnu 2025:
    Změna názvu na SignalTrader. Nově jsme upravili strukturu kódu tak, aby byla každá strategie ošetřena proti chybám samostatně. Pokud se tedy vyskytne chyba v jedné strategii, ostatní proběhnou bez přerušení celého procesu. Změnili jsme princip připojení k IB, kdy držíme jedno připojení po celou dobu běhu skriptu. Při startu programu se vytvoří objekt IB, který zůstane aktivní, dokud neproběhnou všechny dotazy. Součástí řešení je skript Generátor, který slouží k přípravě obchodních signálů. Ten jsme rozšířili o možnost získání signálů z dashboardu TradingRoom a Techlabu. Nově tak může pracovat ve třech režimech Amibroker/TradingRoom/TechLab. Vytvořili jsme vlastní knihovnu ib_utils, která zjednodušuje komunikaci s IB a sdružuje funkce pro práci s daty. Také jsme připravili nový modul logování (zápisu informací o průběhu skriptu), nově se do jednoho logu zapisují informace o průběhu všech skriptů. Jedním z hlavních cílů upgradu bylo začlenění dalších typů příkazů. Úpravou logiky vytváření příkazů jsme získali možnost odesílat do trhu většinu typů příkazů podporovaných IB. Změnili jsme způsob vytváření výsledného reportu, nově se používá šablona, která umožňuje změny vzhledu reportu pomocí HTML kódu. Kompletní popis změn a link ke stažení SignalTraderu naleznete v TechLabu zde: https://www.financnik.cz/forum/topic/5282-signaltrader-popis-zmen-v-nove-verzi-autotraderu/#comment-322413
    Ukázka, jak může SignalTrader pomoci v praxi
    Pokud s tradingem začínáte, snadno můžete mít představu, že celý úspěch v obchodování spočívá v tom, že budete čekat na určitý pattern v trhu, vyčkáte, až se objeví, a pak začnete vydělávat. Praxe je ovšem odlišná. V dnešním světě plném algoritmických systémů je třeba umět pracovat s různými přístupy a skládat je do portfolií.
    Ve Workshopu profitabilního obchodování od A do Z, se kterým na Finančníkovi většina traderů začíná,  například pracujeme s pěti swingovými systémy – jedná se o long mean reversion, short mean reversion, momentum strategii a nákupy dipů do trendu. Každý z těchto systémů má v čase období, kdy generuje profit, ale také fáze, kdy si prochází drawdownem.
    Takto vypadají výkonnostní křivky jednotlivých systémů:

    Vzájemnou kombinací jednotlivých systémů ovšem dostáváme vyváženou portfolio-equity, která může vykazovat mnohem hladší růst bez extrémních propadů (portfolio equity křivku reprezentuje horní modrá linka ukazující, jak se mění stav účtu po jednotlivých obchodech individuálních strategií - poplatky dle Interactive Brokers jsou započítány):

    Konkrétně výukové portfolio Workshopu právě v březnu 2025 vytvořilo nová maxima, a to navzdory poklesu amerických akcií v uplynulých týdnech. Opět to ukazuje, že diverzifikace je velkou přidanou hodnotou systematického obchodování.
    Celé podobné portfolio můžeme sice obchodovat ručně, avšak v praxi to vyžaduje denní kontrolu a zadávání příkazů (byť to vše je operace na max. půl hodinu denně).
    S využitím SignalTraderu lze celý proces výrazně zjednodušit. Stačí jej spustit, nechat ho, aby zkontroloval generované signály, zrevidoval otevřené pozice a odeslal příkazy do trhu. Zde je ukázka, jak vše konkrétně funguje:

    SignalTrader načte signály z uvedeného zdroje – mohou to být vaše vlastní signály generované z Amibrokeru či jiného softwaru, nebo signály z Trading Room a postará se o jejich zadání do Interactive Brokers. A to včetně toho, že podle zadaných pravidel ošetří i uzavírání obchodních pozic.
    Závěrečné myšlenky k automatizaci v tradingu
    Automatizaci sám vnímám jako klíčovou činnost (nejen v tradingu). Snažím se automatizovat jakékoliv rutiny.
    Pokud obchodujete diskrečně, měli byste si sami odpovědět na to, jestli se vám skutečně vyplatí věnovat čas tomu, abyste třeba hodiny pozorovali trhy a pak ručně provedli nákup nebo prodej. Podle mě lze čas investovat lépe.
    A věřte mi, že drtivá většina činností spojených s tradingem lze efektivně automatizovat a ušetřit opravdu hodně času.
    Pro automatizaci je možné využít hotových komerčních řešení jako je například TradeStation či mnoho podobných programů. Pro práci s Python skripty jsme se rozhodli kvůli univerzálnosti. Dnešní doba je velmi dynamická a člověk snadno narazí na určitý vlastní způsob tradingu, který není v klasických retailových platformách běžně nebo snadno implementovatelný. V Python skriptech toto není problém, protože nabízejí naprostou svobodu v tom, jak si je připravíme. Navíc s dnešními možnostmi programů typu chatGPT dokáže Python skripty upravovat i naprostý neprogramátor (ostatně sám jsem ještě před pár roky neuměl naprogramovat ani makro v Excelu).
    Na Finančníkovi vycházíme z toho, že je ideální mít hotové a funkční řešení, které stačí jen nainstalovat a spustit a získávat praxi. Postupně pak zvažovat vlastní rozšiřování a úpravy. Proto je k dispozici SignalTrader, který se dá snadno implementovat podle podrobných návodů v TechLabu. Není nutné vědět, jak přesně Python skripty fungují. V ideálním případě vás ale nové možnosti motivují k dalšímu studiu a začnete Python využívat i v oblasti správy dat nebo k jiné automatizaci (viz přehled minikurzů dostupných v rámci TechLabu: https://www.financnik.cz/forum/info/ostatni/minikurzy-prehled). Postupem času tak sami zjistíte, jak si hotové řešení upravit podle svých představ, a stanete se skutečně plně automatizovanými tradery stejně jako my.
     

    Jak na první daytrading autotrader [včetně funkční strategie a kódu]

    Obsah článku:
    Co je intradenní obchodování (daytrading)? Kde získat funkční obchodní plán? Co je intradenní breakout otevíracího rozpětí? Pravidla obchodního plánu intradenního breakoutu Jak strategii mechanicky otestovat? Hotový kód mechanické intradenní breakout strategie Automatizovaný daytrading - shrnutí Daytrading může být hodně výdělečný. Zde je konkrétní plán, jak bych začal. A to včetně kódu strategie, kterou je možné pustit do trhu jako autotrader.
    Co je intradenní obchodování (daytrading)?
    Intradenní obchodování je styl tradingu, kdy pozice držíme jen přes den (tj. nikoliv přes noční seanci). Výhodou je, že coby obchodníci můžeme jít spát s čistou hlavou, je možné pracovat s vyšší pákou (brokeři mají pro intradenní držení pozic vesměs jiné požadavky na kapitál než pro pozice držené přes noc) a kapitál na účtu může pracovat s vyšší frekvencí, a tudíž více vydělávat.
    Na druhou stranu je intradenní obchodování velmi náročné. Zejména diskreční, kdy obchodníci velmi často sklouzávají k tomu, že obchodují nikoliv dlouhodobé pravděpodobnosti, ale subjektivní „predikce“ toho, kam se trh vydá. A to nefunguje.
    Intradenní obchodování je těžký boj i z pohledu nákladů. U pozic trvajících hodiny nebo minuty budeme z principu dosahovat průměrně nižších výdělků na jeden obchod, ale komise platíme brokerům stejně jako u kteréhokoliv jiného obchodu. Často se tak může stát, že poplatky spolykají všechny těžce vydělané peníze. Zejména, pokud bude obchodník provádět mnoho ultrarychlých obchodů denně.
    Přesto má intradenní obchodování potenciál. Vidím jej zejména v momentě, kdy strategie automatizujeme a obchodujeme spíše s nižší frekvencí – například jeden intradenní obchod v trhu denně s dobou trvání spíše hodiny, než minuty.
    Osobně intradenně obchoduji jak mean reversion, tak breakout strategii na akciových indexech. Intradenní strategie tvoří menší část mého portfolia, které je dále složené především z mechanických swingových a dlouhodobějších rotačních strategií.
    Nicméně komplexnější portfolia vyžadují přiměřeně vysoký kapitál a pro řadu obchodníků tak může být zajímavé začít s daytradingem, kde jsou požadavky na kapitál nejmenší.  
    Pojďme si proto ukázat možnou cestou, jak konkrétně začít, pokud zatím žádnou AOS strategii ani systém pro autotrading nemáte.
    Kde získat funkční obchodní plán?
    Moje osvědčená cesta je inspirovat se tím, co funguje ostatním. To jde pochopitelně tím lépe, čím více zkušeností člověk má. Při stavbě úplně prvních systémů bych vyšel z těch nejvíce diskutovaných principů, které fungují dlouhodobě. Například na Finančníkovi roky diskutujeme intradenní breakouty v akciových indexech. V případě daytradingu je to určitě dobrý začátek. Na internetu lze najít i funkční obchodní plány. Například v různých akademických studiích, které jsou volně dostupné. Jde o ohromné množství dat, naštěstí ale existují služby, které je procházejí, katalogizují a popisované edge backtestují. Patrně nejlepší je quantpedia.com. Tu se svým týmem připravuje Radovan Vojtko, který v nedávném rozhovoru v newsletteru Quantopian zmínil například studii: Může být day trading skutečně profitabilní? Adresa ke stažení: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4416622
    Ta backtestuje jednoduchý breakout otevírací rozpětí na 5minutovém grafu akciového indexu Nasdaq 100 v letech 2016 až 2023 a došla k závěru, že s použitím páky a intradenního obchodování breakoutů bylo možné ve sledovaném období dosáhnout přibližně 10x vyššího zhodnocení než při držení samotného indexu.
    Breakouty na indexech nevymizí a s podobným principem bych se tak nebál začít v malém obchodovat.
    Pochopitelně je třeba akceptovat, že systémy se široce veřejně diskutovanými pravidly patrně mohou časem degradovat a úplně bych se na ně nespoléhal s většími účty. Ale odněkud je třeba začít a zkušenosti získané živým obchodováním vám budou postupně přinášet inspiraci k tomu, jak plány posouvat dál. Sám například obchoduji intradenní breakout také ve velmi triviální podobě, ale s určitou nuancí, která věřím, že může přinášet dodatečnou obchodní výhodu. Na tu bych ale bez předchozí praxe v trzích patrně nepřišel.
    Co je intradenní breakout otevíracího rozpětí?
    Za otevírací rozpětí se považuje maximální a minimální cena sledovaného intervalu trhu po jeho otevření. V případě zmíněné studie „Může být day trading skutečně profitabilní“ jde o prvních pět minut obchodování. Pokud si zobrazíme trh skrz pětiminutový graf, pak otevírací rozpětí představují High a Low první úsečky.
    V grafu jsem situaci zobrazil šrafovanou linkou:

    Americké akciové indexy otevírají v USA ve stejnou dobu jako akcie. Obchodují se tedy od 8:30 centrálního časového pásma (CT), což většinu roku odpovídá českému času 15:30 (kromě několika málo týdnů, kdy je čas posunut o hodinu díky změně letního a zimního času, která neprobíhá v USA a Evropě stejně).
    Šrafované linky odpovídají High (horní linka) a Low (spodní linka) první pětiminutové úsečky, což je otevírací rozpětí vycházející ze studie (existují i další principy pracující například s delším časem pro výpočet otevíracího rozpětí).
    Pravidla obchodního plánu intradenního breakoutu
    Studie definuje zcela mechanický obchodní plán, který je možné shrnout do následujících kroků:
    Čekáme na uzavření první pětiminutové úsečky. Pokud je první pětiminutová úsečka rostoucí (Close > Open), pak na otevírací ceně druhé úsečky otevíráme long pozici.
    Pokud je první pětiminutová úsečka klesající (Close < Open), pak na otevírací ceně druhé úsečky otevíráme short pozici. Stop-loss strategie umisťuje na úroveň low otevíracího rozpětí (první pětiminutové úsečky) v případě long pozice, resp. na úroveň high otevíracího rozpětí v případě short pozice. Profit target se umisťuje na úroveň 10násobku riskované částky (tj. rozsahu vstup – stop-loss). Strategie vystupuje buď na stop-lossu, profit targetu, nebo na konci obchodního dne. Obchodovaným trhem diskutovaným ve studii je americký index Nasdaq 100. Konkrétně skrz ETF s názvem QQQ, které index následuje. V EU díky regulaci není možné tento ticker na běžných retailových účtech obchodovat, a tak nejbližší rozumnou volbou budou futures mikrokontrakty MNQ. Ty mají hodnotu bodu 2 USD.
    Backtest strategie intradenního breakoutu s využitím trhu QQQ vypadá podle studie následovně:

    Zdroj: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4416622
    Černá linka je výkonnost strategie (long a short dohromady). Červená linka benchmark pro porovnání s držením QQQ (de facto držení indexu). Dobré je, že ve studii jsou zahrnuty i výsledky od začátku roku 2022, kdy trhy začaly klesat a dobře to dokresluje, jaké výhody nám poskytují krátkodobé long/short strategie. Černá equity křivka roste bez ohledu na to, že index samotný převážně klesá.
    Jak strategii mechanicky otestovat?
    Jelikož máme strategii definovanou naprosto mechanicky, byla by hloupost testovat a obchodovat ji ručně. Pochopitelně existuje celá řada způsobů, jak podobné strategie backtestovat a obchodovat plně automatizovaně. Sám například používám python skripty napojené na Interactive Brokers.
    Na začátku je ale určitě dobré začít co nejjednodušeji. Z mé zkušenosti lze podobné systémy velmi snadno obchodovat u TradeStation. Ta integruje vše, co člověk potřebuje. Prostředí pro backtest, data a současně funguje jako autotrader. Perfektní je, že u TradeStation lze přepínat mezi simulovaným a živým obchodováním a v obou prostředích fungují zcela stejné skripty. Začal bych tedy tak, že skript pustím na simulovaný účet, budu jej sledovat, a pokud budu s chováním systému spokojený, přepnu se na živý účet a budu mít svůj první intradenní autotrader.
    Hotový kód mechanické intradenní breakout strategie
    Konkrétní skript není součástí studie. Nicméně převést uvedená pravidla do mechanického kódu EasyLanguage není těžké. Zde je strategie v podobě, kterou stačí jen překopírovat do TradeStation:
    Vars: BuyPrice(0),ShortPrice(0), ShortRiskAmount(0), ShortStopLevel(0),ShortTargegLevel(0),LongStopLevel(0),LongRiskAmount(0),LongTargetLevel(0); If Time = 0835 and C>O and MarketPosition = 0 then begin Buy ("LongOR") next bar market; BuyPrice = Close; LongStopLevel = L; LongRiskAmount = BuyPrice - LongStopLevel; LongTargetLevel = BuyPrice + (10* LongRiskAmount); end; If MarketPosition = 1 then begin Sell ("ORL SL") next bar at LongStopLevel stop; Sell ("ORL PT") next bar at LongTargetLevel limit; end; If Time >= 1500 and MarketPosition > 0 then Sell ("ORL TimeStop") next bar at market; If Time = 0835 and C<O and MarketPosition = 0 then begin Sellshort ("ShortOR") next bar market; ShortPrice = Close; ShortStopLevel = H; ShortRiskAmount = ShortStopLevel - ShortPrice; ShortTargegLevel = ShortPrice - (10* ShortRiskAmount); end; If MarketPosition = -1 then begin Buytocover ("ORS SL") next bar at ShortRiskAmount stop; Buytocover ("ORS PT") next bar at ShortTargegLevel limit; end; If Time >= 1500 and MarketPosition = -1 then Buytocover ("ORS TimeStop") next bar at market; Pokud s TradeStation začínáte, můžete se podívat na dříve publikovaný seriál, který ukazuje, jak s TradeStation pracovat.
    Ale není to složité. Otevřeme graf s příslušným trhem (např. MNQ.D pro denní data mikro futures indexu Nasdaq 100), otevřeme EasyLanguage editor – vložíme skript, aplikujeme jej na graf a můžeme backtest případně rovnou autotraderovat. Ano, výše uvedený skript je v zásadě vše, co potřebujeme proto, aby TradeStation obchodovala intradenní breakout (kód ale publikuji výhradně pro studijní účely, sám bych jej případně spouštěl v simulaci a sledoval, jestli skutečně vše funguje, jak má).
    Automatizovaný daytrading - shrnutí
    Backtest i s použitým kódem vypadá velmi perspektivně – ostatně přesně, jak naznačuje studie. Jediný zásadní rozdíl ve výsledcích je v position sizingu. V našem kódu pro zjednodušení pracujeme s jedním kontraktem, což může být kontraproduktivní. Absolutní výše risku bude hodně záležet na aktuální volatilitě trhu a je výhodnější volatilitu tzv. normalizovat, aby byl absolutní risk stále stejný.
    Na druhou stranu práce s konstantním jediným kontraktem má také výhody. Například tu, že nám stačí velmi malý účet. Například u TradeStation je potřeba pro otevření mikro kontraktu MNQ.D jen cca 460 dolarů. Tedy strategii lze obchodovat s účtem cca 800–1000 dolarů. A to není pro začátek vůbec špatné.
    Plus je třeba nezapomínat na to, že máme mnoho možností, jak strategii posouvat dál. Můžeme zkusit testovat jiné periody breakoutů, další trhy (strategie dobře funguje i na mikro futures indexu S&P 500) a určitě je dobré otestovat zmíněnou normalizaci volatility.
    Líbí se vám toto téma? Prosím sdílejte odkaz článku, který jsme publikovali na náš X (https://twitter.com/financnik) a Facebook (https://www.facebook.com/financnikcz) účet. V případě zájmu mohu pokračovat v rozvinutí myšlenky do dalších testů a třeba i více komplexnějších přístupů.
    Breakout trading a řízení rizik [komodity vs ETF vs CFD]
    V pokračování článku se zaměříme na Breakout trading a řízení rizik [komodity vs ETF vs CFD].
×
×
  • Vytvořit...