Was bringt die Zukunft? Auswertung von Risiko-Szenario-Pfaden

0

Springen oder nicht - Risikobewertung ist nicht immer so einfach wie hier

Die Abbildung einer möglichen zukünftigen Situation ist eine Kernaufgabe des Risiko-Managements. Dazu werden unterschiedlich komplexe Modelle mit möglichen Szenarien durchgerechnet.

Hierbei erhält man pro Szenario und Vorhersage-Zeitpunkt ein Ergebnis. Bei mehrperiodischen Vorhersagen (z. B. bei Kredit-Portfolien oder Lebensversicherungen) gibt es pro Szenario einen Ergebnis-Pfad. Im Folgenden zeige ich, wie man mit Standardfunktionen in SAS die Auswertungen solcher Pfade bei einer Vielzahl von Szenarien mithilfe von Visualisierungen leicht realisieren kann. Im ersten Schritt betrachten wir alle Pfade in der Gesamtheit. Dies lässt sich mit der Darstellung von Perzentil-Bändern mit der SGPLOT-Prozedur realisieren – SG ist dabei die Abkürzung für Statistical Graphics. Diese Darstellungsroutinen wirken auf dem ersten Blick komplex, wobei die vielen Anpassungsmöglichkeiten in der Praxis aber durchaus vorteilhaft sind.

 

Auswertung von Risiko-Szenarien

In dieser Abbildung sieht man die Projektionen für die nächsten 100 Jahre für 1.000 Szenarien. Neben dem Durchschnittswert werden hier Minimum, Maximum und das 10-%- sowie 25-%- bzw. 90-%- sowie 75-%-Perzentil-Band dargestellt. Diese Darstellungsform lässt auf einen Blick erkennen, dass neben dem erwarteten Verlauf Szenarien existieren, die stark abweichen.

Dies ist der Programm-Code zur Erstellung der Grafik:

proc sgplot data=work.Stat_Pfade noautolegend;
        refline &STARTWERT. / axis=y  lineattrs=(color=red pattern=dash)  label="Startwert=&STARTWERT.";
	band x=Jahr lower=Wert_Min upper=Wert_P10 / transparency=.8 fillattrs=(color=darkblue);
	band x=Jahr lower=Wert_P10 upper=Wert_P25 / transparency=.9 fillattrs=(color=blue);
	band x=Jahr lower=Wert_P75 upper=Wert_P90 / transparency=.9 fillattrs=(color=blue);
	band x=Jahr lower=Wert_P90 upper=Wert_Max / transparency=.8 fillattrs=(color=darkblue);
	band x=Jahr lower=Wert_P25 upper=Wert_Mean / transparency=.9 fillattrs=(color=red);
	band x=Jahr lower=Wert_Mean upper=Wert_P75 / transparency=.9 fillattrs=(color=red);
        series x=Jahr y=Wert_Mean / lineattrs=(color=darkorange pattern=solid) Curvelabel="Durchschnitt";
	yaxis Label="Projektion in Mio €" values=(1000 to 0 by 100) grid;
	xaxis type=time grid values=(0 to 100 by 10) display=(nolabel);
run;

Benötigt werden hier verschiedene Perzentil-Größen der Variablen „Wert“. Diese lassen sich mithilfe der MEANS-Prozedur ermitteln:

  proc means data=work.pfade noprint;
	var Wert;
	by Jahr;
	output out=work.Stat_Pfade mean=Wert_Mean P25=Wert_P25 P75=Wert_P75 
		P10=Wert_P10 P90=Wert_P90 Min=Wert_Min Max=Wert_Max / autolabel;
run;

Die Verwendung der statistischen Maße ermöglicht eine gute Interpretation des Risikos im Gesamtzusammenhang. Für die Modell-Validierung möchten wir aber auch auffällige Szenarien herausfiltern, um uns dann die relevanten Parameter im Einzelnen anzuschauen. In der folgenden Abbildung werden die Pfade von Szenarien, die den oberen Wertebereich bilden, dargestellt.

Auswertung von Risiko Szenarien

Auch diese Grafik lässt sich mit der SGPLOT-Prozedur schnell aufbauen. Die Achsen werden durch die Variablen „Jahr“ und „Wert“ repräsentiert, während die Variable „Szenario“ zur Gruppierung dient. Durch die grafische Darstellung lässt sich das besonders auffällige Szenario 934 leicht identifizieren.

Hier ist der Programm-Code für die Grafik:

  proc sgplot data = work.Pfade_Auswahl;
   series x = Jahr y = Wert / group=Szenario lineattrs=(thickness=2)  transparency=0.3 smoothconnect;
   yaxis label = 'Wert in Mio. €'; 
   xaxis grid;
run;

Die Details zur SGPLOT-Prozedur gibt es in der Produktdokumentation (SAS® 9.4 ODS Graphics: Procedures Guide), die sich über die Seite http://support.sas.com/ finden lassen. Die TRANSPARENCY-Option erleichtert z.B. die visuelle Verfolgung einzelner Linien. Bei einer zu großen Zahl von Pfaden wird es natürlich trotzdem irgendwann unübersichtlich. Daher kommt es auf die geschickte Auswahl der relevanten Szenarien an. Mit dem folgenden Programm-Code habe ich die hier darzustellenden Szenarien selektiert. Dabei werden die Werte je Jahr nach ihrer Höhe sortiert und dann jene selektiert, die in das Auswahl-Quantil fallen. Der INTO: Operator der SQL-Prozedur erzeugt hierbei SAS Makro-Variablen, mit denen sich der Code parametrisieren lässt.

* Ermittlung der Szenarien, die in das Alpha Quantil fallen;
%let Alpha=0.999;
 
* Anzahl der Szenarien;
proc sql noprint;
	select count(distinct(Szenario)) into: N_SZEN from work.pfade;
quit;
 
proc sort data=work.pfade;
	by Jahr Wert;
run;
 
data work.Auswahl;
	set work.pfade;
	by Jahr;
	retain Count 0;
	if first.jahr then count=0;
	count+1;
	if count >= (&ALPHA. * &N_SZEN.) then output;
run;
 
* Gesamtpfade der Auswahl;
proc sql noprint;
	select distinct(Szenario) into: SZEN separated by " " from work.Auswahl;
quit;
 
data work.Pfade_Auswahl;
	set work.pfade(where=(Szenario in (&SZEN.)));
run;
Share

About Author

Hartmut Kömme

Sr Pre-Sales Solutions Architect

Hartmut Kömme work as a technical expert in SAS Risk Management products. He joined SAS in April 1999 as a Consultant and helped implement risk projects with SAS software. Main topics of expertise are amongst other technical mapping of issues such as market and credit risk, Solvency II to Risk Modeling and implementation of actuarial methods.

Related Posts

Leave A Reply

Back to Top