Consulting Work Blog Kontakt
← Zpět na blog

Strategie, která nikdy nedokázala říct prodej

Strategie, která nikdy nedokázala říct prodej

Zhruba dva měsíce mi tradingový bot, který provozuji, ani jednou neřekl, ať prodávám. Nápady na nákup chodily pořád, v některé dny desítky. Nápady na prodej: žádné. Předpokládal jsem, že trh prostě roste a bot ho čte správně. Ukázalo se, že bot byl matematicky neschopný doporučit prodej, a postavil jsem ho tak já sám, aniž bych si toho všiml.

Ve zkratce

  • Pro předregistrovaný test „prodej, když si jsi jistý" byla laťkou jistota 75. Test se týdny vracel úplně prázdný.
  • Dva skryté vstupy potichu naklápěly každé skóre nahoru, takže prodejní případ se mohl k čáře přiblížit, ale nikdy na ni dosáhnout.
  • Když jsem oba neutralizoval, prodejních signálů nad laťkou bylo 13 místo 3, na úplně stejné historii. Trh se nezměnil; změnilo se jen zmanipulované skórování.

Test, který se vracel prázdný

Uspořádání je prosté. Bot čte zprávy, z každé udělá obchodní nápad a připojí skóre jistoty od 0 do 100. Všímám si jen signálů nad prahem zvoleným předem.

Než jsem mu svěřil cokoli důležitého, předregistroval jsem malý test: sledovat každý prodejní signál nad 75 a dívat se, jak by dopadl. Předregistrace znamená jen to, že pravidlo bylo zapsané dřív, než existovaly výsledky, abych nemohl potichu posouvat branky.

Test tam stál týdny a nevydal vůbec nic. Nula kvalifikujících prodejních signálů. První instinkt byl ten líný: trh roste, prodeje jsou vzácné, bot je v pořádku. Ta verze je pohodlná, protože nevyžaduje práci a nikoho neviní. Byla také úplně špatně.

Zeď na 74,8

Když jsem konečně vytáhl surová skóre, místo abych věřil prázdnému souhrnu, vyskočilo jedno číslo. Nejsilnější prodejní signál, jaký bot kdy vytvořil, měl 74,8. A ne náhodou jednou: celý horní okraj prodejního rozdělení se tiskl k 75 a zůstal stát.

Sada skóre, která se lepí na čáru a nikdy ji nepřekročí, není přirozený tvar. Skutečná čísla občas přestřelí; právě tím jsou skutečná. Když se hodnota znovu a znovu blíží limitu a nikdy jím neprojde, něco ji tam fyzicky drží.

Každý prodejní signál se zastavil na 74,8 proti bráně 75, dokud nebyly dva skryté vstupy neutralizovány

Držely to dva vstupy, zvenku nebyl vidět ani jeden. První bylo záložní pravidlo: akcie bez vlastních zpráv si půjčila obecnou náladu trhu, mírně optimistickou, kolem 53 na stejné škále. Tichá akcie tak začínala život s náklonem k „nakupovat" z důvodu, který s ní neměl nic společného. Druhý byla stará korekce přidaná během dlouhé rally, malý palec na váze směrem k nákupu. Oba byly v den svého vzniku rozumné. Dohromady znamenaly, že každý prodejní případ startoval v jámě a výstup vždycky skončil těsně pod branou.

Co se změnilo, když jsem palec sundal

Oprava nebyla chytrá, což se trochu stydím přiznat. Nastavil jsem záložní pravidlo na opravdu neutrálních 50 místo 53 a korekci na rally poslal do důchodu. To je celá změna.

Na úplně stejné historii stouply prodejní signály nad branou z 3 na 13. Nezávislý běh nad odděleným kusem dat řekl z 3 na 12. Nákupy skoro nemrkly, jejich nejvyšší skóre kleslo o jediný bod, přesně to, v co doufáte, protože nákupy nikdy nebyly problém. Bot situace hodné prodeje celou dobu viděl a polykal je.

Bot nebyl zticha proto, že nic nekvalifikovalo. Byl zticha proto, že to jedno číslo, které potřeboval, nesmělo existovat.

Je to tentýž vedlejší projekt, který mi jednou zalichotil ziskem +158 %, který si nikdy nevydělal, takže jsem se naučil nevěřit jeho nejšťastnějším výstupům. Číslo, které ukazuje vždy jen jedním směrem, vypráví o vlastním zapojení, ne o světě.

Proč jsou „žádné výsledky" nejnebezpečnější výsledek

Prázdný výsledek působí jako informace. Jenže „nic nekvalifikovalo" a „nic kvalifikovat nemohlo" dávají identickou prázdnou obrazovku a znamenají opak. Jedno říká, že svět je klidný. Druhé, že vaše brána byla zavařená, ještě než test začal.

Stejný tvar se odehrává daleko od kódu. Náborový trychtýř, kde laťku nepřekoná žádný kandidát, protože laťka byla opsaná z popisu práce, kterou v týmu nikdo nedělá. Bezpečnostní deník s nulou nahlášených incidentů, protože formulář na hlášení je zakopaný čtyři kliky hluboko. Pokaždé se nepřítomnost čte jako zjištění a to zjištění je fikce: měření nemohlo vrátit nic jiného.

Levný návyk, který to chytí: než uvěříte „žádným výsledkům", zeptejte se, jaký byl maximální možný výsledek. Ne co se vrátilo, ale co se v nejlepším případě vrátit mohlo. Nejlepší možná odpověď mého testu seděla dvě desetiny pod laťkou, takže jeho skutečné sdělení nikdy nebylo „nic se neprodává", ale „tahle brána se nedá otevřít". Kdybych začínal znovu, logoval bych vedle každého prahu jedno číslo navíc: nejlepší skóre, které se pod ním skutečně objevilo. Těsné minutí je stopa a čistý dashboard je zahodí jako první.

Někde ve vaší práci je číslo, které podezřele dlouho ukazuje nulu, a všichni se shodli, že je to dobrá zpráva. Ověřili jste, jestli se vůbec kdy smělo pohnout?

Stack: Python · Claude API · SQLite

Potřebujete něco podobného pro svou vlastní firmu? Podívejte se, jak můžu pomoct →