# Genetická optimalizace: jak prohledat *milion kombinací*

Autor: Jiří Fabšic · 7. 7. 2026 · Kategorie: Platforma
Kanonická URL: https://www.binaryfintech.com/blog/geneticka-optimalizace/

> Rozsahy parametrů, přesný grid každá hodnota s každou — a genetická optimalizace, když je kombinací příliš mnoho. Populace, generace, mutace, elitismus a proč je výsledkem krajina, ne jeden vítěz.

## TL;DR

- **Každý parametr strategie má rozsah — a kombinace se násobí.** Čtyři parametry po deseti hodnotách je 10 000 testů; přidejte dva a jste v milionech. Malý prostor projedeme celý v **přesném gridu**: každá hodnota s každou.
- **Velký prostor řeší genetická optimalizace:** populace kandidátů se vyvíjí generaci za generací — hodnocení podle fitness metriky, selekce, křížení, mutace, elitismus. Každý kandidát je přitom plnohodnotný backtest.
- **Optimalizuje se na zvolenou metriku** — čistý zisk, PROM, Sharpe, Sortino, Calmar či kompozitní metriky. Podrobně v [článku o metrikách](https://www.binaryfintech.com/blog/metriky-vykonu/).
- **Výsledkem není vítěz, ale krajina:** klastery a plošiny nastavení, kde strategie funguje. Genetika je první fáze testování — vzít nejlepší číslo a jít naživo je přesně ta chyba, které se říká přeoptimalizace.

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](https://www.binaryfintech.com/blog/backtest-jako-zivy-trh/) 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 = 10^4 = **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.

*Obrázek: 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](https://www.binaryfintech.com/blog/metriky-vykonu/).

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ů](https://www.binaryfintech.com/blog/soubehy-strategii/)). Vesmíry si zaslouží vlastní článek — a už ho mají: [Vesmíry instrumentů: proč dnešní seznam akcií lže o minulosti](https://www.binaryfintech.com/blog/vesmiry-instrumentu/).

## 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](https://www.binaryfintech.com/blog/preoptimalizace/). 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

*Obrázek: 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

*Obrázek: 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ší*.

*Obrázek: 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.*

*Obrázek: 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](https://www.binaryfintech.com/blog/walk-forward-analyza/), ne vstupenka na live.

*Obrázek: 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](https://www.binaryfintech.com/blog/walk-forward-analyza/) — 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](https://www.binaryfintech.com/blog/monte-carlo-simulace/) 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](https://www.wiley.com/en-us/The+Evaluation+and+Optimization+of+Trading+Strategies%2C+2nd+Edition-p-9780470128015) (Wiley) — mj. metrika PROM. Navazující články: [Metriky](https://www.binaryfintech.com/blog/metriky-vykonu/) · [Walk-forward](https://www.binaryfintech.com/blog/walk-forward-analyza/) · [Přeoptimalizace](https://www.binaryfintech.com/blog/preoptimalizace/) · [Monte Carlo](https://www.binaryfintech.com/blog/monte-carlo-simulace/).
