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 (https://www.eba.europa.eu/risk-analysis-and-data/eu-wide-stress-testing/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. Z toho důvodu bylo jednoznačné zadání v použití otevřených technologií, spolehlivosti a transparentnosti a hlavně znovupoužitelnosti pro všechna podobná cvičení ať už definovaná regulátorem nebo pro interní použití banky.

Jak jsme řešili

Pro zefektivnění a automatizování těchto testů 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 portfolií, než při "běžných" produkčních RWA nebo ECL.

IFRS9 Provisions výpočet 
Tento modul jsme již vytvořili pro jiné účely v minulosti (https://www.closeit.co/blog/ifrs9-ecl-vypocetni-engine), 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čů. 

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.

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

Reporting module
Je schopen interpretovat definovanou konfiguraci , agregovat výsledky výpočtů a ty vložit do připravené šablony v MS Excel.

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ářů.

Orechestrator
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 bude skutečně nasazen pro další simulace a zátěžové testy takže se jeho vývoj z dlouhodobého hlediska vyplatil.