Pavel Hála

Obchodní signály postavené na umělé inteligenci

Publikováno 27. 11. 2019

Jak možná víte, dříve jsme měli v aplikaci klasické sezónní signály. Dnes už jde o docela běžnou věc, kterou najdete v mnoha jiných nástrojích a platformách. Jejich výpočet je založen na sezónních vzorcích chování určité komodity získaných z historických cenových dat. Takové signály ovšem nabízejí pouze pohled do minulosti a zcela ignorují aktuální stav trhu. Je to podobné jako kdybyste řídili auto a dívali se přitom celou dobu pouze do zpětného zrcátka. Určitě budete souhlasit, že něco takového není dobrý nápad.

Když jsme uvažovali nad podobou nových signálů, chtěli jsme vám nabídnout něco lepšího. Něco, co dává opravdu smysl a co bychom sami chtěli používat. Proto jsme představili obchodní signály, do nichž vstupuje více různých typů tržních dat, nikoliv jenom sezonalita.

V současné době slouží jako vstup do našich obchodních signálů nasledující druhy dat:

  • cenová akce
  • volatilita
  • Commitments of Traders (sentiment)
  • sezonalita
  • změny struktury trhu
  • valuační metriky

Natolik různorodá data nemůžete brát v potaz nezávisle na sobě. Například zajímavá cenová akce vytvoří daleko lepší příležitost, pokud je doprovázena vyhroceným tržním sentimentem. Jakmile začnete uvažovat o všech možných závislostech mezi takovým množstvím různých dat, velmi rychle budete zahlceni obrovským množstvím kombinací a vzájemných nelineárních zavislostí mezi daty.

Pokud chcete pracovat s větším množstvím různých typů dat, potřebujete daleko mocnější model. A to je přesně to co jsme udělali. Převzal jsem osobní zodpovědnost za vývoj nových signálů a naprogramoval je sám. Využil jsem zkušenosti s pokročilými machine learning metodami z astrofyziky a algoritmického obchodování a vyvinul jsem sofistikovaný model komoditních trhů. Tento model je schopen predikcí v “reálném čase”, průběžně se učí na nových datech a adaptuje se na neustále se měnící chování trhů. Přestože osobně nemám rád pojem Umělá Inteligence, jelikož je často nesprávně používán, v tomto případě se jedná o plně zasloužené označení. Důkazem je také neobyčejná všestrannost mého modelu, který se naučil obchodovat desítky komoditních trhů. Přitom jak sami víte, chování mnoha komodit se navzájem naprosto liší.

Nicméně stejně jako u každého nástroje, i tady je nezbytné naučit se signály správně používat a interpretovat.

Jak používat signály

Pro začátek je dobré si ujasnit, co vlastně naše obchodní signály jsou a co naopak nejsou. Rozhodně nepředstavují výzvu k provedení skutečných obchodů. Neposkytujeme investiční doporučení. Nebylo by to ani možné, protože každý člověk má jiný investiční horizont, toleranci k riziku a obchodní styl. Validní obchodní signál vám tedy říká, že na daném trhu existuje určitá příležitost. Dále už je pouze a jenom vaší zodpovědností provést řádnou analýzu předtím než uděláte konkrétní obchodní rozhodnutí.

Graf signálu je složen ze tří podgrafů. Od shora je to COT position index, sezónní křivky a nakonec samotný obchodní signál. COT a sezonalita jsou vykresleny proto, že většina našich uživatelů je využívá k rychlému vyhodnocení situace na daném trhu. Samotný signál ovšem není založen pouze na těchto dvou typech dat. Model generující signály využívá jako vstup daleko více druhů dat. Důkazem je fakt, že občas najdete obchodní signál, který je v přímém rozporu se sezonalitou, COTem nebo obojím.

Hodnota signálu je vždy kladné číslo. Závisí na očekávaném riziku a potenciálním zhodnocení podkladu v následujících třech měsících. Ale neuvažujte o tom jako o výnosu (nebo propadu) přesně za tři měsíce. Je to komplikovanější, než se zdá. Představte si dva scénáře – v tom prvním cena vystřelí prudce vzhůru, udělá obrovský pohyb za krátkou dobu, ale po zbytek sledovaného období půjde do strany nebo dokonce dolů. V druhém scénáři cena udělá sice menší pohyb nahoru než v tom prvním, ale zato roste průběžně během celého tříměsíčního období. Podvědomě cítíme, že každý z těchto případů představuje skvělou příležitost a pravděpodobně bychom je chtěli zobchodovat oba. Nicméně pokud se je pokusíme popsat pomocí statistických veličin, budou oba případy vypadat naprosto odlišně.

Z toho důvodu jsem navrhl speciální algoritmus, který se snaží vyhodnotit skutečnou kvalitu příležitosti, tak jak by ji vnímali sami lidé. A tato veličina je přesně tím, co se můj machine learning model snaží predikovat a co potom vidíte jako sílu signálu v aplikaci. Signál tedy vyjadřuje, zda je daná příležitost z hlediska rizika/potenciálu zajímavá právě nyní. Hodnota signálu je ponechána bez jednotky, protože jak jsem popsal, samotný odhad kvality příležitosti je složitější a výsledek není snadno interpretovatelný.

Signál je škálován tak, aby hodnota nad 1.0 představovala dobrou příležitost (validní signál). Přesná hranice se ale napříč komoditami může lehce lišit. Odchylky potom stoupají s rostoucí silou signálu. Takže zatímco signály o síle 1.0 jsou porovnatelné napříč různými komoditami, nemá příliš smysl porovnávat kvalitu signálu o síle 1.5 z jedné komodity a signálu o síle 2.0 z druhé komodity. Co je však funguje zcela univerzálně je trend samotného signálu. Pokud síla signálu roste, příležitost se zlepšuje. Pokud naopak klesá, příležitost se stává méně zajímavou.

Nové obchodní signály jsou generovány jednou týdně během víkendu (abychom měli k dispozici čerstvá COT data). Existující signály co už v aplikaci jsou se ale aktualizují každý den, takže ihned vidíte zda se daná příležitost zlepšuje nebo zhoršuje. Při zařazování nových signálů model vždy vybere ten nejlepší aktivní obchodní signál pro danou komoditu, který zároveň musí mít nějakou minimální sílu (nyní 0.8). Takže pokud model pro nějakou komoditu najde lepší příležitost než tu co už v aplikaci je, nahradí starou příležitost tou novou. Pokud naopak nová příležitost má menší sílu signálu než ta stávající nebo dokonce nedosahuje ani minimální hranice síly signálu, zůstane v aplikaci stará příležitost. A jestliže jakákoliv existující příležitost setrvá pod minimální předpsanou silou signálu po určitý počet dní, dojde k jejímu vymazání z aplikace.

Na co si dát pozor

Model je nasazen na desítky komoditních trhů. To je samo o sobě úctyhodné, když si uvědomíme, že dnešní obrovské machine learning modely (a.k.a. umělá inteligence) jsou známy tím, že se často trénují na úzce zaměřenou úlohu pomocí enormních výpočetních prostředků. Ale nic není perfektní. Jsou trhy, kde náš model moc dobře nefunguje. Detailní analýza odhaluje, že často to není chyba samotného modelu, ale spíše důsledek vstupních dat, která pro daný trh nejsou relevantní. Dobrým příkladem jsou futures na akciové indexy a jiné finanční deriváty, kde data sepsaná v úvodu článku nehrají na těchto trzích podstatnou roli. Další oblastí, kde odhady můžou být méně přesné jsou energie (byť ne až tak jak u indexů). A není divu – často jsem zdůrazňoval, že pro úspěšné obchodování energií je nutné sledovat i fundamenty (které zatím do modelu nevstupují). Dobrou zprávou ovšem je, že ve většině situací se model sám dokáže naučit, že pomocí dodaných vstupních dat není schopen dělat na daném trhu úspěšné predikce a tak nenbídne žádný validní signál.

Horší kvalita signálů na některých komoditách/futures ale není vždy způsobena pouze nevhodnými vstupními daty. Jak se ukazuje, některé trhy jsou v principu hůře predikovatelné než jiné. Na toto téma naleznete spoustu akademických článků. Řada studií tento fakt empiricky prokázala, takže nejde o něco co bych pozoroval pouze já sám. Navíc chování finančních trhů může během dlouhého období procházet radikálními proměnami. Některé komodity se najednou začnou chovat zcela jinak než kdy předtím. Ruku v ruce s tím jde prediktabilita trhu dolů. Přestože můj model se na nové chování dříve či později adaptuje, nedá se v takovém případě vyhnout období zhoršené kvality signálů na dané komoditě.

I v případě že máme správná vstupní data a chování komodity je historicky dobře predikovatelné, nemůžeme si být nikdy jisti, že příležitost vyjde tak jak naznačuje obchodní signál. Komoditní a celkově finanční trhy jsou totiž přirozeně chaotické a mají pravděpodobnostní charakter. Obchodní signál ukauzuje pouze na vyšší pravděpodobnost nějakého tržního scénáře, rozhodně ne na jistotu. Za den nebo dva se může stát něco (přírodní katastrofa, geopolitická událost, atd.), co obrátí vývoj trhu vzhůru nohama a veškeré predikce do té doby se stanou zcela irelevantními. Naštěsí náš model takovou událost zaznamená a následně ji příslušným způsobem zohlední v síle signálu pro danou příležitost. Právě to je jeho největší výhoda – nemusí se spoléhat na dávno zastaralé sezónní cykly. Místo toho je schopen dělat rozhodnutí v reálném čase na základě čerstvých tržních dat.

 

Tzv. obchodní signály jsou generovány umělou inteligencí a jejich význam nelze snadno interpretovat. Tyto tzv. obchodní signály rozhodně nejsou výzvou k provedení skutečných obchodů a jejich účel je čistě edukativní. Společnost SpreadCharts s.r.o. ani její představitelé nenesou žádnou zodpovědnost za to, co uživatel učiní na základě informací v sekci Trading signals nebo jakýchkoliv jiných informací publikovaných na tomto webu a jeho subdoménách (včetně aplikace SpreadCharts). Obchodováním futures kontraktů se vystavujete riziku ztráty.

Posted in Novinky and tagged
Pavel Hála

Pavel is the founder and CEO of SpreadCharts.

Všechny články

Nenechte si ujít další zajímavé články

Pavel Hála

Spouštíme vylepšený model pro signály

Osobně považuji signály generované modelem umělé inteligence za základní kámen našeho software. Komoditní signály sice...

Celý článek
Pavel Hála

Data > názory

Před dvěma týdny můj bayesovský model pro akcie vydal silný buy signál. Můj osobní názor...

Celý článek
Pavel Hála

Dřevo je mrtvé, ať žije dřevo

Pokud obchodujete futures na dřevo, určitě jste si všimli, že už nějakou dobu nepřibyly žádné...

Celý článek
Pavel Hála

SPECIAL REPORT: Náklady těžařů stříbra

Před více než týdnem jsem zveřejnil tento trochu tajemný tweet. I když šlo o reakci...

Celý článek