Profitabilní obchodování A-Z: odpovědi na dotazy I
Řada z vás začala kódovat a postupně i obchodovat systémy podobné tomu, který je ke stažení ve čtvrté lekci tohoto seriálu. To vyvolává otázky, které mi občas směřujete do mailboxu. Dnes bych rád publikoval odpovědi na jeden z takových emailů, neboť věřím, že odpovědi mohou posunout i ostatní.
Dotaz je publikován kurzívou (a původní text je nepatrně zkrácený):
Pod dojmem vašich článků a školeni AmiBroker jsem naprogramoval (mnohdy asi velmi neuměle) jednak strategie od Vás - FBLL a GAP, a pak jsem k tomu přidal ještě jednu vlastní, takový FIMS volatility reversal pro denní trh akcií na SP100. Prozatímní výsledek bez páky a s fixní velikostí pozice je pro zajímavost níže. Je na tom ještě třeba pracovat, trochu mne trápí ten velký DD na začátku equity křivky.
Toto je určitě perfektní start. DD na začátku equity může být způsoben řadou faktorů, které nemusí souviset se samotnou strategií. Například kvalita dat. Nevím, jaká data používáte, ale při použití bezplatných dat z Yahoo nebo Google se může občas vyskytnout špatná cena, která podobnou situaci způsobí.
Také nevím, jestli pracujete se survivorship bias free daty jako já. Opět tak mohlo pokles způsobit něco, co bychom v reálu neobchodovali.
Prošel bych také pravidla řízení portfolia – jestli se například v daný moment neotevřelo více pozic, než by mělo atd.
V každém případě je ten DD dost v historii a třeba na své strategii jej nemám. Vím, že se budete účastnit mého AOS kurzu, kde se budu strategii také věnovat a poskytovat mé osobní kódy (založené trochu na jiných principech, vycházejících více ze statistiky). Takže budete moci přístupy porovnat a obchodování posunout zase o kus dál.
Je nicméně ideální, že jste začal podobný přístup sledovat s minimálním riskem na každodenní bázi – přesně toto jsou okamžiky, které vás budou postupně posouvat dál.
Začal jsem to naživo opatrně obchodovat (bez páky, s menšími pozicemi), abych si na to mentálně zvykl a viděl, jak se to chová. Momentálně mne třeba mentálně trápí gapy mezi close a open - protože vstupuji a vystupuji až na open dalšího dne. Ale to je doufejme jen momentální situace na trhu. Mám k tomu skript ve Windows Power Shellu (opět programátorsky velmi neumělý ale funguje), který každý den updatuje data, provede backtest/scan trhu a pošle mi mailem instrukce, co za pozice otevřít nebo zavřít, takže mám dost času na přemýšlení o vlastních strategiích.
Různé pocity a obavy jsou přesně to, co je třeba při obchodování překonat a důvod, proč je dobré začít obchodovat s malými pozicemi a ideálně bez páky. Rozptýlit by je měly historické testy. Vychází obchodování na open druhý den dlouhodobě ziskově? Pak je třeba držet se plánu.
Sám jsem třeba v poslední době několikrát sledoval situaci, kdy v mém akciovém portfoliu nakoupená pozice otevřela gapem mým směrem, aby se v průběhu dne stáhla například až ke včerejšímu close. A já tak „přišel“ o celý otevřený profit. Uvažoval jsem, jestli do systému nezakomponovat výstup na profit targetu při určitém procentuálním zhodnocení pozice. Ovšem stačilo podmínku naprogramovat do historického backtestu a bylo zřejmé, že to dlouhodobě není lepší cesta.
Zdání z krátkodobého sledování podobných systémů může hrozně klamat. Coby tradeři se musíme naučit od výsledků odstoupit, provádět exekuce a systémy hodnotit až s dostatečným odstupem. Určitě tomu pomůže plná automatizace, ke které se postupně propracujete. Jelikož používáte Amibroker, zkuste se podívat na jejich IB modul pro propojení s InteractiveBrokers. Je to určitě krok, který bude představovat další výzvu, ale o tom trading je. A váš dosavadní progres jednoznačně nasvědčuje tomu, že překážky překonávat dokážete.
No a při téhle práci jsem narazil na to, že i když používám nějakou jednoduchou základní myšlenku, má na výkonnost celého systému (sleduji kromě profitu a DD také hlavně shape ratio, avg trade a profit factor) vliv třeba perioda klouzavého průměru, kterým se filtrují vstupy a výstupy. Budu se tím samosebou dál zabývat, ale trochu se bojím přeoptimalizace - zejména u těch klouzavých průměrů. Nejsem si jist, zda třeba změna periody klouzavého průměru, který filtruje vstup z hodnoty 90 na např. 190 (která zlepší v mém případě parametry backtestu) nezavání už přílišnou reoptimalizací.
Naprosto souhlasím. Osobně bych měl stejné obavy. Určitě je třeba dodržet podmínku, že stavbu a modifikaci systému provádíme pouze na In-Sample datech a ověření na Out-of-Sample datech. A jakmile systém ověříme a splňuje naše kritéria, tak bychom do něj neměli zasahovat nad rámec původního plánu. Navíc co se týče parametrů případně používaných indikátorů typu klouzavý průměr. Už jen samotná hodnota „90“ trochu zavání optimalizací. Funguje systém s parametrem „100“ stejně? Protože pokud není výkonnost hodně podobná, tak už bych indikátor z přeoptimalizace začal podezřívat. Hodně záleží, jak jiné hodnoty systému jsou.
V kódu, který dostanete na AOS kurzu také používám základní trendový filtr. Ale konkrétní hodnoty celkovou výkonnost příliš neovlivní. Samozřejmě, z logiky věci je trochu jiná frekvence obchodů, ale oba systémy by byly podobně obchodovatelné.
Například systém s vaším parametrem „90“ by na mých kompletních datech trhu SP100 od roku 1991 vypadal takto:
S použitím vašeho parametru “190” pak takto:
Jde o backtesty využívající survivorship bias free databázi a aplikované komise z IB. Bez position sizingu a obchodování na margin.
Jistě, jsou tam drobné rozdíly. Ale oba systémy jsou pro mě obchodovatelné. Obchodoval bych ten, který jsem vytvořil v In-Sample a pak ověřil v Out-of-Sample. Pokud by rozdíly byly změnou tohoto jednoho parametru mnohem výraznější, tak bych se zamyslel nad obchodovatelností daného přístupu a rozhodně bych byl hodně ostražitý vůči potenciální přeoptimalizaci (a nechal bych systém déle testovat v „karanténě“ na simu nebo živě s minimálním kapitálem).
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.