R统计软件在证券收益率的与预测中的应用

点赞:19179 浏览:83410 近期更新时间:2024-02-20 作者:网友分享原创网站原创

一、R软件简介

R是一个有着统计分析功能及强大作图功能的软件系统,由RossIhaka和RobertGentleman1共同创立.R语言可以看作是由AT&T贝尔实验室所创的S语言发展出的一种方言.因此R既是一种软件也可以说是一种语言.首先,R是完全免费的自由软件,使用者可以在上面随意进行二次开发.它开放源代码,具有很多功能强大的第三方开发的模块.其次,R是一种可编程的语言,使用者可以在R中很容易的写出自己希望执行的程序,不会受固定模块的限制.再次,R具有很强的互动性,输入和输出都是在同一个窗口进行(除了图形输出),这点和SAS有很大的区别.最后,R具有强大的图形输出功能,输出的图形输出的图形不但可以存成JPG、BMP、PNG等主流图片格式,还可以保存为PDF文件.它善于输出各种常用的统计图形,如饼图、直方图、散点图、箱图、图等.


相比于大家熟悉的统计软件SPSS和SAS,R软件以其高度的灵活自由性正受到越来越多统计学者的青睐.以易用性著称的SPSS和功能强大的SAS软件都包括了很多功能强大的统计分析模块,分析人员必须在它们既定的模块上进行各种分析.但是,随着信息技术的飞速发展,越来越多的统计分析新方法被提出来,尤其是在证券分析领域,使用既定模块分析的统计软件已经不能及时地跟上发展的速度.这个时候就需要人们自己用编程来实现这些新方法,R就提供了这样一个很好的平台.

二、理论基础

1.Markowitz投资组合模型

检测设ri是投资在第i种证券上的收益率,它是随机变量,ui是第i种证券的预期收益率,σij是ri和rj的协方差(σii是ri的方差),wi是投资在第i种证券上的投资比例,则投资组合的收益率∑ri×wi是随机变量,wi是由投资者确定下来的非随机变量,显见∑wi等于1,并且根据检测设(8)有:wi≥0.则可得到投资组合的预期收益率为E等于∑Ni等于1wiui,方差为V等于∑Ni等于1∑Ni等于1σijwiwj,或者用相关系数表示为V等于∑Ni等于1w2iσ2i+2∑1≤i<j≤Nwiwjρijσiσj.

Markowitz投资组合模型为:

min∑Ni等于1∑Ni等于1σijwiwj

s.t.E等于∑Ni等于1wiui

∑wi等于1

wi≥0,i等于1,2,等,N

Markowitz证券投资模型所基于的的重要检测设之一是:证券的收益率ui可以视为随机变量且服从正态分布,其性质由均值和方差来描述.

2.证券预期收益率的预测方法

在证券收益率服从正态分布的检测设下,我们必须对模型中的一个重要参数――证券的预期收益率做出合理预测.在此,我们介绍预测证券预期收益率常用的两种方法:计算证券收益率的期望值和加权期望值.

R统计软件在证券收益率的与预测中的应用参考属性评定
有关论文范文主题研究: 关于统计分析的论文范例 大学生适用: 学士学位论文、自考毕业论文
相关参考文献下载数量: 19 写作解决问题: 如何怎么撰写
毕业论文开题报告: 标准论文格式、论文摘要 职称论文适用: 杂志投稿、高级职称
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 最新题目

计算证券收益率的期望值,这是Markowitz在其著名的论文《投资组合选择》中所使用的方法.他通过计算最近N周内收益率的期望值作为第N+1周收益率的预测值.而计算加权期望值的方法则有很多,如果投资者认为据目标期时间越近则关系越密切,那么就可以将历史数据中的各时期的收益率进行加权平均,使得据目标期时间越近的收益率的权重越大.这类方法中最常见的当属指数平滑法.指数平滑法的基本公式是:St等于αYt+(1-α)St-1,其中St表示时间t的平滑值,Yt表示时间t的实际值,St-1表示时间t-1的平滑值;α表示平滑常数,其取值范围为[0,1].St是Yt和St-1的加权算数平均数,α的取值大小决定了Yt和St-1对St的影响程度.St具有逐期追溯性质,可探源至S1为止,包括全部数据.在此过程中,平滑常数以指数形式递减,故称之为指数平滑法.平滑常数的取值至关重要,它决定了平滑水平以及对预测值与实际结果之间差异的响应速度.平滑常数α越接近于1,远期实际值对本期平滑值的下降越迅速;平滑常数α越接近于0,远期实际值对本期平滑值影响程度的下降越缓慢.由此,当时间数列相对平稳时,可取较大的α;当时间数列波动较大时,应取较小的α,以不忽略远期实际值的影响.

三、R软件在证券收益率的分析与预测中的应用实例

1.验证Markowitz模型的重要检测设:证券收益率服从正态分布

(1)数据读取

对于存储在文本文件(ASCII)中的数据,R可以用函数read.table来创建一个数据框,这也是读取表格形式数据的主要方法.例如若包含某证券共100周开盘和收盘指数信息的数据文件“data.txt”存放在D盘上,我们可通过以下命令格式来读取:

mydatas<-read.table(“d:/data.txt”,col.names(“p0”,“p1”))

其中数据框名为mydatas,数据框中每个变量被依次命名为:p0,p1,(缺省值为V1,V2等).

(2)计算证券的周收益率

检测设某种证券在最近N周内的收益率分别为r1,r2,等,rN,则ri等于p1i-p0ip0i×100%,其中p0i表示第i周第一天的开盘价,p1i表示第i周最后一天的收盘价.R中通过对数据框mydatas的变量p1和p0进行运算操作,可计算出用数据框wp存储的周收益率.命令格式为:

wp等于(mydatas[“p1”]-mydatas[“p0”])/mydatas[“p0”]

通过使用fix(wp)函数,可以对wp的变量名进行修改,使其具有直观的名字,如weekprofit.

输出结果:

〉wp

weekprofit

11.66087551

2-0.61299388

3-0.85826857

等等

98-1.13587649

99-0.95793858

100-1.51198618

(3)对周收益率数据进行初步分析

运用R中的summary和fivenum函数可以得到数据组的汇总信息,并对数据组的数据结构获得初步了解.命令格式:

summary(wp$weekprofit)

输出结果为:

Min.1stQu.MedianMean3rdQu.Max.

-1.6070-0.31880.34790.38541.07902.8640

命令格式:

fivenum(wp$weekprofit)

输出结果为:

[1]-1.6066727-0.31954760.34792321.09358282.8636463

(4)作出周收益率的直方图

为了更加直观的分析周收益率这组单变量数据的分布,我们首先作出柱形图,命令格式为:

hist(wp$weekprofit)

(5)绘制密度图

为了更加清晰地分析该数据组的分布特征,我们在柱形图基础上绘制密度图,命令格式为:

lines(density(wp$weekprofit)).

(6)求周收益率的经验分布函数

命令格式为:

ecdf(wp$weekprofit)

输出结果为:

〉ecdf(wp$weekprofit)

EmpiricalCDF

Call:ecdf(wp$weekprofit)

x[1:100]等于-1.6067,-1.5275,-1.512,等,2.6041,2.8636


(7)作出经验分布函数图

命令格式为:

plot(ecdf(wp$weekprofit),verticals等于TRUE)

(8)拟合正态分布

从以上的分析可以看出这个数据组的分布还是与正态分布比较相似的,因此我们拟合一个正态分布,并且使拟合后的图与经验分布函数图相重叠.命令格式为:

〉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))))

图中的实线便是正态分布的拟和线,由上图可以清晰地看到,拟和后的曲线与原经验分布函数基本吻合.但要具体考察二者的吻合程度,R软件为我们提供了更精确的工具.

(9)做出分位比较图(Q-Q图)

为研究(8)中正态拟和线与经验分布函数的吻合程度,R软件提供了分位比较图(Q-Q图)来完成这个任务.命令格式为:

norm(wp$weekprofit)

line(wp$weekprofit)

由上图可见,二者具有优良的吻合度,未出现明显的偏离正态期望的长尾区域.

(10)正态性检验

R中提供了Shapiro-Wilk检验和Kolmogorov-Smirnov检验两种正规的正态性检验方法.命令格式分别为:

shapiro.test(wp$weekprofit)

ks.test(wp$weekprofit,“pnorm”,mean等于mean(wp$weekprofit),sd等于sqrt(var(wp$weekprofit))).

我们应用Kolmogorov-Smirnov检验可以得到以下输出结果为:

One-sampleKolmogorov-Smirnovtest

data:wp$weekprofit

D等于0.0451,p-value等于0.987

alternativehypothesis:two-sided

由于检验所得p值非常接近1,由上述分析可以验证证券收益率近从正态分布.

2.预测证券的预期收益率

方法一:计算这支股票的期望收益率.以最近时期内的样本期望值来估计得到第N+1周的预期收益率为rN+1等于1N∑Ni等于1ri,这也是Markowitz在《投资组合选择》中所采用的方法.命令格式为:

mean(wp$weekprofit)

输出结果为:

[1]0.385416

方法二:用指数平滑法计算加权期望收益率.如果投资者认为据目标期时间越近则关系越密切,这样就可以将历史数据中的各时期的收益率进行加权平均,据目标期时间越近则权重越大.本文以指数平滑法为例阐述期望收益率的这种估计方法.[2]检测设某种证券在最近N周内的收益率分别为r1,r2,等,rN,则在估计该证券的预期收益率时,可以得到这些收益率的追溯预测值1,2,等,N

i+1等于αri+(1-α)i

1,等于r1+r22

R等于N+1

其中,R表示预期收益率;α表示加权系数,介于0和1之间,由投资者决定.

注1:一般情况下如果收益率序列{ri}波动不大,则α应取小一点,比如:0.1-0.3;如果收益率序列{ri}波动较大,则α应取大一点,比如:0.6-0.8.

注2:在实际操作中,可取多个值进行试算,比较它们的MAE等于1N∑Ni等于1|ri-i|,取较小者为准估计预期收益率.

在此,我们若取α等于0.1,运用R软件提供的自由、灵活的编程环境,作者对指数平滑法预测证券收益率的方法进行了编程,命令格式为:

〉r等于NULL

〉r[1]等于(wp[1,1]+wp[2,1])/2

〉for(iin2: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]

输出结果为:

〉R

[1]-0.3395193

四、小结

本文简要介绍了R统计软件的特点,以及如何应用R软件检验Markowitz模型的重要检测设:证券收益率近从正态分布.我们先后求出了证券的周收益率,做出了柱形图,求出了密度函数,经验分布函数,进行了正态分布拟合,用分位比较图验证了吻合程度,最后应用Kolmogorov-Smirnov法进行了正态检验.接下来又运用R软件,通过自由编程,结合期望值法和指数平滑法分别对证券的预期收益率进行了预测.通过分析我们看到R软件在证券分析中的应用非常自由、方便、有效,在进行证券分析与预测时具有广泛的应用空间.但R并不局限于解决某一类问题,在证券的数据分析中,还可以应用于各类概率分布的拟和,如logistic分布、Poisson分布等,并进行相关的检测设检验.此外,R除了具有可以与其他商业软件相媲美的统计分析功能,还为广大的用户提供了一个强大灵活的编程平台,这无疑为证券分析学者提供了一个灵活而自由的创新空间.

(作者单位:厦门大学数学科学学院)

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文