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
  • Jak na první daytrading autotrader [včetně funkční strategie a kódu]

    Obsah článku:

    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:

    Pětiminutové otevírací rozpětí vyznačené v grafu indexu Nasdaq 100.

    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ů:

    1. Čekáme na uzavření první pětiminutové úsečky.
    2. 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.
    3. 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.
    4. Profit target se umisťuje na úroveň 10násobku riskované částky (tj. rozsahu vstup – stop-loss).
    5. 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ě:

    Backtest long/short mechanické breakout strategie otevíracího rozpětí vs. držení benchmarku.

    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].


    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.

    • Líbí se 5
    • Děkuji 1

    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.
     

    Developer

    V rámci algoritmického obchodování (vývoj tzv. aos) představuje developer klíčovou osobu, která se zabývá návrhem, vývojem a údržbou automatických obchodních systémů. Jeho úkolem je propojit teoretické know-how o trzích a programovací dovednosti do fungujícího softwaru, který dokáže samostatně identifikovat obchodní příležitosti a zadávat příkazy na burze.
    Požadované znalosti a dovednosti
    Developer se orientuje ve finančních trzích, aby dokázal aplikovat vhodné matematické a statistické modely. Současně ovládá programovací jazyky (například Python, C++ nebo Java) a rozumí práci s databázemi, protože automatizovaný systém musí pracovat s velkým množstvím dat v reálném čase. Důležitá je také schopnost optimalizovat algoritmy a efektivně pracovat s výpočetní technikou.
    Proces vývoje
    Práce developera obvykle začíná tvorbou obchodní strategie na základě hypotéz, testováním na historických datech (backtest) a poté vyhodnocením robustnosti výsledků (např. kontrolou out-of-sample období). Následně probíhá implementace do reálného provozu, kdy systém provádí obchodní transakce. Developer průběžně sleduje jeho chování, reaguje na změny tržního prostředí a v případě potřeby strategii či kód systému přizpůsobuje.
    Význam pro obchodníky
    Díky práci developera dokáže systematický obchodník udržet odstup od emocí a spolehnout se na jasně definovaný algoritmus. Výhodou je také schopnost rychle analyzovat a obchodovat velké množství trhů, což by manuálně nebylo možné. Developer je proto pro moderní systémové obchodování nepostradatelným článkem, který posouvá možnosti využití digitálních technologií v oblasti tradingu.
×
×
  • Vytvořit...