Információ, információ, információ
Ahogy nőttön nőtt az internet szerepe, és egyre nagyobb lett a naponta feldolgozandó információs özön, úgy változott a viszonyunk is az adatokhoz az elmúlt évtizedben. Az már néhány éve is köztudott volt, hogy az új keresőprogramok gyakorlatilag mérhetetlen mennyiségű adatot gyűjtenek az emberek internetes viselkedéséről és ezeket fel is használják.
Öt-tíz éve viszont még teljesen elképzelhetetlen volt, hogy ma szinte csak okostelefont lehet kapni új mobilkészülék vásárlásakor. Tömérdek mobil és pc app áll rendelkezésre, induló cégek százai célozzák meg az újabb és újabb internetes szolgáltatásokat.
A napi munkához egyre könnyebben férünk hozzá rendszerezett múltbeli adatokhoz, de könnyen tudunk ilyeneket gyűjteni saját magunk is. A nagy adat (big data) egy-két éve kulcstényezővé vált.
A nagy adatbázisok tudományos felhasználási lehetőségéről (csillagászat, genetika, rákkutatási, pénzügyi hálózatok, bitcoin piac stb.) lásd Csabai István fizikusprofesszor előadását december 10-én, szerdán 19:10-től a Corvinus Lectures in Finance című ingyenes és mindenki számára nyitott rendezvénysorozat keretében. |
Ezt a rengeteg elektronikus információt – munkahelyi célokra – hogyan dolgozhatjuk fel? Hagyjuk őket szabadon, vagy szerezzünk belőlük valahogy előnyt?
A nemzetközi pénzügyi szektor már a '80-as évek végétől nagy mennyiségű adatokkal rendelkezik. Valós idejű és historikus piaci adatok egyaránt a rendelkezésre állnak már egy jó ideje. Nagy információszolgáltató cégek terjedtek el a világban. A szabályozók (pl. BIS, FED, ECB) és intézményi szövetségek (pl. WFE, Eurostat, etc.) zöme gyűjt és tesz közzé adatokat. Mindemellett standard üzleti gyakorlattá váltak matematikai modellek, algoritmusok, amelyek ügyfél- és piaci adatokat is használnak.
Nem véletlen, hogy a mai banki iparág feladatainak nagy részét az informatikai támogatás adja. Ügyfelek millióinak szerződéseit kell hiba nélkül lebonyolítani, ezért hatalmas és megbízató adatbázisokra van szükség, amit jobb saját emberekre bízni. Az adatbázisokat kezelő szoftverek fejlesztését pedig professzionáli cégekre. Folyamatosan kell költeni és sokat. A nyílt forráskódú szoftverektől a bankvezetők általában ódzkodnak – hiszen bár könnyen beszerezhető a szoftver, de nem tűnik úgy, hogy bárki is garantálná a megbízhatóságukat. A nyílt forráskód azonban csak a fejlesztésre vonatkozik, ma már cégek zöme vállalja a nyílt alapú szoftverek egyedire alakítását, a megbízható üzemeltetést és a hivatalos szervek felé a szoftver validációját is. Magyarán vannak esetek, amikor egy nyílt forráskódon alapuló alkalmazás megrendelése üzletileg is működőképes. De milyen típusú adatkezelési feladatokra?
R: egy ingyenes szoftver – vonzó az egyetemeknek
A pénzügyi világ ma talán két legnépszerűbb open-source programja a Python és az R. Az általánosabb célú Python 23 éves, az elsősorban statisztikai programnyelvként szolgáló R 20 éves múltra tekint vissza. Volt idejük tehát fejlődni. Legnagyobb erejüket is ez adja: fejlesztő tízezrei ültek le a monitor elé és különféle csomagokat (library, package) dolgoztak ki, hogy egy-egy gyakran előforduló konkrét problémát ne kelljen többször is megoldani.
A csomagokat a közösségek által alkotott (szigorú és következetes) szabályok szerint készítik és a megfelelő honlapokon közzéteszik. Mindezt hobbiból vagy csak mert ezzel is erősítik azt a közösséget, amelytől ők maguk is várnak hasonló programokat. Vajon melyik óriáscég tudna ennyi fejlesztőt ilyen olcsón alkalmazni? És melyik óriáscég lenne képes kitalálni, hogy éppen kinek milyen problémamegoldó csomagra lenne szüksége?
Az említett nyílt forráskódú szoftverek nem véletlenül az egyetemeken terjedtek el leghamarább. Egyrészt, mindig itt található az a fogékony fiatalság, akik szívesen próbálnak ki a megszokottól eltérő dolgokat. Másrészt, az egyetemek zöme nem ad ki órási összegeket üzleti célú szoftverekre – se oktatási, se kutatási célból. A válság után mindezt különösen igazzá vált. A kutatók hamar felismerték az R programozási előnyeit is. Csakhogy, ha a tanár R-t használ kutatásaihoz statisztikai vizsgálatokra, előbb utóbb beviszi a tanórára is. A diákok megtanulják a használatát. Majd az üzleti életben is elkezdik ezek a hallgatók használni – hiszen ismerik a programnyelv adta lehetőségeket.
Bár a nyelv megtanulása kezdetben körülményes és a csomagokat sem mindig jól dokumentálják, a program meglepően hatékony megoldásokat kínál. Aki már szenvedett nagy adatbázisokkal és összetett algoritmusokkal, az kifejezetten élvezi az R-ben, hogy tipikus algoritmusokat, és adatkezelési problémákat nem kell a nulláról leprogramoznia, már készen van, megcsinálta valaki más. Innentől a programozás leginkább a legózáshoz hasonlít.
Mit tud az R programnyelv ma a bankároknak nyújtani?
Világos, hogy egy kutató vagy egy diák mit lát az R-ben. Na de egy gyakorló bankár? Azokban az új kihívásokban tudja használni, amit a megnövekedett információs kínálat okoz. Akkor, amikor fejleszteni kell, és nem akar milliókat költeni csak a „játszótérre”, ami az implementáció előtti szakaszban van.
Vagy kvantitatívabb munkája van, pl. Londonban. Ottani befektetési bankos volt diákok már évekkel ezelőtt küldtek demó R-kódokat, hogy idehaza is érezzük a „trendet”.
Az R nyelv úgynevezett szkript nyelv. Ez azt jelenti, hogy önállóan is futó programok készítése helyett az egyedi, gyorsan javítható algoritmusok készítésére alkalmas. Akár minden nap átírható egy kicsit. Az R nem helyettesíti az adatbázis-kezelőket és a táblázatkezelőket sem. Viszont könnyen kapcsolódik bármilyen adatbázis-szoftverhez, és egészen remek elemzéseket, szimulációkat lehet vele készíteni. Egy sor elemzői feladatot rövid időn belül el lehet vele végezni. Olyanokat, amire eddig nem volt igény, mert nem léteztek rá eszközök. Olyanokat, amik segítik a pontosabb döntést és ezzel javíthatják a versenyképességet.
Mint például? Pénzügyi kockázatkezelés: kockázat mérése és kitettségek szimulációja, banki scoring modellek készítése, látra szóló betétek volumenének kamatlábra való érzékenységének becslése, banki hálózatok feltérképezése, banki ügyfelek csoportosítása.... a sor hosszan folytatható.
Van-e magyar R-közösség? Lesz-e R a magyar bankokban?
Igen létezik. Elsősorban nem pénzügyi vonalon, de él és virul (//r-projekt.hu/). Például a programozó statisztikusok köre, vagy a bioinformatikus szakma már „megfertőződött”. Talán már a kvantitatív pénzügyi vonal is egy kicsit. Nem kell sok, hogy a magyar kereskedelmi bankok kockázatkezelő osztályain is alapfelszereltséggé váljon.
Aki még nem látott R-t, azoknak ajánlom ezt a kezdőknek készített honlapot és a pénzügyes haladóknak egy honlapot és egy bevezető jellegű könyvet, amit a tanszéki kollektíva írt az R pénzügyes alkalmazásáról.
Konklúzió
Az R nem csodafegyver, nem a big data megoldása, nem is ingyenes szuperprogram. Csak egy programozói közösség által évek óta fejlesztgetett statisztikai programnyelv, ami külföldön a bankszektorban már egy-egy feladatban már bizonyított. Kérdés, hogy más területeken és a magyar viszonylatban vajon elér-e sikereket?
Szerző: Havran Dániel
A FinLab blog szerzői a Budapesti Corvinus Egyetem Befektetések és Vállalati Pénzügy Tanszék oktatói és kutatói, de az írások minden esetben a szerzők magánvéleményét tükrözik.