Jump to content
Co nového? Mé kurzy
Články a tutoriály:
Seriály Komoditní Manuál Psychologie obchodování
  • Technická analýza pro nováčky (11): Patero pro správnou aplikaci filtrů

    V seriálu technické analýzy pro nováčky jsme se už rámcově zabývali základními komponenty, výstupy, volatilitou i aplikací TA na equity křivku. O čem jsme ale zatím příliš nehovořili, je aplikace filtrů, která je bezesporu další nedílnou součástí TA. Pojďme se tedy podívat dnes i na tuto oblast trochu blíže. Nebudeme si zatím ukazovat žádné konkrétní filtry, ale naučíme se nejdůležitější pravidla, jak vůbec při práci s aplikací filtrů správně postupovat.

      

    Foto (c)depositphotos.com/Yermek

    Filtry jsou možná jedna z nejzrádnějších oblastí technické analýzy. Na jednu stranu dávají filtry nováčkům v tradingu falešný pocit, že je skrze ně možné hledat jen ty "dobré" obchody a naši equity vyhladit způsobem, který připomíná nepřetržitý přísun peněz na náš bankovní účet. Na druhou stranu díky značné naivitě v začátcích je výsledkem aplikace filtrů většinou naprostá přeoptimalizace, která je vysoce nerealistická pro reálné obchodování a v budoucnu přináší více problémů a zklamání než užitku a radosti.

    Takže, ještě než se pustíme do nejdůležitějších pravidel aplikací filtrů na naše obchody, pamatujte si několik důležitých věcí:

    • Filtr je jen filtr. Není to "spása", ani svatý grál, který nám pomůže eliminovat veškeré špatné obchody a udělat z nás milionáře přes noc.
    • Filtry jsou prakticky VŽDY dvousečná zbraň: Kvalitní filtry vám pomohou odfiltrovat některé špatné obchody, ale s nimi i řadu těch dobrých.
    • Dobrý filtr je většinou velmi jednoduchý a zároveň velmi robustní v tom ohledu, že je značně univerzální (dá se aplikovat na více trhů i timeframů).

    A nyní pojďme již k našemu pateru, kterého byste se měli držet vždy, když v rámci svého obchodního přístupu (ať už diskréčního, nebo automatického) pracujete na nových filtrech.

    1. Filtr by měl jako podmínka sám o sobě produkovat negativní equity

    Filtr by měl dělat jediné – filtrovat "špatné" obchody. Abychom si však byli jisti, že to také dělá, je vždy naprosto nutné podívat se, jak samotné "filtrované" obchody vypadaly. Nezřídka se stane, že vaše filtrované obchody v součtu dávají spíše nulu – v takovém případě tedy nemůžeme říci, že bychom měli skutečně filtr v pravém slova smyslu (i když po jeho aplikaci může výsledná equity vypadat lépe).

    Kdykoliv tedy začínáte aplikovat jakýkoliv filtr, nesoustřeďte se pouze na vaši equity po aplikaci filtru, ale někde stranou se podívejte, jak vypadají také samotné filtrované obchody a zda v součtu produkují spíše negativní equity (což by bylo žádoucí, protože pak teprve můžeme hovořit o filtru), nebo neutrální equity (pak filtr není skutečným filtrem). Koukněte se také na samotnou distribuci filtrovaných obchodů. Nezřídka se stane, že k výraznému zlepšení vaší equity došlo jenom kvůli tomu, že se vám podařilo skrze filtr eliminovat 2–3 největší ztráty. V takovém případě jde ale spíše o náhodu – kvalitní filtr by měl filtrovat způsobem, že i filtrované obchody jsou si svým způsobem "podobné", tj. mají podobný průměrný AVG Trade apod. Teprve když distribuce filtrovaných obchodů představuje víceméně podobné obchody, můžeme hovořit spíše o filtru než o pouhé náhodě.

    Je tedy důležité naučit se zkoumat obě části mince – nejenom naši "vylepšenou" equity, ale také onen "odpad", který nám daný filtr z naší equity eliminuje.

    2. Filtr zásadně testujte způsobem IS/OOS

    Největší nevýhoda filtru je ta, že velmi snadno vede k takzvanému "curve-fittingu" (neboli přeoptimalizaci). Je velmi jednoduché otevřít graf/Excel a začít na naše vstupní signály aplikovat různé filtry s různými nastaveními tak dlouho, dokud nedosáhneme "perfektní equity". Studená sprcha však může přijít hned záhy – když zjistíme, že naše reálné výsledky jsou příliš vzdálené od těch backtestových.

    Abychom si byli jisti, že náš filtr je skutečně robustní – a ne jenom pouhou přeoptimalizací –, musíme s filtry zásadně experimentovat formou rozdělení dat na takzvaná In-Sample data (IS) a Out-Of-Sample data (OOS). Jinými slovy, vezměte veškeré vaše obchody (např. ve vašem excelovském deníku) a koukněte se, jak by vypadala aplikace filtru na prvních 65–75 % z těchto obchodů. Případně zde filtry trochu "polaďte", tj. zkuste různá nastavení, periody atd. Až dosáhnete očekávaného výsledku, koukněte se, jak by aplikace filtru vypadala na zbylých 25–35 % dat, se kterými jste doposud nepracovali (takzvaná "neviděná"/unseen data). Pokud filtr produkuje výsledky a zlepšení velmi podobné výsledku, který jste dosáhli v rámci "ladění" na In-Sample datech, pak teprve máte vyšší šanci, že se nejedná o pouhou přeoptimalizaci.

    Nikdy nepracujte na filtrech na všech svých datech, vždy si část dat nechte jako OOS vzorek, na kterém se ujistíte, že filtr je opravdu filtrem, a ne přeoptimalizací.

    Více o práci s IS/OOS v rámci diskréčního obchodování a backestování jsem psal již dříve zde.

    3. Nekombinujte příliš filtrů – a když už, tak z jiných oblastí

    Základní chybou nováčků bývá už jen to, že plácají tolik filtrů dohromady, až to není hezké (a hlavně tak dlouho, dokud nedosáhnou perfektně přeoptimalizované equity, která v budoucnu nepřinese nic víc než zklamání).

    Osobně si myslím, že kolikrát už jen jediný filtr je dostatečné množství. Ovšem na druhou stranu existují také různé oblasti filtrů, jejichž případná kombinace není až takové zlo, jako kombinovat více filtrů ze stejné oblasti (což už opět silně zavání přeoptimalizací).

    Takže, rámcově bych rozdělil filtry do těchto oblastí:

    • Filtry založené na TA (indikátory a další prvky v grafu).
    • Filtry založené na čase (den v týdnu, určitý časový rozsah atd.).
    • Filtry založené na volatilitě.
    • Filtry založené na vyšším timeframu.
    • Filtry založené na intermarket analýze.

    I když, jak už jsem napsal, nejsem zastáncem příliš mnoha filtrů, umím si představit využívat kombinace v rámci těchto oblastí (a také to nezřídka dělám). Ale opět maximálně s rozumem, opatrností a úsporností. Určitě však nedává smysl kombinovat filtry ze stejné oblasti – obzvláště, když máte k dispozici celou řadu dalších oblastí, kam pro případný filtr sáhnout. V každém případě ale opět pracujte s IS/OOS daty a ubezpečte se, že kombinace vašich filtrů je stále dostatečně robustní.

    4. Pozor na to, že vzorek obchodů s filtry výrazně klesá

    Velkou nevýhodou filtrů je skutečnost, že po jejich aplikaci klesá vzorek obchodů. Obecně platí, že čím větší vzorek obchodů v rámci backtestových dat, tím lépe – tím spíše jsme také schopni se dopracovat nějakého robustního výsledku. Filtry ale mohou počet obchodů významně snižovat – a na to je třeba si dát pozor.

    Ať už aplikujete jakýkoliv filtr, stále byste měli mít i po jeho aplikaci k dispozici vzorek dat na úrovni alespoň několika stovek obchodů a zároveň mít k dispozici minimálně 100 obchodů (po aplikaci filtru) v rámci OOS dat. Občas narazím na situaci, kdy obchodník aplikuje filtr na cca 100–150 obchodů a po aplikaci filtru mu zbude zhruba polovina. To je naprosto nedostatečný vzorek obchodů a jedná se spíše o hazardování než profesionální práci a kvalitně odvedené tradingové řemeslo.

    Nikdy nepodceňujte vzorek obchodů a vždy pracujte s co největším – aby i po aplikaci obchodů stále zbyl dostatečně "věrohodný" vzorek dat.

    5. Filtry nejsou jediná cesta, jak vylepšit equity

    A zcela závěrem – jedna důležitá rada. Filtry jsou dle mého názoru jedna z potenciálně nejzrádnějších cest, jak vylepšovat equity. Podobného výsledku totiž můžete dosáhnout jen se "základní" podobou vašeho obchodního systému, ale lepší prací na money managementu, trade managementu a position sizingu.

    Jeden ze způsobů, se kterým bych začal jako nováček, je práce s různými výstupy v rámci více kontraktů. Pokud například obchodujete 2 kontrakty, zkuste experimentovat s různými výstupními technikami pro každý z kontraktů (byť už začnete něčím tak jednoduchým, jako že každému kontraktu přiřadíte jiný profit target), případně s různými technikami posouvání SL pro každý z kontraktů. Tímto stylem můžete dosáhnout výrazných vylepšení a vyhlazení vaší equity, aniž by bylo nezbytně nutné aplikovat (další) filtry. Samozřejmě, předpokladem je mít možnost obchodovat již s alespoň 2 kontrakty, ale u velmi levných trhů, jako jsou e-mini DJ (YM), nebo e-mini NASDAQ (NQ), by to neměl být žádný problém ani pro menší účty.

    Ostatně, postupem času se stejně naučíte, že v této oblasti se skrývá mnohem více potenciálního vylepšení vaší equity než v nekonečné aplikaci dalších a dalších filtrů. Takže čím dříve začnete experimentovat i tímto směrem, tím dříve se naučíte uvažovat v širších souvislostech a aplikovat i další způsoby, které vám zlepší stabilitu vašich příjmů z tradingu.

    A závěrem ještě jedna věc. Pokud stále hledáte kvalitní a funkční prvky technické analýzy, ať už vstupy, výstupy, nebo filtry, navíc takové, které jsou již ověřené, doporučuji zkusit náš on-line kurz Obchodní indikátory v praxi. V minulosti jsem věnoval mnoho času hledání toho, čím stojí se zabývat a co může dobře posloužit – a výsledky této mravenčí práce (dělení zrna od plev) jsem shrnul právě v tomto on-line semináři, samozřejmě jako vždy ve vysoce praktické a okamžitě aplikovatelné podobě.

    11.5.2014

    Tomáš Nesnídal


    Mohlo by vás dále zajímat

    Knihy o technické analýze

    Dobrý den,
    mohl by někdo poradit pár tipů na knihy věnované technické analýze (ideálně v češtině)? Všude se dočítám, že těch knih bylo napsáno již mnoho. V minulosti jsem se věnoval a chci se opět věnovat intradennímu obchodování komodit.
    Děkuji
     

    Technická analýza pro nováčky 12: Auto-adaptivní indikátory

    Jednou ze zcela prvních výzev, se kterou se setká snad každý nováček v tradingu, je nastavení period indikátorů. Téměř každý indikátor je počítán z několika posledních úseček v grafu a perioda indikátoru udává, kolik takových úseček přesně k výpočtu použít. Každé nastavení přitom vykresluje indikátor zcela jinak. Jak tedy na to – a může pomoci auto-adaptivní indikátor?
    Pojďme si nejprve něco více říci k základnímu nastavení period indikátorů.
    V podstatě neexistuje jedna univerzální, "doporučená" hodnota (a opravdu to není ani hodnota 14, která je u řady indikátorů nastavena jako výchozí). Nastavení periody indikátorů záleží na mnoha faktorech, jako jsou například použitý timeframe, časový výhled, ve kterém chceme obchodovat (scalpování, krátkodobé obchody, střednědobé obchody, dlouhodobé obchody atd.) nebo případně i počítačová optimalizace dané periody. Velmi obecně se dá říci, že pro krátkodobý výhled se budeme pohybovat někde u hodnot 2–20, u střednědobého výhledu u hodnot 21–50, u dlouhodobějšího výhledu u hodnot 51–200. Skutečně ale záleží na konkrétní aplikaci, indikátoru, systému a časovém rámci. Nezřídka se pak vyplatí i různé periody v rámci systému kombinovat – například formou, kdy jeden indikátor použijeme s dvojí periodou (nižší a vyšší), abychom získali na trh jak krátkodobý, tak střednědobý nebo dlouhodobý pohled. Obecně je třeba mít na paměti, že čím nižší perioda, tím více produkuje indikátor "šumu", který je třeba filtrovat právě například pohledem na vyšší periodu (nebo timeframe) pro ucelenější obrázek o aktuální situaci na trhu (například síle a směru trendu).
    Se zajímavou teorií nejvhodnější periody nastavení indikátorů přišel v roce 1995 Perry Kaufam, který vypozoroval následující:
    1) Pokud trh trenduje, většinou se jedná o silné a čisté pohyby (zde si dovolím dodat, že to není dle mého názoru tak zcela pravda, hodně totiž také záleží i na použitém timeframu a dalších okolnostech), u kterých není příliš mnoho "šumu". V takovém případě můžeme tedy pracovat s nižšími periodami indikátorů.
    2) Pokud trhy netrendují (jsou ve fázi chopu), obsahují grafy naopak velmi mnoho šumu – a tudíž je výrazně lepší použít delší periodu.
    Perry Kaufman však (jako jeden z mála) přešel od teorie i k ryzí praxi a vytvořil tak indikátor (který je dle všeho jeden ze zcela prvních, nebo možná i úplně první auto-adaptivní indikátor), který se jmenuje Adaptive Moving Average (zkratka AMA, často také KAMA) a který řeší periodu novátorským způsobem – dynamicky jí mění a adaptuje aktuální situaci v trhu – dle toho, zda a jak trhy právě trendují/netrendují. Vytvoření takového indikátoru navíc není až tak složité (AMA nebo KAMA pak bývá součástí mnoha obchodních softwarů).
    Konstrukce auto-adaptivního indikátoru
    Při konstrukci auto-adaptivního indikátoru v podstatě potřebujete dodat ke "standardnímu" indikátoru jednu složku navíc – část, která vám sdělí (vypočítá), zda se trhy právě nacházejí v trendové, nebo netrendové fázi. Takových indikátorů existuje celá řada, Perry Kaufman použil další ze svých vlastních indikátorů, který se nazývá Efficiency Ratio (ER). Tento indikátor jednoduše fluktuuje v rozmezí 0–1, přičemž čím blíže číslu 1, tím více trh trenduje, čím blíže číslu 0, tím méně trh trenduje.
    Druhý krok už je vcelku jednoduchý – použijeme kterýkoliv z klouzavých průměrů (Kaufman například používá upravený EMA), u kterého zvolíme rozpětí period – například od 2 do 50. Při propojení s indikátorem ER pak dojde k tomu, že auto-adaptivní verze klouzavého průměru použije vyšší hodnoty nastaveného rozsahu v případě, že ER se pohybuje blízko hodnoty 0 (pokud bude ER na hodnotě 0, bude EMA používat periodu 50) – a to z toho důvodu, že se v trhu nachází příliš mnoho šumu a nízké periody jsou tedy značně nevhodné, nebo naopak dojde k automatickému použití nižší hodnoty EMA, pokud trh bude právě trendovat a ER se bude pohybovat blízko hodnoty 1 (při hodnotě 1 dojde k automatickému použití periody 2). Periody indikátoru EMA tedy nejsou zde fixní, ale dynamicky se mění v rozmezí 2–50 (nebo jiném, uživatelsky nastaveném rozmezí) dle toho, jak se právě chová trh.
    V praxi takové nastavení auto-adaptivního indikátoru vypadá vcelku jednoduše. Například AMA má k nastavení 3 parametry:

    První parametr udává periodu, za kterou se má počítat ER indikátor, druhý a třetí parametr určují rozmezí EMA periody, která se bude automaticky adaptovat aktuální situaci na trhu (dle indikátoru ER).
    Jak to pak vypadá v praxi? Více napoví obrázek:

    Na 1minutovém grafu trhu TF (e-mini Russell 2000) vidíme tři klouzavé průměry. Tyrkysový je EMA s periodou 2, červený EMA s periodou 50, žlutý AMA s nastavením 2–50. Na obrázku je velmi dobře vidět, jak v momentech, kdy trhu vládne chop, se AMA kloní blíže k hodnotě EMA 50, když však trh trenduje, kloní se indikátor více k hodnotě EMA 2. Vše tedy funguje v praxi velmi dobře a spolehlivě a indikátor je skutečně auto-adaptivní – bez problémů hodnoty EMA adaptuje aktuální situaci na trhu.
    Další auto-adaptivní indikátory
    Na stejné logice je možné postavit prakticky libovolný auto-adaptivní indikátor. Ty bohužel nebývají příliš často standardní součástí obchodních softwarů, proto je třeba další auto-adaptivní indikátory buďto někde dohledat, nebo (nechat) naprogramovat v daném softwaru – což dnes už naštěstí není žádný problém, ve většině softwarů je možné podobné indikátory vytvářet. V podstatě invenci se zde meze nekladou – v tomto článku jsme se zabývali pouze auto-adaptivní verzi indikátoru EMA (který se jmenuje AMA nebo také KAMA), ale stejný princip se dá použít u jakéhokoliv dalšího indikátoru, oscilátoru apod. Jedná se o univerzální princip, který je možné napasovat na téměř libovolný jiný indikátor.
    Co dodat závěrem
    Mohu potvrdit, že například s indikátorem AMA mám velmi dobré zkušenosti a považuji ho za jeden z nejlepších klouzavých průměrů. Takže ona myšlenka, že budeme dynamicky (a automaticky) měnit periodu dle trendovosti trhu, mně nepřijde vůbec špatná. Osobně plánuji udělat ještě hlubší research na další verze auto-adaptivních indikátorů (které zde mám již připravené), momentálně ale mám k dopracování přednější tradingové věci, takže se k tomu dostanu nejspíše až v příštích měsících. Prozatím ale mohou směr auto-adaptivních indikátorů spíše doporučit. Koho nadále seriózně zajímá problematika indikátorů a má zájem vědět, co skutečně funguje a jak to použít, tomu doporučuji svůj dřívější, ryze praktický a okamžitě aplikovatelný research na toto téma.

    Technická analýza pro nováčky 10: Aplikace na equity

    Využití technické analýzy v tradingu je velmi široké a ne vždy musí být primárním zdrojem analýzy cenový graf, na kterém provádíme naše obchody. Běžné nástroje technické analýzy je totiž možné aplikovat i na equity křivku s cílem vytvoření určitého "filtru" pro náš systém jako celek.
    Nejedná se o nic nového – aplikování technické analýzy na equity křivku našich obchodů je poměrně známá technika, které se také říká "equity filtr". Přesto řada nováčků nemusí být s tímto potenciálně zajímavým pomocníkem dostatečně obeznámena. Pokusím se tedy nyní vše trochu lépe vysvětlit a uvést několik příkladů.
    Celý princip je v podstatě velmi jednoduchý. Tak, jak se s pomocí technické analýzy na grafu snažíme analyzovat aktuální trend (uptrend, downtrend nebo chop), tak úplně stejně můžeme přistupovat i k naší equity křivce. Pokud totiž s pomocí jednoduchých nástrojů určíme na naší equity křivce uptrend (systém nám právě vydělává), downtrend (systém nám právě prodělává) nebo chop (systém nám právě stagnuje), můžeme adekvátně příslušnému stavu snižovat nebo zvyšovat počet kontraktů, případně zcela přerušit na nějakou dobu obchodování (přejít do paper-módu).
    Nejzákladnějším způsobem aplikace technické analýzy na equity křivku může být uplatnění trendových čas. Zkrátka a dobře zakreslíme na naší equity křivku trendovou čáru – a pokud je porušena směrem dolů, omezíme naše obchodování (buďto snížíme počet kontraktů, nebo přejdeme do paper-módu), a to až do doby, než se nám equity vrátí zpět nad trendovou čáru. Osobně však této technice příliš nefandím, protože zakreslování trendových čar je do jisté míry značně subjektivní, a proto nemůže být tento přístup z mého pohledu dostatečně "kvantifikován".
    Již zajímavější a v praxi použitelnější přístup zahrnuje aplikaci klouzavého průměru na naši equity křivku. Zkrátka a dobře tak, jak aplikujeme klouzavý průměr na cenový graf, tak v tomto případě aplikujeme klouzavý průměr na naši equity křivku. Jednoduchá aplikace základního klouzavého průměru s periodou 20 na equity křivku může vypadat například následovně:

    Modrá křivka představuje equity, červená přerušovaná čára představuje klouzavý průměr.
    A jak v praxi klouzavého průměru využít? Jak už jsem naznačil výše, jsou v podstatě dvě možnosti. Tou první je redukce kontraktů. Pokud se právě nachází equity křivka pod klouzavým průměrem, zredukujeme počet kontraktů na polovinu. Druhou možností je přejít do paper-módu. Jakmile padneme pod klouzavý průměr, přepneme se do "sim-módu" a do našeho Excelu zaznamenáváme obchody pouze papírové – až do doby, než se equity vrátí zpět nad svůj klouzavý průměr a my můžeme přejít zpět do live obchodování.
    Aplikovat můžeme samozřejmě celou řadu klouzavých průměrů – můžeme například vyzkoušet i EMA, VMA apod.
    Trochu pokročilejší metoda pak může pracovat s lineární regresí (metodou nejmenších čtverců) – zjednodušeně se jedná o určité "automatické trendové čáry". V Excelu můžeme využít funkci LINTREND, která v případě opětovného využití periody 20 vypadá následovně:

    Rozdíly oproti využití klouzavého průměru jsou spíše drobné, přesto stojí za vyzkoušení a porovnání více přístupů – a pokusit se najít takový, který nám dělá nejlepší službu.
    V obou případech je vidět, že by nám tato technika pomohla snížit ztráty ve špatných obdobích, a tudíž snížit celkový drawdown – což je samozřejmě velmi vítané a žádoucí zlepšení.
    Možné zápory
    Možné pozitivum je už z výše popsaného zřejmé a redukce drawdownu může být skutečně radikální. Pojďme ale i k záporným aspektům této techniky.
    Předně, z mé vlastní zkušenosti není tato technika vhodná pro každý obchodní systém. Zjistil jsem, že technika je vhodná jen pro určitý druh distribuce obchodů, není však univerzální. Každý tudíž musí provést test na základě svých vlastních obchodů a vyzkoušet si, zda právě jeho systému může technika pomoci.
    Tato technika také zdaleka ne vždy jen pomáhá odfiltrovat ztrátové obchody, ale přirozeně vám odfiltruje i řadu ziskových obchodů. Tak to zkrátka a dobře je a je s tím třeba počítat. Nikdy není možné filtrovat jen ty špatné obchody – to bychom byli blízko svatému grálu.
    Dále je třeba počítat s tím, že vám celkově klesne počet obchodů – pro některé diskréční obchodníky to tedy bude výzva dokázat si sedět na rukou déle, než jsou zvyklí, a nebrat žádný obchod, protože jsme právě v "paper-módu".
    A za poslední – určitou drobnou výzvou může být "organizační" stránka této techniky. V podstatě jde o to, že každý realizovaný obchod musíme okamžitě zaznamenat do Excelu a zjistit, zda se právě pro příští obchod nemění díky equity filtru počet našich pozic (nebo zda nepřecházíme do paper-módu). Občas, když je v trzích zrovna živo, to může být trochu "makačka".
    Další nápady ke zvážení
    Samozřejmě vše popsané výše je pouze základní využití. Nabízí se ale celé další možnosti, jak využít aplikace technické analýzy na equity křivku.
    Můžeme například použít více klouzavých průměrů (resp. stejný typ klouzavého průměru s různými periodami) a řídit množství kontraktů dle toho, nad kolika z těchto klouzavých průměrů se právě naše equity křivka nachází.
    Zrovna tak můžeme pracovat s určitými pásmy, jako jsou například Bollinger Bands, a počet pozic řídit dle toho, v jakém pásmu se právě nacházíme.
    Využití je skutečně celá řada a záleží jen na invenci a ochotě trochu experimentovat – možné benefity mohou být pak značné.
×
×
  • Vytvořit...