Overfitting, Curve fitting: Mit jelent? Miért probléma a tőzsdén?

Cikkünkben az overfitting, curve fitting problémákkal foglalkozunk, melyek előbb utóbb minden tőzsdei kereskedőt érintenek. Vagy azért, mert ezekkel a módszerekkel szépítik meg számlakezelők, robotértékesítők az eredményeiket, vagy azért, mert a saját módszerünk visszatesztelése során követjük el ezeket a hibákat. Témáink:

  • Mi az alapja a tőzsdei kereskedésnek, tőzsdei befektetésnek?
  • Mit jelent a curve fitting, overfitting kifejezés?
  • Mit jelent a curve fitting?
  • Overfitting probléma a részvénypiacokon
  • Quantopian vizsgálat 888 algortimikus stratégiára

Mi az alapja a tőzsdei kereskedésnek, tőzsdei befektetésnek?

Befektetők, tőzsdei kereskedők szűkebb rétege eljut arra a szintre, hogy belátja, hírekre, tippekre, szakértőkre hagyatkozva nem lehet hosszú távon eredményesen kereskedni a tőzsdén. Saját tapasztalatok vagy különböző kutatások eredményeiből szűrjük le ezeket a következtetéseket, és elkezdünk olyan ismereteket összegyűjteni, melyek túlmutatnak a különböző tőzsdei közhelyeken, hiedelmeken, azaz múltbeli adatokon visszatesztelt, megfigyelt összefüggéseket használunk fel. Ezekből az összefüggésekből sok százat ismerünk, sokukról itt az oldalon vagy a tanfolyamunkon és a Tőzsdei Anomáliák könyvben is beszéltünk. Ugyanakkor azt is látni kell, hogy a múltbeli összefüggések felkutatása során is követhetünk el hibákat. Ezekről a hibákról is beszéltünk már részben az alábbi bejegyzésekben:

És végül elérkeztünk a curve fitting és overfitting problémájához, melyeket még részleteiben nem beszéltük meg.

Mit jelent a curve fitting, overfitting kifejezés?

Mindkét megnevezés arra utal, hogy a múltbeli adatokon futtatott teszteket túloptimalizáltuk, a jó eredmények annak köszönhetők, hogy a paramétereket a múltbeli adatokhoz igazítottuk. Ezt a hibát gyakran követik el az algoritmikus kereskedést folytató kereskedők, mivel nagyon könnyű így egy szabályrendszer eredményét a múltbeli adatokon feljavítani. A különböző forex, tőzsdei, kripto robotokat értékesítő cégek, számlakezelő cégek kedvenc módszere egyébként a curve fitting és az overfitting.

Mit jelent a curve fitting?

A matematikában a curve fitting a görbeillesztés kifejezésre fordítható le, melynek lényege, hogy különböző adatoknak az átlagos eredményét számítjuk ki egy az adatokra illeszkedő görbével. A tőzsde világában nagyon gyakori, hogy korrelációs vizsgálatot végzünk, azaz megnézzük, hogy két adat között van-e lineáris kapcsolat, és a lineáris regresszió eredménye egy az adatokra illesztett görbe. Bár a görbeillesztésnek számos módszere létezik, de a pénzügyek területén a lineáris regresszió a leggyakoribb módszer. A lineáris regresszióra nagyon jó példa a CAPE mutató (magyarázat a mutatóhoz itt), melynél azt vizsgáljuk meg, hogy a mutató értéke és a jövőbeni részvénypiaci hozam között van-e bármiféle kapcsolat. Ha ezt a vizsgálatot el szeretnénk végezni, akkor ehhez két dologra van szükségünk. Az egyik a CAPE mutató értéke minden egyes évben az adott tőzsde vonatkozásában, a másik pedig a következő évi hozam a tőzsdén. Ha ezeket az adatok felvisszük egy táblázatba az egyik oszlopba a CAPE a másik oszlopban a jövő évi hozamot, akkor egy egyszerű grafikonon ábrázolhatjuk az összes esetet, ahogy ez az alábbi képen is látható (Shiller professzor kutatási anyagából másoltam ki a CAPE grafikonját).

forrás: Robert J. Shiller

A fenti képen minden egyes pont a CAPE mutató értékét és a következő évi tőzsdei hozamot mutatja. Ha ránézünk erre a ponthalmazra, látható, hogy az adatok tulajdonképpen véletlenszerűen szóródnak, azaz magas CAPE (túlárazott, drága részvénypiac) esetén is vannak magas jövő évi, és alacsony jövő évi hozamok. Ugyanígy alacsony CAPE (olcsó részvénypiac) esetében is vannak magas és alacsony jövőbeni hozamok. Már ránézésre megállapítható, hogy a CAPE és a jövő évi hozam között nincs szoros összefüggés. Ha viszont pontosak akarunk lenni, akkor a lineáris regresszió segítségével a pontokra illeszkedő egyenest veszünk fel (lásd fenti grafikonon berajzolva), mely szerint a két adat között enyhe negatív kapcsolat van.

A fenti tehát a curve fitting folyamat matematikai értelemben, azonban a tőzsdei kereskedők a curve fitting alatt általában azt értik, hogy egy stratégia paramétereit addig optimalizáltuk, míg az adatsoron (in sample tesztelés) a legjobb eredményt adta, de más adatokon (out of sample tesztelés) a jó eredmények nem mutathatók ki. Az alábbi grafikonon mutatok egy példát a curve fitting esetére. A General Electric részvények piacán egy mozgóátlag alapú kereskedési stratégia jelzései szerint lépünk piacra. A kék görbe jól mutatja, hogy az időszak végére a kezdeti 10 ezer dolláros egyenlegünk 25 ezer dollárra emelkedik, jelentősen felülteljesítve a vedd meg és tartsd technika eredményét (piros színnel).

A fenti stratégiában 11 havi mozgóátlagot használunk, mely 14,84 százalékos évesített hozamot eredményezett 0,65-ös sharpe-ráta mellett. Ezzel szemben a vedd meg és tartsd módszer eredménye ezen az időszakon 7,87 százalékos évesített hozam, 0,29-es sharpe-ráta mellett. Az eredmények szépek, ugyanakkor, ha csak egy kicsit is megváltoztatjuk a paramétereket, akkor a szép eredmények eltűnnek. Esetünkben ez azt jelenti, hogy a 8, 9 vagy 12, 13 paraméterekkel már nem lesz ilyen jó eredményünk, ahogy akkor sem, ha egy másik részvényen, vagy egy nagyobb időszakon vizsgáljuk a stratégiát, lásd alábbi képen.

Fontos tehát tisztában lenni azzal, hogy a paraméterek túlzott optimalizálásával szinte bármely módszer, stratégia eredményessé tehető múltbeli adatokon (in sample), de ennek semmi köze nem lesz a stratégia valós teljesítményéhez, azaz out of sample adatokon a jó eredmények eltűnnek. Ezzel a módszerrel különböző számlakezelési szolgáltatások, forex, kripto, és tőzsdei robotok eredményei is megszépíthetők. Figyelmeztető jelzésnek tekinthető, ha a rendszer paramétereinek kismértékű megváltoztatása az eredmények lényeges megváltozását eredményezi. Megfordítva, az a robusztus rendszer, mely számos, eltérő hosszúságú időszakon, eltérő terméken, a paraméterek kisebb mértékű megváltoztatásával is hasonló eredményt hoz.

Overfitting probléma a részvénypiacokon

A curve fitting kifejezés inkább csak tőzsdei szlengnek tekinthető, valójában a problémát a szakirodalom overfitting név alatt tárgyalja, függetlenül attól, hogy mindkettő ugyanazt jelenti. Mindenesetre nem csak a forex robotok világában jelent problémát az overfitting, hanem a professzionális befektetők, alapkezelők körében is az egyik leggyakrabban elkövetett hiba. Egész egyszerűen arról lenne szó, hogy ha egy kereskedési algoritmust fejleszt egy professzionális kereskedő, intézményi befektető, alapkezelő, akkor alapvető elvárás, hogy a stratégia egy meghatározott sharpe-ráta szintet elérje, felülmúlja. A sharpe-ráta az egységnyi kockázatra vetített többlethozamot jelenti, és ebben az értelemben elsősorban az S&P500 index sharpe-rátája tekinthető kiindulási alapnak, mely kb. 0,4, azaz az amerikai részvénypiac 500 legnagyobb vállalatába történő befektetéssel az elmúlt évtizedekben egy százalék kockázat vállalásával 0,4 százalékos (kockázatmentes hozam feletti) hozamot realizáltunk. Sajnos amikor múltbeli adatokon különböző stratégiákat visszatesztelünk, és azok nem érik el a várt eredményt, akkor előfordul, hogy nem zárják ki a módszert, hanem további kiegészítő szabályokkal megpróbálják javítani a sharpe-rátát. Ez pedig a legtöbbször az overfitting hiba elkövetésében végződik. Egész egyszerűen arról van szó, hogy a stratégai javítása során jellemzően elemekre bontják a módszert, és az egyes elemek alapos tanulmányozása után „javításokat” eszközölnek. Ezek a javítások azonban a valóságban nem javítják a stratégia eredményeit, csak az in sample tesztekben.

A How should you discount your backtest PnL? cím alatt elérhető kutatásban példát is mutatnak a folyamatra, és többek között az alábbi grafikonon megfigyelhető, hogy az eredetileg gyengébb eredményt hozó változatot (kék színnel) milyen könnyű javítani (szürke és sárga színek), de ezek a javítások csak a múltbeli, in sample adatokon hoznak eredményt.

forrás: How should you discount your backtest PnL?

Quantopian vizsgálat 888 algortimikus stratégiára

A Quantopian vizsgálata nagyon jó példa arra, hogy az overfitting egy igen gyakori hiba az algoritmus fejlesztés során. A Quantopian egy közösségi finanszírozással létrejött hedge fund volt (2020 októberében befejezte a működését), mely egy ingyenes platformot hozott létre, ahol bárki, bármilyen kereskedési algoritmust lefejlesztheti, visszatesztelhet. A nagyságrendek jól láthatók abból, hogy a felhasználók öt év alatt 800.000 ezer visszatesztelést végeztek. A cég munkatársai kiadtak egy részletes kutatást, melyben a platformon lefejlesztett 7152 egyedi algoritmusból 888 programot kiválasztottak, és visszateszteltek out of sample adatokon (in sample és out of sample tesztelés közötti különbségről itt beszéltünk).

A kutatás részleteit itt olvashatod el , de a főbb megállapítások közül kiemelnék egyet:

„Specifically, we find that commonly reported backtest evaluation metrics like the Sharpe ratio offer little value in predicting out of sample performance (R² < 0.025).”

A fentiek nagyvonalakban azt jelentik, hogy a múltbeli adatokon (in sample) kimutatott teljesítmény és a jövőbeni adatokon kimutatott teljesítmény között alig van korreláció (R2 magyarázat itt) összefüggés. Az alábbi kép baloldalán azt láthatjuk, hogy az in sample teszt (x tengely) eredménye és az out of sample teszt (y tengely) eredménye között enyhe negatív kapcsolat van. Ha pedig sharpe-ráta alapján vetjük össze az eredményeket, akkor nagyon alacsony, de pozitív korrelációt látunk az in sample és az out of sample eredmények között. A bejelölt területen vannak azok a robotok, melyek in sample és out of sample eredményei között összhang van, de a többség nem tartozik ebbe a körbe.

forrás: All that glitters is not gold..

Nagy átlagban vizsgálva tehát a múltbeli adatokon kimutatott eredmény nem hozható összefüggésbe a jövőbeni adatokon elért eredménnyen a Qantopian vizsgálata szerint. Ennek egyik oka, hogy a stratégiák a múltbeli adatokon túloptimalizáltak, azaz a fejlesztők elkövették az overfitting hibáját.

Ha kérdésed van a fentiekkel kapcsolatban, hozzá szeretnél szólni a témához, csatlakozz facebook csoportunkhoz ide kattintva!

Tanfolyamaink:

Új tartalmak