O aplikácii
Mnohí z vás sa často zaoberanú backtestovaním vlastných stratégii, či hľadaním ďalšieho edge. Na internete je možné nájsť množstvo software umožňujúcu túto bohumilú činnosť. Vo väčšine prípadov sa jedná o platený software, pričom chceme využiť len malú časť jeho funkčnosti. Podobný problém je získanie kvalitných historických dát trhu, ktorý sa chystáme backtestovať.
Ako veľká časť začínajúcich obchodníkov som bol i ja odchovaný na platforme MetaTrader4 (MT4). Aj vďaka tomu, že ju brokeri ponúkajú zadarmo, si získala širokú masu používateľov. Problém však nastáva akonáhle chceme začať s poctivým backtestom diskrečného systému, keď už nestačí naprogramovať v MQL svätý grál na základe prekríženia dvoch kĺzavých priemerov s magickou fibbonaci periódou. Samozrejme môžeme sa uchýliť k ručnému posúvaniu grafu a hľadať signály na close sviečkach (značne obmedzujúce) ale chvíľa radosti už čoskoro opadne keď zistíme, že broker poskytuje z histórie len cca 65000 sviečok, za čo broker ani veľmi nemôže, keďže je to obmedzenie samotnej MT4 platformy. Navyše stále pracujeme len s uzavretými sviečkami, čo má od "feelingu" skutočného živého trhu stále ďaleko.
Rozhodol som sa preto pre vlastné riešenie. Vyvinúť vlastný backtestovací software, ktorý bude šitý na môj štýl obchodovania a dokáže verne simulovať dianie na trhu niekoľko rokov dozadu, tick po ticku, na ľubovoľnom timeframe, bez obmedzení na veľkosť historických dát. A tak sa stalo, po niekoľkých mesiacoch zrodil sa FXSim. Ako zdroj trhových dát som použil švajčiarskeho FX brokera Dukascopy, ktorý ponúka svoje (veľmi kvalitné!) historické dáta voľne dostupné na stiahnutie pre osobnú potrebu (jedná sa o ECN brokera). V skomprimovanej forme sú historické tickové dáta dostupné na tejto stránke.
TIP: Podrobnejší popis ako tieto historické dáta získať a používať je možné nájsť tu.
Inštalácia
Inštalácia nie je vôbec náročná. Aplikáciu stačí stiahnuť, rozbaliť alebo nainštalovať, a po nakonfigurovaní inštrumentov možeme začať s backtestom.
FXSim vyžaduje nainštalované nasledovné komponenty:
Konfigurácia inštrumentov
Pred prvým použitím je potrebné nakonfigurovať inštrumenty. Pre každý inštrument je možné nastaviť ľubovoľný názov, parametre či umiestnenie dátových súborov. Rovnaký názov inštrumentu môže byť použitý len raz.
Po modifikácii dátových súborov (napr. po aktualizácii) je potrebné vytvoriť pre modifikované inštrumenty indexové súbory (záložka Správa dátových súborov).
(22.2.2014)
Používateľské rozhranie
Rozhranie je extrémne jednoduché a intuitívne, ako je tomu u platformy MT4. Hlavná výhoda aplikácie FXSim spočíva v časovej synchronizácii na všetkých grafoch čo umožňuje získať celkový pohľad tzv. "big picture" na dianie na forexovom trhu v ktoromkoľvek časovom okamihu.
Graf je možné efektívne posúvať rôznou rýchlosťou klávesmi. Záleží len na samotnom používateľovi, aké si zvolí tempo pri testovaní. Nezaujímavé chopy na trhu je možné rýchlo preskočiť po celých sviečkach a pozornosť upriamiť len na dôležité breakouty. Vďaka tomuto systému testovania je možné získať cit pre trh a to oveľa rýchlejšie, ako pri zdĺhavom vysedávaní pred živými grafmi.
Klávesové skratky
Posúvanie grafu
Práca s objektmi
Otváranie / zatváranie pozícií (modul objednávky)
W
S
Q
príkaz na nákup
príkaz na predaj
príkaz na uzavretie pozície
Indikátory
Aplikácia obsahuje základné indikátory, ktoré sa budú časom dopĺňať podľa potreby. Žiaľ neexistuje ani nikdy nebude kompatibilita s indikátormi v MQL4. Indikátory je možné pridávať vo forme pluginov.
Navyše obsahuje netradičný indikátor, ktorý v MT4 štandardne nenájdete, a to OverlayChart. Umožní na základný graf naniesť ďalší ľubovoľný graf iného trhu, vďaka čomu je možné efektívne testovať koreláciu jednotlivých menových párov či úrokových sadzieb.
Zoznam podporovaných indikátorov
ATR Stop
Average Directional Movement Index
Average True Range
Commodity Channel Index
Correlation
Exponential Moving Average
Interest rates
MACD
Momentum
Overlay Chart
Parabolic SAR
Relative Strength Index
Sentiment
Stochastic Oscillator
Tick Chart
Williams' Percentage Range
ZigZag
Príklad korelácie medzi EURUSD a EURNOK
Pohľad na historický sentiment trhu (long-short ratio)
Indikátor korelácie dvoch menových párov (pozri www.mataf.net)
Statement indikátor umožňuje import histórie obchodov (statement report) z platformy MT4
Ekonomický kalendár
Najväčšia volatilita na forexe vzniká práve v čase zverejňovania dôležitých fundamentov. Je preto dôležité s týmito pohybmi rátať už pri backtestovaní. To nám uľahčí modul ekonomicky kalendár, v ktorom nájdeme zoznam plánovaných udalostí na každý deň pre danú menu, ich vplyv na trh, predpoveď, aktuálny stav atď. Kalendár sa automaticky aktualizuje pri prvom spustení (zdroj forexfactory.com).
História obchodov
FXSim priamo neriadi žiadne otváranie/zatváranie pozícií, obsahuje však modul, ktorý odosiela príkazy objednávok a aktuálne ceny inštrumentov pomocou protokolu DDE do ostatných aplikácii v rámci OS ako napríklad Excel (obdoba funkcie DDE Server v MT4).
Komplexný model money managementu (MM) je možné vytvoriť v samotnom Exceli pomocou vzorcov, vďaka čomu sa okamžite prejaví zmena každého parametru MM v celej histórii obchodov. Taktiež je možné počítať Risk Revard Ratio podľa zadaných TP a SL úrovní. Osobne vo svojom obchodnom systéme TP nezadávam, ako exitovú stratégiu používam trailing stop na základe volatility podľa ATR (bližšie info napr. tu).
Príklad histórie obchodov - všetky bunky boli vyplnené automaticky
Komunikáciu Excelu s aplikáciou FXSim je možné nastaviť od stĺpca "AA", kde sa nachádza konfiguračný panel pre DDE
Pre pohodlný backtesting v Exceli odporúčam pridať medzi dôveryhodné umiestnenia lokalitu kam plánujeme ukladať tabuľky s históriou obchodov a rovnako povoliť aktualizáciu z externých zdrojov.
Šablóna backtestovacej tabuľky pre Microsoft Excel 2007
backtest_template.xlsm
Vaše pripomienky, námety, nájdené chyby, žiadosti o nové indikátory alebo ďalšie funkcie zasielajte prosím do diskusie.