Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Hledat v
  • Více možností...
Najít obsah, který ...
Hledat výsledky v ...
Seriály Komoditní Manuál Psychologie obchodování
  • Automatizace obchodování - jak se zbavit rutiny se zadáváním příkazů

    Řada obchodníků řeší způsob, jak získat při obchodování co nejvíce času a předat práci počítači. Zde je popis našeho řešení, které je poměrně jednoduché a současně solidně modulární.

    Automatizace obchodování v zásadě není složitá. Existuje řada programů, do kterých stačí nadefinovat podmínky obchodního systému a program sám umí příkazy předávat na burzu. Mezi nejznámější patří patrně TradeStation, NinjaTrader, SierraChart a další. Limity nicméně bývají v tom, že jednoduchost mizí v okamžiku, kdy začneme obchodovat portfolia obchodních systémů. Na to nebývají běžné retailové programy stavěné, a pokud je technicky možné funkcionalitu zvládnout, vyžaduje to již dost programování.

    Jak řeším automatizaci portfolio obchodování?

    V případě pomalejších swingových strategií (které neobchoduji intradenně) používám jednoduché Python kódy, které načítají obchodní příkazy z csv souborů. Získávám tak řešení, které není závislé na jediném softwaru, neboť obchodní příkazy mohu generovat řadou nástrojů. Nicméně dnes používám pro generování seznamu příkazů nejčastěji Amibroker.

    Jak konkrétně na podobné řešení?

    Základem řešení je API brokera. Sám používám IB API provozované pod TradeStation Global. API je rozhraní poskytované brokerem, se kterým je možné programově komunikovat. Ovšem řešit vše vlastním kódem není zas tak úplně jednoduché. Naštěstí existují hotové frameworky, se kterými jde práce mnohem snáze. Osobně používám ib_insync pracující v Pythonu, který v obchodování hodně používám. Mimochodem studium Pythonu vnímám zpětně jako jedno z nejlepších rozhodnutí, které jsem udělal. Coby totálního neprogramátora, který si neuměl vytvořit ani makro v Excelu, mě to sice stálo pár měsíců úsilí, ale dnes mi tento jazyk šetří v tradingu čas neuvěřitelně. Vytvořit pomocí ib_insync jednoduchý autotrader je pak skutečně jednoduché. Na triviální odesílání příkazů stačí pár řádků kódu, byť pochopitelně nad pokročilým autotraderem je třeba strávit mnohem více času, neboť patrně budete chtít obchody logovat do databáze atd.

    Schematicky vypadá autotrader takto:

    Autotrader

    Python skript spouštím automaticky pomocí plánovače úloh. Ráno před začátkem obchodní seance si skript načte csv soubory s obchodními příkazy (včetně stop-lossů a profit targetů) a zadá je do API brokera. Večer ještě soubor používám pro uzavírání pozic (hodně systémů ukončuje obchodní pozice na close dne).

    Samotné csv soubory lze vytvářet nejrůznějšími cestami (mohu si takto připravovat i ruční příkazy). Dnes nejčastěji používám tzv. dávky v Amibrokeru. Jde o způsob, jak automaticky projet připravené obchodní systémy a například vygenerovat signály do textových souborů.

    Proč si myslím, že může být zajímavé se pustit do algoritmického obchodování touto cestou?

    Podobná automatizace je relativně bezpečná na testování a následné obchodování. Přenos příkazů do IB nemusí probíhat automatizovaně, ale dávky lze spouštět ručně a dohlížet přitom na to, co se reálně na obchodním účtu děje.

     Pro mě samotného byla práce na řešení i způsob, jak se konkrétně učit pracovat s Pythonem a řešit praktické výzvy.

    Dnes pak hlavní benefit vnímám v tom, že není problém mezi csv a autotrader vkládat další vrstvu kódu, která se stará o řízení celého portfolia. Mohu například kontrolovat korelace mezi otevíranými systémy a například některé signály neotevírat. Sám toto dělám opět pomocí Pythonu a kódy opět nemusí být složité.

    Pokud se v programování alespoň minimálně orientujete, tak rozhodně doporučuji ib_insync vyzkoušet (nebo jiný framework).

    Jestli si na vlastní řešení netroufnete, můžete na Finančníkovi využít workshop základů automatizace, který občas vyhlašujeme. Navazuje na něj technická skupina TechLab, kde průběžně pracujeme na různých technických tématech spojených s tradingem a mj. postupně rozvíjíme jak Python, tak i samotný autotrader.

    24.11.2019

    Petr Podhajský

    Fulltime obchodník věnující se tradingu více než 15 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování - intradenní s využitím orderflow. Poslední roky pak stavba automatizovaných portfolio systémů.


    Mohlo by vás dále zajímat

    Nové funkce Autotraderu

    Video popisující úpravy a nové funkce Autotraderu.

    Obsah: 
    1.    Převod měny účtu
    2.    Úprava logiky výpočtu volných pozic
    3.    Ověření čekajících příkazů u výstupu z pozic
    4.    Načtení PermId 
    5.    Chyba proměnné sl v režimu online
    6.    ProfitTarget u složených příkazů
    7.    Doplnění PASL u výstupu Mopull Limit
    8.    Postup uvedení do provozu
    Video je v archivu TechLabu zde.
     
×
×
  • Vytvořit...

Důležitá informace

Na tomto webu zpracováváme cookies potřebné pro jeho fungování a analytiku, v případě udělení souhlasu také cookies pro účely cílení reklamy.