12 %let ValueAtRisk_Level = ${params.VARLEVEL};
17 select max(scenario_name) into: _current_scenario_
18 from mipecon.scenario_data;
22 env
new=mipenv.risk_env inherit=(mimp_sas.sas_risk_env)
23 label=
"MIP run risk environment created by pre-execution program";
24 setoptions NOBACKSAVE;
28 project mipProject projectmethods = base_project;
32Declare riskfactors=( GDP_index num var category=Creditindex label=
'Macroeconomic indices - GDP Index' group=
'Macroeconomic indices' mlevel=interval refmap=(riskfactor=
'GDP_Index'),
33 Corporate_index1 num var category=Creditindex label=
'Macroeconomic indices - Corporate index 1' group=
'Macroeconomic indices' mlevel=interval refmap=(riskfactor=
'Corporate_index1'),
34 Corporate_index2 num var category=Creditindex label=
'Macroeconomic indices - Corporate index 2' group=
'Macroeconomic indices' mlevel=interval refmap=(riskfactor=
'Corporate_index2'),
35 Corporate_index3 num var category=Creditindex label=
'Macroeconomic indices - Corporate index 3' group=
'Macroeconomic indices' mlevel=interval refmap=(riskfactor=
'Corporate_index3')
39Declare riskfactors=(asset_index01 num var category=Creditindex label=
'Collateral indices - index 1' group=
'Collateral indices' mlevel=interval refmap=(riskfactor=
'asset_index01'),
40 asset_index02 num var category=Creditindex label=
'Collateral indices - index 2' group=
'Collateral indices' mlevel=interval refmap=(riskfactor=
'asset_index02'),
41 asset_index03 num var category=Creditindex label=
'Collateral indices - index 3' group=
'Collateral indices' mlevel=interval refmap=(riskfactor=
'asset_index03')
45declare riskfactors =(FXUSD num fx_spot fromcur = usd tocur = eur category = FX label =
'EUR/USD exchange rate' group=
'FX spot rates' mlevel=ratio
51Declare riskfactors=(DSC_1Y num ir category=IR_Loan label=
'1 year IR USD' group=
'Zero rates: USD' Currency=USD Maturity=1 mlevel=ratio,
52 DSC_5y num ir category=IR_Loan label=
'5 year IR USD' group=
'Zero rates: USD' Currency=USD Maturity=5 mlevel=ratio,
53 DSC_10Y num ir category=IR_Loan label=
'10 year IR USD' group=
'Zero rates: USD' Currency=USD Maturity=10 mlevel=ratio
57Array DSC_CURVE ir currency=USD category=IR group=
'Zero curve: USD'
58 label=
"USD Loan Finance Curve"
59 elements= (DSC_1Y DSC_5Y DSC_10Y)
60 refmap=(curve_name_ref=
'DSC_CURVE');
64 Spread_A1_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
65 Spread_A1_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
66 Spread_A1_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
67 Spread_A2_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
68 Spread_A2_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
69 Spread_A2_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
70 Spread_A3_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
71 Spread_A3_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
72 Spread_A3_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
73 Spread_A4_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
74 Spread_A4_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
75 Spread_A4_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
76 Spread_A5_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
77 Spread_A5_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
78 Spread_A5_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
79 Spread_A6_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
80 Spread_A6_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
81 Spread_A6_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
82 Spread_B1_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
83 Spread_B1_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
84 Spread_B1_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
85 Spread_B2_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
86 Spread_B2_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
87 Spread_B2_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio,
88 Spread_B3_1Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=1 mlevel=ratio,
89 Spread_B3_5Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=5 mlevel=ratio,
90 Spread_B3_10Y num ir category=IR label=
'1 Year spread A1' group=
'Spread rates: USD' Currency=USD Maturity=10 mlevel=ratio
96array SPREAD_MATRIX VAR currency=USD group=
'Spread curves: USD' label=
'USD Credit Spreads'
126 refmap=(curve_name_ref=
'SPREAD_MATRIX');
129 distmeasure myvar funcname=_var_ funcparm=&ValueAtRisk_Level. desc=
"my VaR &ValueAtRisk_Level. measure" distribution=all loss_measure;
130 distmeasure myvar95 funcname=var95 desc=
"my second VaR95 measure" distribution=all loss_measure;
131 distmeasure myes95 funcname=cvar95 desc=
"my CVaR hardcoded measure" distribution=all loss_measure;
132 distmeasure myes funcname=cvar funcparm=&ValueAtRisk_Level. desc=
"my CVaR alpha=&ValueAtRisk_Level." distribution=all loss_measure;
133 distmeasure mydbm funcname=dual_block_minima funcparm=0.5 desc=
"Dual Block Minima" distribution=all loss_measure;
134 distmeasure mybm funcname=block_maxima funcparm=2 desc=
"Block Maxima" distribution=all loss_measure;
135 distmeasure mywangq funcname=Wang_Transform_q funcparm=1.96 desc=
"Wang q" distribution=all loss_measure;
136 distmeasure mywangp funcname=Wang_Transform_p funcparm=0.975 desc=
"Wang p" distribution=all loss_measure;
138 setoptions alpha=%sysevalf(1-&ValueAtRisk_Level.);
144proc compile env=mipenv.risk_env outlib=mipenv.risk_env package=BetaCoefficient;
147 function randmultinomial(prob[*]);
154 normalized_prob=prob[i_element]/(1-cum_prob);
155 sample = RAND(
'BINOMIAL',normalized_prob,1);
160 cum_prob=cum_prob+prob[i_element];