摘 要:R軟件是一種開源式的,具有強(qiáng)大的統(tǒng)計(jì)分析和作圖功能,非常適合金融和證券分析學(xué)者應(yīng)用的統(tǒng)計(jì)軟件。文章介紹使用R軟件檢驗(yàn)Markowitz投資組合模型的重要假設(shè)之:證券收益率服從正態(tài)分布,以及應(yīng)用期望值法和指數(shù)平滑法進(jìn)行證券預(yù)期收益率的預(yù)測(cè),通過分析可以看出R軟件以其自由、靈活、高效的特點(diǎn),在證券分析和預(yù)測(cè)領(lǐng)域具有廣泛的應(yīng)用價(jià)值。
關(guān)鍵詞:R軟件 Markowitz模型 證券收益率 預(yù)測(cè)
中圖分類號(hào):F830.91 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-4914(2008)11-224-03
一、R軟件簡介
R是一個(gè)有著統(tǒng)計(jì)分析功能及強(qiáng)大作圖功能的軟件系統(tǒng),由Ross Ihaka和Robert Gentleman1共同創(chuàng)立。R語言可以看作是由ATT貝爾實(shí)驗(yàn)室所創(chuàng)的S語言發(fā)展出的一種方言。因此R既是一種軟件也可以說是一種語言。首先,R是完全免費(fèi)的自由軟件,使用者可以在上面隨意進(jìn)行二次開發(fā)。它開放源代碼,具有很多功能強(qiáng)大的第三方開發(fā)的模塊。其次,R是一種可編程的語言,使用者可以在R中很容易的寫出自己希望執(zhí)行的程序,不會(huì)受固定模塊的限制。再次,R具有很強(qiáng)的互動(dòng)性,輸入和輸出都是在同一個(gè)窗口進(jìn)行(除了圖形輸出),這點(diǎn)和SAS有很大的區(qū)別。最后,R具有強(qiáng)大的圖形輸出功能,輸出的圖形輸出的圖形不但可以存成JPG、BMP、PNG等主流圖片格式,還可以保存為PDF文件。它善于輸出各種常用的統(tǒng)計(jì)圖形,如餅圖、直方圖、散點(diǎn)圖、箱圖、QQ圖等。
相比于大家熟悉的統(tǒng)計(jì)軟件SPSS和SAS,R軟件以其高度的靈活自由性正受到越來越多統(tǒng)計(jì)學(xué)者的青睞。以易用性著稱的SPSS和功能強(qiáng)大的SAS軟件都包括了很多功能強(qiáng)大的統(tǒng)計(jì)分析模塊,分析人員必須在它們既定的模塊上進(jìn)行各種分析。但是,隨著信息技術(shù)的飛速發(fā)展,越來越多的統(tǒng)計(jì)分析新方法被提出來,尤其是在證券分析領(lǐng)域,使用既定模塊分析的統(tǒng)計(jì)軟件已經(jīng)不能及時(shí)地跟上發(fā)展的速度。這個(gè)時(shí)候就需要人們自己用編程來實(shí)現(xiàn)這些新方法,R就提供了這樣一個(gè)很好的平臺(tái)。
二、理論基礎(chǔ)
(一)Markowitz投資組合模型
∑wi=1
wi>0,i=1,2,...,N
Markowitz證券投資模型所基于的的重要假設(shè)之一是:證券的收益率可以視為隨機(jī)變量且服從正態(tài)分布,其性質(zhì)由均值和方差來描述。
(二)證券預(yù)期收益率的預(yù)測(cè)方法
在證券收益率服從正態(tài)分布的假設(shè)下,我們必須對(duì)模型中的一個(gè)重要參數(shù)——證券的預(yù)期收益率ui做出合理預(yù)測(cè)。在此,我們介紹預(yù)測(cè)證券預(yù)期收益率常用的兩種方法:計(jì)算證券收益率的期望值和加權(quán)期望值。
計(jì)算證券收益率的期望值,這是Markowitz在其著名的論文《投資組合選擇》中所使用的方法。他通過計(jì)算最近N周內(nèi)收益率的期望值作為第N+1周收益率的預(yù)測(cè)值。而計(jì)算加權(quán)期望值的方法則有很多,如果投資者認(rèn)為據(jù)目標(biāo)期時(shí)間越近則關(guān)系越密切,那么就可以將歷史數(shù)據(jù)中的各時(shí)期的收益率進(jìn)行加權(quán)平均,使得據(jù)目標(biāo)期時(shí)間越近的收益率的權(quán)重越大。這類方法中最常見的當(dāng)屬指數(shù)平滑法。指數(shù)平滑法的基本公式是:St=αYt+(1-α)St-1,其中St表示時(shí)間t的平滑值,α表示時(shí)間t的實(shí)際值,表示時(shí)間t-1的平滑值;表示平滑常數(shù),其取值范圍為[0,1]。St是Yt和St-1的加權(quán)算數(shù)平均數(shù),α的取值大小決定了Yt和St-1對(duì)St的影響程度。St具有逐期追溯性質(zhì),可探源至S1為止,包括全部數(shù)據(jù)。在此過程中,平滑常數(shù)α以指數(shù)形式遞減,故稱之為指數(shù)平滑法。平滑常數(shù)的取值至關(guān)重要,它決定了平滑水平以及對(duì)預(yù)測(cè)值與實(shí)際結(jié)果之間差異的響應(yīng)速度。平滑常數(shù)α越接近于1,遠(yuǎn)期實(shí)際值對(duì)本期平滑值的下降越迅速;平滑常數(shù)α越接近于0,遠(yuǎn)期實(shí)際值對(duì)本期平滑值影響程度的下降越緩慢。由此,當(dāng)時(shí)間數(shù)列相對(duì)平穩(wěn)時(shí),可取較大的α;當(dāng)時(shí)間數(shù)列波動(dòng)較大時(shí),應(yīng)取較小的α,以不忽略遠(yuǎn)期實(shí)際值的影響。
三、R軟件在證券收益率的分析與預(yù)測(cè)中的應(yīng)用實(shí)例
1.驗(yàn)證Markowitz模型的重要假設(shè):證券收益率服從正態(tài)分布。
(1)數(shù)據(jù)讀取。
對(duì)于存儲(chǔ)在文本文件(ASCII)中的數(shù)據(jù),R可以用函數(shù)read.table來創(chuàng)建一個(gè)數(shù)據(jù)框,這也是讀取表格形式數(shù)據(jù)的主要方法。例如若包含某證券共100周開盤和收盤指數(shù)信息的數(shù)據(jù)文件“data.txt”存放在D盤上,我們可通過以下命令格式來讀?。?/p>
mydatas<-read.table(\"d:/data.txt\",col.names(\"p0\",\"p1\"))
其中數(shù)據(jù)框名為mydatas,數(shù)據(jù)框中每個(gè)變量被依次命名為:p0,p1,(缺省值為V1,V2……)。
(2)計(jì)算證券的周收益率。
wp=(mydatas[\"p1\"]-mydatas[\"p0\"])/mydatas[\"p0\"]
通過使用fix(wp)函數(shù),可以對(duì)wp的變量名進(jìn)行修改,使其具有直觀的名字,如weekprofit。
輸出結(jié)果:
>wp
weekprofit
1 1.66087551
2 -0.61299388
3 -0.85826857
…………
98 -1.13587649
99 -0.95793858
100 -1.51198618
(3)對(duì)周收益率數(shù)據(jù)進(jìn)行初步分析。
運(yùn)用R中的summary和fivenum函數(shù)可以得到數(shù)據(jù)組的匯總信息,并對(duì)數(shù)據(jù)組的數(shù)據(jù)結(jié)構(gòu)獲得初步了解。命令格式:
summary(wp$weekprofit)
輸出結(jié)果為:
Min.1st Qu. Median Mean 3rd Qu.Max.
-1.6070 -0.3188 0.3479 0.3854 1.0790 2.8640
命令格式:
fivenum(wp$weekprofit)
輸出結(jié)果為:
-1.6066727 -0.31954760.34792321.09358282.8636463
(4)做出周收益率的直方圖。
為了更加直觀的分析周收益率這組單變量數(shù)據(jù)的分布,我們首先做出柱形圖(如圖1),命令格式為:
hist(wp$weekprofit)
(5)繪制密度圖。
為了更加清晰地分析該數(shù)據(jù)組的分布特征,我們?cè)谥螆D基礎(chǔ)上繪制密度圖(如圖2),命令格式為:
lines(density(wp$weekprofit))。
(6)求周收益率的經(jīng)驗(yàn)分布函數(shù)。
命令格式為:
ecdf(wp$weekprofit)
輸出結(jié)果為:
> ecdf(wp$weekprofit)
Empirical CDF
Call:ecdf(wp$weekprofit)
x[1:100] = -1.6067, -1.5275, -1.512,..., 2.6041, 2.8636
(7)做出經(jīng)驗(yàn)分布函數(shù)圖(如圖3)。
命令格式為:
plot(ecdf(wp$weekprofit),verticals=TRUE)
(8)擬合正態(tài)分布。
從以上的分析可以看出這個(gè)數(shù)據(jù)組的分布還是與正態(tài)分布比較相似的,因此我們擬合一個(gè)正態(tài)分布,并且使擬合后的圖與經(jīng)驗(yàn)分布函數(shù)圖相重疊(如圖4)。命令格式為:
>plot(ecdf(wp$weekprofit),verticals=TRUE)
>x<-seq(-1.7,3,0.1)
>lines(x,pnorm(x,mean=mean(wp$weekprofit),sd=sqrt(var(wp$weekprofit))))
圖4中的實(shí)線便是正態(tài)分布的擬和線,由上圖可以清晰地看到,擬和后的曲線與原經(jīng)驗(yàn)分布函數(shù)基本吻合。但要具體考察二者的吻合程度,R軟件為我們提供了更精確的工具。
(9) 做出分位比較圖(Q-Q圖)。
為研究(8)中正態(tài)擬和線與經(jīng)驗(yàn)分布函數(shù)的吻合程度,R軟件提供了分位比較圖(Q-Q圖)(如圖5)來完成這個(gè)任務(wù)。命令格式為:
qqnorm(wp$weekprofit)
qqline(wp$weekprofit)
由圖5可見,二者具有優(yōu)良的吻合度,未出現(xiàn)明顯的偏離正態(tài)期望的長尾區(qū)域。
(10)做正態(tài)性檢驗(yàn)。
R中提供了Shapiro-Wilk檢驗(yàn)和Kolmogorov-Smirnov檢驗(yàn)兩種正規(guī)的正態(tài)性檢驗(yàn)方法。命令格式分別為:
shapiro.test(wp$weekprofit)
ks.test(wp$weekprofit,\"pnorm\",mean=mean(wp$weekprofit),sd=sqrt(var(wp$weekprofit)))。
如果樣本較大,例如大于1000,我們可以選用Kolmogorov-Smirnov檢驗(yàn),反之可以選擇Shapiro-Wilk檢驗(yàn)。本文所選樣本較小,因此采用Shapiro-Wilk檢驗(yàn)可以得到以下輸出結(jié)果:
Shapiro-Wilk normality test
data:wp$weekprofit
W=0.9881,p-value=0.5136
假設(shè)顯著性水平為α=0.05,由于上述檢驗(yàn)所得的,因此可以驗(yàn)證證券收益率近似服從正態(tài)分布。
2.預(yù)測(cè)證券的預(yù)期收益率。
其中,R表示預(yù)期收益率;α表示加權(quán)系數(shù),介于0和1之間,由投資者決定。
注1:一般情況下如果收益率序列{ri}波動(dòng)不大,則α應(yīng)取小一點(diǎn),比如:0.1-0.3;如果收益率序列{ri}波動(dòng)較大,則α應(yīng)取大一點(diǎn),比如:0.6-0.8。
> r=NULL
> r[1]=(wp[1,1]+wp[2,1])/2
> for(i in 2:100){
r[i]=0.1*wp[i-1,1]+(1-0.1)*r[i-1]}
> R=NULL
> R=0.1*wp[100,1]+(1-0.1)*r[100]
輸出結(jié)果為:
>R
-0.3395193
四、小結(jié)
本文簡要介紹了R統(tǒng)計(jì)軟件的特點(diǎn),并舉例介紹了如何應(yīng)用R軟件檢驗(yàn)Markowitz模型的重要假設(shè):證券收益率近似服從正態(tài)分布。我們先后求出了證券的周收益率,做出了柱形圖,求出了密度函數(shù),經(jīng)驗(yàn)分布函數(shù),進(jìn)行了正態(tài)分布擬合,用分位比較圖驗(yàn)證了吻合程度,最后應(yīng)用Kolmogorov-Smirnov法進(jìn)行了正態(tài)檢驗(yàn),得出結(jié)論。接下來,我們又運(yùn)用R軟件,通過自由編程,結(jié)合期望值法和指數(shù)平滑法分別對(duì)證券的預(yù)期收益率進(jìn)行了預(yù)測(cè)。通過分析我們可以看到R軟件具有強(qiáng)大的統(tǒng)計(jì)分析和作圖功能,在證券分析中的應(yīng)用非常自由、方便、有效。
從以上的示例可以看出,R在進(jìn)行證券分析與預(yù)測(cè)時(shí)具有廣泛的應(yīng)用空間,它并不局限于解決某一類問題。例如在證券的數(shù)據(jù)分析中,R還可以應(yīng)用于各類概率分布的擬和,如logistic分布、Poisson分布等,并進(jìn)行相關(guān)的假設(shè)檢驗(yàn)。此外,R除了具有可以與其他商業(yè)軟件相媲美的統(tǒng)計(jì)分析功能,還為廣大的用戶提供了一個(gè)強(qiáng)大靈活的編程平臺(tái),這無疑為證券分析學(xué)者提供了一個(gè)靈活而自由的創(chuàng)新空間。
參考文獻(xiàn):
1.陳一非,王斌會(huì).R-靈活強(qiáng)大的自由統(tǒng)計(jì)分析軟件[J].統(tǒng)計(jì)與決策,2004(9)
2.Harry Markowitz. Portfolio Selection [J]. The Journal of Finance,Vol.7, No.1.(Mar., 1952): pp.77-91
(作者單位:廈門大學(xué)數(shù)學(xué)科學(xué)學(xué)院 福建廈門 361005)
(責(zé)編:賈偉)