当前位置:首页 > 第2章:SAS与股票市场分析汇总
wealth=gm1; run;
proc print data=sjk2_1c; var am gm wealth; run;
这个程序递交系统运行后,系统的输出结果显示,在1999-2008年期间,上证指数各个年度的算术平均收益率为0.17949,几何平均收益率为0.04597,上证指数10年的财富指数为1.5675。
句法说明:
* RETAIN am1——运行IF THEN /ELSE语句对每个观测计算am1时,保持从前一个观测中计算得到的am1不变。本例中,使用RETAIN am1语句,可以使am1的第k个观测值等于r_pct的前k个观测值的累加。
* RETAIN gm1——作用与RETAIN am1同。本例中,使用RETAIN gm1语句,可以使第k个gm1的观测值,等于前k个(1+r_pct)的观测值的乘积。
程序2:(cx2-1e)
proc transpose data=sjk2_1b out=sjk2_1c; /*对数据集sjk2_1b进行转置*/
var r_pct; /*sjk2_1c中只包含变量r_pct的转置后数据*/ run; data sjk2_1d;
set sjk2_1c;
am=sum(of col1-col10)/10; /*计算算术平均收益率*/ wealth=(1+col1)*(1+col2)*(1+col3)*(1+col4)*(1+col5)*(1+col6) *(1+col7)*(1+col8)*(1+col9)*(1+col10)*; /*计算财富指数*/ gm=wealth**(1/10)-1; /*计算几何平均收益率*/ run;
proc print data=sjk2_1d;
var am gm wealth; run;
程序2运行后所得到的计算结果,与程序1的计算结果完全相同。
句法说明:
* PROC TRANSPOSE——对指定的数据集进行转置,即将数据集的行变为列、列变为行。本例中,对PROC TRANSPOSE语句指定了下列选项:
data=指定需要转置的数据集,本例中为sjk2_1b;
out=输出转置后的数据集,并指定这个数据集的名称,本例中为sjk2_1c。
*var r_pct——指定对sjk2_1b中的哪个(哪些)变量进行转置,本例中为r_pct。在转置后,sjk2_1c中只有一个数据行(一个观测),其中:第一个变量名为_name_,其观测值为r_pct,从第二个变量起,变量名依次为col1、col2等,其观测值依次为sjk2_1b中变量r_pct的第一个观测、第二个观测等。
* SUM(of col1-col10)——求和函数,将col1-col10这10个变量的值相加。
5
2.1.1.3 股票的期望收益率及SAS实现
投资者利用过去的数据来计算股票的收益率,以评价一只股票的历史表现,为衡量该股票的未来收益提供一种参考。但考虑到股票投资是面向未来的投资,股票的历史表现并不能完全代表其未来表现,甚至有时完全不能代表其未来表现。因此,在投资决策时,投资者还需要估计股票的未来表现——股票的期望收益率。
股票的期望收益率是面向未来的收益率,而未来通常是不确定的,因此在估计股票的期望收益率时,投资者需要依据经验和判断,对股票的未来表现作出一定的假设。例如:假设股票的收益率会保持不变;假设股票的收益会以一定的趋势增长;假设股票的收益率受到几个重要因素的影响,股票的未来收益会随这些因素的变化而变化,等等。根据不同的假设条件,计算股票期望收益率的方法也不相同。表2-2给出了几种比较常用的假设条件以及对应的期望收益率的计算方法。
下面介绍以上三种不同假设条件下,股票的期望收益率的具体计算方法,以及如何在SAS中实现这些计算。
表2-2:计算股票期望收益率的方法
方法 使用过去收益率的均值 前提假设 收益率的分布不变,未来收益率预计与过去的均值相似 计算增长率并预测未来收益率 拟合一个回归模型并用于预测收益率 过去的增长趋势将来会保持下去 收益率同一个或几个变量相关,并随这些变量的变化而变化 Data步 Proc reg 使用的SAS方法 Proc means
2.1.1.3.1 使用过去收益率的均值
假设条件:股票收益率的分布不会随时间的变化而改变,股票过去的表现可以代表其未来的表现。因此,股票的未来收益率分布应该与股票的历史收益率分布相同。这样,可以用一只股票的过去各单期收益率的平均值来估计这只股票下一期的期望收益率。
在这种假设条下,期望收益率的计算公式为:
1Er?K?ri?1kt?i,
其中:Er为某只股票的期望收益率,rt?1,rt?2,?,rt?K为该股票最近各期的单期收益率。在SAS中,这种期望收益率的计算可以通过PROC MEANS过程(均值过程)来实现。
【例2-2】如果假设上证指数收益率的分布不会随时间而变化,利用上证指数1999-2008年期间各个年度的单期百分比收益率,该指数在2009年度的百分比收益率的期望值。
这个计算可以通过以下SAS程序来计算:(cx2-2) proc means data=sjk2_1b;
output out=a mean(r_pct)=qiwang; run;
proc print data=a; var qiwang;
title ‘2009年上证指数的期望收益率’; run;
6
句法说明:
* PROC MEANS——调用均值过程。调用这个过程后,SAS对指定数据集中的指定变量计算均值、标准差、最大值、最小值等。如缺省指定变量,则系统对指定数据集中的所有变量进行计算。本例中,指定数据集为sjk2_1b。
* OUTPUT——输出到数据集语句,这个语句告诉SAS系统输出当前的观测到正在创建的数据集。本例中,这个语句的选项为:
OUT=输出数据集的名字,本例中为a;
Mean(r_pct)=qiwang:输出数据集中包含哪些变量,给输出变量起什么名字。本例中,输出数据集中包含的变量为r_pct的均值,这个变量的名字为qiwang。
运行这个程序后,SAS系统的输出结果见表2-3。
表2-3:SAS程序的输出结果
2009年上证指数的期望收益率 OBS QIWANG 1 0.17949
2.1.1.3.2 计算增长率并预测期望收益率
假设条件:股票过去的收益有稳定的增长率,预计股票收益的这种稳定增长的趋势在未来将会保持下去。因此可以利用股票的历史数据来估算这个稳定的增长率,进而计算股票的期望收益率。
在这种假设条件下,要计算股票的期望收益率,先要依据股票收益率的历史数据对股票收益的增长率进行估计。估计增长率有多种方法,其中两种比较常用的方法为:一,用最近几期的算术平均收益率AM来代表股票收益的增长率;二,用最近几期的几何平均收益率GM来代表股票收益的增长率。在得到增长率的估计值后,假设股票下一期的收益率会按照相同的增长率增长,并计算下一期的期望收益率。
一般来说,计算增长率并预测收益率这种方法,比较适用于计算那些具有稳定增长率的股票的下一期的期望收益率,而不适用于那些按不同的增长率增长的股票,也不适用于计算一只股票的未来很久的期望收益率。
【例2-3】数据集sjk2-2给出1970-1989年期间各个年度美国S&P500综合股票指数的数据,其中的变量为:年份nian、年底指数收盘价close(已经按照红利指数进行了复权)。某位投资者根据1987-1989年的数据判断,投资S&P500综合股票指数的收益率在过去三年中有比较稳定的增长率,并且他预期这种增长率在1990年仍会继续保持。如果他分别以过去三年的算术平均收益率和几何平均收益率来计算增长率,那么他估计1990年投资S&P500综合股票指数的百分比收益率的期望值为多少?
将外部数据集sjk2-2引入转化为SAS数据,并命名为sjk2_2后,按两种不同方法计算增长率,进而计算S&P500综合股票指数1990年的百分比收益率的期望值,可以通过以下SAS程序来实现。(cx2-3)
data sjk2_2a; set sjk2_2;
r_pct=dif(close)/lag(close);/*计算各个年度的百分比收益率*/ run; data sjk2_2b;
7
set sjk2_2a;
if nian>1986; /*只取1986-1988年的观测数据*/ run; data sjk2_2c; set sjk2_2b; retain am;
if _n_=1 then am=r_pct; else am=am+r_pct;
amzc=am/3; /*按照算术平均计算增长率*/ retain gm;
if _n_=1 then gm=1+r_pct; else gm=gm*(1+r_pct);
gmzc=gm**(1/3)-1; /*按照几何平均计算增长率*/ run; data sjk2_2d; set sjk2_2c;
if _n_=3; /*只取序号为2的观测数据*/
qiwang1=r_pct*(1+amzc); /*按照算术平均增长率计算期望值*/ qiwang2=r_pct*(1+gmzc);/*按照几何平均增长率计算期望值*/ run;
proc print data=sjk2_2d;
var amzc gmzc qiwang1 qiwang2;
title “1990年S&P500综合指数的期望收益率”; run;
运行这个程序后,系统给出的结果见表2-4。从计算结果看到,按照两种不同方法计算的期望收益率存在着差异,这是因为对增长率的估计方法不同而造成的。
表2-4:SAS程序的输出结果
1990年S&P综合指数期望收益率
OBS AMZC GMZC QIWANG1 QIWANG2 1 0.13764 0.13320 0.30474 0.30355
2.1.1.3.3 拟合一个回归模型并预测期望收益率
假设条件:股票的期望收益率(或超额收益率)主要受一个或多个因素的影响,股票的期望收益率会随这些因素的变化而变化。利用回归模型拟合期望收益率与这些因素之间的线性关系,并根据这种关系得到期望收益率的估计值。
如资本资产定价模型表明,股票的超额收益率会受到系统性风险的影响,而且股票的期望收益率与股票的系统性风险之间存在着线性关系。又如法玛认为,在美国的股票市场上,股票的超额收益率主要受到三个因素的影响:股票的系统性风险、公司规模、以及公司的账面价值/公司的市场价值。法玛同时认为,股票的超额收益率与这三个因素之间存在着线性关系,可以利用回归模型来拟合这种关系,并根据这种关系计算股票的期望收益率。
在SAS中,可以通过REG过程(回归过程)来拟合及检验一个回归模型,并根据回归模型来估计股票的期望收益率。利用REG过程拟合回归模型、并估计股票的期望收益率的方法,将在下一节中介绍。
8
共分享92篇相关文档