《股票市場風險指標計算》由會員分享,可在線閱讀,更多相關《股票市場風險指標計算(16頁珍藏版)》請在裝配圖網上搜索。
1、第7章 股票市場風險指標計算,清華大學經管學院 朱世武 Z Resdat樣本數據: SAS論壇: ,計算指標與環(huán)境,理論模型,,其中, 為股票j的超額收益; 為市場超額收益; 和 為參數,且假定 不相關。,,,,,,將方差作為風險的度量,根據上述假設得到股票j的總風險為:,,選定時期,根據經驗數據可以得模型參數的最小二乘估計 以及相應估計值 。于是,系統(tǒng)風險占該股票總風險的比例估計值為:,,,,,有,計算指標,計算1999至2005年,滬深兩地股票市場系統(tǒng)風險系數、個股總風險和個系統(tǒng)風險占總風險比例三個風險指標等。即具體計算: 系統(tǒng)風險系數估計值 ; 個股總風險估計
2、值 ; 系統(tǒng)風險占總風險比估計值 ; 全市股票上述三種指標的概況統(tǒng)計量。,,,,計算環(huán)境,計算數據集: 銀行存款利率BankIr; 基準利率BchmkIr; 個股日收益Dret; 市場日收益DretM。 時期:2005年。 樣本:滬深兩市場滿足條件的2006年前上市所有股票日百分比收益。剔除1年內交易小于50天的股票。,算法實現(xiàn),第一步:創(chuàng)建無風險利率數據集RF;2005年市場日收益數據。 第二步:創(chuàng)建宏文本:Stk2006.TXT。 第三步:計算2005年滬深兩市場A股個股風險指標。 第四步:滬深兩市場個股與市場風險關系統(tǒng)計分析。,計算程序,創(chuàng)建無風險利率數據集: /*1998年7
3、月1日后使用七日回購利率兩周指數加權平均為基準利率 */ data a; set ResDat.bchmkir; if code=B2W and date=1jun1998d; rename ir=rf; keep ir date;run; /*1998年7月1日前用一年期銀行存款利率加10%為基準利率*/ data b; set ResDat.bankir; if code=d1y ; run; data c; set b; format date yymmdd10.; if enddt=. Then enddt=date(); do date=begdt to enddt; output;
4、 end; run;,data d; set c; if date<1jun1998d; keep date rf; rf=ir*1.1; /* 在一年期存款利率的基礎上再增加10% */ run; /*合并得到基準利率表rfyr*/ data rfyr; set d a; if date<=31dec2005d; run; /*得到日基準利率表rf*/ data rf; set rfyr; rf=rf/365; /* 將利率轉化為日利率 */ run;,2005年市場日收益數據DretM2005:總市值加權平均市場日收益率。 Data DretM2005; Set ResDat.DretM;
5、 If year(date)=2005 and Exchflg=0 and Mktflg=AB; /* Exchflg=0滬、深兩交易所;Mktflg=AB AB股票市場 */ Keep date Dretmc; Run;,創(chuàng)建宏文本:Stk2006.TXT。 利用選擇的樣本股票收益數據集Dret創(chuàng)建宏。如果要計算全部股票的風險指標,可以直接利用lstkinfo創(chuàng)建宏。 Data a; Set ResDat.dret; If dif(stkcd)=0 then delete; data _null_; set a; a=%a(; b=,; c=); ; file Stk2006.txt ; p
6、ut a $ stkcd $ b $ lstknm $ c $ ; run;,%a( 000001 , S深發(fā)展A ); %a( 000002 , 萬科A ); %a( 000004 , *ST國農 ); %a( 000005 , ST星源 ); %a( 000007 , 深達聲A ); %a( 000009 , S深寶安A ); %a( 000011 , S深物業(yè)A ); %a( 000012 , 南玻A ); %a( 000016 , 深康佳A ); %a( 000017 , S*ST中華 ); %a( 200011 , 深物業(yè)B ); %a( 200012 , 南玻B ); ,計算
7、2005年滬深兩市場個股風險指標:模型r_s=a+beta*r_m+e /* 2005年無風險利率數據集rf2005 */ Data rf2005; Set rf; If year(date)=2005; Run; /* 2005市場超額收益數據集 */ Data PDretM2005; Merge DretM2005 rf2005; By date; rm= Dretmc- rf; keep date rm; run; data PDretM2005; /* 收益數據缺失時,用前面交易日的數據填充 */ set PDretM2005; retain r_m; if rm=. Then r_m
8、=rm; drop rm; run; /* 2005年個股票超額收益數據集 */ Data dret; Set ResDat.Dret; Where year(date)=2005; Run;,Proc sql; Create table Pdret2005 as Select * from Dret left join rf On Dret.date=rf.date; Run; Proc sort data= Pdret2005; By stkcd date; Run; Data Pdret2005; Set Pdret2005; r_s=dret-rf; keep stkcd lstknm
9、 date r_s; run; Proc sql; Create table Capm2005 as Select * from Pdret2005 left join PdretM2005 On Pdret2005.date=PdretM2005.date; Run; Proc sort data=capm2005; By stkcd; Run;,/* 計算個股風險指標:數據集Capm2005 */ proc reg data=capm2005 outest=d cp noprint; /*輸出參數估計數據集中包括Mallow Cp估計量 */ model r_s=r_m; /* 回歸模型為
10、:r_s=a+beta*r_m+e */ by stkcd; run; data d; set d; if (_EDF_+_P_)<50 then delete; /* 刪除2005年交易日小于50天的股票,_EDF_為殘差自由度,_P_為參數個數 */ 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=系統(tǒng)風
11、險估計值beta; label _rsq_=系統(tǒng)風險占總風險比例; run;,對數據集Riskl2005中個股的三種風險指標作圖: %macro a(x); proc gplot data= Riskl2005; plot ,,,,,2005年股票市場個股風險指標的概括統(tǒng)計量計算: 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 med
12、ian_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;,