SAS Documentation
SASĀ® Solution for Stress Testing
Reference manual - version 08.2021
Loading...
Searching...
No Matches
irmst_market_risk_factors_def_2.sas
1/*The only purpose of this macro existance is to
2allow the cusomization of a MIP pre-execution program larger than
332000 characters*/
4
5%macro irmst_market_risk_factors_def_2;
6
7 /*region Counterparty data: CDS etc */
8
9 /* Curve maturities for model based cpty data */
10 Declare riskfactors=(Curve_1Y num var maturity = 1 year category = CurveMat label = 'Curve Maturity 1 Year' group='Curve Maturity' mlevel=ratio,
11 Curve_2Y num var maturity = 2 year category = CurveMat label = 'Curve Maturity 2 Year' group='Curve Maturity' mlevel=ratio,
12 Curve_3Y num var maturity = 3 year category = CurveMat label = 'Curve Maturity 3 Year' group='Curve Maturity' mlevel=ratio,
13 Curve_4Y num var maturity = 4 year category = CurveMat label ='Curve Maturity 4 Year' group='Curve Maturity' mlevel=ratio,
14 Curve_5Y num var maturity = 5 year category = CurveMat label = 'Curve Maturity 5 Year' group='Curve Maturity' mlevel=ratio,
15 Curve_6Y num var maturity = 6 year category = CurveMat label = 'Curve Maturity 6 Year' group='Curve Maturity' mlevel=ratio,
16 Curve_7Y num var maturity = 7 year category = CurveMat label = 'Curve Maturity 7 Year' group='Curve Maturity' mlevel=ratio,
17 Curve_8Y num var maturity = 8 year category = CurveMat label ='Curve Maturity 8 Year' group='Curve Maturity' mlevel=ratio,
18 Curve_9Y num var maturity = 9 year category = CurveMat label = 'Curve Maturity 9 Year' group='Curve Maturity' mlevel=ratio,
19 Curve_10Y num var maturity = 10 year category = CurveMat label = 'Curve Maturity 10 Year' group='Curve Maturity' mlevel=ratio
20 );
21 array CURVE_MAT var category=CurveMat group='Curve Maturity'
22 label= "Counterparty Model Based Curve Maturities"
23 elements= (Curve_1Y Curve_2Y Curve_3Y Curve_4Y Curve_5Y Curve_6Y Curve_7Y Curve_8Y Curve_9Y Curve_10Y)
24 refmap=(curve_name_ref='CURVE_MAT');
25 ;
26
27 /* Counterparty CDS premias, bond spreads or hazard rates */
28 Declare riskfactors=(A_cds1m num var maturity = 1 month category = CDS label = 'Cpty A CDS 1 Month' group='Counterparty CDS premiums' mlevel=ratio,
29 A_cds3m num var maturity = 3 month category = CDS label = 'Cpty A CDS 3 Month' group='Counterparty CDS premiums' mlevel=ratio,
30 A_cds6m num var maturity = 6 month category = CDS label = 'Cpty A CDS 6 Month' group='Counterparty CDS premiums' mlevel=ratio,
31 A_cds1y num var maturity = 1 year category = CDS label ='Cpty A CDS 1 Year' group='Counterparty CDS premiums' mlevel=ratio,
32 A_cds5y num var maturity = 5 year category = CDS label = 'Cpty A CDS 5 Year' group='Counterparty CDS premiums' mlevel=ratio,
33 A_cds10y num var maturity = 10 year category = CDS label = 'Cpty A CDS 10 Year' group='Counterparty CDS premiums' mlevel=ratio
34 );
35
36
37 array CPTY_A var category=CDS group='Counterparty CDS Curve'
38 label= "Counterparty A CDS curve"
39 elements= (A_cds1m A_cds3m A_Cds6m A_cds1y A_cds5y A_cds10y)
40 refmap=(curve_name_ref='CPTY_A');
41 ;
42
43 Declare riskfactors=(B_cds1m num var maturity = 1 month category = CDS label = 'Cpty B CDS 1 Month' group='Counterparty CDS premiums' mlevel=ratio,
44 B_cds3m num var maturity = 3 month category = CDS label = 'Cpty B CDS 3 Month' group='Counterparty CDS premiums' mlevel=ratio,
45 B_cds6m num var maturity = 6 month category = CDS label = 'Cpty B CDS 6 Month' group='Counterparty CDS premiums' mlevel=ratio,
46 B_cds1y num var maturity = 1 year category = CDS label ='Cpty B CDS 1 Year' group='Counterparty CDS premiums' mlevel=ratio,
47 B_cds5y num var maturity = 5 year category = CDS label = 'Cpty B CDS 5 Year' group='Counterparty CDS premiums' mlevel=ratio,
48 B_cds10y num var maturity = 10 year category = CDS label = 'Cpty B CDS 10 Year' group='Counterparty CDS premiums' mlevel=ratio
49 );
50
51
52 array CPTY_B var category=CDS group='Counterparty CDS Curve'
53 label= "Counterparty B CDS curve"
54 elements= (B_cds1m B_cds3m B_Cds6m B_cds1y B_cds5y B_cds10y)
55 refmap=(curve_name_ref='CPTY_B');
56 ;
57
58
59 Declare riskfactors=(C_cds1m num var maturity = 1 month category = CDS label = 'Cpty C CDS 1 Month' group='Counterparty CDS premiums' mlevel=ratio,
60 C_cds3m num var maturity = 3 month category = CDS label = 'Cpty C CDS 3 Month' group='Counterparty CDS premiums' mlevel=ratio,
61 C_cds6m num var maturity = 6 month category = CDS label = 'Cptyy C CDS 6 Month' group='Counterparty CDS premiums' mlevel=ratio,
62 C_cds1y num var maturity = 1 year category = CDS label ='Cpty C CDS 1 Year' group='Counterparty CDS premiums' mlevel=ratio,
63 C_cds5y num var maturity = 5 year category = CDS label = 'Cpty C CDS 5 Year' group='Counterparty CDS premiums' mlevel=ratio,
64 C_cds10y num var maturity = 10 year category = CDS label = 'CDS 10 Year' group='Counterparty CDS premiums' mlevel=ratio
65 );
66
67
68 array CPTY_C var category=CDS group='Counterparty CDS Curve'
69 label= "Counterparty C CDS curve"
70 elements= (C_cds1m C_cds3m C_Cds6m C_cds1y C_cds5y C_cds10y)
71 refmap=(curve_name_ref='CPTY_C');
72 ;
73 Declare riskfactors=(D_cds1m num var maturity = 1 month category = CDS label = 'Cpty D CDS 1 Month' group='Counterparty CDS premiums' mlevel=ratio,
74 D_cds3m num var maturity = 3 month category = CDS label = 'Cpty D CDS 3 Month' group='Counterparty CDS premiums' mlevel=ratio,
75 D_cds6m num var maturity = 6 month category = CDS label = 'Cpty D CDS 6 Month' group='Counterparty CDS premiums' mlevel=ratio,
76 D_cds1y num var maturity = 1 year category = CDS label ='Cpty D CDS 1 Year' group='Counterparty CDS premiums' mlevel=ratio,
77 D_cds5y num var maturity = 5 year category = CDS label = 'Cpty D CDS 5 Year' group='Counterparty CDS premiums' mlevel=ratio,
78 D_cds10y num var maturity = 10 year category = CDS label = 'Cpty D CDS 10 Year' group='Counterparty CDS premiums' mlevel=ratio
79 );
80
81
82 array CPTY_D var category=CDS group='Counterparty CDS Curve'
83 label= "Counterparty D CDS curve"
84 elements= (D_cds1m D_cds3m D_Cds6m D_cds1y D_cds5y D_cds10y)
85 refmap=(curve_name_ref='CPTY_D');
86 ;
87
88 Declare riskfactors=(E_spread1m num var maturity = 1 month category = CDS label = 'Cpty E Spread 1 Month' group='Counterparty Credit spreads' mlevel=ratio,
89 E_spread3m num var maturity = 3 month category = CDS label = 'Cpty E Spread 3 Month' group='Counterparty Credit spreads' mlevel=ratio,
90 E_spread6m num var maturity = 6 month category = CDS label = 'Cpty E Spread 6 Month' group='Counterparty Credit spreads' mlevel=ratio,
91 E_spread1y num var maturity = 1 year category = CDS label ='Cpty E Spread 1 Year' group='Counterparty Credit spreads' mlevel=ratio,
92 E_spread5y num var maturity = 5 year category = CDS label = 'Cpty E Spread 5 Year' group='Counterparty Credit spreads' mlevel=ratio,
93 E_spread10y num var maturity = 10 year category = CDS label = 'Cpty E Spread 10 Year' group='Counterparty Credit spreads' mlevel=ratio
94 );
95
96
97 array CPTY_E var category=CDS group='Counterparty Credit Spread Curve'
98 label= "Counterparty E spread curve"
99 elements= (E_spread1m E_spread3m E_spread6m E_spread1y E_spread5y E_spread10y)
100 refmap=(curve_name_ref='CPTY_E');
101 ;
102
103 Declare riskfactors=(F_pd1m num var maturity = 1 month category = CDS label = 'Cpty F Hazard 1 Month' group='Counterparty Hazard rates' mlevel=ratio,
104 F_pd3m num var maturity = 3 month category = CDS label = 'Cpty F Hazard 3 Month' group='Counterparty Hazard rates' mlevel=ratio,
105 F_pd6m num var maturity = 6 month category = CDS label = 'Cpty F Hazard 6 Month' group='Counterparty Hazard rates' mlevel=ratio,
106 F_pd1y num var maturity = 1 year category = CDS label ='Cpty F Hazard 1 Year' group='Counterparty Hazard rates' mlevel=ratio,
107 F_pd5y num var maturity = 5 year category = CDS label = 'Cpty F Hazard 5 Year' group='Counterparty Hazard rates' mlevel=ratio,
108 F_pd10y num var maturity = 10 year category = CDS label = 'Cpty F Hazard 10 Year' group='Counterparty Hazard rates' mlevel=ratio
109 );
110
111
112 array CPTY_F var category=CDS group='Counterparty Hazard Curve'
113 label= "Counterparty F hazard curve"
114 elements= (F_pd1m F_pd3m F_pd6m F_pd1y F_pd5y F_pd10y)
115 refmap=(curve_name_ref='CPTY_F');
116 ;
117
118 /*endregion*/
119
120
121 /*region FX forward rates */
122 declare riskfactors=(USD_JPY1m num fx fromcur = usd tocur = jpy maturity = 1 month category = FX label = 'USD/JPY 1-M Forward exchange rate' group='FX Forward' mlevel=ratio,
123 USD_JPY3m num fx fromcur = usd tocur = jpy maturity = 3 month category = FX label = 'USD/JPY 3-M Forward exchange rate' group='FX Forward' mlevel=ratio,
124 USD_JPY6m num fx fromcur = usd tocur = jpy maturity = 6 month category = FX label = 'USD/JPY 6-M Forward exchange rate' group='FX Forward' mlevel=ratio,
125 USD_JPY1y num fx fromcur = usd tocur = jpy maturity = 1 year category = FX label = 'USD/JPY 1-Y Forward exchange rate' group='FX Forward' mlevel=ratio,
126 USD_EUR1m num fx fromcur = usd tocur = eur maturity = 1 month category = FX label = 'USD/EUR 1-M Forward exchange rate' group='FX Forward' mlevel=ratio,
127 USD_EUR3m num fx fromcur = usd tocur = eur maturity = 3 month category = FX label = 'USD/EUR 3-M Forward exchange rate' group='FX Forward' mlevel=ratio,
128 USD_EUR6m num fx fromcur = usd tocur = eur maturity = 6 month category = FX label = 'USD/EUR 6-M Forward exchange rate' group='FX Forward' mlevel=ratio,
129 USD_EUR1y num fx fromcur = usd tocur = eur maturity = 1 year category = FX label = 'USD/EUR 1-Y Forward exchange rate' group='FX Forward' mlevel=ratio
130
131 );
132
133 array fx_usd_jpy fx fromcur = usd tocur = jpy category=FX group='FX forward Curve'
134 label = "FX Forward Curve USD to JPY"
135 elements = (USD_JPY1m USD_JPY3m USD_JPY6m USD_JPY1y)
136 refmap= (fx_curve='USD:JPY');
137
138 array fx_usd_eur fx fromcur = usd tocur = eur category=FX group='FX forward Curve'
139 label = "FX Forward Curve USD to EUR"
140 elements = (USD_EUR1m USD_EUR3m USD_EUR6m USD_EUR1y)
141 refmap= (fx_curve='USD:EUR');
142
143
144
145 /*endregion*/
146
147 /*region Credit curves */
148 declare riskfactors=(AAAspread1M num ir currency=usd category=Creditcurve maturity=1 month label='1 month AAA Credit Spread' group='Credit Spread' mlevel=ratio,
149 AAAspread3M num ir currency=usd category=Creditcurve maturity=3 month label='3 month AAA Credit Spread' group='Credit Spread' mlevel=ratio,
150 AAAspread6M num ir currency=usd category=Creditcurve maturity=6 month label='6 month AAA Credit Spread' group='Credit Spread' mlevel=ratio,
151 AAAspread12M num ir currency=usd category=Creditcurve maturity=12 month label='12 month AAA Credit Spread' group='Credit curve' mlevel=ratio,
152 AAspread1M num ir currency=usd category=Creditcurve maturity=1 month label='1 month AA Credit Spread' group='Credit Spread' mlevel=ratio,
153 AAspread3M num ir currency=usd category=Creditcurve maturity=3 month label='3 month AA Credit Spread' group='Credit Spread' mlevel=ratio,
154 AAspread6M num ir currency=usd category=Creditcurve maturity=6 month label='6 month AA Credit Spread' group='Credit Spread' mlevel=ratio,
155 AAspread12M num ir currency=usd category=Creditcurve maturity=12 month label='12 month AA Credit Spread' group='Credit Spread' mlevel=ratio,
156 Aspread1M num ir currency=usd category=Creditcurve maturity=1 month label='1 month A Credit Spread' group='Credit Spread' mlevel=ratio,
157 Aspread3M num ir currency=usd category=Creditcurve maturity=3 month label='3 month A Credit Spread' group='Credit Spread' mlevel=ratio,
158 Aspread6M num ir currency=usd category=Creditcurve maturity=6 month label='6 month A Credit Spread' group='Credit Spread' mlevel=ratio,
159 Aspread12M num ir currency=usd category=Creditcurve maturity=12 month label='12 month A Credit Spread' group='Credit Spread' mlevel=ratio,
160 BBBspread1M num ir currency=usd category=Creditcurve maturity=1 month label='1 month BBB Credit Spread' group='Credit Spread' mlevel=ratio,
161 BBBspread3M num ir currency=usd category=Creditcurve maturity=3 month label='3 month BBB Credit Spread' group='Credit Spread' mlevel=ratio,
162 BBBspread6M num ir currency=usd category=Creditcurve maturity=6 month label='6 month BBB Credit Spread' group='Credit Spread' mlevel=ratio,
163 BBBspread12M num ir currency=usd category=Creditcurve maturity=12 month label='12 month BBB Credit Spread' group='Credit Spread' mlevel=ratio,
164 BBspread1M num ir currency=usd category=Creditcurve maturity=1 month label='1 month BB Credit Spread' group='Credit Spread' mlevel=ratio,
165 BBspread3M num ir currency=usd category=Creditcurve maturity=3 month label='3 month BB Credit Spread' group='Credit Spread' mlevel=ratio,
166 BBspread6M num ir currency=usd category=Creditcurve maturity=6 month label='6 month BB Credit Spread' group='Credit Spread' mlevel=ratio,
167 BBspread12M num ir currency=usd category=Creditcurve maturity=12 month label='12 month BB Credit Spread' group='Credit Spread' mlevel=ratio,
168 Bspread1M num ir currency=usd category=Creditcurve maturity=1 month label='1 month B Credit Spread' group='Credit Spread' mlevel=ratio,
169 Bspread3M num ir currency=usd category=Creditcurve maturity=3 month label='3 month B Credit Spread' group='Credit Spread' mlevel=ratio,
170 Bspread6M num ir currency=usd category=Creditcurve maturity=6 month label='6 month B Credit Spread' group='Credit Spread' mlevel=ratio,
171 Bspread12M num ir currency=usd category=Creditcurve maturity=12 month label='12 month B Credit Spread' group='Credit Spread' mlevel=ratio,
172 CCCspread1M num ir currency=usd category=Creditcurve maturity=1 month label='1 month CCC Credit Spread' group='Credit Spread' mlevel=ratio,
173 CCCspread3M num ir currency=usd category=Creditcurve maturity=3 month label='3 month CCC Credit Spread' group='Credit Spread' mlevel=ratio,
174 CCCspread6M num ir currency=usd category=Creditcurve maturity=6 month label='6 month CCC Credit Spread' group='Credit Spread' mlevel=ratio,
175 CCCspread12M num ir currency=usd category=Creditcurve maturity=12 month label='12 month CCC Credit Spread' group='Credit Spread' mlevel=ratio
176 );
177
178 array AAA_Spread ir currency=usd category=Creditcurve group='Credit Spread Curve'
179 elements=(AAAspread1m AAAspread3m AAAspread6m AAAspread12m)
180 label="AAA Spread Curve"
181 refmap=(spread_curve='USD:AAA');
182 array AA_Spread ir currency=usd category=Creditcurve group='Credit Spread Curve'
183 elements=(AAspread1m AAspread3m AAspread6m AAspread12m)
184 label="AA Spread Curve"
185 refmap=(spread_curve='USD:AA');
186 array A_Spread ir currency=usd category=Creditcurve group='Credit Spread Curve'
187 elements=(Aspread1m Aspread3m Aspread6m Aspread12m)
188 label="A Spread Curve"
189 refmap=(spread_curve='USD:A');
190 array BBB_Spread ir currency=usd category=Creditcurve group='Credit Spread Curve'
191 elements=(BBBspread1m BBBspread3m BBBspread6m BBBspread12m)
192 label="BBB Spread Curve"
193 refmap=(spread_curve='USD:BBB');
194 array BB_Spread ir currency=usd category=Creditcurve group='Credit Spread Curve'
195 elements=(BBspread1m BBspread3m BBspread6m BBspread12m)
196 label="BB Spread Curve"
197 refmap=(spread_curve='USD:BB');
198 array B_Spread ir currency=usd category=Creditcurve group='Credit Spread Curve'
199 elements=(Bspread1m Bspread3m Bspread6m Bspread12m)
200 label="B Spread Curve"
201 refmap=(spread_curve='USD:B');
202 array CCC_Spread ir currency=usd category=Creditcurve group='Credit Spread Curve'
203 elements=(CCCspread1m CCCspread3m CCCspread6m CCCspread12m)
204 label="CCC Spread Curve"
205 refmap=(spread_curve='USD:CCC');
206
207
208 /*endregion*/
209
210
211 /*region risk distortion measures */
212 distmeasure myvar funcname=_var_ funcparm=0.95 desc="my VaR95 measure" distribution=all loss_measure;
213 distmeasure myvar95 funcname=var95 desc="my second VaR95 measure" distribution=all loss_measure;
214 distmeasure myes95 funcname=cvar95 desc="my CVaR hardcoded measure" distribution=all loss_measure;
215 distmeasure myes funcname=cvar funcparm=0.95 desc="my CVaR alpha=0.95" distribution=all loss_measure;
216 distmeasure mydbm funcname=dual_block_minima funcparm=0.5 desc="Dual Block Minima" distribution=all loss_measure;
217 distmeasure mybm funcname=block_maxima funcparm=2 desc="Block Maxima" distribution=all loss_measure;
218 distmeasure mywangq funcname=Wang_Transform_q funcparm=1.96 desc="Wang q" distribution=all loss_measure;
219 distmeasure mywangp funcname=Wang_Transform_p funcparm=0.975 desc="Wang p" distribution=all loss_measure;
220
221 /*endregion */
222
223%mend;