Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Diskuze k článku: Backtest & obchodní plán za 6 víkendů


Doporučené příspěvky

Svjezmen Napsal:
-------------------------------------------------------
> Je srandovní, že u diskusí o backtestech je
> nejvíce vášnivých komentářů a u real tradingu nebo
> něčeho důležitějšího toho moc lidí nepíše. Čím to
> asi je?

Asi to bude tym, ze o backteste sa da bavit aj na historickom grafe ale o realnom tradingu sa na historickych grafoch moc bavit nebudes.Realny trading potrebuje nahlasit vstup v realnom case a potom pride vasniva debata,ak ten,co tie obchody dava, je skuseny trader a obchody zatvara v zisku jeden za druhym.Zazil som to v 2008 roku a bolo to fakt poucne obdobie.


Link to comment
Sdílet pomocí služby

  • Odpovědí 70
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Zdravím tradery,

jsem začátečník a právě se chci vrhnout na backtest. Zajímala by mě jedna věc. Když backtestujete, simulujete reálný obchod nebo berete všechny signály, které jsou generovány? Tedy, jakoby otevřete obchod a čekáte na vývoj a pak postupujete dál nebo analyzujete každý signál a jeho výsledek? Doufám, že je to srozumitelné. Děkuji.

Link to comment
Sdílet pomocí služby

Majrou, zkusme přemýšlet logicky - pokud chcete dělat backtest, tak jinak řečeno chcete otestovat váš nápad na historických datech, abyste zjistil, jeslti má váš nápad něco do sebe. Pokud už předem myslíte na to, že si vyberete jenom určitý typ trhu, vyberete jenom nějaké časové úseky, které se vám líbí, pak se nemá cenu vůbec bavit o backtestu, protože ten vám potom neřekne ale vůbec nic, jenom vám ukáže krásné výsledky a strmé křivky bez většího zakolísání. Má-li být backtest validní, pak
1. musíte mít jasně definované podmínky vstupů a výstupů, v ideálním případě kód, který zpracuje platforma a vyplivne na vás výsledky, protože počítač neumí švindlovat
2 berte opravdu všechny signály, opět ideál počítač, protože ten veme i ty, které byste jinak přehlédl.

Jinak řečeno vyberte si, buď budete postupovat metodicky a pak má backtesting smysl, nebo si vymyslete systém a rovnou začněte na reálných datech "papertradovat". A papertradujte tak dlouho, dokud nebudete mít aspoň 100 - 200 obchodů ideálně však cca 500 ve všech možných fázích, v kterých se trh nachází. Dělejte ho ale poctivě, tj. při imaginárním vstupu je potřeba co nejlépe odhadnout případný slippage, pokud jdete limitem, zda byla šance, že jste měl na dané ceně příkaz vyplněn atd. Pokud vám signál "ujede" a vy se přesto rozhodnete vstoupit, je jasné, že musíte počítač cenu vstupu a ne cenu signálu ;)

Link to comment
Sdílet pomocí služby

majrou:

Já to dělám tak, že nejdřív projedu bactest tak, že beru všechny signály, které identifikuji. Výsledky pak v excelu filtruji podle různých podmínek. Například při long musí být vzdálenost low a EMA34 menší než X nebo vzdálenost EMA34 a EMA204 v větší než Y a menší než Z a tak podobně. Pak projedu backtest znovu za dodržení těchto podmínek. Během backtestu si většinou všimnu v jakých situacích který pattern funguje nejlépe. Například musí se utvořit vyšší low, ve vzdálenosti jednoho plného bodu nesmí být SR úroveň a pod. Podmínky tedy vyladím a backtest jedu celý znovu, kdy už beru jenom ty situace, které sedí na mé podmínky a které bych bral na živo. Na výsledky pak pustím algoritmus, který sosá data z Ninji a spočítá několik různých variant výstupů. Výsledek pak ověřím na paper. Backtest jedu vždy jen pro jeden pattern. Je to sice zdlouhavé, zvlášť když chci otestovat více timeframů, ale výsledkům pak více věřím.

Link to comment
Sdílet pomocí služby

Urbanr: tak přesně tomuhle se říká "curve fitting". To co je docela nebezpečné obzvlášť pokud uděláte backtest, pak si vytipujete situace, které odfiltrují ty špatné obchody a pak si uděláte backtest znovu na těch samých datech. V tomto případě nezbývá nic jiného, než udělat nový backtest na úplně jiných datech, jinak to absolutně nemá vypovídací hodnotu.
Není problém si vzít dejme tomu půl roku dat a vytvořit na tom strategii bez jediného ztrátového obchodu s nádherně vypadající equity curve. Problém je, že tato naprosto dokonalá strategie vyluxuje do měsíce v reálu účet.

Link to comment
Sdílet pomocí služby

Honza K.: Nemyslím, že bych něco přeoptimalizoval. Neznažím se absolutně vyhladit equity, ale odstranit největší propady, snížit počet obchodů a zjistit v jakých oblastech fungují parametry nejlépe. Testuji např. jak se výsledky změní když bude nějaký parametr nabývat hodnot 0-100 nebo 50-200 apod. Poslední backtest jedu na jiných datech a vše zkouším paper. Z přeoptimalizování mám samozřejmě strach, ale popravdě řečeno nevím, kde je ta správná hranice.

Link to comment
Sdílet pomocí služby

To je vcelku jednoduché. Hranice je 0% testování na "in sample" datech. Jinak řečeno, mimo "curve fitting" jste až v momentě, kdy máte přesně definovanou strategii a pustíte ji na NEZNÁMÝCH datech, jedno jestli jde o data historická nebo real time. Jakmile uděláte byť jeden zásah do strategie, tj. přidáte nějaký filtr apod. tak se okamžitě z těch dat, na kterých tyto úpravy aplikujete, stanou in sample data. Doporučuji si proto stanovovat filtry a připravovat vstupy výstupy na nějakém konkrétním úseku dat a pak to testovat na úplně jiném vzorku dat. Tím si ušetříte práci.

Link to comment
Sdílet pomocí služby

Děkuji za odpověď. Měl jsem představu, že budu obchodovat intraday a tedy, že stejně budu při pc jenom v určitý čas (např. od 8:00 do 12:00). Neplánuji obchodovat po 20:00, a proto jsem předpokládal, že backtest systému po tomto čase nemá pro mne smysl. No nic, člověk se pořád učí:)

Link to comment
Sdílet pomocí služby

Ale proč ne, testujte si klidně úseky od 8 do 12 hodin, ale ne ty, na kterých jste si připravovat strategii :) Dám příklad.
Máte nějaký nápad a chcete se juknout, jak ho nadefinovat. Vyberete si tedy nějaký úsek dat, který bude podkladem pro vybudování podmínek, omezení atd. dané strategie, řekněme data ES od 1.5. do 1.9.2010. Když budete mít strategii hotovou, tak si můžete sice udělat backtest na těchto datech, nicméně je jasné, že to bude vcelku ok, prostě proto, že je to na tyto data uzpůsobené. Takže si vemete data třeba 1.1. - 30.4.2010 a jedete backtest. Vyplivne vám to výsledky a vy zjistíte, že můžete začít znovu :) Nebo si vemete data od 2.9. dodneška a třeba to není tak zlé, tak můžete začít tzv. papertradovat nebo jak tomu tady říkáte a děláte si obchody na reálných datech + nějaký úsek z historie. Jakmile se vám nastřádá dejme tomu 100+ obchodů, máte nějakou základní představu o tom, jestli je to k nečemu nebo ne, když se to veme takto tak říkajíc na hrubo :)

Většinou zjistíte, že na těchto nových datech vám vzniknou různé situace, které je třeba ošetřit novým filtrem, omezením atd. tak ho přidáte a řeknete si ok zkusím znovu jak to bude vypadat a otestujete si znovu tato data. Jenomže když se nad tím zamyslíte, tak už to není backtest na neznámých datech, protože vám ten nový filtr samozřejmě odfiltruje ty ztrátové obchody, které nechcete a tak dá lepší výsledky, je tedy třeba vzít jiný úsek, který tento filtr "nezná". Atd...

Link to comment
Sdílet pomocí služby


×
×
  • Vytvořit...