股票收益計算金融計算與建模清華大學朱世武_第1頁
股票收益計算金融計算與建模清華大學朱世武_第2頁
股票收益計算金融計算與建模清華大學朱世武_第3頁
股票收益計算金融計算與建模清華大學朱世武_第4頁
股票收益計算金融計算與建模清華大學朱世武_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2.1.1收益定義假定某支金融資產(chǎn)在時刻t的價格為Pt

。百分比收益和連續(xù)復利收益的定義如下:單期百分比收益為k期百分比收益為2.1收益定義與加總當前1頁,總共33頁。單期連續(xù)復利收益為其中,k期連續(xù)復利收益為當前2頁,總共33頁。2.1.2收益加總對于百分比(復合)收益,單期收益一般比較小,于是,對年收益公式進行一階泰勒(Taylor)展開得近似的年收益公式,年收益而對于投資組合的連續(xù)復利收益我們有下面的近似公式,加和方式(Aggregation)時序(Temporal)截面(Cross-Section)百分比收益(PercentReturns)連續(xù)復利收益(ContinuouslyCompoundReturns)當前3頁,總共33頁。2.2單個股票收益計算2.2.1創(chuàng)建單期收益計算環(huán)境2.2.2年收益計算2.2.3季收益計算2.2.4月收益計算2.2.5周收益計算2.2.6日收益計算2.2.7繪制收益圖2.2.8多期平均收益率計算當前4頁,總共33頁。2.2.1創(chuàng)建單期收益計算環(huán)境計算上證指數(shù)(Idx000001)和股票深發(fā)展(Stk000001)收盤價單期收益。這里要計算有收益有:年收益、季收益、月收益、周收益和日收益。

對期末收盤價加標識:dataa;setResDat.Idx000001;year=year(date);qtr=qtr(date);month=month(date);proc

sortdata=a;byyearqtrmonth;run;databb;seta;last_y=last.year;/*標出某年的最后一個交易日*/last_q=last.qtr;/*標出某季的最后一個交易日*/last_m=last.month;/*標出某月的最后一個交易日*/byyearqtrmonth;run;當前5頁,總共33頁。2.2.2年收益計算計算上證指數(shù)(Idx000001)的相應(yīng)收益時,不需要用調(diào)整后的收盤價。

datar_year(keep=dater_pctr_loglabel="年收益");setbb;iflast_y=1;/*取各年最后一個交易日的數(shù)據(jù)*/r_pct=dif(clpr)/lag(clpr);/*計算百分比收益*/r_log=log(clpr)-log(lag(clpr));/*計算對數(shù)收益*//*函數(shù)log(x)是以e為底的自然對數(shù),其它對數(shù)函數(shù)還有l(wèi)og2(x),log10(x)*/run;當前6頁,總共33頁。2.2.5周收益計算程序一:dataa;setResDat.Idx000001;wd=weekday(date);dif=dif(wd);dif2=dif(date);if(dif<0anddif^=.)ordif2>=7thenindex=1;/*第二天的星期日小于第一天的星期日,或第二天與第一天的時間間隔大于7天時,表示第二天為新的一周*/elseindex=0;dataa(keep=dateclprindex);seta;date=lag(date);clpr=lag(clpr);ifindex=1;datar_week(keep=dater_pctr_log);seta;r_pct=dif(clpr)/lag(clpr);r_log=log(clpr)-log(lag(clpr));run;當前7頁,總共33頁。datab;setResDat.Idx000001;wk=int((date-3)/7+2);/*wk為周序號,設(shè)定1960年1月1日為第一周。由于1960年1月1日為周五,所以第1周共有3天。注意該周(1960年1月1日到3日)對應(yīng)日期按SAS的標準分別為0,1和2(于是(date-3)/7都等于-1)。由此可以理解為什么這樣設(shè)定表達式*/proc

sort;bydate;run;datab;setb;last_wk=last.wk;bywk;run;datab(keep=dater_pct1r_log1);setb;iflast_wk=1;r_pct1=dif(clpr)/lag(clpr);r_log1=log(clpr)-log(lag(clpr));run;程序二當前8頁,總共33頁。datac;setResDat.Idx000001;last_wk=Wkflg;/*Wkflg;為周末交易日標識*/run;datac(keep=dater_pct2r_log2);setc;iflast_wk=1;r_pct2=dif(clpr)/lag(clpr);r_log2=log(clpr)-log(lag(clpr));run;程序三:當前9頁,總共33頁。datad;merger_weekb;bydate;datad;mergedc;bydate;ifr_pct=r_pct1andr_pct=r_pct2thenaa=1;elseaa=0;/*最后一個不一樣*/run;datae;setd;ifaa=0;run;檢測程序一、程序二和程序三的一致性:注:方法二和三是完全一致的,雖然方法一與二、三的最后一個觀測不一致。因為方法一的最后一個觀測是缺失值。當前10頁,總共33頁。2.2.6日收益計算datar_day(keep=dater_pctr_loglabel="日收益");setResDat.Idx000001;r_pct=dif(clpr)/lag(clpr);/*dif(clpr)等價于clpr-lag(clpr)*/r_log=log(clpr)-log(lag(clpr));run;當前11頁,總共33頁。2.2.7繪制收益圖計算收益后,可以繪制收益對時間的散點圖來發(fā)現(xiàn)其隨時間增長的發(fā)展趨勢。例如,對上面計算的相關(guān)收益,其對時間的散點圖SAS程序如下。proc

gplotdata=r_day;plotr_pct*date/vref=0;plotr_log*date/vref=0;run;quit;選項VREF=要求在豎軸上的某個指定值處畫一條垂直于此軸的參照線,該例程中其值為0。當前12頁,總共33頁。2.2.8多期平均收益率計算多期收益的度量包括計算多個單期收益的算術(shù)平均值和幾何平均值。計算上證指數(shù)(IDX000001)收盤價1995~2005年間年平均、月平均和日平均收益。當前13頁,總共33頁。/*建立滿足條件的數(shù)據(jù)集*/dataa1;setr_year;where1995<=year(date)<=2005;proc

print;run;/*對數(shù)據(jù)集轉(zhuǎn)置*/proc

transposedata=a1out=a2;varr_pct;proc

print;run;/*計算年平均收益*/dataa3(keep=amgm);seta2;c1=col1+1;c2=col2+1;……c11=col11+1;gm=(c1*c2*c3*….*c11)**(1/11)-1;am=mean(ofcol1-col11);proc

print;run;/*變量太多時,用數(shù)組的方法處理簡單些*/%lett=%eval(2005-1995+1);dataa4(keep=amgm);seta2;arraycol(&t)col1-col&t;arrayc(&t)c1-c&t;gm0=1;doi=1to&t;c(i)=col(i)+1;gm0=gm0*c(i);end;gm=(gm0)**(1/&t))-1;am=mean(ofcol1-col&t);proc

print;run;平均年收益:當前14頁,總共33頁。一般來說,平均收益用的是幾何平均收益,即上面程序中的GM。求幾何平均收益時,還有更簡單且更精確的方法,通過下面程序可以體會一下應(yīng)用SAS編程的妙處。

dataa5;setbb;iflast_y=1and1997<=year(date)<=2005;run;dataa6;retainbeginend;seta5end=lastobs;if_n_=1thenbegin=clpr;/*將數(shù)據(jù)集第一個觀測值的價格賦給變量begin*/iflastobsthendo;end=clpr;/*將數(shù)據(jù)集最后一個觀測值的價格賦給變量end*/output;end;dataa6(keep=gm);seta6;T=2005-1997+1;gm=(end/begin)**(1/t)-1;proc

print;run;/*該方法主要優(yōu)點是精確*/其它多期平均收益的計算留為習題。當前15頁,總共33頁。2.3多股票收益計算實際應(yīng)用時,往往需要計算多個股票的收益并將這些收益放在一張數(shù)據(jù)表中。以下程序可以用于多股票日對數(shù)收益和百分比收益數(shù)據(jù)。2.3.1由最新股票信息數(shù)據(jù)集創(chuàng)建宏文本2.3.2由個股數(shù)據(jù)集目錄文件創(chuàng)建宏文本2.3.3多股票收益計算程序2.3.4收益SAS數(shù)據(jù)集轉(zhuǎn)換為EXCEL數(shù)據(jù)表當前16頁,總共33頁。2.3.1由最新股票信息數(shù)據(jù)集創(chuàng)建宏文本利用最新股票信息數(shù)據(jù)集Lstkinfo創(chuàng)建多股票宏文本:Stk.txt.data_null_;setResDat.Lstkinfo;a='%a(';b=',';c=');';file"Stk.txt";/*這里輸出的宏文本存于默認的文件夾下,這樣存貯不需要查看和保留的中間文件、可以避免以后引用該文件或不同機器拷貝程序時,需要重新創(chuàng)建文件夾的問題。*/puta$stkcd$b$lstknm$c$;run;當前17頁,總共33頁。創(chuàng)建滬市股票宏文本:SHStk.txtData_null_;setResDat.Lstkinfo;ifsubstr(stkcd,1,1)in('6','9')orsubstr(stkcd,1,2)='99';a='%a(';b=',';c=');';file"SHStk.txt";puta$stkcd$b$lstknm$c$;run;創(chuàng)建深市股票宏文本:SZStk.txt";Data_null_;setResDat.Lstkinfo;ifsubstr(stkcd,1,1)='0'orsubstr(stkcd,1,2)='20';a='%a(';b=',';c=');';file"SZStk.txt";puta$stkcd$b$lstknm$c$;run;當前18頁,總共33頁。2.3.2由個股數(shù)據(jù)集目錄文件創(chuàng)建宏文本個股股票數(shù)據(jù)存在于目錄ResDat下。目錄ResDat下所有個股股票SAS數(shù)據(jù)集.SAS7BDAT文件列表與宏的形成過程如下。DOS操作系統(tǒng)下→進入ResDat→執(zhí)行列目錄文件命令:dirStk*.*/b>outlist在相應(yīng)的目錄下打開文件OUTLIST,可以看到文件前兩行的結(jié)果如下:stk000001.sas7bdatstk000002.sas7bdat………這里DOS命令dir*.*/b中的參數(shù)/b表示只列出文件名。刪除文件名stkcdref.sas7bdat。當前19頁,總共33頁。dataa;lengthfiles$9;infile"d:\ResDat\outlist";inputfiles$;iffiles='stkcdref.'thendelete;run;形成文件名數(shù)據(jù)集:當前20頁,總共33頁。Data_null_;seta;stkcd=substr(files,4,6);a='%a(';c=');';file"Stk1.txt";puta$stkcd$c$;run;創(chuàng)建目錄ResDat下全部股票代碼的宏文本:Stk1.txt.:當前21頁,總共33頁。2.3.3多股票收益計算程序方法一:一只股票的行情與分配形成一個SAS數(shù)據(jù)集。每個SAS數(shù)據(jù)集計算一只股票的收益。并將計算結(jié)果按適當?shù)男问胶喜⒌揭粋€數(shù)據(jù)集中。

滬市日對數(shù)收益計算程序:optionsnodatenonotesnosource;/*不輸出時間、注釋和源程序到日志LOG上*/dataResDat.lg_shanghai(keep=date);setResDat.Idx000001;where1995<=year(date)<=2005;/*全部交易日期通過上證指數(shù)的行情取得*/%macroa(x,y);/*求日對數(shù)收益率*/dataa(keep=dater_1);setResDat.stk&x;where1995<=year(date)<=2005;adjclpr=clpr*Mcfacpr;/*用調(diào)整后的股價計算,Mcfacpr為累積股價調(diào)整乘子*/r_1=log(adjclpr)-log(lag(adjclpr));當前22頁,總共33頁。/*將所求的收益率合并到數(shù)據(jù)集ResDat.lg_shanghai中*/dataResDat.lg_shanghai(rename=(r_1=r&x));mergeResDat.lg_shanghaia;bydate;dataResDat.lg_shanghai;setResDat.lg_shanghai;ifr&x=.thenr&x=0;elser&x=r&x;%menda;%include"SHStk.txt";run;滬市日百分比收益計算程序:optionsnodatenonotesnosource;dataResDat.r_shanghai(keep=date);setResDat.Idx000001;where1995<=year(date)<=2005;當前23頁,總共33頁。%macroa(x,y);/*求日百分比收益率*/dataa(keep=dater_1);setResDat.stk&x;where1995<=year(date)<=2005;adjclpr=clpr*Mcfacpr;/*用調(diào)整后的股價計算*/r_1=(adjclpr-lag(adjclpr))/lag(adjclpr);/*將所求的收益率合并到數(shù)據(jù)集ResDat.r_shanghai中*/dataResDat.r_shanghai(rename=(r_1=r&x));mergeResDat.r_shanghaia;bydate;dataResDat.r_shanghai;setResDat.r_shanghai;ifr&x=.thenr&x=0;elser&x=r&x;%menda;%include"SHStk.txt";run;當前24頁,總共33頁。方法二:直接利用包括所有股票的行情分配數(shù)據(jù)集Qttndist。datareturn;setResDat.Qttndist;bystkcddate;adjclpr=Mcfacpr*Clpr;lag_adjclpr=lag(adjclpr);ifnotfirst.stkcdthenlagadjclpr=lag_adjclpr;return=(adjclpr-lagadjclpr)/lagadjclpr;keepstkcdlstknmdatereturn;run;注意:方法一、二計算收益數(shù)據(jù)的存貯方式不同。以下各節(jié)內(nèi)容以方法一計算的結(jié)果為基礎(chǔ)展開。當前25頁,總共33頁。proc

transposedata=ResDat.lg_shanghaiout=lg_shanghai_tr;run;datalg_shanghai_tr_1;setlg_shanghai_tr;if_n_<=220;run;proc

transposedata=lg_shanghai_tr_1out=lg_shanghai_1;datalg_shanghai_1;setlg_shanghai_1;formatdateyymmdd10.;run;datalg_shanghai_tr_2;setlg_shanghai_tr;if221<=_n_<=440;run;proc

transposedata=lg_shanghai_tr_2out=lg_shanghai_2;datalg_shanghai_2;setlg_shanghai_2;run;2.3.4收益SAS數(shù)據(jù)集轉(zhuǎn)換為EXCEL數(shù)據(jù)表當前26頁,總共33頁。datalg_shanghai_tr_3;setlg_shanghai_tr;if441<=_n_<=660;run;proc

transposedata=lg_shanghai_tr_3out=lg_shanghai_3;datalg_shanghai_3;setlg_shanghai_3;run;datalg_shanghai_tr_4;setlg_shanghai_tr;if661<=_n_;run;proc

transposedata=lg_shanghai_tr_4out=lg_shanghai_4;datalg_shanghai_4;setlg_shanghai_4;run;當前27頁,總共33頁。proc

exportdata=lg_shanghai_1outfile="d:\ResDat\lg_shanghai_1.xls"dbms=excel2000replace;run;proc

exportdata=lg_shanghai_2outfile="d:\ResDat\lg_shanghai_2.xls"dbms=excel2000replace;run;proc

exportdata=lg_shanghai_3outfile="d:\ResDat\lg_shanghai_3.xls"dbms=excel2000replace;run;proc

exportdata=lg_shanghai_4outfile="d:\ResDat\lg_shanghai_4.xls"dbms=excel2000replace;run;同樣,可以轉(zhuǎn)換其他收益SAS數(shù)據(jù)集為相應(yīng)的EXCEL表。當前28頁,總共33頁。2.4投資組合收益計算2.4.1由最新股票信息數(shù)據(jù)集Lstkinfo創(chuàng)建宏文本挑選出1995年前上市的股票:%macroa(x);dataa;setResDat.Lstkinfo;ifyear(Lstdt)<&x;/*Lstdt為股票上市日期*/datay%eval(&x)_list;seta;a='%a(';c=");";file"AlistedBefore%str(&x).txt";puta$stkcd$c$;%menda;%a(1995);run;通過改變宏%a(1995)中的參數(shù)值1995,可以選擇任意年份前上市的股票。當前29頁,總共33頁。2.4.2隨機抽股票在上面得到的1995年前上市A股票中隨機抽取20支,并創(chuàng)建包含這20支股票代碼的宏文本RANDOM1995.TXT。

%macroa(x);procsql;/*sql過程創(chuàng)建視圖*/createview_tmp_asselect*,ranuni(5)as_ran_fromy%eval(&x)_listorderbycalculated_ran_;quit;datarandom;set_tmp_(obs=20);drop_ran_;a='%a(';c=");";file"random%str(&x).txt";puta$stkcd$c$;%menda;%a(1995);run;當前30頁,總共33頁。2.4.3單個股票收益計算dataResDat.r_port20(keep=date);setResDat.Idx000001;where1995<=y

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論