TITLE "Live Pre PMA UTD RWA";
Proc sql;
create table LIVE_UTD_RWA_&run. as
select RMS_Band
,Case When RMS_Band = . then 0.1
When RMS_Band = 1 then 0.00077
When RMS_Band = 2 then 0.003675
When RMS_Band = 3 then 0.00735
When RMS_Band = 4 then 0.01605
When RMS_Band = 5 then 0.0321
When RMS_Band = 6 then 0.062895
When RMS_Band = 7 then 0.1050
When RMS_Band = 8 then 0.2100
When RMS_Band = 9 then 0.3675
else RMS_MID_PD end as PMA_PD
,count(*) as obs
,sum(capital_balance) as EAD_Current
,sum(RWA_CAR) as V400_RWA
,sum(Expected_Loss_CAR) as EL
,sum(lgd_value) as LGD
from OUT.Calibration_Data_&qmrf_report._BAU
where basel_delinquency_category = 'A'
group by 1,2
;
create table OUT.Live_Pre_PMA_UTD_RWA_&MONTH. as
select PMA_PD
,sum(obs) as Obs
,sum(EAD_Current) as EAD_Current
,sum(LGD)/sum(EAD_Current) as LGD_PCT
,0.03*(1-EXP(-35* pma_pd))/(1-EXP(-35))+0.16*(1-(1-EXP(-35* pma_pd))/(1-EXP(-35))) as Correlation
,(0.11852-0.05478*log(pma_pd))**2 as Maturity
,(calculated LGD_PCT*PROBNORM((1/SQRT(1-calculated Correlation))*PROBIT(pma_pd)+SQRT(calculated Correlation/(1-calculated Correlation))*PROBIT(0.999))- pma_pd * calculated LGD_PCT)*(1/(1-1.5*calculated Maturity))*(1+(1-2.5)*calculated Maturity) as Cap_Req_Live
,calculated Cap_Req_Live*12.5*1.06*calculated EAD_Current as Live_RWA
from LIVE_UTD_RWA_&run.
group by 1
;
Select Sum(Live_RWA) as Live_UTD_RWA format=NLMNLGBP. length=20
into :RWA
From OUT.Live_Pre_PMA_UTD_RWA_&MONTH.
;
Quit;
Proc SQL noprint;
select &RWA./sum(EAD_Current)
into :RWA_of_Exp
from OUT.Live_Pre_PMA_UTD_RWA_&MONTH.
;
QUIT;
%Put RWA_of_Exp=&RWA_of_Exp. ;
TITLE; Hey this is me again. I tried to follow your suggestion but failed. Thats why pasted the whole code. I have attached the error message as well. The authorisation level error did not create any material impact on the output/result after running the code. Just thought of highlighting this.
... View more