Bachelor's Thesis

Improving Prediction of Automated Trading Strategies Based on Disparate External Sources

Final Thesis 2.24 MB

Author of thesis: Vojtěch Rabovský

Acad. year: 2025/2026

Supervisor: doc. Ing. Ivan Homoliak, Ph.D.

Reviewer: Ing. Martin Perešíni

Abstract:

This bachelor thesis focuses on trading strategies in financial markets, their analysis in simulation tools, and their evaluation with respect to external events. It introduces basic concepts of financial markets, trading styles, and risk management, with an emphasis on day trading and automated strategies. It also compares selected simulation platforms and examines the impact of economic, political, and geopolitical events on different financial instruments. The practical part focuses on the design and implementation of a custom simulation tool for testing strategies on historical OHLC data. Several rule-based strategies and selected machine learning improvements are implemented and evaluated in this tool. The results show that machine learning can improve strategy performance in some cases, but the improvements are not stable across all periods and instruments.

Keywords:

financial markets, trading strategies, day trading, automated trading, simulation tools, external events, market analysis, risk management, machine learning, trade management

Date of defence

17.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. V prezentovaných backtestoch (Kapitola 6) ste uvažovali nulové transakčné náklady a nulový spread? Ako by reálne hodnoty spreadu a komisií typické pre retail brokerov (napr. 0.5-1.5 pip pre EURUSD alebo 1-3 body pre NAS100) ovplyvnili výsledky vašich stratégií, najmä RSI Mean Reversion s ~700 obchodmi ročne? Robili ste nejaký orientačný test s nenulovými nákladmi?
  2. Názov práce zmieňuje vplyv externých zdrojov. Váš ML model ale používa cenové a technické príznaky a žiadne news/sentiment/calendar vlastnosti. Testovali ste nejaké experimenty z pridanej hodnoty externých dát? Prečo ste sa nakoniec rozhodli pre čisto technický feature set? Bol s tým nejaký problém?
  3. Testoval jste výdělečnost různých strategií?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, Ph.D. (předseda)
doc. Ing. Vojtěch Mrázek, Ph.D. (místopředseda)
Ing. Petr Veigend, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)
Ing. Miloš Musil, Ph.D. (člen)

Supervisor’s report
doc. Ing. Ivan Homoliak, Ph.D.

Práca predstavuje funkčné riešenie zamerané na testovanie a čiastočné zlepšovanie automatizovaných obchodných stratégií. Pozitívne hodnotím najmä implementáciu vlastného simulačného nástroja, otestovanie viacerých stratégií a snahu o využitie strojového učenia. Výsledky práce sú použiteľné pre ďalší rozvoj. Celkově prácu hodnotím stupňom B.

Evaluation criteria Verbal classification
Informace k zadání

Zadanie hodnotím ako priemerne náročné. Zadanie vyžadovalo skombinovať znalosti z oblasti finančných trhov, automatizovaných obchodných stratégií, simulačných nástrojov a základného využitia strojového učenia. Práca obsahuje analýzu existujúcich prístupov, porovnanie vybraných simulačných platforiem, analýzu vplyvu externých udalostí na finančné trhy a návrh vlastného simulačného nástroja na testovanie stratégií nad historickými OHLC dátami. V praktickej časti boli implementované viaceré pravidlové stratégie a nad jednou z nich bolo otestované rozšírenie pomocou modelu LightGBM. Zadanie považujem za splnené. Výsledné riešenie je funkčné a použiteľné ako základ pre ďalší rozvoj, hoci jeho praktická využiteľnosť je limitovaná najmä zjednodušeným modelom backtestingu a tým, že externé zdroje boli skôr analyzované ako plnohodnotne integrované do predikčného modelu.

Práce s literaturou

Študent pracoval s pomerne širokým spektrom zdrojov z oblasti finančných trhov, obchodných stratégií, backtestingu, strojového učenia a existujúcich obchodných platforiem. Použité zdroje sú tematicky relevantné a pokrývajú základné oblasti potrebné na riešenie práce. Za slabšiu stránku považujem vyšší podiel prakticky orientovaných a internetových zdrojov; väčší dôraz mohol byť kladený na odborné články a kritickejšie porovnanie existujúcich prístupov k vyhodnocovaniu obchodných stratégií. 

Aktivita během řešení, konzultace, komunikace

Študent pracoval prevažne samostatne a bol schopný riešiť viaceré technické problémy spojené s návrhom a implementáciou simulačného nástroja. Konzultácie boli využívané podľa potreby a smerovali najmä k upresneniu rozsahu práce, návrhu experimentov a interpretácii dosiahnutých výsledkov. 

Aktivita při dokončování

Práca bola dokončená včas. V záverečnej fáze boli dopracované experimenty, vyhodnotenie výsledkov a diskusia o obmedzeniach navrhnutého riešenia. 

Publikační činnost, ocenění

Publikačná činnosť ani ocenenia nie sú známe. 

Points proposed by supervisor: 80

Grade proposed by supervisor: B

Reviewer’s report
Ing. Martin Perešíni

Študent splnil všetky povinné body zadania s niekoľkými obsahovými výhradami. Kapitola o externých udalostiach je na deskriptívnej úrovni bez kvantitatívnej korelačnej analýzy, hlavný ML experiment nevyužíva externé zdroje, kryptomeny neboli testované a literárne pramene priamo zo zadania chýbajú. Pozitívom je dobrá kvalita implementácie samotného simulátora (modularita a iné vlastnosti) a kritická interpretácia ML výsledkov bez  pretláčania pozitívneho naratívu. Metodologicky je nedostatok absencia spreadu a komisií pri vyhodnotení. Celkovo hodnotím prácu ako veľmi dobrú a navrhujem študentovi známku B.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Zadanie považujem za stredne náročné. Spája doménové znalosti z oblasti finančných trhov a technickej analýzy s implementáciou testovacieho nástroja, prácou s časovými radmi a aplikáciou strojového učenia, vrátane riešenia rizika look-ahead biasu. Od študenta sa vyžadovalo naštudovať netriviálne koncepty a integrovať ich do funkčného celku.

Prezentační úroveň technické zprávy

Práca má logickú štruktúru, kapitoly na seba nadväzujú a celkovo je čitateľná. Pozitívne hodnotím vizualizácie obchodov so zakreslenými úrovňami SL/TP a tabuľky výsledkov po rokoch. Negatívom je ale príliš veľa tabuľiek a informácií, čo je zahlcujúce a neprehľadné. Miestami je kvalita popisov obrázkov slabšia. Taktiež by som ocenil skôr vektorové obrázky než screenshoty. Niektoré kapitoly (najmä 6) by si zaslúžili stručnejšie a kompaktnejšie spracovanie.

83
Formální úprava technické zprávy

Väčšina formálnych aspektov je v poriadku. Text je napísaný v angličtine, jazyková úroveň je solídna, no obsahuje drobné gramatické a štylistické nedostatky (preklepy ako "hundrets", "bellow", "tarifs", "effectivness", nekonzistentné používanie "EURUSD"-"EUR/USD", chýbajúce/nesprávne členy v angličtine, atď.). Neprekážajú porozumeniu, ale ich vyšší počet znižuje formálny dojem. Z typografického hľadiska odporúčam skontrolovať správne umiestnenie tabuliek a používať vektorové grafy a obrázky, kde je to možné.

82
Realizační výstup

Implementačná časť je silnou stránkou práce. Študent v jazyku Python vytvoril modulárny backtester, samotný engine je oddelený od stratégií. Moduly sú komentované. Implementácia päť stratégií. Postavený ML pipeline pre LightGBM trade management, bucket analýzy. Pozitívum je aj návrh ML cieľa cez counterfactual outcomes namiesto naivnej klasifikácie. Následne je overená konzistencia výsledkov v MT5/MQL5.

Výhrady:

  • Transakčné náklady: práca tvrdí, že simulátor podporuje konfiguráciu spreadu a komisií, v skutočnosti je v "backtester.py" zapojená iba "TRANSACTION_COST_PER_TRADE" (a tá je nastavená na 0? Alebo mi niečo uniká). "SPREAD_POINTS" je deklarovaná, no v engine sa nikde nepoužíva. Hodnoty spreadu a komisií môžu zmeniť závery o ziskovosti, nie?
  • Inkonzistencie obdobia: ML experiment (6.3.4) na walk-forward okne 2015/2016-2020, kapitola 5 motivuje prácu udalosťami z 2022/2023/2025. Testovacie scenáre (apríl/október 2025) sú teda mimo okna pre ML model alebo nie?
  • "data_loader.py" načítava dáta bez objemu a v stratégiách sa objem (volume) nevyužíva, alebo som to taktiež nepochopil?
84
Využitelnost výsledků

Pridanou hodnotou práce je samotný modulárny simulátor. Práca je solídnym základom, ktorý dáva zmysel ďalej rozvíjať a rozširovať. Praktická využiteľnosť v reálnom obchodovaní je asi limitovaná a výsledky bez transakčných nákladov a zlyhanie bucket kalibrácie nenapovedajú skutočnú ziskovosť ML na reálnom trhu (edge nad trhom).

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno pouze částečně s drobnými výhradami

Body zadania boli splnené v technickej rovine. Študent porovnal simulačné nástroje (TradingView, MT5, NinjaTrader, ...), implementoval vlastný simulátor a v ňom vyhodnotil 5 stratégií (RSI Mean Reversion, EMA Crossover, Asia Breakout Retest, ...) a navrhol vylepšenie pomocou LightGBM-based trade managementu. Mám však dve obsahové výhrady. Kapitola 5 venovaná externým udalostiam je výhradne deskriptívna, uvádza príklady udalostí (apríl/október 2025, NFP, ChatGPT, atď.) a sprievodné grafy z TradingView, no nevykonáva kvantitatívnu korelačnú analýzu vplyvu udalostí na zmeny cien a objemu, ako zadanie popisuje. Taktiež zadanie a samotný názov práce postavené na využití externých zdrojov, hlavný a podrobne diskutovaný ML experiment (LightGBM trade management pre RSI) používa výlučne cenové a indikátorové príznaky (RSI, ATR, EMA50, MFE/MAE, …) a žiadne news/sentiment/calendar vlastnosti. Externé udalosti tak v praktickej časti nehrajú rolu, ktorú zadanie popisuje. Zadanie tiež spomína kryptomeny, no testovanie prebehlo iba na EURUSD a NAS100 (krypto je len popísané).

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah technickej správy je približne 88 normostrán, čo je v rámci bežného rozsahu, bližšie k hornej hranici. Práca pokrýva všetky požadované oblasti.

Práce s literaturou

Bibliografia má 53 referencií, čo je dostatočné. Sú tam aj knižné zdroje aj niekoľko akademických článkov. Vecné výhrady sú, že väčšia časť odkazov tvoria populárno-blogové príspevky a Investopedia. Téma alg. obchodovania a ML vo financiách by bolo vhodnejšie sa asi viac oprieť o nejaké publikácie. Akosi žiadny z literárnych pramenov uvedených v zadaní nie je zachytený v bibliografií a téma rebalansovania/diverzifikácie portfólia v práci nie je. Citačná etika je zachovaná.

77
Topics for thesis defence:
  1. V prezentovaných backtestoch (Kapitola 6) ste uvažovali nulové transakčné náklady a nulový spread? Ako by reálne hodnoty spreadu a komisií typické pre retail brokerov (napr. 0.5-1.5 pip pre EURUSD alebo 1-3 body pre NAS100) ovplyvnili výsledky vašich stratégií, najmä RSI Mean Reversion s ~700 obchodmi ročne? Robili ste nejaký orientačný test s nenulovými nákladmi?
  2. Názov práce zmieňuje vplyv externých zdrojov. Váš ML model ale používa cenové a technické príznaky a žiadne news/sentiment/calendar vlastnosti. Testovali ste nejaké experimenty z pridanej hodnoty externých dát? Prečo ste sa nakoniec rozhodli pre čisto technický feature set? Bol s tým nejaký problém?
Points proposed by reviewer: 80

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová