← Blog
Platforma 7. 7. 2026

Genetická optimalizace: jak prohledat milion kombinací

Každá systematická strategie má parametry: délky klouzavých průměrů, prahy vstupů, násobky stop lossů, časové rámce. A u každého parametru je přirozená otázka: co kdyby byl o kousek jinde? Špatná odpověď je zkoušet to ručně a přestat, když čísla vypadají hezky. Dobrá odpověď zní: prozkoumat celý prostor nastavení systematicky — a přesně na to má naše platforma dva nástroje: přesný grid a genetickou optimalizaci.

Přesný grid: každá hodnota s každou

Když parametrům dáte rozsahy (od–do, s krokem), vznikne mřížka kombinací. Grid search ji projede celou: každá variabilní proměnná proti ostatním, každá hodnota s každou. Žádné slepé místo, žádná náhoda — úplná mapa. Díky rychlému event-driven enginu jsou tisíce plnohodnotných backtestů otázka běžného provozu, takže pro menší prostory je grid první volba.

Jenže kombinatorika je neúprosná: čtyři parametry po deseti hodnotách = 104 = 10 000 testů. Šest parametrů po dvanácti hodnotách = skoro 3 miliony. Někde na této cestě přestává být hrubá síla praktická — a přesně tam genetická optimalizace „dozná svého jména".

Genetika: evoluce místo hrubé síly

Genetická optimalizace je evoluční metoda prohledávání prostoru nastavení strategie: místo zkoušení všech kombinací šlechtí populaci kandidátů podle zvolené metriky — generaci za generací, směrem k oblastem, kde strategie funguje.

Genetický algoritmus nezkouší všechno — šlechtí. Začne populací náhodných kandidátů rozesetých po celém prostoru. Každý kandidát („chromozom") je jedno konkrétní nastavení strategie — a každý se ohodnotí plnohodnotným backtestem: se skutečnou simulací exekuce, poplatky i skluzem, žádné zkratky. Z výsledku se spočítá fitness — skóre podle zvolené metriky. A pak přijde evoluce: úspěšní se množí, neúspěšní mizí, potomci kombinují vlastnosti rodičů a občas zmutují. Generaci za generací se populace stahuje k oblastem, kde strategie funguje.

Krajina ale není zadarmo — a záleží, kolik stála. Sledujeme i to, kolik testů a kombinací bylo potřeba, než se optimalizace k dobrým výsledkům dostala. Když z velkého množství pokusů zbyde jen malý cluster nebo hrstka „optimálních" testů, není to optimální řešení — je to varování. A stejně důležité je hodnotit výsledky víc metrikami najednou: hledáme robustní krajinu, ne špičatý horský terén s hlubokými údolími.

JEDNA GENERACE ZBLÍZKA ① FITNESS Z BACKTESTŮ → RULETA: ŠANCE ÚMĚRNÁ SKÓRE 201.6trendsl 780 ★ ELITA · RODIČ A 902.4bothnone 540 RODIČ B 1401.1altsl 310 82.8trendnone 120 LOSOVACÍ PÁS — ŠÍŘKA POLÍČKA = FITNESS. I SLABŠÍ MÁ ŠANCI, JEN MENŠÍ: 780 540 310 120 ② KŘÍŽENÍ V BODĚ ŘEZU + MUTACE lengthmultentryrisk 201.6trendsl A · 780 lengthmultentryrisk 902.4bothnone B · 540 BOD ŘEZU 20→37 1.6 both none ⚡ MUTACE: NÁHODNÁ ZMĚNA JEDNÉ HODNOTY POTOMEK 1 = A₁A₂ + B₃B₄ 90 2.4 trend sl POTOMEK 2 = B₁B₂ + A₃A₄ ③ NOVÁ GENERACE: ELITA BEZE ZMĚNY + POTOMCI S FITNESS „?" Potomky teprve prověří backtesty — a celý cyklus se opakuje, dokud nedojde limit generací nebo rozpočet testů.
Jedna generace zblízka. Ruleta dává šanci úměrnou fitness — i slabší kandidát občas dostane slovo (chrání rozmanitost). Bod řezu rozdělí rodiče, potomci kombinují jejich poloviny, mutace přepíše jednu hodnotu — a elita (★) putuje po pravé straně do nové generace beze změny.

Slovníček evoluce

  • Chromozom — jedno konkrétní nastavení: kombinace hodnot všech variabilních parametrů.
  • Populace — sada kandidátů jedné generace. Každý z nich se testuje samostatným backtestem.
  • Generace — jedno kolo cyklu: otestuj → ohodnoť → vyber → zkřiž → zmutuj.
  • Fitness — číslo, podle kterého evoluce vybírá. U nás se zvolená metrika převádí na skóre 0–1000, aby se dala porovnávat napříč kandidáty.
  • Selekce — výběr rodičů ruletou: čím vyšší fitness, tím větší šance na potomky. I slabší kandidát ale dostane příležitost — to chrání rozmanitost.
  • Křížení — dva rodiče si vymění části nastavení a vzniknou potomci, kteří kombinují vlastnosti obou.
  • Mutace — náhodná změna hodnoty u potomka. Drobná dávka chaosu, která brání populaci uvíznout v jednom údolí.
  • Elitismus — nejlepší jedinci generace přecházejí do další beze změny, imunní vůči křížení i mutaci. Co evoluce jednou našla, už neztratí.

Na co se optimalizuje: fitness metriky

„Nejlepší" vždycky znamená „nejlepší podle něčeho". Metriku fitness si volíte podle toho, co od strategie chcete:

  • Čistý zisk (% PnL) — nejpřímější, ale i nejnaivnější cíl,
  • PROM — pesimistická návratnost podle Parda: výsledek záměrně podhodnocený o statistické štěstí,
  • Sharpe a Sortino — výnos vážený rozkolísaností (Sortino trestá jen tu zápornou),
  • Calmar — výnos poměřený maximálním drawdownem,
  • kompozitní metriky — kombinace zachyceného pohybu trhu, konzistence a drawdownu.

Poměrové metriky anualizujeme na 365 dní — trhy, které obchodujeme, o víkendech nespí. Co přesně jednotlivé metriky říkají a kdy která lže, rozebíráme v samostatném článku: Metriky: podle čeho se pozná dobrá strategie.

A jak fitness volit? Z našich analýz to plyne jednoznačně: nejrobustnější řešení nedostanete genetizací čistě na ziskovou metriku — vyšlechtíte hazardéry. Ale nejde ani optimalizovat čistě na drawdown: takový algoritmus začne zavrhovat jakékoliv obchodování, které by mohlo k propadu equity byť jen přispět — a vyšlechtí strategii, která raději neobchoduje vůbec. Správná odpověď je kombinace: metriky vážené rizikem a penalizované — typicky PROM či kompozitní skóre.

Instrument, nebo celý vesmír

Optimalizovat lze na jednom trhu — ale i na celém vesmíru instrumentů: koši trhů, které splňují podmínky strategie. Kandidát pak nedostane známku za to, jak sedí bitcoinu, ale za to, jak obstojí napříč košem — což je mnohem přísnější zkouška (o úrovních skládání jsme psali u souběhů). Vesmíry si zaslouží vlastní článek — jak se definují, jak fungují strategie nad nimi postavené a jak se bránit biasu přeživších. Připravujeme ho.

Výsledek: krajina, ne vítěz

Nejcennější na doběhlé optimalizaci není řádek číslo jedna. Je to tvar celé krajiny výsledků: kde se tvoří klastery fungujících nastavení, kde jsou souvislé plošiny, kde strategie vydělává v mnoha sousedních variantách — a kde trčí osamělé špičky, které fungují jen v jediném bodě. Plošina znamená robustnost; špička téměř jistě přeoptimalizaci. Proto se na výsledky díváme přes rozptylové grafy zisku proti drawdownu, klastery a parametrické mapy — hledáme kde strategie pracuje, ne které číslo vyhrálo.

Klastery a plošiny

KRAJINA VÝSLEDKŮ — ZISK vs. DRAWDOWN 0 50 100 0 10 20 30 MAX DRAWDOWN (%) → ZISK (%) ↑ PLOŠINA ROBUSTNÍCH NASTAVENÍ OSAMĚLÁ ŠPIČKA — PODEZŘELÁ →
Každá tečka je jeden kandidát. Souvislé shluky (plošiny) znamenají robustnost — funguje mnoho sousedních nastavení. Osamělá špička vpravo nahoře je téměř jistě přeoptimalizace.

Jak číst PCP

JAK ČÍST PCP — KAŽDÁ ČÁRA JE JEDEN TEST PARAMETR A PARAMETR B PnL % MAX DD % FITNESS max min — ROBUSTNÍ KANDIDÁT: VYSOKÉ PnL, NÍZKÉ DD, VYSOKÁ FITNESS — HAZARDÉR: PODOBNÉ PnL, ALE VYKOUPENÉ HLUBOKÝM PROPADEM
Princip parallel coordinates: každá svislá osa je jedna veličina, každá čára jeden test — protíná osy ve svých hodnotách. Svazky podobných čar = clustery; podle tvaru čáry vpravo poznáte, za jakou cenu vznikl zisk.

Živý grid ETH/USDC

A tady je ta krajina naživo. Žádná ilustrace — skutečný, dokončený přesný grid jedné naší trendové šablony na páru ETH/USDC (Binance): 14 070 kombinací parametrů, ani jeden běh neselhal. Grafy zobrazují pásmo délek do 60, kde se odehrává hlavní dění krajiny (násobek bez omezení); vykreslení je stejné jako v naší platformě. Vyzkoušejte si to: v prvním grafu tažením po svislé ose vyfiltrujete kandidáty (třeba jen nízké drawdowny), druhý otáčejte myší.

Každá čára = jeden kandidát (plnohodnotný backtest). Zleva parametry, vpravo výsledky: PnL %, max drawdown, čas v trhu, fitness. Tažením po ose filtrujete. Barva = PnL %: červená ztráta · oranžová nula · zelená zisk. Výchozí pohled ukazuje jen ziskové kandidáty — výběr na ose PnL % roztáhněte, nebo zrušte klikem mimo něj.
3D krajina jako v platformě: povrch = zvolená metrika pro každou kombinaci délky a násobku (agregace max/mean/min přes ostatní parametry, díry doplněné difuzí ze sousedů). Otáčejte myší, „Body" zobrazí skutečné buňky s počtem testů.

Co kompletní grid ukázal: v pásmu délek do 60 skončilo v zisku 1 835 ze 4 200 kandidátů (44 %). Nejrobustnější plošina leží na délkách ~23–35 s násobky 2,2–2,8 — průměrné PnL těchto buněk 130–170 % — a nejlepší jednotlivý běh (+184,6 %) sedí přímo na jejím hřbetu: vítěz tu není osamělá věž, ale vrchol souvislé plošiny. Dlouhé délky naopak tvoří rozlehlou mrtvou pláň kolem nuly. Přesně takový tvar hledáme — a přesně tohle je závěr pro walk-forward, ne vstupenka na live.

3D Fitness Landscape přímo z platformy BXF: Viridis povrch Profit % nad osami length × mult s ovládáním os, metriky, agregace a FIX filtrů
A pohled přímo do platformy — kompletní grid (14 070 testů, průměr přes ostatní parametry, plný rozsah délek do 200). Dobrá, robustní krajina je táhlý hřeben či náhorní plošina: tady délky ~10–30, kde si zisk drží výšku napříč sousedními nastaveními. Varování jsou osamělé ostré špičky nad hlubokými údolími — výkon stojící na jediné kombinaci. FIX filtry navíc krajinu podmíní ostatními parametry.

Genetika jako stavební kámen orchestrace

A teď to nejdůležitější: genetická optimalizace je jedna z prvních fází testování, ne poslední. Nikdy nebereme nejlepší — tedy nejoptimálnější, a tudíž nejspíš přeoptimalizovaný — test se slovy „díky, čau, jdeme naživo". Nejslibnější oblasti krajiny pokračují do walk-forwardu — a tady se ukazuje síla celé orchestrace: každé in-sample okno walk-forwardu je samo o sobě genetikou. Na každém úseku historie proběhne vlastní evoluce, její vítězné nastavení se naslepo ověří na následujícím out-of-sample úseku, okno se posune a vše se opakuje. K tomu Monte Carlo nad výsledky — a jedna strategie má za sebou tisíce backtestů, které platforma řídí jako jeden celek: fronty, paralelní běhy, agregace výsledků. Přesně tak vypadá testování, kterému se dá věřit.

Čtení Robert Pardo: The Evaluation and Optimization of Trading Strategies (Wiley) — mj. metrika PROM. Navazující články: Metriky · Walk-forward · Přeoptimalizace · Monte Carlo.

Chcete vidět krajinu výsledků své strategie? Kontaktujte nás →