TechLab nové minikurzy – zvládněte základy Pythonu a automatizaci obchodování
Hlavním směrem obchodování na Finančníkovi jsou systematické strategie, jejichž fungování je možné automatizovat, a tudíž provádět s minimální časovou náročností i při práci s širšími diverzifikovanými portfolii (která považujeme za hlavní svatý grál retailového obchodníka).
Systematizace obchodování s sebou nese potřebu osvojit si technické nástroje a postupy, které nám v tradingu následně šetří čas a zvyšují efektivitu. Podle toho, z jakého zázemí obchodník přichází (sám nejsem programátor, ani jsem dříve příliš technice nerozuměl), je pak přirozené, že technické výzvy mohou vyvolávat mnoho průběžných dotazů a nejistot. Proto na Finančníkovi vznikla skupina TechLab, jejímž cílem je všem pomoci překonat technické problémy a inspirovat se, jak situace řeší v tradingu ostatní. Ve skupině je dnes mj. přes 5 000 příspěvků, množství video tutoriálů a dokonce kompletní hotové Python řešení pro automatizované obchodování.
V TechLabu naleznete technickou podporu, průběžně publikované nové technické tutoriály, ve kterých ukazujeme, jak v praxi zvládáme klíčová témata spojená se systematickým obchodováním a také celé minikurzy, jejichž cílem je předávat vzdělávání v komplexnější podobě.
Minikurzy jsou aktivně vedeny lektorem, který s vámi bude vyhodnocovat zadávané domácí úkoly a pochopitelně odpovídat na všechny otázky. Nabízí tak reálnou cestu, jak si osvojit technické oblasti, které v systematickém obchodování považujeme za klíčové.
Na léto a podzim máme v uzavřené skupině TechLab připravené dva nové běhy minikurzů – praktické začátky s Pythonem a API komunikace se systémem Interactive Brokers. Pro účastníky TechLabu jsou minikurzy zdarma.
Výuku pythonu začínáme 2.6.2023. Jde o klíčový minikurz, který vás naučí pracovat se skriptovacím jazykem tvořícím dnes pilíř technické stránky našeho tradingu (Python používáme pro řízení automatizace, práci s daty, nejrůznější podpůrné skripty atd.). Minikurz opakujeme jednou za cca 18 měsíců, proto tento aktivně lektorovaný termín nezmeškejte.
Minikurz Základy zvládnutí Pythonu je určen především neprogramátorům a obsahuje následující lekce (lekce jsou publikovány jednou za týden):
Lekce 1 – Úvod do Pandas. Hned od první lekce se pustíme do práce s poskytnutými datasety. Po úvodním představení kurzu a shrnutí přípravy prostředí se naučíme do Pandas načíst data z csv souboru. Dále si ukážeme funkce pro omezení záznamů a řekneme si, jak následně provedené změny uložit.
Lekce 2 – Datové typy. V lekci si vysvětlíme, co to jsou základní datové typy. Ukážeme si funkce pro zjištění, s jakými datovými typy v jednotlivých sloupcích tabulky pracujeme a také se naučíme techniky převodu dat, které nám umožní předcházet případným chybám vycházejícím z nesouladu datových typů.
Lekce 3 – Seznámení s DataFrame. V této lekci se podíváme trochu komplexněji na datové typy, představíme si nejběžnější složené datové typy. Také si řekneme, co je to dataframe a naučíme se základní operace napříč tabulkou.
Lekce 4 – Získáváme první data. V této lekci si vysvětlíme, jak pracovat s osami v rámci dataframe, dále se naučíme postupy pro ošetření prázdných hodnot v načtených datech a také si ukážeme, jak aplikovat na datech základní statistické operace.
Lekce 5 – Práce s indexy. Lekce zaměřená na práci s indexy, vysvětlíme si, jak s indexy pracovat a naučíme se, jak můžeme díky indexu efektivně získávat z dataframe požadované hodnoty a také, jak pomocí stejných principů nahrazovat hodnoty za jiné.
Lekce 6 – Seskupování dat. Pokud bude dataset obsahovat záznamy více systémů, pak nás kromě pohledu na celkový stav portfolia budou zajímat také dílčí výsledky jednotlivých strategií. Vysvětlíme si principy seskupování dat, které nám umožní právě tyto dílčí výsledky získávat rychleji a efektivněji.
Lekce 7 – Spojování tabulek. V lekci se naučíme spojovat tabulky, vysvětlíme, jak řešit dva nejčastější důvody spojování tabulek, kterými jsou přidávání dalších řádků ke stávajícím záznamům a také rozšíření tabulky o další sloupce. Současně připojíme další dva datasety. První obsahuje data našeho pracovního portfolia za delší období, druhý pak doplňující informace o průběhu jednotlivých obchodů.
Lekce 8 – Smyčky. Zaměřeno na smyčky, které patří mezi nejčastěji používané techniky v programování a setkáme se s nimi v téměř každém Python skriptu. V našem minikurzu si podrobněji vysvětlíme, jak funguje smyčka for...in, která nám umožní procházet záznamy v dataframe poměrně jednoduchou a srozumitelnou syntaxí.
Lekce 9 – Vizualizace dat. V závěrečné lekci minikurzu se naučíme data vykreslovat do grafů. Vysvětlíme si základní principy použití funkce plot a předvedeme, jak zobrazit průběh equity celého portfolia i jednotlivých strategií.
Po minikurzu Pythonu bude v TechLabu následovat několik samostatných video tutoriálů ukazujících tipy, které mě s Bogdanem pomáhají v trading praxi.
Následně spustíme nový minikurz, ve kterém se naučíme komunikovat se systémem Interactive Brokers pomocí rozhraní API. Použijeme k tomu právě Python a knihovnu ib_insync. V průběhu výuky postupně vysvětlíme principy, které umožňují získávat z TWS požadované informace o prováděných obchodech, ale také si ukážeme postupy, které mohou tvořit základ pro stavbu vlastního řešení automatizovaného obchodování, tzv. autotraderu.
Obsah minikurzu:
Lekce 1 - Obecné seznámení s knihovnou ib_insync. Naučíme se otevřít komunikační kanál a také získávat z IB informace o cenách vybraného trhu.
Lekce 2 - Ze systému IB načteme informace o obchodním účtu a obsahu portfolia.
Lekce 3 - Ukážeme si, jakým způsobem odesílat příkazy do trhu. Vysvětlíme si, jak vytvořit objednávku a rozdíl mezi zadáním MKT a LMT příkazu.
Lekce 4 - V této lekci se budeme věnovat sledování otevřených pozic a čekajících příkazů.
Lekce 5 - Na závěr minikurzu spojíme všechny získané informace a vytvoříme si jednoduchý autotrader, který odešle do IB příkazy na základě signálů připravených v csv souboru.
Pro zapojení do minikurzů se stačí přihlásit do skupiny TechLab.
Podrobnosti o TechLabu a možnostech přihlášení naleznete na stránce https://tri.financnik.cz/techlab
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.
- 2