Hlásit přechody, ne stav
- Prahy hlášení
- 3
- Bez nich zpráv
- 17
- Skript
- 0,05 s
Teze: „Týdně je málo, denně otravné“ není problém frekvence, ale toho, že se plete kontrola s upozorněním.
Zadání
Hlídat portfolio: upozornit na velké změny a na pozice, kde je velký zisk. Ale: týdenní kontrola je pozdě, denní zpráva se stejným obsahem se přestane číst.
Řešení
Kontrolovat denně, hlásit jen přechod. Ne „jsi na 52 %“, ale „poprvé jsi překročil 50 %“. Stavový soubor si pamatuje dosažené příčky.
Křivka je schéma — průběh zisku je ilustrační. Počty zpráv (17 proti 3) a prahy 25/50/75 % prémie odpovídají nálezu.
Klíčové bylo zjistit, co je vlastně novinka, a to se lišilo podle typu:
| Kniha | Co je novinka | Co novinka není |
|---|---|---|
| Opce (definovaný max. zisk) | překročení 25 / 50 / 75 % prémie | — |
| Aktivní obchody | pohyb ≥ 7 % za den, příčky zisku i ztráty | — |
| Dlouhodobé držení | velký denní pohyb, dozrání daňového testu | že je pozice na +140 % od roku 2021 |
To poslední byl hlavní objev. Kdybych hlásil úrovně zisku u dlouhodobých pozic, dostal by uživatel první den seznam dvanácti položek a pak už nikdy nic — příčky by byly překročené. Že je něco léta v plusu, je záměr, ne zpráva.
Druhé zjištění: procenta a částky si protiřečí. Nejvyšší procentní zisk (+256 %) znamenal 899 dolarů; „jen“ +140 % znamenalo 4 329. Řazení podle procent ukazuje pořád totéž.
Čtyři pojistky proti šumu
- Značka čerstvosti dat. Dokud se nezmění timestamp poslední aktualizace cen, skript skončí bez výstupu. Tím padnou víkendy, svátky i rozdílné přechody na letní čas — a skript nemusí znát burzovní kalendář.
- Pohyb jen jednou za den, i při opakovaném běhu.
- U opcí bez živé kotace se zisk nehlásí. Nekótovaný kontrakt má zamrzlou cenu; „zisk“ by byl artefakt, ne ocenění trhem.
- Když je předchozí cena starší než včerejšek, výstup to připíše — aby se dvoudenní skok nečetl jako denní.
Chyba, kterou to odhalilo
První noc nepřišlo nic. Nebyla to porucha, ale ukázalo se, že zakládání základu spolklo i budoucí události: dozrání daňového testu za tři dny a expirace kontraktu za týden byly označené za „ohlášené“, aniž by se kdy odeslaly.
Základ má zakládat stav vlastností (příčky, vrcholy — co už platí), ne událostí, které teprve nastanou. A brána na čerstvost cen nesmí umlčet kalendářní upozornění — přes víkend se ceny neaktualizují, ale dny běží.
- vlastníscripts/portfolio-watch.py — stavové prahy místo hlášení stavu
- vlastní6. 8.: týž vzorec dostala noční konsolidace — podklad nese oddíl „už ohlášeno“ a zadání říká neopakovat nezměněné