Python v algoritmickém obchodování
Python v algoritmickém obchodování zní pro mnoho začátečníků jako vysoká překážka: kdo chce používat StrategyQuant X ke stavbě automatizovaných strategií, ptá se brzy, jestli kvůli tomu musí umět programovat. Krátká odpověď zní ne, protože jádro softwaru je určeno ke stavbě strategií bez vlastního kódu. Přesto je v programu několik míst, na která se dá programování, i to s Pythonem, napojit. Tento článek ukazuje, co zvládne cesta bez kódu, kde začíná volitelná programovací vrstva a jak uživatel Python v praxi skutečně používá.
Python v algoritmickém obchodování: nejdřív jádro bez kódu
Podle blogového příspěvku výrobce lze s StrategyQuant stavět obchodní strategie, aniž bys napsal jediný řádek kódu. Software skládá pravidla, indikátory a stavební bloky, které vybereš a zkombinuješ přes rozhraní, místo abys je programoval.
To je popis z marketingu výrobce, ne nezávisle ověřená technická specifikace. Neříká nic o tom, jestli je takto postavená strategie nakonec úspěšná, a nic ani o tom, jestli si programované strategie stojí obecně lépe nebo hůř než ty postavené bez kódu. Pro začátečníky to znamená především: můžeš začít stavět vlastní strategie, aniž by ses předtím učil programovací jazyk.
Programovací vrstva: co navíc nabízí editor kódu
Kromě jádra bez kódu výrobce dokumentuje tři místa, na která se dá napojit vlastní programování: editor kódu, rozhraní Program a rozšíření Custom Analysis.

Editor kódu přitom spojuje několik vstupních bodů. Patří mezi ně veřejné API, práce s Result Groups, přidávání vlastních indikátorů nebo signálů, vlastní sloupce nebo filtry v Databank, logování a také vkládání vlastních JAR knihoven a import nebo export vlastních indikátorů a snippetů.

Jak přesně se jednotlivé položky menu jmenují, se může mezi verzemi programu lišit. Pro zařazení je důležité: Code Editor je rozšíření, ne podmínka. Ne každý z uvedených vstupních bodů je bez jakýchkoli zkušeností s programováním okamžitě přístupný, některé předpokládají základní znalosti programování.
Dokumentované příklady programovacích sezení ukazují, k čemu se dá tato cesta využít: optimalizace a backtesty lze spouštět pomocí kódu, stejně tak backtesty s dodatečnými testy robustnosti. Také parametry strategie a konfiguraci úlohy lze měnit pomocí kódu a historická data lze načítat do vlastních snippetů. To jsou příklady z dokumentovaných pracovních postupů, ne povinné kroky pro každého uživatele a ani úplný seznam všech možných programovacích sezení.
Rozhraní Program: stavební bloky volají jeden druhý
Pro vlastní snippety nebo pluginy výrobce navíc dokumentuje rozhraní Program. Prostřednictvím něj může vlastní stavební blok volat funkcionalitu z jiných pluginů nebo z vestavěné programové knihovny, obvykle tak, že nejprve získá příslušné rozhraní a poté zavolá metodu s potřebnými parametry.
Toto rozhraní patří k internímu API pro vlastní vývoj a je určeno někomu, kdo už programuje. Není to funkce pro začátečníky, kterou by šlo používat bez zkušeností s programováním.
Custom Analysis: vlastní výpočty a připojení externích skriptů
Další dokumentované rozšíření se jmenuje Custom Analysis. Umožňuje aplikovat vlastní výpočty nebo filtry na generované, retestované nebo optimalizované strategie, a to i na celé databanks. Patří k tomu možnost volat externí programy nebo skripty, například Python.

Custom Analysis je rozšiřující bod příslušného modulu. Propojení s Pythonem je tím možné, automaticky lepší strategie ti ale tato vazba nedodá. Jestli ji použiješ a jak, je na tobě.
Praktický příklad: k čemu uživatel Python skutečně používá
Jak to může vypadat v praxi, popisuje jeden autor ve vlastním příspěvku. Python používá vedle StrategyQuant pro několik úloh: pro analýzu výsledkových databází, pro vlastní skripty v rámci analytického pracovního postupu, pro použití příkazového řádku SQX, pro dekorelaci strategií, pro nasazení machine learningu a pro to, aby z existujících strategií extrahoval pravidla a vytvářel z nich nové vlastní stavební prvky.
To je pracovní postup jedné konkrétní osoby, ne oficiální seznam funkcí výrobce a není to cesta, kterou musí každý uživatel napodobovat.
Videoreihe jako vstupní bod
Kdo se chce dostat do základů, najde pro to opěrný bod v blogovém příspěvku výrobce: popisuje se v něm souvislý videokurz, který je k dispozici jako playlist a zabývá se stavbou strategií pro forexové, futures a akciové trhy.
I to je popis z blogového příspěvku. Obsah a dostupnost playlistu se mohou časem měnit. Takový kurz nenahrazuje vlastní ověření výsledků a není slibem, že po něm budeš automaticky úspěšně obchodovat.
Co toto srovnání neukazuje
Tento článek neporovnává, jestli je strategie rozšířená o Python nakonec úspěšnější než ta, která vznikla výhradně s no-code stavebnicí. Nejde tu ani o to, která cesta je lepší. Jde o to, jaké nástroje máš vůbec k dispozici, a rozhodnutí pro programování nebo proti němu je na tobě, ne na softwaru.
Ať už s vlastním kódem nebo bez něj: každý výsledek backtestu nebo optimalizace, který při tom vznikne, popisuje výhradně minulá data. Nedovoluje žádné tvrzení o tom, jak se bude strategie chovat v budoucnosti.
Tento článek slouží ke vzdělávání a není investičním poradenstvím. Minulé výsledky, včetně výsledků backtestů, nezaručují budoucí výsledky. Obchodování s finančními instrumenty je spojeno s riziky a můžeš přijít o peníze.
Tento článek slouží ke vzdělávání a není investičním poradenstvím. Minulé výsledky nezaručují budoucí výsledky.
Jak to děláš ty? Napiš to v komunitě. Zdarma, ve tvém jazyce.
Zaregistruj se zdarma