Stock trading using deep reinforcement learning

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Electrical Engineering | Master's thesis

Department

Mcode

Language

en

Pages

74

Series

Abstract

In the stock market, outperforming classic buy-and-hold strategies using more active trading strategies has puzzled traders for many decades. In the pursuit of high returns, traders might utilise trading algorithms, referring to methods involving the computerised execution of trades. This method is called Algorithmic trading, and it provides benefits such as more precise timing, anonymity, and lack of emotional bias. However, traditional trading algorithms may lack the dynamic capabilities to adapt to changing market conditions, thus potentially leaving returns unrealized. With the advancements in computational power and the increased efficiency of machine learning algorithms, traders now have more candidates to design trading systems, including adaptable ones. One promising candidate is deep reinforcement learning (DRL), which combines the trial-and-error-based learning of reinforcement learning with the adaptability and flexibility of deep neural networks. While the use of DRL in stock trading has been previously studied in different configurations, a scenario, often faced by traders, in which the agent must select a single stock for its portfolio from a set of multiple candidates, has received little attention. This thesis addresses the gap, examining the performance of a Double Deep Q-Networks-based trading strategy relative to benchmark passive and active strategies within a framework described above, utilizing past price and volume data as the inputs. The algorithm is trained and evaluated in various simulated test scenarios using US smallcap stock data from between 2017 and 2024. The test cases examine the effects of expanding observation and action spaces, varying transaction fees, and differences in performance between high- and low-volatility stocks. The results show performance on par or below compared to the benchmark strategies, depending on the test case. While the agent manages to handle the expanding stock set, keeping up with the benchmarks, it performs poorly in all high volatility scenarios. Moreover, in some cases, a strong tendency towards overfitting is observed. These challenges highlight opportunities for future research, particularly in implementing methods such as early stopping, hyperparameter optimization, and reward function adjustments. Altogether, the algorithm at its current state does not suit real-world trading applications. However, addressing the challenges mentioned above may substantially improve its practical potential.

Osakemarkkinoilla aktiivisen kaupankäynnin, eli treidaamisen, tarkoituksena on ylittää passiivisten osta-ja-pidä-strategioiden riskipainotettu tuotto. Tavallista korkeampien tuottojen toivossa treidaajat saattavat käyttää treidausalgoritmeja, eli menetelmiä, joissa kaupankäynti hoituu automaattisesti tietokoneen välityksellä. Tämän lähestymistavan on todettu tuovan useita etuja, kuten kauppojen tarkempi ajoitus, anonyymi kaupankäynti, sekä tunneperäisten vinoumien välttäminen. Perinteisten treidausalgoritmien ongelmana on kuitenkin niiden kykenemättömyys adaptoitua jatkuvasti muuttuvaan markkinaan, jonka seurauksena tuotot heikkenevät ja riskitaso nousee. Tietokoneiden laskentatehon kasvamisen ja koneoppimisalgoritmien tehostumisen myötä treidaajilla on nykyään saatavilla enemmän mahdollisia lähestymistapoja myös adaptiivisten treidausjärjestelmien suunnitteluun. Eräs tällainen adaptiivinen menetelmä on syvävahvistusoppiminen, joka yhdistää yrityksen ja erheen kautta oppivat vahvistusoppimisalgoritmit, sekä joustavat neuroverkot, jotka kykenevät approksimoimaan epälineaarisia funktioita. Vaikka syvävahvistusoppimisen käyttöä osakekaupankäynnissä on tutkittu eri olosuhteissa, on kuitenkin treidaajille tuttu tilanne, jossa valitaan yksi osake salkkuun seurantalistalta useiden osakkeiden joukosta, jäänyt huomiotta. Tämän opinnäytetyön tarkoituksena on tarkastella kyseistä tilannetta ja tutkia erään syvävahvistusop-imisalgoritmin (syvä Q-verkko) suoriutumista yllä kuvatun viitekehyksen puitteissa. Algoritmi hyödyntää syötteenään osakkeiden historiallista hinta- ja volyymidataa oppiakseen treidausstrategioita. Sen kouluttaminen ja arviointi suoritetaan simuloidussa ympäristössä laatimalla useita testejä, käyttäen dataa Yhdysvaltain pienyhtiöistä vuosien 2017 ja 2024 väliltä. Testeissä kasvatetaan osakejoukon kokoa, muutetaan kuluja ja vertaillaan algoritmin suoriutumista eritasoisten volatiliteetin osakkeilla. Testistä riippuen tulokset osoittavat algoritmin suoriutuneen joko heikommin tai samantasoisesti kuin vertailustrategiat. Osakejoukon kasvaessa algoritmin suorituskyky pysyy samalla tasolla verrokkeihin nähden, mutta sen sijaan heikkoa suorittamista havaitaan korkean volatiliteetin tapauksissa. Lisäksi joissakin testeistä ilmenee ylisovittamisen piirteitä. Näiden ongelmien ratkaisemiseksi jatkotutkimuksissa olisi perusteltua hyödyntää menetelmiä, kuten kouluttamisen ennenaikaista lopetusta, hyperparametrien optimointia, sekä palkkiofunktion hienosäätöä. Kokonaisuudessaan algoritmi ei nykyisessä muodossaan ole soveltuva reaalimaailman kaupankäyntisovelluksiin, mutta yllä mainittujen haasteiden ratkaiseminen saattaisi merkittävästi parantaa sen käytännöllisyyttä.

Description

Supervisor

Pajarinen, Joni

Thesis advisor

Heiskanen, Santeri

Other note

Citation