Devizakockázat-fedezés támogatása VBA környezetben

OData támogatás
Konzulens:
Dr. Martinek Péter
Elektronikai Technológia Tanszék

Szakdolgozatomban bemutattam, hogy a vállalati kockázatkezelés milyen keretek között zajlik, hogyan illeszkedik a vállalati struktúrába, megmutattam, melyek a legfontosabb kezelendő kockázatok. Úgymint működési, pénzügyi, jogi és környezeti kockázat. Bemutattam, hogy az érett kockázatkezelés milyen lépésekből áll.

Részletesen kitértem a pénzügyi kockázatok egy speciális csoportjára, a deviza-kockázatokra. Megmutattam, hogy milyen kezelési lehetőségeik vannak. A fókuszba a származtatott termékek kerültek, de a biztosításokról is szót ejtettem. Ezek után részleteztem, hogy mely piacokon tud a vállalat származékos termékekhez jutni, ezek milyen jellemzőkkel bírnak. A következő fejezetben részletesen bemutattam a legfontosabb derivatív termékeket, nevezetesen a határidős ügyleteket, a swapokat és az opciókat. A dolgozat alapvetően az opciókra épít, így velük még részletesebben foglalkoztam. Bemutattam, milyen szereplői vannak egy opciónak, milyen pozíciókat lehet felvenni, milyen profitra lehet szert tenni, és már itt hangsúlyoztam a kockázatkezelésben betöltött szerepüket.

A következő szakasz az opcióértékelésről szólt. Részletesen bemutattam a Black-Scholes és a binomiális modellt. Deklaráltam az előbbi alapfeltevéseit, majd megmutattam a részvényárfolyam-mozgás markovi folyamatát. A sztochasztikus viselkedésre alapozva levezettem a részvényárfolyam mozgásának egyenletét. Ezek után a Wiener-folyamatokra építve megvizsgáltam a részvényre szóló derivatíva árváltozásának alakulását. Ahol volt rá lehetőség, részletes levezetést adtam közzé, ahol nem, ott minden esetben feltüntettem a levezetést tartalmazó forrást. Az Ito-lemma levezetését egy rövidített formában a melléklet is tartalmazza.

Ezután a binomiális modellt vázoltam fel. Először csak az egy periódusú binomiális fákkal foglalkozva, majd rátértem a komplexebb fákra. Felvázoltam az árazás menetét, a fák szerkesztésének folyamatát és a szükséges ismeretlen paraméterek meghatározásának elveit.

A következő fejezetben megterveztem egy opcióárazó programot. Megvizsgáltam, milyen elágazásokra lehet számítani a programban, a felhasználó milyen kapcsolatot tud fenntartani, és a fejlesztendő rendszer hogyan illeszkedik a vállalat és a piac struktúrájába. A fejlesztés képes mind európai, mind amerikai opciók, valamint osztalékot nem fizető és fizető alaptermékre szóló opciók árazására. Meghatároztam, hogy a felhasználónak milyen paramétereket kell megadnia, melyek nélkül a program nem lenne képes helyesen működni.

Ezek után implementáltam a programot Visual Basic for Applications (VBA) környezetben. A fejlesztés során a megelőző fejezet tervezési logikáján haladtam végig. Inkrementális fejlesztést alkalmaztam. Először az alapvető (európai, osztalékot nem fizető, call) opciók árazását valósítottam meg, majd következett az extra funkciók implementálása. A kész program egy nagy állapotgép, az egyes állapotok aktivizálódása a felhasználó által kapott paraméterektől függ.

Ezután igyekeztem a lehető legszélesebb spektrumon tesztelni a programot. Automatizált tesztelő modul fejlesztésére nem volt lehetőségem, így kézzel valósítottam meg az egyes funkcionális egységek tesztelését. Ellenőriztem a binomiális fák, az árazás, az osztalékfizetés, a call és a put, az európai és az amerikai opciók kezelésének helyességét. Rávilágítottam arra, hogy a tesztelendő elemek rendkívül nagy számossága miatt manuálisan nem garantálható a program teljes hibátlansága, de biztosítható, hogy a leggyakrabban előforduló esetekben a program kis hibaszázalékkal működjön.

Az utolsó előtti fejezetben árfolyamszcenáriók építésével felhasználhatóvá tettem az opcióárazás eredményét. Három, egymástól eltérő véletlen árfolyamszcenárióra hasonlítottam össze egy referencia opciót egy azonos tulajdonságú határidős ügylettel, és rámutattam, hogy az opciók elsősorban a nem várt, jelentős ingadozások ellen képesek megvédeni a vállalatot.

Az utolsó fejezetben kitértem a lehetséges fejlesztési lehetőségekre. Érdemes lenne a tesztelést automatizálni, kiszűrve az esetleg a programban maradt hibákat. Ugyancsak elgondolkodtató ötlet a program összekötése a kereskedési rendszerekkel, így rögtön az ügyletek megkötésére is képessé válna. Szintén remek ötlet lenne, ha a program több, egyenként beárazott opcióból összetett piaci pozíciókat lenne képes kialakítani, maximalizálva a nyereséget. Ezen utóbbi két funkció túlmutat a kockázatkezelő vállalatok által használt szoftverek funkcióin, de mindenképpen elgondolkodtató a bennük rejlő potenciál.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.