Zlepšení stability obchodních výsledků skrze diversifikaci
Každý obchodník si zcela přirozeně klade otázku, jak vylepšit svůj obchodní systém - převážně stabilitu, distribuci zisků a dosažení minimálního drawdownu. Většina obchodníků se v této oblasti bohužel ubírá špatným směrem - uchylují se k přidávání více a více filtrů a komponentů do obchodního systému a následně k přílišné přeoptimalizaci, která má za následek jev zvaný "curve-fitting".
V dnešním článku bych rád popsal jiný přístup - takový, který osobně shledávám jako jediný rozumný na cestě k vylepšení obchodních výsledků, převážně pokud se chcete vydat cestou automatického nebo poloautomatického obchodování. Hovořím zde o diversifikaci; ať už diversifikaci mezi více trhy či timeframe (obojí velmi dobře aplikovatelné pro intradenní obchodování), nebo diversifikaci mezi více obchodních systémů (pokud se věnujete automatickému obchodování). V následujících řádcích se budu věnovat poslednímu zmíněnému, tzn. jasnou ukázkou, jak přidání dalšího systému je často mnohem "bezpečnější" cesta, než snaha o "pilování k dokonalosti".
Pusťme se tedy rovnou do toho.
Začneme ukázkou equity jednoduchého systému, který použijeme jako "základ" a který se postupně budeme snažit vylepšovat diversifikací. Equity na obrázku pochází z období od začátku roku 2005 až zhruba do poloviny letošního roku (od té doby je systém testován na live účtu jako out-of-sample, doposud se stejnými výsledky, jako backtest). Jedná se o výsledky na trhu e-mini Russell 2000, bez použití position-sizingu, tj. s jedním kontraktem. Ukázka nezahrnuje komise a slip - i po její aplikaci jsou ale výsledky znehodnoceny téměř minimálně.
Nyní se blíže podívejme na equity systému. To co vidíme, není špatné, ale drawdown kolem -2500 USD není u intradenního systému zrovna malý a také stabilita equity křivky naznačuje, že by se obchodník nutně měl připravit na celé měsíce bez zisku, možná i celé kvartály. Je zde tedy ještě jednoznačný prostor ke zlepšení.
Nyní, tradiční cestou by bylo začít zkoušet systém vylepšovat skrze další podmínky a další filtry. Aktuální podoba se skládá z jedné vstupní podmínky, jednoho filtru a třech výstupních podmínek, přičemž skutečná "riziková" optimalizace proběhla pouze u jednoho ze tří výstupů a částečně u velikosti stop-lossu. Je tedy jasné, že aktuální podoba je maximum, které je rozumný obchodník akceptovat. Vylepšení výsledků skrze přidání dalších filtrů a dalších podmínek by byl rozhodně způsob, jak opticky dosáhnout lepší equity a menší drawdown, avšak již za cenu téměř jisté přeoptimalizace, nebo-li nežádoucího curve-fitting. Bylo by naprosto nerozumné zkoušet systém takto pokoušet a výrazně ohrozit jeho robustnost. Jaké další možnosti tedy obchodník má? Pokusit se najít další systém, který by byl stejně "jednoduchý" (tj. obsahoval minimum podmínek) a zároveň svými výsledky co nejméně koreloval s výsledky prvního systému. Zkusme tedy nyní přidat další systém - na stejný trh, obchodovaný v jiný časový úsek, než systém předešlý (takže nemůže dojít k tomu, že by jeden systém zavelel "long" a druhý současně "short"), který je rovněž postavený na minimu pravidel a který rovněž nemá cenu vylepšovat dalšími podmínkami a optimalizacemi, má-li být zachována jeho robustnost. Samostatný systém 2 má následující podobu:
Jak je z equity křivky patrné - a to bez jakéhokoliv počítání přesné korelace, už od letmého pohledu by se tento systém mohl hodit k diversifikaci s prvním systémem: největší ztráty systém vykázal na začátku a na konci testovaného období, zatím co předešlý systém spíše uprostřed (ale v začátcích také). Stagnace prvního systému často probíhala v době, kdy se druhému dařilo. Zkusme tedy oba systémy vzájemně propojit:
Výsledek není úplně marný. Equity vypadá hladší a vyhlazenější. Bohužel draw-down je spíše horší, než lepší, v tomto ohledu jsme si tedy příliš nepomohli.
Můžeme se tedy pokusit ještě o kombinaci s jiným systémem - máme-li takový v zásobě, a nebo ideálně přidat ke kombinaci prvního a druhého ještě třetí nezávislý systém a zkusit, jestli 3 systémy dohromady mohou dokázat více, než dva.
Třetí použitý systém je testovaný opět na trhu e-mini Russell 2000, opět za stejné období jako předešlé dva a následně až doposud testovaný out-of-sample na live účtu. Opět systém s minimem pravidel, aby byla zachována robustnost. Samostatná podoba systému je následující:
Zkusme nyní tedy kombinace prvního systému se systémem číslo 3 a uvidíme, zda dospějeme k lepšímu výsledku:
Pohlédneme-li na drawdown, domnívám se, že jsme již dosáhli zlepšení. Po celou dobu se totiž s drawdownem již nepohybujeme pod -2000 USD (samotný systém 1 produkoval drawdown až -2500 USD) a krom začátku testovaného období se již dostáváme k DD jen něco málo pod -1500 USD. To je výrazné zlepšení. Stále ale zůstávají 3 výrazněji stagnační období, kdy by trader musel několik měsíců v řadě počítat s výsledky bez zisku. To sice není žádná katastrofa - ale otázka zní, zda není diversifikací možné i toto vylepšit. Zkusíme tedy poslední krok a tím je spojení všech tří systému dohromady:
Nyní je již výsledek naprosto perfektní! Po celou dobu testovaného období prakticky žádná stagnace a drawdown většinou jen mírně po -1000 USD (krom absolutního začátku testovaného období) - velmi povzbudivé. Equity vypadá jako "ideální" systém - přesto k dosažení takovéto podoby je třeba použít více systémů a pospojovat je dohromady, pokud chceme zachovat určitou robustnost. A to je velmi cenná a velmi důležitá lekce: v minulosti jsem viděl podobné equity úspěšných systémových obchodníků, aniž bych věděl, že se jedná o kombinaci několika systémů. Snažil jsem se tedy často o všemožné komplexní přeoptimalizace, což sice občas vedlo k podobně vypadajícím equity, ale pouze na backtestových historických datech - jak se systém pustil live, byl konec. Teprve později jsem zjistil, že zmínění úspěšní obchodníci nedosáhli své výsledky jedním systémem, ale celou sérií systémů, které byly pospojované do jediné equity!
Tuto lekci by si měl zapamatovat každý, kdo pracuje na systémovém obchodování: programování "perfektního" systému vás bude stát jenom čas a nepřinese žádné výsledky. Možná si tím člověk dokáže, jak je skvělý programátor - ale určitě se tím nestane úspěšný trader. Jediná rozumná možnost je v diversifikaci - diversifikace mezi více systémy, případně trhy.
Celkové výhody diversifikace do více systémů jsou ale i další: pokud například obchodujeme jediný systém, vždy existuje šance, že dříve či později přestane fungovat. Pokud obchodujeme 3 systémy jako jeden celek, není příliš pravděpodobné, aby přestaly fungovat všechny tři ve stejný okamžik - vždy tedy zbylé dva systémy mohou pokrývat ztráty toho, který přestává fungovat. Takový systém pak můžeme z portfolia vyřadit a začít na jeho místo hledat nový - aniž bychom riskovali, že po dobu hledání náhražky nebudeme mít co obchodovat a tudíž zcela jistě nebudeme mít z obchodování žádný příjem.
Závěr je tedy následující:
1) pokud máte nějaký obchodní systém, který je funkční, jednoduchý - ale má svá "špatná" období, neztrácejte čas tím, že se budete systém snažit do nekonečna vylepšovat dalšími pravidly a filtry a dále optimalizovat - to vše je jistá cesta do finančních pekel; raději začněte pracovat na nápadech na další systém a následně zkuste takové dva systémy spojit dohromady;
2) ze zkušenosti vím, že ideální je mít alespoň 3 systémy - pak již může začít být efekt diversifikace zajímavý; systémů by ale nemělo být ani příliš! Myslím, že 3-4 je tak akorát.
3) pokud máte celou řadu potenciálně profitabilních systémů, pak bych doporučil rozdělit takové dle korelace a výsledků "ve skupině" na více "rodin" a obchodovat například 1-3 rodiny systémů, s tím, že každá rodina bude mít 2-4 systémy.
Tomáš Nesnídal