Framework pro zátěžové testy EBA

Co jsme řešili

Častou a významnou úlohou jsou simulace scénářů budoucího vývoje a jeho dopadu na portfolio banky. Tyto scénáře pro zátěžové testy jsou časo definovány i regulátory. Jedním z nich je zátěžový test požadovaný EBA v roce 2018. 

Podobná zadání jsou často ad-hoc rešeny pomocí různých jednoúčelových skriptů a výpočtů, které jsou po ukončení v podstatě zahozeny. 

Při návrhu našeho řešení jsme se snažili vydat alternativní cestou. Cestou vytvoření nástroje, který by analytika oprostil od množství detailů nutných k provedení jednotlivých kroků, ale aby se mohl soustředit na to, co chce provést. Zavedli jsme abstrakci v podobě doménově specifického jazyka, který reprezentuje jednotlivá portfolia pomocí proměnných, nad kterými je možné volat funkce jako RWA (rizikově vážená aktiva), ECL (opravné položky podle IFRS 9) nebo migrace podle přechodových matic pro účely simulace vývoje portfolia.

"Hledali jsme efektivní řešení pro zátěžové testy dané EBA z roku 2018. Tým CloseIT nám představil architekturu pro nástroj, který by bylo možné efektivně použít pro další cvičení v rámci RBI group i v budoucnosti, a to s minimálními úpravami. Od začátku projektu mě překvapila perfektní podpora a spolupráce, díky které jsme byli schopni všechny problémy relativně rychle vyřešit," uvádí pro začátek Christian Steinlechner, Senior Risk Solution Manager v Raiffeisen Bank International a product owner nástroje CRM.

Náš nástroj poskytuje přehledný způsob pro vytváření i velmi komplikovaných simulačních scénářů, které lze následně snadno reprodukovat nebo analyzovat.

Jak jsme řešili

Pro zefektivnění a automatizování zmíněných úloh jsme vytvořili framework tvořený několika nezávislými moduly a jazykem, kterym jsou jednotlivé scénáře definovány. 

Prvním úkolem nového frameworku nazvaného jednoduše CRM (Credit Risk Management) byla implementace zátěžových testů EBA 2018. Všechny moduly musely splňovat výše uvedené kritéria a navíc požadavek na maximální efektivitu, protože při simulacích dochází k výpočtům na mnohem větším množstvím účtů, než při "běžných" produkčních RWA nebo ECL výpočtech.

"Většinu našich budoucích zátěžových testů budeme řešit v nástroji CRM. Software je plně přizpůsoben našim potřebám: v případě potřeby může uživatel vkládat data pomocí uživatelsky přívětivého ETL nástroje a řídit celý proces pomocí orchestračních skriptů. Nástroj je také snadno konfigurovatelný a škálovatelný a nemusíme do něj implementovat každou změnu v kódu aplikace nebo spustit release s novou verzí," pokračuje Steinlechner.


Výpočet opravných položek podle IFRS 9 
Tento modul jsme již vytvořili pro jiné účely v minulosti. Bylo potřeba udělat několik změn z ohledem na specifika simulací. Specifické požadavky byly řešeny pomocí runtime přepínačů. Provedli jsme další optimalizace pro zvýšení rychlosti výpočtů tak, aby kompletní výpočet ECL u více než miliardy simulovaných účtů netrval více než několik hodin na běžném serveru.   

Rizikově vážená aktiva (Risk Weighted Assets) 
Dalším ze sledovaných risk parametru je RWA pro který jsme vytvořili samostatný modul. Modul implementoval standardní výpočet RWA (STD i IRB approach) nad datovým modelem, který jsme definovali pro celý CRM produkt. Jednotlivé varianty výpočtu je možné přepínat pomocí konfigurace.

Simulation lab
Komponenta má na starosti simulaci vývoje portfolia na základě definovaných předpovědních modelů. Simulace je řízena scénaři a přechodovými maticemi pro jednotlivé části portfolia. Matice jsou uloženy v uživatelsky definovatelné databázi. 

Reporting module
Podle snadno konfigurovatelného schématu jsou výsledky agregovány, dále zpracovány a nakonec vloženy přímo do šablony ve formátu MS Excel poskytnuté EBA.

Centrální DB
Všechny komponenty používají jako jediné úložiště centrální databází založenou na MongoDB. Tato databáze je přístupná nezávislým systémům i uživatelsky definovaným modulům v rámci CRM.

Uživatelsky definované moduly
Vyjma našich standardních modulů je uživatel schopen vytvářet vlastní transformační procedury a výpočty, které můžou být začleněny do simulačních scénářů.

Orchestrator
Pro definici scénářů jsme vytvořili simulační jazyk, ve kterém je uživatel schopen transparentně spouštět jednotlivé komponenty a předávat jim výstupy předchozich výpočtů nebo další parametry. Jedná se v podstatě o plnohodnotný jazyk groovy takže je možné využít všech konstruktů jazyka - proměnné, cykly, obsluhu výjimek atd. Pomoci tohoto jazyka je možné definovat kompletní scénář, který je pak systémem spušten. Pro psaní scénářů není potřeba zkušenosti s programováním a zvládne jej každý "poučený" uživatel - business analytik.

Jak to dopadlo?

Zátěžové testy EBA 2018 představují komplikované cvičení, které vyžadovalo spolupráci expertů v několika doménách. Náš CRM framework se ukázal jako dostatečně výkonný a zároveň flexibilní, takže jsme byli schopni implementovat dynamické požadavky bez změn architektury.

A ještě důležitější je, že framework je nasazen pro další simulace a zátěžové testy v rámci celé skupiny RBI, takže se jeho vývoj z dlouhodobého hlediska vyplatil.

"Výsledek je fantastický. Když to přeženu, pro některá naše významná portfolia je výpočet ECL hotový rychleji, než si zajdu do kuchyňky pro kafe," komentuje na závěr s úsměvem Christian Steinlechner.