Az időbeli sorozatok előrejelzése napjainkban elengedhetetlen a pénzügyi modellezésben, és az ilyen típusú feladatok megoldására különböző gépi tanulási módszerek alkalmazhatóak. A Recurrent Neural Network (RNN) és a Convolutional Neural Network (CNN) két jól ismert és széles körben alkalmazott módszer, amelyek alkalmasak pénzügyi adatok, például kriptovaluta vagy magas frekvenciájú tőzsdei adatok előrejelzésére. Az alábbiakban áttekintjük, hogyan alkalmazhatók ezek a hálózatok különböző feladatokhoz, és hogyan javíthatjuk a modellek teljesítményét.

A feladatok megoldása érdekében első lépésként fontos, hogy megbizonyosodjunk arról, hogy az adataink állandó statisztikai tulajdonságokkal rendelkeznek. A statikus adatok segítenek a modell stabilitásának biztosításában, és elengedhetetlenek a helyes előrejelzéshez. Az Augmented Dickey-Fuller teszt alkalmazása segíthet eldönteni, hogy az adataink statikusak-e, és ennek megfelelően választhatunk modellt.

Miután biztosak vagyunk abban, hogy az adatok statikusak, érdemes az optimális késleltetést meghatározni. Ehhez a korrelációs számításokat kell elvégezni, és a 99%-os megbízhatóságú részleges autokorrelációt kell kiszámítani. Ez lehetőséget ad arra, hogy meghatározzuk, hány időlépést érdemes figyelembe venni a modell tanítása során, hogy az előrejelzésünk a lehető legpontosabb legyen.

Az RNN és a CNN modellek között számos különbség van, és mindkettő más típusú problémákra alkalmas. Az RNN-ek ideálisak a sorozatok feldolgozására, hiszen az időbeli összefüggéseket figyelembe véve képesek tanulni a múltbeli adatokból, míg a CNN-ek a helyi mintázatok felfedezésére specializálódnak, így különösen hasznosak lehetnek, ha a bemeneti adatokban térbeli vagy időbeli lokális struktúrák vannak.

Ahhoz, hogy a modellek ne szenvedjenek túlilleszkedéstől, fontos az optimális rejtett neurónok számának meghatározása, és az MSE (Mean Squared Error) mérésével ellenőrizni kell az in-sample és out-of-sample teljesítményeket. Ahogy a rejtett neurónok számát változtatjuk, figyelhetjük, hogy mikor kezd el a modell túltanulni, és mikor válik az előrejelzés nem megbízhatóvá.

A modell komplexitásának csökkentésére alkalmazhatunk L1 regularizációt. Az L1 regularizáció segít a modell súlyainak csökkentésében, így megelőzhetjük a túlzottan komplex modellek kialakulását, amelyek könnyen túlilleszkedhetnek az adatokra, és nem képesek megfelelően általánosítani.

A különböző típusú hálózatok, mint a GRU (Gated Recurrent Unit) és az egyszerű RNN, különböző előnyöket kínálnak. A GRU-kat például dinamikus exponenciális simítással alkalmazzák, hogy a rejtett állapotot hosszabb ideig megőrizzék, miközben nincs szükség statikus adatstruktúrára. A GRU-k stabilitása viszonylag könnyen biztosítható, míg az egyszerű RNN-eknél a rejtett állapot frissítésének választása kritikus fontosságú a stabilitás biztosításához.

A modell teljesítményének mérésére és a hibák auto-korreláltságának ellenőrzésére alkalmazható a Ljung-Box teszt. A jól specifikált modell hibáinak fehér zajnak kell lenniük, azaz nem kell tartalmazniuk auto-korrelációt, sem in-sample, sem out-of-sample tesztelésnél.

Az adatok természeténél fogva mindig előfordulhat, hogy egy modell nem képes megfelelően kezelni az összes előrejelzési feladatot. Ilyen esetekben más típusú modellek is szóba jöhetnek, mint például a hosszú rövidtávú memória (LSTM) hálózatok, amelyek jobban képesek kezelni a hosszú távú függőségeket.

Az időbeli adatok elemzése különösen fontos a pénzügyi előrejelzésekben, mivel a tőzsdék és kriptovaluták piaci árai gyakran nagy ingadozásokat mutatnak, amelyek nem mindig követhetők egyszerű statikus modellekkel. Az RNN és CNN modellek előnye, hogy képesek figyelembe venni az időbeli trendeket és az esetleges helyi mintázatokat, így képesek pontosabb előrejelzéseket adni.

Az optimális teljesítmény elérése érdekében nemcsak az adatok előkészítése és a modell paramétereinek finomhangolása fontos, hanem annak is, hogy a modellek hogyan reagálnak az új, ismeretlen adatokra. A megfelelő validálási technikák alkalmazása, mint például a kereszt-validálás, biztosítja, hogy a modellek ne csak a már ismert adatokra tanuljanak, hanem képesek legyenek az új, nem látott adatok előrejelzésére is.

Hogyan kombinálhatók a különböző tanulási módszerek a megerősítéses tanulásban?

A megerősítéses tanulás (reinforcement learning, RL) rendkívül erőteljes módszer a gépi tanulásban, amelyet különböző alkalmazásokban, mint például robotika, pénzügyi elemzés vagy online hirdetések optimalizálása, egyre szélesebb körben alkalmaznak. Az RL célja, hogy a tanuló ügynök folyamatosan javítsa döntéseit úgy, hogy maximális összegzett jutalmat érjen el egy környezetben végrehajtott cselekvésekkel. Az alapvető problémát az jelenti, hogy az ügynöknek folyamatosan egyensúlyba kell hoznia az „felfedezés” és „kihasználás” aspektusait, azaz mikor érdemes új stratégiát kipróbálni, és mikor az ismert legjobb megoldást alkalmazni.

A következő fejezetekben a batch (parti) megerősítéses tanulást fogjuk elsősorban tárgyalni, mivel az offline adatokat használva történő modellezés gyakran előnyösebb lehet bizonyos problémák esetén. Az offline tanulás során az ügynök korábbi tapasztalatokból tanul, míg az online tanulás valós idejű visszajelzésekre épít. Azonban nem ritka, hogy ezeket a két módszert ötvözik. Például először batch tanulással képzhetjük ki az ügynököt, majd valós időben folytathatjuk a tanulási folyamatot, ami lehetőséget ad a folyamatos alkalmazkodásra a dinamikusan változó környezethez. Egy másik megoldás az online tanulás implementálása batch módon, az úgynevezett tapasztalati visszajátszási módszer (experience replay) segítségével. Ennek lényege, hogy minden egyes új állapot, cselekvés és jutalom kombinációt hozzáadunk egy korábban rögzített adathoz, majd fokozatosan eltávolítjuk az elavult megfigyeléseket, így biztosítva, hogy a tapasztalati puffer mérete állandó maradjon.

Egy másik érdekes megközelítés, amely gyakran előfordul az RL alkalmazásaiban, a Thompson Sampling, amely alapvetően a bayesiánus megközelítésre épít. A Thompson Sampling a többkarú banditák (Multi-Armed Bandit, MAB) problémájának megoldására lett kifejlesztve, ahol a cél egy adott állapot (st) alapján a legjobb cselekvés (a) kiválasztása. A többkarú banditák problémája abban áll, hogy egy adott kontextusban több lehetséges akció közül kell választani, és ezek közül azt kell kiválasztani, amelyik hosszú távon a legjobb eredményt hozza. Thompson Sampling esetében minden egyes időpontban az ügynök véletlenszerűen mintát vesz az optimális cselekvéshez tartozó valószínűségi eloszlásból, majd az alapján választja ki az aktuális legjobb akciót. Miután az ügynök végrehajtotta a választott akciót, a modell frissíti a prior eloszlást a kapott jutalom függvényében, így az ügynök folyamatosan alkalmazkodik az új információkhoz.

A pénzügyi piacokon a Thompson Sampling különösen hasznos lehet, mivel a piacon végrehajtott tranzakciók hatással vannak a piaci árfolyamokra, tehát a jutalmak nem függetlenek egymástól. Itt a piaci hatások és az egyes kereskedési stratégiák összetett kölcsönhatásait kell figyelembe venni. A pénzügyi szempontból érdekes aspektus, hogy a Thompson Sampling optimálisan képes egyensúlyba hozni a felfedezést és a kihasználást, így különösen hasznos lehet a napi kereskedési stratégiákban, ahol különböző kereskedési módszerek és azok specifikációi közötti döntésről van szó.

A megerősítéses tanulás egyik alapvető eleme a jutalom (reward), amely meghatározza az ügynök célját: a jutalom maximalizálása egy adott időszak alatt. A jutalom egy olyan mérőszám, amely az ügynök „boldogságát” tükrözi egy adott cselekvés során. A biológiai ügynökök, mint az állatok vagy az emberek esetében, a jutalom a kellemes vagy fájdalmas élmények numerikus kifejezéseként jelenhet meg. Az RL-ben a jutalomfüggvény az ügynök viselkedését irányítja: az ügynök mindig azt a cselekvést választja, amely a legnagyobb jutalmat ígéri. Azonban számos esetben nem elég csupán a helyi jutalom maximalizálása, mivel az ügynök cselekedetei befolyásolják a környezetet, és így a következő lépések jutalmát is. A pénzügyi piacon például, amikor jelentős tranzakciókat hajtanak végre, azok közvetlen hatással vannak a piaci árak alakulására, így a jutalmak nem függetlenek egymástól.

Fontos megérteni, hogy az RL-ben alkalmazott jutalomfüggvények gyakran nem statikusak, hanem időben változóak, és a jövőbeli jutalmak előrejelzése nem mindig egyszerű. A döntési problémák egyre bonyolultabbá válnak, amikor az ügynök döntései hosszú távú következményekkel járnak, és a környezet folyamatosan változik. Ez különösen fontos lehet a pénzügyi alkalmazásokban, ahol a piaci környezet és a globális gazdasági tényezők gyorsan változnak, és a múltbeli döntések hatása a jövőben is érezhető.

A megerősítéses tanulás alkalmazása során tehát nem csupán az aktuális állapotot és cselekvést kell figyelembe venni, hanem a jövőbeli következmények előrejelzése is kulcsszerepet játszik. Az ügynöknek képesnek kell lennie arra, hogy mérlegelje a cselekvések hosszú távú hatásait, és figyelembe vegye a dinamikusan változó környezetet.

Hogyan működik a policy iteráció és a dinamikus programozás a megerősítéses tanulásban?

A megerősítéses tanulás (RL) területén a dinamikus programozás (DP) módszereit gyakran alkalmazzák a politikák és állapotok minőségének értékelésére. A DP egy olyan algoritmusos megközelítést kínál, amely segítségével egy adott politikához (policy) rendelhetjük hozzá a hozzá tartozó állapotérték-funkciót, amely meghatározza, hogy egy adott állapotból indulva milyen értékeket érhet el a rendszer az adott politikát követve. Az RL-ben alkalmazott módszerek többsége, mint például az érték-funkció alapú RL, az ilyen típusú értékeléseken alapul.

Az RL néhány módszere nem használ érték-funkciókat, és kizárólag a politikákat alkalmazza. Ezen könyv célja, hogy főként az érték-funkció alapú megközelítést ismertesse, de időnként bepillantást nyújtunk egy alternatív, a „policy iteration” (politika iteráció) alapú módszerbe is. Mindezek a módszerek arra építenek, hogy a rendszer állapotok és akciók közötti kölcsönhatások reprezentálása diszkrét állapot-akció térben történik. Bár a legtöbb esetben a diszkrét állapottér asszociálása nem explicit módon van meghatározva, az általános előfeltevés az, hogy az állapottér dimenziója kellően alacsony, hogy a számítási algoritmusok a gyakorlatban is végrehajthatóak legyenek.

Amikor egy folyamatos állapottérrel dolgozunk, akkor ezt gyakran diszkretizáljuk azáltal, hogy a lehetséges értékeket egy vagy több komponens szerint apróbb intervallumokra bontjuk. A nagy dimenziójú, folyamatos állapottérrel rendelkező problémák esetén azonban a diszkrét keresés gyorsan megoldhatatlanná válhat, mivel a különböző komponensek kereszt-szorzata exponenciálisan megnöveli a lépések számát. Ilyen esetekben a klasszikus diszkrét megközelítés gyakorlatilag használhatatlanná válik, amint a dimenziók száma meghaladja a három-négyet.

A politika értékelése (policy evaluation) során az állapotérték-funkció Vπ(s) meghatározza a rendszer aktuális állapotának értékét, amennyiben az agent követi a π politikát a döntéshozatal során. A Bellman-egyenlet a következőképpen néz ki egy időállandó Markov-döntési folyamat esetén:

Vπ(s)=πEt[R(s,a,s)+γVπ(s)]Vπ(s) = π \mathbb{E}_t [R(s, a, s') + γ Vπ(s')]

Ez az egyenlet segítségével meghatározhatjuk egy adott politika állapotérték-funkcióját. A megoldás gyakran lineáris egyenletek rendszere, amelyek szintén matematikai inverziót igényelnek, ami költséges lehet nagy állapotterek esetén. Azonban a Bellman-egyenlet alkalmazásával rekurzív megoldást találhatunk, amely sok esetben gyorsabban működik, mint a direkt megoldás.

A Bellman iteráció tehát a következőképpen működik: kezdjük egy kezdeti értékeléssel, majd alkalmazzuk az iterációs lépéseket mindaddig, amíg a függvény konvergál. Az iterációs folyamat gyors és lineáris műveletekkel működik, így jól skálázható diszkrét, magas dimenziós állapottérrel rendelkező problémák esetén is.

A következő szint az optimális politika megtalálása. A dinamikus programozás és a megerősítéses tanulás célja, hogy megtaláljuk a legjobb politikát π%, amely maximális összesített jutalmat biztosít az agent számára. Ehhez a politikák közötti keresés történik, amelyben a „policy iteration” algoritmusokat alkalmazzuk. A politikák javításának kulcsa, hogy mindig az aktuális politikát értékeljük, majd az eredmények alapján módosítjuk azt, hogy jobb értéket érjünk el.

A politikák javítása egy másik fontos aspektusa, amikor a Bellman-egyenletet az akció-érték-funkciók esetén alkalmazzuk:

Qπ(s,a)=Et[R(s,a,s)+γVπ(s)]Qπ(s, a) = \mathbb{E}_t [R(s, a, s') + γ Vπ(s')]

Az akció-érték-funkció azt mutatja meg, hogy egy adott állapotban és akcióval hogyan változik az összegzett érték. Ha a politikát módosítjuk, és a lehető legjobb akciókat választjuk a Qπ(s, a) függvény maximalizálásával, akkor egy újabb politikát kapunk, amely biztosítja a javulást. A politikák folyamatos iterálása egyre jobb eredményeket biztosít.

Az algoritmus így az alábbi módon működik: kezdjünk egy véletlenszerű politikával π(0), majd ismételjük a következő két lépést: először értékeljük a politikát a Bellman-egyenlet segítségével, majd javítsuk a politikát a lehető legjobb akciók keresésével. Ez addig folytatódik, amíg a politika nem változik többé, vagy egy előre meghatározott számú iteráció után meg nem áll.

Fontos megérteni, hogy a policy iterációs algoritmusok nem csupán a politikák egyszerű módosításáról szólnak, hanem az akciók és állapotok közötti kapcsolat komplex értékelését is magukban foglalják. Ezen algoritmusok hatékonysága függ attól, hogy mennyire jól vannak implementálva a rekurzív értékelési lépések, és hogy miként történik az akciók optimális választása.