Az algoritmusos kereskedés világában a gépi tanulás kulcsszerepet játszik a döntéshozatali folyamatok optimalizálásában. Az egyik legfontosabb alkalmazás a portfóliók kezelésében, ahol a cél a múltbéli tőzsdei adatok alapján a legjobb döntés meghozatala, például egyenlő súlyozású portfólióba történő befektetés vagy az S&P 500 indexbe való befektetés. Ennek a megoldásnak a matematikai háttere egyszerűsített formában úgy néz ki, hogy a múltbéli tőzsdei hozamok és a portfólió jövőbeli hozamai között keresünk kapcsolatokat, hogy meghatározzuk, érdemes-e befektetni a piacba.
Fontos megérteni, hogy a gépi tanulás nem csupán a matematikai optimalizálásról szól, hanem az adatok megfelelő előkészítéséről is. Az eredeti tőzsdei árfolyamadatok nem minden esetben felelnek meg a gépi tanulási modellek által megkövetelt statisztikai tulajdonságoknak, mint például a statikus eloszlás vagy az i.i.d. (független és azonos eloszlású) jelleg. Ennek elkerülése érdekében jellemzően egyedi jellemzők (feature) készítésére van szükség. A példában az S&P 500 összes részvényének 5 napos realizált hozama szolgál bemeneti jellemzőként. Ezek az értékek önállóan is használhatóak, nem szükséges további normalizálás, mivel a hozamok skálafüggetlenek.
A bemeneti jellemzők és a címkék aggregálásával létrejön egy adatpanel, amely minden egyes dátumhoz hozzárendeli a megfelelő hozamokat és a címkéket (1.18 egyenlet szerint), jelezve a portfólió várható fölötti hozamát. Ezzel a módszerrel már elérhetjük, hogy a gépi tanulási modell képes legyen előre jelezni, hogy egy adott időpontban érdemes-e befektetni. Az eredményeket, mint például a Sharpe- vagy információs arányok, figyelembe vehetjük a stratégia teljesítményének értékelésekor, hogy megfeleljenek egy előre meghatározott küszöbértéknek.
A gépi tanulás azonban nem csupán a portfóliókezelésben jön szóba. Az algoritmusos kereskedés másik fontos aspektusa az ügyletvégrehajtás. A kereskedési stratégiák hatékonysága nemcsak a piaci pozíciók optimális megválasztásán múlik, hanem azon is, hogy miként hajtjuk végre a tranzakciókat. A piacon végrehajtott ügyletek hatására a piaci árak ingadoznak, amit sokszor „ár-fordulatnak” neveznek. Ennek megértése kulcsfontosságú, mivel a gépi tanulás képes segíteni abban, hogy a kereskedők elkerüljék az ilyen negatív ármozgásokat. Az adatokat egy megbízható módon kell feldolgozni és értelmezni annak érdekében, hogy a stratégiák valóban profitábilisak legyenek.
A gépi tanulás alkalmazása során fontos megjegyezni, hogy a modellek teljesítménye nem mindig jelenti automatikusan a profitot. Még ha a modell képes is előre jelezni az árfolyam mozgásokat, a kereskedési stratégia eredményessége attól is függ, hogy hogyan kezeljük a kereskedési könyvet, milyen gyorsan reagálunk a piaci változásokra, és hogyan optimalizáljuk a végrehajtást. A gépi tanulás nem csupán a predikciók elkészítésére szolgál, hanem arra is, hogy figyelembe vegyük a különböző piaci körülményeket és ügyletvégrehajtási stratégiákat, amelyek minimalizálják a tranzakciók költségeit.
Mindezek mellett fontos figyelembe venni, hogy a gépi tanulás által használt algoritmusok nem mindig veszik figyelembe a piacon lévő összes tényezőt. Az algoritmusok alkalmazása során előfordulhat, hogy egy-egy fontos tényező figyelmen kívül marad, például a piaci likviditás hirtelen csökkenése vagy a jelentős gazdasági események hatásai. Éppen ezért nem elég csupán a modellek létrehozására koncentrálni, hanem azokat folyamatosan értékelni és finomhangolni kell, figyelembe véve a piac dinamikáját és a különböző piaci kockázatokat.
Hogyan értékelhetjük a klasszifikátorok teljesítményét különböző küszöbértékek mellett?
A gépi tanulásban a klasszifikátorok teljesítményének mérése elengedhetetlen ahhoz, hogy megértsük, hogyan reagálnak a modellek a különböző típusú adatokra. Az egyik legfontosabb eszköz, amely segít a modell értékelésében, a zűrzavarmátrix (confusion matrix), amely segít meghatározni a klasszifikátor által elkövetett hibák típusait és azok mértékét. A zűrzavarmátrix sorai és oszlopai az aktuális és a prediktált osztályokat tartalmazzák, és lehetővé teszik a modell teljesítményének részletes elemzését.
Egy egyszerű példát véve, amikor az osztályozó egy 0 vagy 1 osztályba sorolja a példákat, a zűrzavarmátrix így nézhet ki:
| Prediktált | 1 | 0 | Összeg |
|---|---|---|---|
| Aktuális | |||
| 1 | 12 | 2 | 14 |
| 0 | 8 | 2 | 10 |
| Összeg | 20 | 4 | 24 |
A pontosságot ebben az esetben úgy számoljuk ki, hogy a főátlóbeli elemek (a helyes klasszifikálások) összegét elosztjuk a tesztminták teljes számával. Az eredmény: (12 + 2) / 24 = 14 / 24 = 0.5833. Azonban nem csupán a teljesítményt, hanem a különböző típusú hibák hatását is figyelembe kell venni. A típus I. hiba (false positive) az off-diagonális elem, azaz a 8, míg a típus II. hiba (false negative) a 2-es elem.
A klasszifikátor megbízhatósága statisztikailag egy chi-négyzet teszt segítségével is mérhető. A chi-négyzet statisztika azt vizsgálja, hogy a modell előrejelzései mennyire térnek el a véletlenszerű zajos osztályozóktól. Ha a statisztikai érték meghaladja egy adott küszöbértéket, akkor elvethetjük a nullhipotézist, miszerint a klasszifikátor nem más, mint véletlenszerű zaj.
A chi-négyzet teszt képlete a következőképpen alakul:
Ahol az egyes cellákban lévő megfigyelési értékek, és a sorok és oszlopok összegzései, míg m a teljes mintaszám.
A példában a chi-négyzet statisztika értéke 0.231, ami jóval alatta van a 6.635-ös küszöbnek. Ez azt jelenti, hogy nem tudjuk elvetni a nullhipotézist, és a klasszifikátor teljesítménye nem különbözik jelentősen a véletlen zajtól.
Egy másik fontos mérőszám, amelyet gyakran használnak a klasszifikátorok teljesítményének értékelésére, az ROC-görbe. Az ROC-görbe az igaz pozitív arány (True Positive Rate, TPR) és a hamis pozitív arány (False Positive Rate, FPR) közötti kapcsolatot ábrázolja. A TPR azokat az eseteket jelenti, amikor a klasszifikátor helyesen azonosítja a pozitív mintákat, míg a FPR azt az arányt mutatja, amikor a klasszifikátor hibásan azonosítja a negatív mintákat pozitívnak.
A ROC-görbe előnye, hogy képes különböző küszöbértékek mellett vizsgálni a modell teljesítményét, és robusztus a osztályok közötti egyensúlytalanságokkal szemben. Például ha az adatokban ritka pozitív események vannak, az ROC-görbe még mindig megbízhatóbb, mint a klasszifikációs pontosság.
A ROC-görbéhez kapcsolódó további mérőszámok is használhatók. Az egyik leggyakrabban használt mutató az AUC (Area Under the Curve), amely a görbe alatt lévő területet jelenti, és a modell általános teljesítményét összegzi. Emellett az F1-score is gyakran alkalmazott, amely a pontosság és az érzékenység harmonikus közepe. Az F1-score értéke akkor a legjobb, ha 1, és akkor a legrosszabb, ha 0. Az F1-score a következőképpen számítható ki:
A példában az F1-score értéke 0.706.
A klasszifikátorok teljesítményének mérésekor fontos figyelembe venni, hogy különböző alkalmazási területeken más-más mérőszámok lehetnek a legfontosabbak. Például egy pénzügyi előrejelzési modellnél a false positive és false negative hibák költségei eltérhetnek, és így érdemes különböző hibákat eltérő súllyal figyelembe venni. A klasszifikációs modellek értékelésekor tehát mindig figyelembe kell venni a probléma specifikus környezetét és a hibák különböző típusainak következményeit.
Hogyan alkalmazhatók az autoenkóderek a pénzügyi modellezésben?
Az autoenkóderek önállóan tanuló, mély neurális hálózatok, melyek célja, hogy a bemeneti adatokat egy olyan reprezentációra tömörítsék, amely elegendő információt tartalmaz a bemenet visszaállításához. Az autoenkóder egy szűk keresztmetszetet, azaz egy "palacknyakot" alkalmaz az adat tömörítésére, ami lehetővé teszi a dimenziócsökkentést és a zajcsökkentést, anélkül hogy paramétereket adna hozzá. Az autoenkóder kimeneti rétege ugyanannyi neuronból áll, mint a bemeneti rétege, és a költségfüggvény az újraépítés hibáját mér, azaz a bemeneti és a kimeneti adatok közötti különbséget.
A legegyszerűbb autoenkóder, amely dimenziócsökkentést valósít meg, legalább egy olyan réteget tartalmaz, amely kevesebb neuront tartalmaz, mint a bemeneti réteg, és amely így palacknyakként funkcionál. Miután a hálózatot visszaterjedéssel (backpropagation) betanították, a hálózatot két részre választják: az első rész (a palacknyak előtt) az enkóder, míg a második rész a dekóder. A legegyszerűbb esetben csupán egy rejtett réteg létezik, amely a palacknyak, és a hálózat rétegei teljesen összekapcsoltak.
Az autoenkóderek tömörítési kapacitása lehetővé teszi számukra, hogy alkalmazásra kerüljenek a pénzügyi modellezésben, mivel nemlineáris analógiáját képezik a széles körben használt főkomponens-analízisnek (PCA). Az autoenkóderek és a PCA közötti kapcsolatot már Baldi és Hornik (1989) felismerte, és azóta is széleskörűen alkalmazzák őket a pénzügyi adatok feldolgozásában. Egy lineáris autoenkóder képes elvégezni a PCA-t, mivel kimeneti rétege az adatokat egy alacsonyabb dimenziójú főtérbe vetíti.
A legegyszerűbb autoenkóderben, amely L2 veszteségfüggvényt alkalmaz, az optimális megoldás a súlyok és eltolások megtalálása, hogy a bemeneti adatokat a lehető legpontosabban rekonstruáljuk. A következő kifejezés szerint a tanulás célja a költség minimalizálása:
Az autoenkóder felépítésében a bemeneti adatokat először egy alacsonyabb dimenziójú reprezentációvá alakítjuk (ez az enkóder), majd a dekóder segítségével visszaállítjuk őket az eredeti térbe. Ha az autoenkóder lineáris aktivációs függvényt használ, a tanulás során az optimális súlyok és eltolások meghatározása történik, ahol a kimeneti réteg a bemenetek vetületét adja.
Az autoenkóderek tehát az adatok tömörítésére és dimenziócsökkentésére szolgálnak, de a kimeneti reprezentáció nem mindig egyértelműen rendezett a szórás csökkenő sorrendjében, mint ahogyan azt a hagyományos PCA teszi. Az autoenkóder így egy rugalmasabb megközelítést kínál, amely nem lineárisan is képes modellezni a bonyolultabb adatstruktúrákat, miközben az optimalizált súlyok segítenek az adatok jobb megértésében.
A lineáris autoenkóder és a PCA közötti kapcsolatot egy egyszerű tétel írja le, amely szerint a bemeneti adatokból kinyert első m fő komponens a W(2) mátrix első m szinguláris vektorainak felel meg. Ha a súlyok optimális megoldása során a bemeneti adatokra vetítve az autoenkóder a PCA-t alkalmazza, akkor a kimeneti adatok egy alacsonyabb dimenziójú, főtérre vetített verzióját kapjuk. Azonban a lineáris autoenkóder alkalmazása nem mindig adja vissza a pontosan ugyanazokat a főkomponenseket, mint a PCA, mivel az autoenkóder kimeneti koordinátái nem függetlenek, és nem csökkenő sorrendben rendeződnek a szórás alapján.
A PCA alkalmazásának egyik klasszikus példája a fix hozamú modellezés, ahol a főkomponensek a hozamgörbe napi mozgását jellemzik. Mivel a főkomponensek magyarázzák a görbe variabilitásának legnagyobb részét, a befektetők képesek fedezni a kockázataikat néhány eszközzel, különböző szektorokból. Az ilyen típusú modellezésre az autoenkóder megfelelő alternatívát kínálhat, különösen akkor, ha a változók nemlineáris kapcsolatokat mutatnak.
Az autoenkóderek tehát fontos szereplői lehetnek a pénzügyi modellezésnek, mivel lehetőséget biztosítanak az adatok tömörítésére, zajcsökkentésre, valamint a nemlineáris struktúrák kezelésére. Az alapértelmezett PCA-hoz képest előnyük, hogy rugalmasabbak, és jobban alkalmazkodnak az adatok komplexitásához. Mindezek ellenére, az autoenkóder hatékonyságának megértéséhez szükséges figyelembe venni, hogy az optimális megoldás eléréséhez az autoenkóder tanítása és finomhangolása is alapos elemzést igényel, különösen a pénzügyi adatok elemzése során.
Mi az integrált fejlesztői környezet (IDE) és hogyan támogatja a modern szoftverfejlesztést?
Hogyan válik a nosztalgia a horror forrásává David Lynch Twin Peaks: The Return című művében?
Hogyan befolyásolják a fénykép árnyékvonalát az időbeli és térbeli anomáliák?

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский