R统计软件在证券收益率的分析与预测中的应用(1)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)对周收益率数据进行初步分析。 运用 R 中的 summary 和 fivenum 函数可以得到数据组的汇总信息, 并对数据组的数据结构获得初步了解。命令格式: summary(wp¥weekprofit) 输出结果为: Min.1st Qu. Median Mean 3rd Qu.Max. -1.6070 -0.3188 0.3479 0.3854 1.0790 2.8640 命令格式: fivenum(wp¥weekprofit)
标期时间越近则关系越密切,这样就可以将历史数据中的各时期的收益
率进行加权平均,据目标期时间越近则权重越大。本文以指数平滑法为
例阐述期望收益率的这种估计方法。假设某种证券在最近 N 周内的收
益率分别为 r1,r2,...,rN,则在估计该证券的预期收益率时,可以得到这些收
益率的追溯预测值 r1,r2,...,rN
三、R 软件在证券收益率的分析与预测中的应用实例
1.验证 Markowitz 模型的重要假设:证券收益率服从正态分布。
(1)数据读取。
对于存储在文本文件(ASCII)中的数据,R 可以用函数 read.table 来
创建一个数据框,这也是读取表格形式数据的主要方法。例如若包含某
证券共 100 周开盘和收盘指数信息的数据文件“data.txt”存放在 D 盘上,
Shapiro-Wilk 检验可以得到以下输出结果:
Shapiro-Wilk normality test
data:wp¥weekprofit
W=0.9881,p-value=0.5136
假设显著性水平为 α=0.05,由于上述检验所得的,因此可以验证证
券收益率近似服从正态分布。
2.预测证券的预期收益率。
要人们自己用编程来实现这些新方法,R 就提供了这样一个很好的平
台。
二、理论基础
(一)Markowitz 投资组合模型
假设 ri 是投资在第 i 种证券上的收益率,它是随机变量,ui 是第 i 种
证券的预期收益率,σij 是 ri 和 rj 的协方差 (σii 是 ri 的方差),wi 是投资
在第 i 种证券上的投资比例,则投资组合的收益率∑ri×wi 是随机变量,
Markowitz 投资组合模型为:
NN
ΣΣ min
σijwiwj
i = 1i = 1
N
Σ s.t.E= wiui i=1
∑wi=1
wi>0,i=1,2,...,N
Markowitz 证券投资模型所基于的的重要假设之一是:证券的收益
率可以视为随机变量且服从正态分布,其性质由均值和方差来描述。
(二)证券预期收益率的预测方法
图5 度,R 软件为我们提供了更精确的工具。
(9) 做出分位比较图(Q-Q 图)。 为研究(8)中正态拟和线与经验分布函数的吻合程度,R 软件提供 了分位比较图(Q-Q 图)(如图 5)来完成这个任务。命令格式为: qqnorm(wp¥weekprofit)
— 225 —
●统计工作
《经济师》2008 年第 11 期
关键词:R 软件 Markowitz 模型 证券收益率 预测 中图分类号:F830.91 文献标识码:A 文章编号:1004-4914(2008)11-224-03
一、R 软件简介
R 是一个有着统计分析功能及强大作图功能的软件系统,由 Ross
Ihaka 和 Robert Gentleman1 共同创立。R 语言可以看作是由 AT&T 贝尔
..., 2.6041, 2.8636
plot(ecdf(wp¥weekprofit),verticals=TRUE) (8)拟合正态分布。 从以上的分析可以看出这个数据组的分布还是与正态分布比较相 似的,因此我们拟合一个正态分布,并且使拟合后的图与经验分布函数
图相重叠(如图 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))))
实验室所创的 S 语言发展出的一种方言。因此 R 既是一种软件也可以
说是一种语言。首先,R 是完全免费的自由软件,使用者可以在上面随意
进行二次开发。它开放源代码,具有很多功能强大的第三方开发的模块。
其次,R 是一种可编程的语言,使用者可以在 R 中很容易的写出自己希
望执行的程序,不会受固定模块的限制。再次,R 具有很强的互动性,输
贾伟上接第223页管?事后监督为事前审查和实时监控逐步形成对资产的投入需求形成方式调节使用审核报销计价核算处置报废的时时监控模式使资产从需求购入使用直至报废都处于制度的严密监督和管?之下
●统计工作
《经济师》2008 年第 11 期
R 统计软件在证券收益率的分析与预测中的应用
●黄 斐
摘 要:R 软件是一种开源式的,具有强大的统计分析和作图功能, 非常适合金融和证券分析学者应用的统计软件。文章介绍使用 R 软件 检验 Markowitz 投资组合模型的重要假设之:证券收益率服从正态分 布,以及应用期望值法和指数平滑法进行证券预期收益率的预测,通过 分析可以看出 R 软件以其自由 、灵活、高效的特点,在证券分析和预测 领域具有广泛的应用价值。
值至关重要,它决定了平滑水平以及对预测值与实际结果之间差异的响
应速度。平滑常数 α 越接近于 1,远期实际值对本期平滑值的下降越迅
速;平滑常数 α 越接近于 0,远期实际值对本期平滑值影响程度的下降
越缓慢。由此,当时间数列相对平稳时,可取较大的 α;当时间数列波动
较大时,应取较小的 α,以不忽略远期实际值的影响。
在证券收益率服从正态分布的假设下,我们必须对模型中的一个重
要参数———证券的预期收益率 ui 做出合理预测。在此,我们介绍预测证
券预期收益率常用的两种方法:计算证券收益率的期望值和加权期望
值。
计算证券收益率的期望值,这是 Markowitz 在其著名的论文《投资组
合选择》中所使用的方法。他通过计算最近 N 周内收益率的期望值作为
注 2:在实际操作中,可取多个 α 值进行试算,比较它们的 MAE=
N
Σ 1
N
i
=
|ri-ri|,取较小者为准估计预期收益率。
1
在此,我们若取 α=0.1,运用 R 软件提供的自由、灵活的编程环境,
作者对指数平滑法预测证券收益率的方法进行了编程,命令格式为:
我们可通过以下命令格式来读取:
mydatas<-read.table("d:/data.txt",col.names("p0","p1"))
其中数据框名为 mydatas,数据框中每个变量被依次命名为:p0,p1,
(缺省值为 V1,V2……)。
(2)计算证券的周收益率。
10
假设某种证券在最近
N
周内的收益率分别为
qqline(wp¥weekprofit)
由图 5 可见,二者具有优良的吻合度,未出现明显的偏离正态期望
的长尾区域。
(10)做正态性检验。
R 中提供了 Shapiro-Wilk 检验和 Kolmogorov-Smirnov 检验两种正规
的正态性检验方法。命令格式分别为:
shapiro.test(wp¥weekprofit)
方法一:计算这支股票的期望收益率。以最近时期内的样本期望值
N
Σ 来估计得到第
N+1
周的预期收益率为
rN+1=
1 N
i
=
ri ,这也是
1
Markowitz
在
《投资组合选择》中所采用的方法。命令格式为:
mean(wp¥weekprofit)
输出结果为:
0.385416
方法二:用指数平滑法计算加权期望收益率。如果投资者认为据目
r1,r2,...,rN,则
ri
=
pi
-pi
0
pi
×100%,其中 pi0 表示第 i 周第一天的开盘价,pi1 表示第 i 周最后一天的
收盘价。R 中通过对数据框 mydatas 的变量 p1 和 p0 进行运算操作,可计
算出用数据框 wp 存储的周收益率。命令格式为:
wp=(mydatas["p1"]-mydatas["p0"])/mydatas["p0"]
wi 是由投资者确定下来的非随机变量,显见∑wi=1,并且根据假设有:
N
NN
wi≥0。则可得到投资组合的预期收益率为 Σ E= wiui,方差为 V=ΣΣ
i=1
i = 1i = 1
N
Σ Σ σijwiwj,或者用相关系数表示为 V= wi2σi2+2 wiwjpijσiσj。
i=1
1≤<i ≤j N
ks.test (wp ¥weekprofit,"pnorm",mean=mean (wp ¥weekprofit),sd=sqrt (var
(wp¥weekprofit)))。
如果样本较大,例如大于 1000,我们可以选用 Kolmogorov-Smirnov
检验,反之可以选择 Shapiro-Wilk 检验。本文所选样本较小,因此采用
●统计工作
图3
图1 输出结果为: -1.6066727 -0.3195476 0.3479232 1.0935828 2.8636463 (4)做出周收益率的直方图。 为了更加直观的分析周收益率这组单变量数据的分布,我们首先做
图4
x[1:100] = -1.6067, -1.5275, -1.512, (7)做出经验分布函数图(如图 3)。 命令格式为:
自由性正受到越来越多统计学者的青睐。以易用性著称的 SPSS 和功能
强大的 SAS 软件都包括了很多功能强大的统计分析模块,分析人员必
须在它们既定的模块上进行各种分析。但是,随着信息技术的飞速发展,
越来越多的统计分析新方法被提出来,尤其是在证券分析领域,使用既
定模块分析的统计软件已经不能及时地跟上发展的速度。这个时候就需
第 N+1 周收益率的预测值。而计算加权期望值的方法则有很多,如果投
资者认为据目标期时间越近则关系越密切,那么就可以将历史数据中的
各时期的收益率进行加权平均,使得据目标期时间越近的收益率的权重
越大。这类方法中最常见的当属指数平滑法。指数平滑法的基本公式是:
St=αYt+ (1-α)St-1,其中 St 表示时间 t 的平滑值,α 表示时间 t 的实际
rΣ
Σ Σ
i+1
=αri
+(1-α)ri
Σ
Σ
rΣΣ
Σ
Σ1
Σ
=
r1
+r2 2
Σ
Σ
R=r Σ
Σ Σ
N+1
其中,R 表示预期收益率;α 表示加权系数,介于 0 和 1 之间,由投
资者决定。
注 1:一般情况下如果收益率序列{ri}波动不大,则 α 应取小一点,
比如:0.1-0.3;如果收益率序列{ri}波动较大,则 α 应取大一点,比如: 0.6-0.8。
入和输出都是在同一个窗口进行(除了图形输出),这点和 SAS 有很大
的区别。最后,R 具有强大的图形输出功能,输出的图形输出的图形不但
可以存成 JPG、BMP、PNG 等主流图片格式,还可以保存为 PDF 文件。它
善于输出各种常用的统计图形,如饼图、直方图、散点图、箱图、QQ 图等。
相比于大家熟悉的统计软件 SPSS 和 SAS,R 软件以其高度的灵活
值,表示时间 t-1 的平滑值;表示平滑常数,其取值范围为[0,1]。St 是 Yt
和 St-1 的加权算数平均数,α 的取值大小决定了 Yt 和 St-1 对 St 的影响程
度。St 具有逐期追溯性质,可探源至 平滑常数 α 以指数形式递减,故称之为指数平滑法。平滑常数的取
通过使用 fix(wp)函数,可以对 wp 的变量名进行修改,使其具有直
观的名字,如 weekprofit。
输出结果:
>wp
weekprofit
1 1.66087551
2 -0.61299388
3 -0.85826857
…………
— 224 —
《经济师》2008 年第 11 期
98 -1.13587649 99 -0.95793858 100 -1.51198618
图 4 中的实线便是正态分布的拟和线,由上图可以清晰地看到,拟 和后的曲线与原经验分布函数基本吻合。但要具体考察二者的吻合程
图2
出柱形图(如图 1),命令格式为: hist(wp¥weekprofit) (5)绘制密度图。 为了更加清晰地分析该数据组的分布特征,我们在柱形图基础上绘
制密度图(如图 2),命令格式为: lines(density(wp¥weekprofit))。 (6)求周收益率的经验分布函数。 命令格式为: ecdf(wp¥weekprofit) 输出结果为: > ecdf(wp¥weekprofit) Empirical CDF Call:ecdf(wp¥weekprofit)
标期时间越近则关系越密切,这样就可以将历史数据中的各时期的收益
率进行加权平均,据目标期时间越近则权重越大。本文以指数平滑法为
例阐述期望收益率的这种估计方法。假设某种证券在最近 N 周内的收
益率分别为 r1,r2,...,rN,则在估计该证券的预期收益率时,可以得到这些收
益率的追溯预测值 r1,r2,...,rN
三、R 软件在证券收益率的分析与预测中的应用实例
1.验证 Markowitz 模型的重要假设:证券收益率服从正态分布。
(1)数据读取。
对于存储在文本文件(ASCII)中的数据,R 可以用函数 read.table 来
创建一个数据框,这也是读取表格形式数据的主要方法。例如若包含某
证券共 100 周开盘和收盘指数信息的数据文件“data.txt”存放在 D 盘上,
Shapiro-Wilk 检验可以得到以下输出结果:
Shapiro-Wilk normality test
data:wp¥weekprofit
W=0.9881,p-value=0.5136
假设显著性水平为 α=0.05,由于上述检验所得的,因此可以验证证
券收益率近似服从正态分布。
2.预测证券的预期收益率。
要人们自己用编程来实现这些新方法,R 就提供了这样一个很好的平
台。
二、理论基础
(一)Markowitz 投资组合模型
假设 ri 是投资在第 i 种证券上的收益率,它是随机变量,ui 是第 i 种
证券的预期收益率,σij 是 ri 和 rj 的协方差 (σii 是 ri 的方差),wi 是投资
在第 i 种证券上的投资比例,则投资组合的收益率∑ri×wi 是随机变量,
Markowitz 投资组合模型为:
NN
ΣΣ min
σijwiwj
i = 1i = 1
N
Σ s.t.E= wiui i=1
∑wi=1
wi>0,i=1,2,...,N
Markowitz 证券投资模型所基于的的重要假设之一是:证券的收益
率可以视为随机变量且服从正态分布,其性质由均值和方差来描述。
(二)证券预期收益率的预测方法
图5 度,R 软件为我们提供了更精确的工具。
(9) 做出分位比较图(Q-Q 图)。 为研究(8)中正态拟和线与经验分布函数的吻合程度,R 软件提供 了分位比较图(Q-Q 图)(如图 5)来完成这个任务。命令格式为: qqnorm(wp¥weekprofit)
— 225 —
●统计工作
《经济师》2008 年第 11 期
关键词:R 软件 Markowitz 模型 证券收益率 预测 中图分类号:F830.91 文献标识码:A 文章编号:1004-4914(2008)11-224-03
一、R 软件简介
R 是一个有着统计分析功能及强大作图功能的软件系统,由 Ross
Ihaka 和 Robert Gentleman1 共同创立。R 语言可以看作是由 AT&T 贝尔
..., 2.6041, 2.8636
plot(ecdf(wp¥weekprofit),verticals=TRUE) (8)拟合正态分布。 从以上的分析可以看出这个数据组的分布还是与正态分布比较相 似的,因此我们拟合一个正态分布,并且使拟合后的图与经验分布函数
图相重叠(如图 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))))
实验室所创的 S 语言发展出的一种方言。因此 R 既是一种软件也可以
说是一种语言。首先,R 是完全免费的自由软件,使用者可以在上面随意
进行二次开发。它开放源代码,具有很多功能强大的第三方开发的模块。
其次,R 是一种可编程的语言,使用者可以在 R 中很容易的写出自己希
望执行的程序,不会受固定模块的限制。再次,R 具有很强的互动性,输
贾伟上接第223页管?事后监督为事前审查和实时监控逐步形成对资产的投入需求形成方式调节使用审核报销计价核算处置报废的时时监控模式使资产从需求购入使用直至报废都处于制度的严密监督和管?之下
●统计工作
《经济师》2008 年第 11 期
R 统计软件在证券收益率的分析与预测中的应用
●黄 斐
摘 要:R 软件是一种开源式的,具有强大的统计分析和作图功能, 非常适合金融和证券分析学者应用的统计软件。文章介绍使用 R 软件 检验 Markowitz 投资组合模型的重要假设之:证券收益率服从正态分 布,以及应用期望值法和指数平滑法进行证券预期收益率的预测,通过 分析可以看出 R 软件以其自由 、灵活、高效的特点,在证券分析和预测 领域具有广泛的应用价值。
值至关重要,它决定了平滑水平以及对预测值与实际结果之间差异的响
应速度。平滑常数 α 越接近于 1,远期实际值对本期平滑值的下降越迅
速;平滑常数 α 越接近于 0,远期实际值对本期平滑值影响程度的下降
越缓慢。由此,当时间数列相对平稳时,可取较大的 α;当时间数列波动
较大时,应取较小的 α,以不忽略远期实际值的影响。
在证券收益率服从正态分布的假设下,我们必须对模型中的一个重
要参数———证券的预期收益率 ui 做出合理预测。在此,我们介绍预测证
券预期收益率常用的两种方法:计算证券收益率的期望值和加权期望
值。
计算证券收益率的期望值,这是 Markowitz 在其著名的论文《投资组
合选择》中所使用的方法。他通过计算最近 N 周内收益率的期望值作为
注 2:在实际操作中,可取多个 α 值进行试算,比较它们的 MAE=
N
Σ 1
N
i
=
|ri-ri|,取较小者为准估计预期收益率。
1
在此,我们若取 α=0.1,运用 R 软件提供的自由、灵活的编程环境,
作者对指数平滑法预测证券收益率的方法进行了编程,命令格式为:
我们可通过以下命令格式来读取:
mydatas<-read.table("d:/data.txt",col.names("p0","p1"))
其中数据框名为 mydatas,数据框中每个变量被依次命名为:p0,p1,
(缺省值为 V1,V2……)。
(2)计算证券的周收益率。
10
假设某种证券在最近
N
周内的收益率分别为
qqline(wp¥weekprofit)
由图 5 可见,二者具有优良的吻合度,未出现明显的偏离正态期望
的长尾区域。
(10)做正态性检验。
R 中提供了 Shapiro-Wilk 检验和 Kolmogorov-Smirnov 检验两种正规
的正态性检验方法。命令格式分别为:
shapiro.test(wp¥weekprofit)
方法一:计算这支股票的期望收益率。以最近时期内的样本期望值
N
Σ 来估计得到第
N+1
周的预期收益率为
rN+1=
1 N
i
=
ri ,这也是
1
Markowitz
在
《投资组合选择》中所采用的方法。命令格式为:
mean(wp¥weekprofit)
输出结果为:
0.385416
方法二:用指数平滑法计算加权期望收益率。如果投资者认为据目
r1,r2,...,rN,则
ri
=
pi
-pi
0
pi
×100%,其中 pi0 表示第 i 周第一天的开盘价,pi1 表示第 i 周最后一天的
收盘价。R 中通过对数据框 mydatas 的变量 p1 和 p0 进行运算操作,可计
算出用数据框 wp 存储的周收益率。命令格式为:
wp=(mydatas["p1"]-mydatas["p0"])/mydatas["p0"]
wi 是由投资者确定下来的非随机变量,显见∑wi=1,并且根据假设有:
N
NN
wi≥0。则可得到投资组合的预期收益率为 Σ E= wiui,方差为 V=ΣΣ
i=1
i = 1i = 1
N
Σ Σ σijwiwj,或者用相关系数表示为 V= wi2σi2+2 wiwjpijσiσj。
i=1
1≤<i ≤j N
ks.test (wp ¥weekprofit,"pnorm",mean=mean (wp ¥weekprofit),sd=sqrt (var
(wp¥weekprofit)))。
如果样本较大,例如大于 1000,我们可以选用 Kolmogorov-Smirnov
检验,反之可以选择 Shapiro-Wilk 检验。本文所选样本较小,因此采用
●统计工作
图3
图1 输出结果为: -1.6066727 -0.3195476 0.3479232 1.0935828 2.8636463 (4)做出周收益率的直方图。 为了更加直观的分析周收益率这组单变量数据的分布,我们首先做
图4
x[1:100] = -1.6067, -1.5275, -1.512, (7)做出经验分布函数图(如图 3)。 命令格式为:
自由性正受到越来越多统计学者的青睐。以易用性著称的 SPSS 和功能
强大的 SAS 软件都包括了很多功能强大的统计分析模块,分析人员必
须在它们既定的模块上进行各种分析。但是,随着信息技术的飞速发展,
越来越多的统计分析新方法被提出来,尤其是在证券分析领域,使用既
定模块分析的统计软件已经不能及时地跟上发展的速度。这个时候就需
第 N+1 周收益率的预测值。而计算加权期望值的方法则有很多,如果投
资者认为据目标期时间越近则关系越密切,那么就可以将历史数据中的
各时期的收益率进行加权平均,使得据目标期时间越近的收益率的权重
越大。这类方法中最常见的当属指数平滑法。指数平滑法的基本公式是:
St=αYt+ (1-α)St-1,其中 St 表示时间 t 的平滑值,α 表示时间 t 的实际
rΣ
Σ Σ
i+1
=αri
+(1-α)ri
Σ
Σ
rΣΣ
Σ
Σ1
Σ
=
r1
+r2 2
Σ
Σ
R=r Σ
Σ Σ
N+1
其中,R 表示预期收益率;α 表示加权系数,介于 0 和 1 之间,由投
资者决定。
注 1:一般情况下如果收益率序列{ri}波动不大,则 α 应取小一点,
比如:0.1-0.3;如果收益率序列{ri}波动较大,则 α 应取大一点,比如: 0.6-0.8。
入和输出都是在同一个窗口进行(除了图形输出),这点和 SAS 有很大
的区别。最后,R 具有强大的图形输出功能,输出的图形输出的图形不但
可以存成 JPG、BMP、PNG 等主流图片格式,还可以保存为 PDF 文件。它
善于输出各种常用的统计图形,如饼图、直方图、散点图、箱图、QQ 图等。
相比于大家熟悉的统计软件 SPSS 和 SAS,R 软件以其高度的灵活
值,表示时间 t-1 的平滑值;表示平滑常数,其取值范围为[0,1]。St 是 Yt
和 St-1 的加权算数平均数,α 的取值大小决定了 Yt 和 St-1 对 St 的影响程
度。St 具有逐期追溯性质,可探源至 平滑常数 α 以指数形式递减,故称之为指数平滑法。平滑常数的取
通过使用 fix(wp)函数,可以对 wp 的变量名进行修改,使其具有直
观的名字,如 weekprofit。
输出结果:
>wp
weekprofit
1 1.66087551
2 -0.61299388
3 -0.85826857
…………
— 224 —
《经济师》2008 年第 11 期
98 -1.13587649 99 -0.95793858 100 -1.51198618
图 4 中的实线便是正态分布的拟和线,由上图可以清晰地看到,拟 和后的曲线与原经验分布函数基本吻合。但要具体考察二者的吻合程
图2
出柱形图(如图 1),命令格式为: hist(wp¥weekprofit) (5)绘制密度图。 为了更加清晰地分析该数据组的分布特征,我们在柱形图基础上绘
制密度图(如图 2),命令格式为: lines(density(wp¥weekprofit))。 (6)求周收益率的经验分布函数。 命令格式为: ecdf(wp¥weekprofit) 输出结果为: > ecdf(wp¥weekprofit) Empirical CDF Call:ecdf(wp¥weekprofit)