Situácia na trhoch s energetickými komoditami sa dynamicky mení. Preto je nevyhnutné mať k dispozícii nástroje, ktoré umožnia nielen rozpoznať zmenu trhu, ale aj simulovať takéto situácie na trhu a posúdiť ich vplyv na obchodné portfólio.
Je možné efektívne simulovať vývoj cien na burzách s energetickými komoditami? Ceny energetických komodít na burzách so sebou prinášajú značnú volatilitu. Obchodovanie s nimi preto okrem možnosti zarobiť, prináša aj značné riziká.
Subjekty, ktoré obchodovanie s energetickými komoditami berú vážne a majú kvalifikovaných portfólio manažérovsi dané riziká veľmi dobre uvedomujú. Na podporu rozhodovania a riadenia rizika preto využívajú expertné nástroje a systémy, ktoré im prinášajú dôležité informácie o dianí na burzách.
Simulácia vývoja na burzách spolu s vyhodnocovaním rôznych budúcich situácií a ich vplyvu na obchodné portfólio patria medzi kľúčové činnosti pre podporu obchodných rozhodnutí. Vzhľadom na komplexnosť daných procesom a informácií, väčšina spoločností na obchodovanie a risk manažment využíva ETRM (Energy Trading Risk Management) informačný systém.
Obchodníci pri analýze možných dopadov trhových zmien na ich portfólio vykonávajú vo všeobecnosti dve skupiny úloh:
- Prvá skupina úloh sa zaoberá problematikou precenenia aktuálnych obchodných vzťahov, kde firma kalkuluje rôzne rizikové indikátory a na základe výsledkov môže korigovať svoju pozíciu, prípadne vzťah ku obchodným partnerom.
- Druhá skupina úloh je zameraná na simuláciu metodiky otvárania a uzatvárania obchodnej pozície, kde sa sleduje možný dopad vybraných stratégií na riziká, ktoré môže ovplyvniť finančnú kondíciu spoločnosti.
V tomto texte sa zameriavame na odbornú štúdiu jednej z možností, ako dané úlohy podporiť spojením expertízy z oblastí IT, finančnej matematiky a energetiky. Konkrétne ide o implementáciu princípov matematickej simulácie Monte-Carlo do IT infraštruktúry venovanej obchodovaniu s energetickými komoditami.
Spomínaná kombinácia umožní v krátkom čase simulovať tisícky možných scenárov vývoja trhu a identifikovať tak možné rizika štruktúry portfólia, alebo kvantifikovať rôzne stratégie pôsobenia na trhu...
Simulácia Monte-Carlo
Názov simulácie nie je náhodný. Rovnako ako v kasíne sa pri simulácií pracuje s náhodným prvkom podobným „hádzaniu kocky“.
Pre potreby štúdie však nešlo o náhodné generovanie čísla 1 až 6, ale o generovanie popisu trhu a iných vonkajších premenných. Ide o premenné, ktoré majú významný vplyv na skúmané portfólio, ale zároveň ich nie je možné s dostatočnou presnosťou vopred určiť.
Základný princíp simulácie je jednoduchý a pozostáva z 5 základných krokov:
- Inicializácia simulácie, kde sa na základe vstupných dát pripravia štruktúry popisujúce simulované prostredie a inicializujú sa potrebné moduly realizujúce príslušné výpočty. Zo vstupných dát sa výpočtom získajú parametre pre kalibráciu simulačných vzorcov.
- Vygeneruje sa náhodné nastavenie trhu, ktoré slúži ako podklad pre realizáciu operácii jednotlivými modulmi.
- Realizácia simulácie s požadovaným cieľom (napr.simulovanie zmeny trhovej situácie, výpočet sledovaného rizikového kritéria).
- Do preddefinovaného úložiska sa odložia čiastkové výsledky za jednotlivé simulácie v rámci daného nastavenia trhu.
- Čiastkové výsledky sa agregujú do spoločnej množiny, nad ktorou sa odvodia výsledky simulácie. Zvyčajne sa jedná o štatistické spracovanie veľkého množstva dát do interpretovateľných výsledkov.
Kroky 2. až 3. sa zrealizujú opakovane požadovaný počet krát.
Typickým výsledkom celej simuláciebýva hľadaný kvantil spoločnej množiny, teda hodnota, ktorá predstavuje medznú hodnotu medzi akceptovateľnými a neakceptovateľnými výsledkami na prípustnej miere akceptovateľnosti rizika. Tiež je zaujímavé poznanie štatistického rozdelenia reakcie portfólia na vývoj trhu, alebo jeho citlivosť na zmenu trhového prostredia.
Nemenej zaujímavým využitím takéhoto mechanizmu analýzy portfólia je hľadanie odpovedí na otázky typu:
- Aký dopad môže mať rast, resp. pokles trhových cien?
- Čo ak sa zmenia korelácie medzi rizikovými faktormi?
- Aký dopad na portfólio môže mať rozkývanie cien na trhu vzhľadom na interne nastavené limity?
Odpovede na tieto otázky sú tiež doménou vhodne navrhnutej, implementovanej a pripravenej Monte-Carlo simulácie.
Implementačné požiadavky
Vychádzajúc z vyššie popísaných očakávaní sa kladú na implementáciu Monte-Carlo simulácie nasledovné základné požiadavky:
- Nezávislosť simulácie odostatných aplikácií.
- Škálovateľnosť a distribuovateľnosťvo vzťahu k dostupnému hardvérovémuprostrediu.
- Modulárnosť a otvorenosť architektúry.
Popri týchto technických požiadavkách sa priam vnucuje požiadavka na cielene modelovaný vývoj trhu s pozmenenými parametrami simulácie. Takáto možnosť poskytuje nástroj na vykonanie tzv. What-If analýzy, kedy sa sleduje vývoj za predpokladu, že niektoré parametre sú fixné, alebo inak cielene nastavené, aby definovali želané trhové podmienky.
Nezávislosť od ostatných aplikácií
Monte-Carlo simulácia je výpočet, ktorý býva časovo náročný a preto je vhodné, aby proces pracoval nezávisle od ostatných aplikácií. Najčastejšie sa jedná o proces, ktorý je spustený na serveri nezávisle odďalších aktivít ostatných aplikácií.
Aplikácia pre obchodovanie s komoditami a riadenie rizík (ETRM), ktorá tento výpočet zastrešuje,používa simuláciu Monte-Carlo tak, žeposkytne potrebné údaje pre výpočet požadovaných štatistík, ktoré kalkuluje Monte-Carlo samostatne.
Z dôvodu nezávislosti simulácie od okolitých aplikácií je potrebné definovať rozhranie, ktorým dáta z ETRM systému budú vstupovať do simulácií a opačne, ktorým sa výsledky simulácií odovzdajú ETRMsystému.
Škálovateľnosť a distribuovateľnosť
Zjednodušene sa dá povedať, že Monte-Carlo simulácia je mnohonásobné zopakovanie toho istého výpočtu, kde jednotlivé opakovania na sebe nie sú závislé. To priamo vedie ku myšlienke, že tieto výpočty môžu byť spustené paralelne vo viacvláknovom prostredí.
Vhodne navrhnutý systém berie tento fakt do úvahy už pri návrhu svojej architektúry a jednoduché pridanie dostupných systémových prostriedkov (pamäte a dostupných výpočtových vlákien) umožní bez ďalšieho zásahu zvýšiť rýchlosť výpočtu.
Napríklad jednou z možností ako znížiť veľké množstvo dát, ktoré je potrebné na záver spoločne spracovať a vyhodnotiť je metodika, kedy sa neodkladajú dáta tak ako boli nasimulované, ale skôr vo forme agregátu, tak aby sa nestratila štatisticky významná informácia potrebná pre finálny výsledok.
Modulárnosť
Koncept Monte-Carlo simulácie je pomerne všeobecný a používa sa vo veľkom množstve aplikácií v rôznych oblastiach. Aj v rámci aplikácií pre energetiku a riadenie rizíkje viacero oblastí, kde sa takýto prístup ku analýze môže efektívne použiť.
Každá z týchto aplikácií však pracuje s iným druhom dát a iným spôsobom výpočtu a preto je vhodné, ak sa základný rámec Monte-Carlo simulácie navrhuje ako modulárny systém s dodatočnou možnosťou doplnenia nových modulov bez nutného zásahu do jadra simulácie.
Podľa použitia môžeme simulačné moduly rozdeliť na tri typy:
- moduly modelujúce správanie simulovaných veličín,
- moduly realizujúce výpočet rizikového indikátora,
- moduly reprezentujúce správania podľa definovaných pravidiel.
Moduly modelujúce správanie simulovaných veličín modelujú správanie trhu, alebo výskyt náhodnej udalosti pričomsa výpočty realizujú na tzv. nakalibrovanom modeli podľa vstupných dát. Totonastavenie jefixné v priebehu celej simulácie a platí pre všetky simulujúce procesy.
Foto: Pixabay
Moduly realizujúce výpočet rizikového indikátora obsahujú výpočet sledovanej veličiny (napríklad Value at Risk, Credit at Risk, Profit at Risk a pod.). V rámci ich výpočtu sa jedná o pasívne spočítanie ukazovateľa a odloženie si jeho hodnoty na záverečné vyhodnotenie a žiadnym spôsobom neovplyvňujú štruktúru dát, ktoré sú inicializované v rámci simulácie.
Moduly reprezentujúce správanie podľa definovaných pravidiel, na rozdiel od výpočtových modulov, realizujú zmenu dátovej štruktúry na základe definovaných pravidiel, čo následne môže ovplyvniť priebeh simulácie alebo výpočtové moduly. Príkladom takéhoto modulu sú:
- Simulácia postupného zatvárania/otvárania pozície za účelom jej ohodnotenia vzhľadom na trhové očakávania.
- Simulácia zatvárania otvorenej pozície pri prekročení limitov.
- Simulácia výpadku zdroja alebo simulácia platobnej neschopnosti obchodného partnera, čo má za následok zmenu otvorenej pozície.
V rámci realizácie simulácie je potom potrebné, aby sa moduly spúšťali v príslušnom poradí, tak aby to zodpovedalo skutočnosti a rizikové ukazovatele sa počítali na aktualizovaných dátach. Dôležitým aspektom implementácie modulov je ich zapúzdrenosť, čo v praxi znamená, že daná implementácia realizuje všetky operácie vo svojej réžii.
Architektúra riešenia
Foto: Unsplash
Simulácia ako jeden z výpočtov, s ktorými oddelenia riadenia rizík pracujú sa na záver musí integrovať do ETRM riešenia, tak aby mohli byť plne využité všetky benefity.
V rámci automatických procesov v ETRM systémoch sú zvyčajne dáta vhodné pre simuláciu k dispozícii ku koncu obchodného dňa prípadne aj v reálnom čase v priebehu dňa. Obyčajne sa jedná o spočítanú štruktúru obchodnej pozície, importované trhové ceny a podobne.
V rámci konfigurácie užívateľ môže nastaviť viacero rôznych výpočtov v rôznych konfiguráciách a mal by mať možnosť zadefinovať:
- Technické parametre simulácie ako počet cyklov, parametre výpočtu volatility a korelácie a podobne.
- Model simulácie trhu.
- Zoznam a zdroj dát jednotlivých modulov, ktoré sa budú simulovať.
Samotný výpočet potom pozostáva z troch fáz:
- Identifikácia a príprava dát.
- Beh simulácie.
- Spracovanie a uloženie výsledkov.
Vo fáze identifikácie a prípravy dát jednotlivé moduly zrealizujú analýzu svojich nastavení a vykonajú prípravné výpočty a algoritmy, ktorých cieľom je príprava vstupných dát pre simuláciu a identifikácia rizikových trhových faktorov, ktoré podliehajú simulácii.
Tieto informácie sa zozbierajú zo všetkých modulov a vytvoria tak definíciu trhu, ktorý sa bude simulovať. Dôležité je zameranie simulácií na premenné, ktoré majú vplyv na trhovú situáciu.
Výsledkom bude množina trhových veličín pre simuláciu trhu a modulové dáta potrebné pre výpočet štatistík modulu. Jeden modul môže byť v rámci jednej simulácie použitý v rôznych nastaveniach aj viacej krát (napr. výpočet VaR pre rôzne trhy).
Vo fáze simulácie sa dáta odsimulujú a pripraví sa výstup, ktorý savo fáze spracovania uloží do ETRM v rámci jeho dátových štruktúr a procesov. Každý modul si tieto dáta spracuje vlastnou logikou a zabezpečí správne uloženie dát.
Komunikácia, resp. predávanie si dát, medzi jednotlivými fázami je vhodné realizovať formou perzistentných dát, čo umožní ich nezávislé spúšťanie a možnosť zavedenia what-if analýzy.
Vzhľadom na takýto druh integrácie je potrebné, aby pojem modul, prechádzal naprieč jednotlivými časťami ETRM systému, pričom musí mať svoju implementáciu pre každú časť výpočtu. V praxi to znamená, že okrem implementácie modulu, ktorá beží v rámci samotnej simulácie sa musí pre potreby konkrétneho ETRM implementovať funkcionalita, ktorá pozostáva z implementácie:
- konfigurácie a prípravy dát, tzn. užívateľského rozhrania a algoritmov, ktoré dokážu čítať dáta klientskeho systému,
- spracovania výsledkov a uloženia dát.
Celý proces prípravy dát, výpočtu a spracovania výsledkov môže trvať niekoľko desiatok minút a pre zložitejšie simulácie aj hodiny.
Po ukončení prvej fázy výpočtu (príprava dát), ktorá môže trvať aj dlhšiu dobu, sú známe všetky premenné, ktoré podliehajú simulácii aponúka sa priestor na manuálne nastavenie niektorých parametrov, za účelom tzv. what-if analýzy, kedy si užívateľ kladie otázku, ako by dopadol výsledok simulácie, ak na trhu predpokladám nejaký scenár vývoja. Takýto scenár môže simulovať:
- prepad, resp. rast, cienvo vybranom období,
- zvýšenú volatilitu cien vo vybranom období,
- narušenie korelácie medzi vybranými trhovými faktormi,
- prípadne iné parametre naviazané na špecifiká/premenné simulačného modelu trhu.
Aby bolo toto možné zadefinovať, priebeh simulácie musí byť zastavený dovtedy, pokiaľ užívateľ svoje zmeny nepotvrdí a až potom sa môže spustiť samotný výpočet.
Zároveň je potrebné brať do úvahy aj situácie, kedy je požadované spustiť viacero simulácii súčasne a neobmedzovať užívateľa tým, že práve beží skôr spustená simulácia a je potrebné čakať.
Tieto komplikácie sa dajú ľahko odstrániť v prípade, keď je výpočet separovaný do troch samostatných blokov. Ich spúšťanie riadi dispečerský mechanizmus, ktorý realizuje spúšťanie jednotlivých fáz výpočtov:
- Užívateľ nakonfiguruje a spustí výpočet. Požiadavka sa uloží do poradia pre prípravu dát.
- Dispečerský mechanizmusoverí, či je k dispozícii voľný priestor pre realizáciu prvej fázy a ak áno, tak simuláciu spustí.
- Po skončení prvej fázy sa simulácia zaradí buď do poradia na spustenie výpočtu, alebo do poradia na nastavenie parametrov pre what-if simuláciu.
- Ak bola simulácia určená na what-if analýzu a parametre boli užívateľom zadefinované, tak sa zaradí do poradia na spustenie výpočtu.
- Dispečerský mechanizmus si overí, či sú k dispozícii voľné prostriedky na beh simulácie a ak áno, tak pustí ďalšiu v poradí.
- Po skončení výpočtu sa simulácia zaradí do poradia na spracovanie výsledkov.
- Dispečerský systém po overení možnosti vykonať uloženie výsledkov, zrealizuje proces ukladania pre prvé neuložené výsledky.
Takýto mechanizmus riadenia Monte-Carlo simulácie má viacero výhod:
- minimalizované čakacie doby užívateľa na prácu so simuláciou v jednotlivých fázach, robustnosť. V prípade výpadku a opätovného spustenia systému sa simulácie znova spustia vo fáze, ktorá je na rade a nemusia sa znova púšťať už zrealizované výpočty,
- nezávislosť práce užívateľa od samotného výpočtu, čo vedie ku vyššej efektivite,
- možnosť naplánovať automatické spustenie simulácia aj za predpokladu, že práve teraz beží výpočet, ktorý spustil užívateľ,
- možnosť priorizovať simuláciu, ak sa jedná o výpočet, ktorý užívateľ potrebuje ako prvý a nechce čakať na dobeh skôr pustených simulácii.
Ideálnym riešením je plná integrácia do firemného ETRM, kde má užívateľ k dispozícii všetky dáta pre vstupy a zároveň i dátové štruktúry pre výstupy simulácie.
Ak takéto riešenie nie je možné, alebo jeho implementácia je príliš náročná, tak pri vhodne zvolenej architektúre je možné realizovať aj prístup prostredníctvom externých nástrojov, čo však vyžaduje na strane užívateľa, resp. ETRM systému, generovať vstupy v presne definovanej podobe, ktoré sa cez vytvorený kanál transformujú do štruktúr pre simuláciu a opačne výsledky transformuje z výstupných štruktúr do užívateľovi akceptovateľného formátu.
Záver
Situácia na trhoch, kde sa realizuje obchod s energetickými komoditami sa rýchlo a dynamicky mení a tieto zmeny môžu mať ako pozitívny tak aj negatívny dopad na obchodné portfólio spoločností, ktoré obchodujú s energetickými komoditami.
Preto je nevyhnutné mať k dispozícii nástroje, ktoré umožnia nielen rozpoznať zmenu trhu s vysokou volatilitou, ale aj simulovať takéto situácie na trhu a posúdiť ich vplyv na obchodné portfólio.
Práve simulácia metódou Monte-Carlo je užitočný nástroj v rukách manažéra rizík, ktorý takéto možnosti poskytuje.Zavedenie nástroja do firemných procesov môže pomôcť včas identifikovať slabé miesta v obchodnej stratégii a tým vytvorí priestor na včasné a správne zásahy do obchodnej stratégie.
Ako bolo ukázané vyššie simuláciu Monte-Carlo je možné používať viacerými spôsobmi a aj množstvo nastaviteľných parametrov ovplyvňuje jej efektivitu, presnosť a rýchlosť. Preto pre využitie benefitov, ktoré táto metóda poskytuje je rozhodujúca vhodná systémová architektúra, efektívna SW implementácia a správne používanie simulácie Monte-Carlo.
Dosiahnuté výsledky (publikácia, patent, ochrana priemyselného vlastníctva, iná aktivita) vznikli v rámci riešenia projektu „Pokročilé nástroje pre zber a spracovanie údajov pre predikciu spotreby elektrickej energie lokálneho distribučného systému“, ktorý je podporovaný Ministerstvom školstva, vedy, výskumu a športu SR v rámci poskytnutých stimulov pre výskum a vývoj zo štátneho rozpočtu v zmysle zákona č. 185/2009 Z. z. o stimuloch pre výskum a vývoj.
Referencie:
[1] Katarína Bachratá, Martin Klimo: ProcessAnalysis, EDIS, Žilina, 2008, ISBN: 978-80-554-0061-7.
[2] AthanasiosPapoulis: Probability, RandomVariables, and StochasticProcesses, McGraw-Hill, Inc., International, 1991.
[3] Milan Mikola, Viliam Chvál: Lineárna algebra, Katolícka univerzita v Ružomberku, 2000, ISBN 80-89039-00-6.
[4] Gönül AYRANCI, Banu ÖZGÜREL: Monte Carlo SimulationforVasicekInterest Rate Model Parameters, DigitalProceeding Of The ISDS’2014 - , Side, Turkey, May 10 – 14, 2014, Prevzaté z: https://www.researchgate.net/publication/275823417
[5] JoelJohansson, Anton Engblom: Modelsfor Credit Risk in StaticPortfolios, University of Gothenburg, School of Business, Economics and Law, Department of Economics and Statistics, BachelorThesis, 2015, Prevzaté z: https://gupea.ub.gu.se/bitstream/2077/39750/1/gupea_2077_39750_1.pdf
[6] Thijs van den Berg: Calibrating the Ornstein-Uhlenbeck (Vasicek) model, 28.05. 2011, Prevzaté z: https://www.statisticshowto.com/wp-content/uploads/2016/01/Calibrating-the-Ornstein.pdf
PR článok spoločnosti IPESOFT spol. s.r.o.
© PROPERTY & ENVIRONMENT s. r. o. Autorské práva sú vyhradené a vykonáva ich vydavateľ.