Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Archiv článků Psychologie obchodování Jak na obchodní plán Mé obchodní strategie
  • Testování swingových strategií na akciích a klam přeživších

    Akcie patří mezi jedny z nejdostupnějších trhů pro stavbu a obchodování systematických strategií. Jednak z pohledu kapitálu, kdy lze akcie nakupovat prakticky od pár dolarů a mj. také z pohledu dostupnosti dat, která jsou na internetu často k dispozici zdarma. Pozor však na problematiku delistovaných akcií, zbankrotovaných společností a změny ve složení indexů.

    Obsah článku:

    Zdroje bezplatných dat akciových trhů

    Pro stavbu swingových strategií stačí mít k dispozici historická denní data. Ta jsou na rozdíl například od intradenních dat běžně na internetu ke stažení, byť zdroje se v průběhu času mění. Nejvíce obchodníků pracuje s historickými daty z Yahoo Finance. Bezplatná denní akciová data mohou mít různou kvalitu, ale obecně jsou použitelná. Záleží ale na účelu. Jiné nároky na data jsou při skenování trhů a hledání aktuálních obchodních signálů, jiné při podrobných historických backtestech.

    Aktuální data pro skenování akciových trhů

    Máte-li již otestovanou obchodní strategii a jen potřebujete aktuální data trhů proto, aby vám software (např. Amibroker) vyhodnotil aktuální nákupní a prodejní signály, pak zkušenosti ukazují, že používání bezplatných dat např. z Finance Yahoo, může posloužit dobře. Je ale třeba se připravit na to, že datům není věnována příliš vysoká péče a občas se může vyskytnout nějaký drobný problém v podobě chybějícího dne. Při práci s menším účtem to ale nemusí být kritické.

    Data pro historické backtestování

    Pokud potřebujete data pro historické backtesty, je ale třeba počítat u bezplatných dat s jedním zásadním zkreslením. Nezapomínejte na to, že obchodovatelné akcie se v průběhu času mění – už jen tím, že firmy krachují, různě se spojují a navzájem kupují. Při stavbě akciových strategií bychom tak měli pracovat s určitým univerzálním klíčem, „jak vybrat obchodované akcie v příslušném čase v historii“. 

    Bohužel nelze vzít například nejsilnější dnešní společnosti typu Amazon, Facebook a Apple a snažit se na jejich historických datech vybudovat obchodní systém. Proč? Protože v určitém bodu historie nebyly tyto společnosti ještě tak známé, a pokud byste se zaměřili na „nejsilnější společnosti v daném čase“, vybrali byste si úplně jiné firmy… V angličtině se tomuto zkreslení říká Survivorship bias, česky klam přeživších. Jde o klam, kdy naši mysl výrazněji zaměřujeme na ty, kteří přežili určitý selektivní proces a vůbec nepracujeme s těmi, kteří procesem neprošli.

    Portfolio obchodovaných trhů bychom tak měli vždy zkoumat z odpovídajícího času v historii, kdy bychom takové obchodovali.

    Nejjistější způsob objektivního definování skupiny akcií

    Nejjistějším a současně nejsnazším způsobem, jak systematicky definovat obchodovaný vesmír akcií, je použít akcie v určitém akciovém indexu. Do akciových indexů jsou vybírány akcie na základě jasně daných kritérií, a pokud se rozhodneme postavit obchodní systém obchodující například akcie indexu Nasdaq 100, je výběr obchodovaných trhů naprosto jasný.

    Osobně takto systémy stavím. Používám nejčastěji akcie v indexech Nasdaq 100, S&P 500 a Russell 3000. Dobrou taktikou může být stavět strategii na akciích jednoho indexu a následně pro otestování robustnosti použít akcie jiného indexu. Akcie menších společností zahrnutých například v indexu Russell 3000 se mohou chovat jinak než akcie velkých společností z Nasdaq 100, stejně ale rád vidím, když obchodovaný princip funguje rámcově ve všech indexech, které zvolím.

    Změny v historickém složení indexů

    Testování strategií na akciích z vybraného indexu s sebou nese jedno zásadní úskalí. Složení indexů se v čase mění. Akciové indexy se počítají různě, ale velmi zjednodušeně můžeme říci, že se mění tak, jak společnosti získávají a ztrácí svoji velikost a důležitost. Pokud budeme testovat strategii jen na dnešních komponentech, například indexu S&P 500, tak podléháme opět klamu přeživších. Výsledky backtestů budou nadhodnocené, protože budeme strategie testovat jen na akciích, kterým se v současné době daří (a proto jsou součástí indexu). 

    Jak hodně to vadí?

    Zde je konkrétní příklad. Testuji akcie indexu S&P 500 s jednoduchým algoritmem. Nakupuji akcie, které klesající úsečkou uzavřely pod svým 20denním klouzavým průměrem a pozici uzavírám, když akcie rostoucí úsečkou uzavírají nad 20denním průměrem. Otevřeno je max. 20 pozic najednou.

    Pokud tento triviální a čistě ukázkový model aplikuji na dnešní složení indexu S&P 500 (testováno v roce 2019), získám následující equity křivku:

    Backtest systému na aktuální složení akciového indexu.

    Pokud použiji databázi zohledňující historické složení indexu, získám následující equity křivku:

    Backtest systému s využitím historického složení akciového indexu a delistovaných akcií.

    Aniž bych musel zacházet do nějakých detailů výkonnosti, je na první pohled jasné, jak velký rozdíl může v testování být.

    Zohlednění historického složení indexů vždy povede k horším, a tak realističtějším výsledkům. U některých systémů nemusí být rozdíl tak zásadní, u některých bude ohromný. Osobně pro jakékoliv backtesty tak vždy pracuji s historickým složením indexů.

    Delistované akcie

    Pokud budete chtít testovat strategie na historickém složení indexů, narazíte na tzv. delistované akcie. Jde o akcie, které se dnes již neobchodují. Ale v historii se obchodovaly a mohly být i součástí různých indexů. A jelikož prakticky dnes již delistované akcie neexistují, nenajdete jejich historické ceny v běžných zdrojích dat jako je např. zmíněné Yahoo.  Akcie mohou být delistovány z několika důvodů, jako je nesplnění pravidel burzy, nízkého obchodního objemu, finančních potíží společnosti nebo pokud společnost podstupuje fúzi nebo akvizici. Po delistování mohou akcie buď úplně zaniknout, nebo jsou obchodovány na méně regulovaných trzích, jako je OTC (over-the-counter) trh. 

    Pokud budete chtít testovat strategie na historických konstituentech indexů, je třeba mít k dispozici jednak seznam změn akcií v indexu a jednak ceny delistovaných akcií (databázím dat, které obsahují i delistované akcie, se běžně říká survivorship bias free databáze).

    Zdroje dat historických konstituentů indexů

    Přesto, že se může použití databází obsahující delistované akcie a historické konstituenty indexů zdát jako běžná věc, ještě před pár lety nebyla vůbec řešení v rámci retailových produktů k dispozici. Sám jsem si například samostatně kupoval drahé databáze historických cen akcií indexu S&P 500 včetně delistovaných akcií a podomácku si indexy rekonstruoval.

    Dnes naštěstí existuje alespoň jeden poskytoval těchto dat, který udělal backtestování s využitím historických konstituentů velmi komfortní a automatizované i v retailových programech typu Amibroker. Jsou jím Norgate Data. Jak konkrétně se s daty pracuje popisujeme v článku Jak na klam přeživších v akciích v praxi. Norgate Data poskytují historické konstituenty a delistované akcie pro americké, kanadské a australské akciové burzy. Jak komfortní jejich využití je, oceníte ve chvíli, kdy se například budete snažit získat podobná data pro evropské trhy.

    Historické konstituenty pro evropské indexy (DAX, MDAX a další)

    Historické konstituenty akciových indexů typu DAX nejsou běžně k dispozici (dají se předplatit jen ve velmi drahých datech od poskytovatelů typu Bloomberg). Je tak třeba si je poskládat ručně – tedy postupovat stejně, jako když ještě nedávno nebyly na americkém trhu k dispozici Norgate data). Např. na stránce  https://www.stoxx.com/rulebooks naleznete PDF dokument Historical Index Compositions obsahující historii změn ve složení německých indexů. Dokument je aktualizován přibližně každé 3 měsíce. Z podobných dat už lze při trochu šikovnosti indexy rekonstruovat. Ale samozřejmě není nad komfort, který nabízejí data od Norgate pro americké trhy, kde je již toto vše uděláno (mimochodem - v případě, že budete o Norgate datech uvažovat, je zde Norgate data – slevový kupón).

    Shrnutí

    Obchodování bez dostatečně zbacktestovaného obchodního plánu povede patrně k budoucím finančním ztrátám. Ovšem ke stejnému výsledku nás může dovést plán, který podrobně zbacktestujeme, ovšem na nevhodně zvolených datech. Nejčastěji proto, že už samotný výběr dat  je zatížen určitou předpojatostí. Pokud dnes použijeme akcie Amazonu nebo Google a postavíme na nich strategii nakupující akcie na korekcích, patrně získáme krásně vypadající historické výsledky. Ty však budou mít minimální použitelnost pro budoucí obchodování. I při výběru trhů je potřeba postupovat zcela systematicky a objektivně. Jedním takovým způsobem může být volit akcie z určitého indexu. Pak ale musíme být schopni testovat obchody na akciích, které byly v daném času v indexu skutečně obsaženy.

    3.12.2023

    Petr Podhajský

    Fulltime obchodník věnující se tradingu více než 20 let. Specializace na systematické strategie obchodované na futures a akciích. Oblíbený styl obchodování: stavba automatizovaných portfolio systémů, které využívá i při správě většího externího kapitálu.

    • Líbí se 5
    • Děkuji 2

    Sdílíme, co nám samotným funguje.
    7 výukových lekcí.

    Jak reálně uspět v tradingu?

    Naučte se vydělávat na své sny (naše metody na Finančník.cz)

    Praktický návod, jak v trzích získat šanci vydělávat stovky tisíc až miliony dolarů ročně bez vlastního kapitálu a nutností trávit denně hodiny před počítači (bez práce to ale nepůjde).

    >> Získat kurz zdarma <<

    Další články na toto téma

    Jak na klam přeživších v akciích v praxi

    V minulém článku jsme si ukázali, jak důležité je přemýšlet o obchodovaných titulech nikoliv z pohledu dnešního dne, ale z pohledu dne, kdy bychom obchody otevíraly. Rozdíly mohou být občas opravdu výrazné. Jak se klamu přeživších vyhnout v praxi?
    Pokud netušíte, co je to Survivorship bias, česky klam přeživších, tak si přečtěte nejprve tento článek publikovaný minulý týden.
    Vlastní survivorship bias free databáze
    Pochopitelně vždy je možné diskutovaný problém řešit kompletně vlastními silami. Výhodou je naprostá flexibilita, nevýhodou pak nutná znalost programování, vytváření celého vlastního ekosystému (napojení databáze na systém umožňující backtestování) a nutnost pořízení dat obsahujících i delistované akcie.
    Dnes je situace v mnoha ohledech jiná než dříve, kdy nezbývalo, než si podobné řešení skutečně vytvořit. Sám jsem s týmem šel nejprve touto cestou. Data jsme používali od quantquote.com, kde lze za poměrně rozumné peníze pořídit kompletní intradenní historická data akcií obchodovaných v různých indexech, včetně těch delistovaných. 
    Využití bezplatných survivorship bias free databází
    Pokud se jen trochu orientujete v programování, pak bych dnes jednoznačně začal využitím hotových backtestovacích řešení, která již klam přeživších zohledňují. O mých oblíbených jsem psal na Finančníkovi několikrát – používám quantopian.com a quantconnect.com. Obě platformy obsahují rozsáhlé intradenní databáze zohledňující i delistované akcie. A jsou k dispozici zdarma. Nevýhodou těchto řešení je, že již vyžadují více programátorského myšlení a zkušeností.
    Pluginy integrované do retailových softwarů
    Osobně tak nakonec, coby neprogramátor, dnes nejvíce používám speciální plugin od společnosti Norgate Data představující jeden z důvodů, proč používám Amibroker.
    Norgate Data poskytují denní ceny akcií s tím, že je možné si připlatit za plugin, který v Amibrokeru vytvoří velmi komfortní survivorship bias free databázi. Řešení se skládá z několika základních funkcionalit:
    a)    Norgate udržují aktuální i historické seznamy konstituentů jednotlivých indexů.
    b)    Současně mají v databázi i delistované akcie.
    c)    Do Amibrokeru integrovali funkce umožňující kontrolovat, jaké akcie byly v dané datum obchodovány v indexu (spolu s dalšími funkcemi).
    Pokud tak potřebuji otestovat systém na akciích obsažených v indexu S&P 500 a chci dostat realistické výsledky (tedy zohlednit i historické složení indexu a obchodovat i dnes delistované akcie), tak si nejprve v Amibrokeru vyberu předpřipravený „watchlist“ S&P 500 Current & Past automaticky připravený v rámci Norgate Data:

    Ten dnes obsahuje 1 181 akciových titulů – všechny, které kdy byly v indexu obchodovány:

    Mimochodem akcie obsahující v názvu pomlčku a datum, například AAV-199901, jsou právě delistované trhy. Tento byl například z burzy vyřazen v roce 1999.
    Do samotného kódu strategie pak přidám jediný dodatečný filtr:
    NorgateIndexConstituentTimeSeries(„$SPX”) Ten se postará o to, že Amibroker v indexu S&P 500 obchoduje v daný backtestovaný den pouze ty akcie, které byly součástí indexu S&P500.
    Vše přitom probíhá opravdu rychle a bezproblémově. Samozřejmě to ale není zadarmo. Sám mám pro tyto účely u Norgate Dat předplacený balíček Platinum umožňující právě backtestovat i historické konstituenty indexů a ten stojí ročně 630 dolarů. Upřímně si ale myslím, že při jen trochu větších účtech se podobná služba vyplatí, protože pomůže výrazně přiblížit historický backtest realitě. Popis Norgate dat naleznete zde a jak je vidět, je možné jejich data používat ještě s programy RightEdge a XLQ.
    Závěr
    Jak jsme si ukázali v minulém článku, v případě systematických swingových strategií může klam přeživších představovat i výraznější rozdíly ve výkonnosti. Ve svých vlastních analýzách pracuji proto vždy s tzv. survivorship bias free databázemi, které zohledňují historické složení indexu a delistované akcie. Samozřejmě tyto databáze používám i pro všechny backtesty prezentované v kurzech a v článcích. Pokud děláte vlastní výzkum, je tak dobré vždy počítat s tím, že bez survivorship bias free databáze budou výsledky často výrazně lepší, než by tomu realisticky bylo. Naštěstí dnes existuje řada nástrojů, jak problematiku vyřešit. Nástroje jsou jak bezplatné, tak placené a liší se zejména v úrovni potřebného programování a poskytnutého uživatelského komfortu. Sám jsem vyzkoušel všechny uvedené cesty. Nakonec si platím sice dražší, ale o to efektivnější nástroj do Amibrokeru, kde tak klam přeživších již nemusím řešit, protože jej software ošetří sám a zcela automaticky v každém provedeném backtestu.
     

    Survivorship Bias - klam přeživších

    Survivorship bias (klam přeživších) je jedno z kognitivních zkreslení, které se týká sklonu lidí k přehlížení negativ při posuzování výkonnosti nebo pravděpodobnosti úspěchu. V kontextu tradingu to znamená, že se často hodnotí výkonnost akcií, strategií nebo traderů na základě těch, kteří zůstali "v hře", zatímco se opomíjí ti, kteří skončili kvůli ztrátám nebo bankrotu.
    Survivorship bias může způsobit, že tradingové strategie nebo investiční fondy vypadají úspěšnější, než ve skutečnosti jsou. Pokud například posuzujeme výkonnost fondu pouze na základě těch, které stále existují, můžeme přehlédnout mnoho fondů, které byly uzavřeny kvůli špatné výkonnosti.
     
×
×
  • Vytvořit...