Proc sort data=capm2005;
By stkcd;
Run;
proc reg data=capm2005 outest=d cp noprint;
model r_s=r_m;
by stkcd;
run;
data d;
set d;
if (_EDF_+_P_)<50 then delete;
data Riskl2005 (keep=sn obs _rmse_ r_m _rsq_ stkcd label="2005年个股与市场风险指标");
set d;
sn=_n_;
obs=(_edf_+_p_);
label sn='个股序号';
label obs='观测个数';
label _rmse_='个股风险度';
label r_m='系统风险估计值beta';
label _rsq_='系统风险占总风险比例';
run;
%macro a(x);
proc gplot data= Riskl2005;
plot &x*sn=1 ;
symbol1 v=star i=none r=1 c=blue;
proc plot data=rskindx2005 vpct=80;
plot &x*sn ;
%mend a;
%a(r_m);
%a(_rmse_);
%a(_rsq_);
run;
proc univariate data= Riskl2005 noprint;
var r_m _rmse_ _rsq_ ;
output out=out n=n_r_m n_rmse_ n_rsq_
mean=mean_r_m mean_rmse_ mean_rsq_
median=median_r_m median_rmse_ median_rsq_
min=min_r_m min_rmse_ min_rsq_
max=max_r_m max_rmse_ max_rsq_
q1=q1_r_m q1_rmse_ q1_rsq_
q3=q3_r_m q3_rmse_ q3_rsq_
range=range_r_m range_rmse_ range_rsq_;
data out;
set out;
q3_q1_r_m =q3_r_m -q1_r_m ;
q3_q1__rmse_= q3_rmse_-q1_rmse_ ;
q3_q1_rsq_ = q3_rsq_-q1_rsq_ ;
format _numeric_ 6.4;
run;