Tomáš Bělák / remind.cz / Pure MTF LSTM v5.23

Pure MTF LSTM v5.23

Skromný indikátor, který se nesnaží být prorokem, mesiášem ani burzovním šamanem.
Jen poměrně poctivě přiznává, že trh je složitý, chaotický a občas připomíná
tekutý písek: čím víc do něj kopeš bez rozmyslu, tím rychleji tě pohltí.

Tento projekt vznikl s pokorou, notnou dávkou technické tvrdohlavosti a se skromným cílem:
neříkat trhu, co má dělat, ale zkusit rozumně odhadnout, kdy má ještě smysl o nějakém směru vůbec uvažovat.

Než vůbec začnete uvažovat nad tím, že šipky ukazují nějakým směrem ….zkuste si představit, že se zobrazují 5 svíček před grafem….

Co indikátor dělá

Vyhodnocuje pravděpodobnost růstu v rozsahu 0–100 % na základě LSTM sítě, MTF vstupů a filtru chaosu pomocí Shannonovy entropie.

Co indikátor nedělá

Neslibuje bohatství, nečte myšlenky trhu a netvrdí, že porazí realitu. To by bylo drzé. A realita bývá na trzích zlomyslnější než písek v ponožkách.

Proč je zajímavý

Nespoléhá jen na jeden timeframe. Kombinuje více vrstev kontextu, trénuje se na GPU a navíc se učí nedůvěřovat sám sobě, když trh zdivočí.

Úvod velmi lehký

Přiznejme si to rovnou: většina indikátorů na trhu buď vypadá příliš sebevědomě, nebo příliš barevně. Tento se snaží o něco skromnějšího. Místo velkých prohlášení typu „teď to určitě poroste“ raději říká: „Podle známých struktur a dostupných dat to vypadá takto, ale nechci ze sebe dělat geologickou autoritu na burzovní duny.“

A to je podle mého správný přístup. Trh totiž není beton. Trh je písek. Někdy zhutněný, někdy sypký, někdy tě podrží a někdy se pod tebou rozjede ve směru, o který nikdo neprosil.

Tento indikátor se nesnaží předvídat budoucnost jako věštec. Snaží se měřit, zda jsou v trhu ještě patrné struktury, nebo už se všechno sesypalo jako hrad z písku po první větší vlně.

Co přesně indikátor zobrazuje

V samostatném okně vykresluje hlavní křivku BUY Prob (%), tedy pravděpodobnost býčího scénáře. Hodnoty se pohybují od 0 do 100 %. Současně používá tři orientační zóny:

0–30 %

Medvědí zóna

Model se přiklání k poklesu. Neznamená to automaticky „prodej hned“, ale rozhodně to není chvíle, kdy by si býci měli objednávat pamětní desku.

30–70 %

Neutrální pásmo

Zóna pokory. Tady si model často říká, že trh ještě něco tají. A má pravdu častěji, než bývá člověku milé.

70–100 %

Býčí zóna

Model vidí převahu růstových struktur. Pořád ale nejde o slib, jen o statistický odhad. Písek se může sesunout i z velmi hezkého kopce.

Kromě hlavní křivky indikátor zobrazuje i šipky při průrazech důležitých úrovní: Cross Up 30 a Cross Down 70. Tyto šipky nejsou kouzelné runy, ale jednoduché vizuální značky změny stavu.

Proč LSTM a proč Multi-Timeframe

LSTM architektura je vhodná tam, kde záleží na posloupnosti. Trh totiž není sbírka izolovaných čísel. Je to časová řada, kde každá svíčka nese stopu toho, co se dělo před ní. Někdy jemnou, někdy zablácenou, někdy zasypanou jak mincovní poklad pod dunou.

Multi-Timeframe přístup pak řeší starý problém všech přehnaně sebejistých systémů: co vypadá jako signál na jednom timeframe, může být na vyšším rámci jen drobný tik, podobně jako malá stopa v písku, která zblízka vypadá dramaticky, ale z vršku duny je to jen nervózní vrabec.

Praktický význam MTF

TF1 dává detail.

TF2 dává kontext.

TF3 dává nadhled.

A nadhled je na trzích stejně důležitý jako pevná obuv v písku.

Jaká data model skutečně dostává

Indikátor nekrmí síť jen holými cenami. To by bylo příliš prosté. Z každé svíčky skládá bohatší sadu příznaků, které se snaží vystihnout charakter pohybu. Na každý timeframe připadá 18 feature, při třech timeframech tedy celkem 54 feature na jeden bar.

Skupina feature Význam Skromná poznámka
One-hot typ svíčky Rozlišení charakteru candle struktury do 9 kategorií Protože ne každá svíčka je svíčka. Některé jsou spíš psychologický problém v grafické podobě.
Tělo / rozsah Měří relativní sílu těla svíčky v rámci celého range Pomáhá odlišit rozhodnost od planého dupání v písku.
Asymetrie knotů Zachycuje, zda byla cena tlačena spíš shora nebo zdola Když má svíčka knoty jak pouštní křoví, obvykle se něco děje.
Změna tick volume Sleduje relativní dynamiku objemu Není to svatý grál, ale aspoň slyšíme, jestli po duně někdo běžel.
Momentum Měří cenový posun za definovaný počet barů Směr větru v písku je pořád lepší informace než nic.
ATR ratio Porovnává aktuální volatilitu vůči průměru Jinými slovy: je klid, nebo už se zvedá bouře.
Pozice v range Určuje, kde je close uvnitř nedávného cenového rozpětí Vrchol duny a dno duny mají na psychiku trhu překvapivě odlišný účinek.
Shannon entropy Fast, slow a delta entropy pro měření chaosu Tohle je část, kde model skromně připouští, že někdy je lepší přiznat zmatek než předstírat genialitu.

Shannonova entropie: elegantní způsob, jak říct „tady je to divné“

Jedna z nejzajímavějších částí tohoto indikátoru je práce s entropií. Nejde jen o to odhadnout směr. Ještě důležitější je odhadnout, zda má vůbec smysl se o směr pokoušet.

Když je trh strukturálně čitelný, entropie bývá nižší. Když se trh rozpadá do chaotických pohybů, entropie roste. A právě v této chvíli systém dělá něco, co působí překvapivě dospěle: snižuje vlastní jistotu.

double ApplyEntropyConfidenceFilter(double pBull, double entropySlow)
{
    if(!InpUseEntropyFilter) return pBull;
    if(entropySlow <= InpEntropyChaosLevel) return pBull;

    double excess = (entropySlow - InpEntropyChaosLevel) / (1.0 - InpEntropyChaosLevel);
    double mix = excess * InpEntropyFilterPower;

    return pBull * (1.0 - mix) + 0.5 * mix;
}

Přeloženo do lidské řeči: když trh vypadá jako sypká halda bez struktury, model se přestane tvářit, že ví něco zásadního, a stáhne svůj názor blíž k 50 %. To je výborné. Méně hrdinství, více pokory.

Poznámka o písku č. 1:
Když se díváš na trh a všechno se hýbe bez rytmu, není to „vzrušující příležitost“. Často je to jen finanční obdoba toho, když kopeš do duny a divíš se, že se sesouvá.

Jak funguje trénování modelu

Síť se nevytvoří jako výzdoba. Skutečně se trénuje. A to na GPU přes externí DLL, což je praktické řešení pro výpočetně těžší architekturu. Hlavní výhoda je zřejmá: větší dávky dat, rychlejší inferenční i trénovací cykly a menší šance, že CPU začne při pohledu na lookback předstírat smrt.

První trénink

Při inicializaci se systém pokusí načíst existující model ze souboru. Pokud se to nepodaří, začne od nuly. To je sympaticky poctivé. Žádné kouzlení, žádné „to nějak dopadne“. Buď model existuje, nebo ne. Písek se také netváří, že je žula.

Periodický retrénink

Trh se mění. To je známá a zároveň otravná vlastnost trhu. Proto se po určitém počtu nových barů spouští další retrénink. Model tak není navždy zamrzlý ve staré realitě, což bývá osud mnoha systémů, které fungují hlavně v backtestech a nostalgii.

Train/Test split a OOS validace

Tady indikátor ukazuje, že nechce být jen technicky efektní, ale i metodicky slušný. Data jsou rozdělena na trénovací a testovací část. Testovací část slouží jako Out-of-Sample prostor, tedy něco jako zkouška charakteru.

Model se neučí na všem naráz a netleská si za to, že si zapamatoval vlastní minulost. Místo toho se ověřuje na datech, která při tréninku neviděl. Je to výrazně zdravější přístup než tradiční „podívej, jak krásně to sedí na historii“, což je často jen jiný název pro optimizační písečné sochařství.

Není umění přizpůsobit se minulosti. Umění je neztrapnit se hned při prvním kontaktu s tím, co model ještě neviděl.

Systém „graduation“: když model dostane diplom a trochu víc důvěry

Jedna z nejchytřejších částí indikátoru je mechanismus graduace. Pokud model na OOS datech dosáhne minimální požadované úspěšnosti, hranice mezi train a test oblastí se posune. Jinými slovy: část dat, která obstála jako zkouška, se může stát součástí učícího prostoru.

To je velmi elegantní myšlenka. Model se neučí všechno najednou. Nejdřív musí ukázat, že si něco zaslouží. Teprve potom dostane další vrstvu důvěry. Skoro jako člověk. Jen bez kávy a bez potřeby dramaticky vzdychat nad trhem.

Kdy dojde ke graduaci

Pokud OOS accuracy překročí nastavený práh a je k dispozici dostatek OOS vzorků.

Co se stane potom

Proběhne speciální OOS retrain, uloží se snapshot vah a hranice train/test se posune.

Proč je to dobré

Síť si nebere důvěru sama. Musí si ji vybojovat. To je na trzích osvěžující a vzácné.

Šipky, úrovně a interpretace výstupu

Vizuální část indikátoru je jednoduchá, což je dobře. Když už je vnitřek složitý, je slušné, aby se výsledek netvářil jako palubní deska raketoplánu.

Jak číst křivku

  • Nad 70 %: model vidí převahu býčího scénáře.
  • Pod 30 %: model vidí převahu medvědího scénáře.
  • Okolo 50 %: model připouští nejistotu. A to je často nejcennější informace ze všech.

Jak číst šipky

  • Cross Up 30: přechod z výrazně slabé oblasti výš.
  • Cross Down 70: pokles z výrazně silné oblasti níž.

Šipky není rozumné chápat jako příkazy. Jsou to spíš poznámky na okraji statistik. Něco jako když si v poušti všimneš, že se změnil směr větru. Je to důležité, ale ještě to neznamená, že máš okamžitě stavět nový dům z písku.

Technické drobnosti, které potěší náročnější čtenáře

Prvek Význam v praxi
Asynchronní trénink GPU může pracovat průběžně, zatímco UI zůstává živé a indikátor se nepromění v kamennou desku.
Snapshot / Restore vah Pojistka pro případ, že nový retrain dopadne hůř. Velmi rozumné. I písek se občas vyplatí nechat tam, kde držel.
Cache ATR a entropie Omezuje zbytečné přepočty a šetří výkon. CPU tak nemusí trávit život přehrabováním téže lopatky dat.
Validace vyšších timeframe přes iBarShift Brání tomu, aby se systém omylem napojil na nesmyslně vzdálený bar a nezačal dělat závěry z archeologie.
Plot shift Posouvá výstup dopředu, aby bylo vizuálně jasné, kam predikce směřuje. Elegantní a praktické.
Model persistence Uložení a načtení naučeného stavu ze souboru. Není nutné začínat každé sezení jako amnézií postižené zrnko písku.

Co je na tom všem možná nejhezčí

Tento indikátor nepůsobí dojmem, že se snaží dělat velké divadlo. Naopak. Je v něm cítit technická poctivost:

  • oddělení train a test dat,
  • měření chaosu,
  • snižování jistoty v nepřehledných podmínkách,
  • postupná graduace místo bezhlavého sebevědomí,
  • průběžné retrénování a ochrana proti degradaci vah.

To je přesně ten typ konstrukce, který nevzniká z potřeby vytvořit marketingový trik, ale z potřeby vytvořit nástroj, který se aspoň trochu chová dospěle.

Poznámka o písku č. 2:
Burzovní písek je zrádný v tom, že chvíli drží tvar, a člověk si pak myslí, že objevil zákon vesmíru. O pět minut později do něj foukne makroekonomická realita a z „geniálního patternu“ je jen dražší pláž.

Pro koho je indikátor určen

Je vhodný pro uživatele, kteří nečekají mechanickou krabičku na peníze, ale chtějí sofistikovanější pohled na pravděpodobnost a stav trhu. Hodí se zejména pro ty, kdo dokážou chápat výstup jako informaci, nikoli jako rozkaz.

Není určen pro lidi, kteří po každé šipce očekávají, že se otevře brána ke zlatu. To by musel být jiný software. Spíš archeologický. Nebo náboženský.

Poctivé upozornění na závěr

I když tento indikátor využívá neuronovou síť, více timeframe, entropii, GPU a poměrně inteligentní mechanismy validace, stále pracuje s trhem, který je nevyzpytatelný. Model může být disciplinovaný. Trh ne.

Proto je nejrozumnější chápat tento nástroj jako: statisticky informovaný kompas, nikoli jako automat na pravdu.

Pure MTF LSTM v5.23 není stroj na jistotu. Je to pokorný pokus rozeznat, kdy je v ceně ještě struktura a kdy už jen sviští vítr nad dunou.

Závěrečné shrnutí

Pure MTF LSTM v5.23 je detailně promyšlený indikátor, který kombinuje:

  • LSTM architekturu,
  • multi-timeframe vstupy,
  • Shannonovu entropii,
  • GPU trénink a inferenci,
  • Out-of-Sample validaci,
  • graduaci modelu podle výsledků,
  • a průběžnou adaptaci na nové podmínky.

Pokud hledáš přehnané sliby, tady je nenajdeš. Pokud hledáš skromný, technicky chytrý a přitom lidsky napsaný nástroj, který chápe, že trh bývá někdy spíš písečná lavina než organizovaná struktura, pak jsi pravděpodobně na správném místě.