ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:392.93KB ,
资源ID:27505236      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27505236.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SAS与股票市场技术分析.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SAS与股票市场技术分析.docx

1、SAS与股票市场技术分析第3章:SAS与股票市场技术分析基本面分析和技术分析是最常用的两种证券投资分析方法。基本面分析的研究对象是宏观经济环境、公司所处行业状况及发展前景、公司财务状况等。基本面分析从这些影响公司价值的基本因素出发,采用适当的方法来估算公司股票的内在价值,以判断公司当前的股票价格是被高估还是被低估。技术分析的研究对象是市场行为。技术分析通过对反映市场状况变化的股票成交价及成交量的历史数据、以及由这些历史数据所绘制成的各种图形的分析,来判断整个股市或者个股股价的未来变化趋势。在股票市场上,不同的投资者会采用不同的方法来选择股票。一般而言,长期投资者偏好于采用基本面分析的方法,如著

2、名投资大师沃伦巴菲特就是一个例子。巴菲特选择股票的方法是利用基本面分析法,选择那些股价被低估、并且具有良好发展前景的公司,以进行长期投资。而许多中短期投资者往往偏好于采用技术分析方法来选择股票。当然,长期投资者也可以采用技术分析方法,通过对股市的长期趋势(主要趋势)的分析和把握,选择股票进行长期投资。本章介绍如何运用SAS来实现股票市场的技术分析。通过本章学习读者可以了解:如何利用PROC PLOT语句和PROC GPLOT语句来绘制用于股票市场技术分析的数据图形;如何利用DATA步语句和PROC PLOT语句计算和绘制各种移动平均线;如何利用SAS来建立移动平均线的交叉模式,以捕捉股票买入与

3、卖出的信号;在SAS中如何利用成交量来证实买入与卖出的信号,如何运用移动平均的带状约束来控制投资风险;本章有关的SAS基础知识。3.1 股票市场的数据图形绘制3.1.1 生成与检查SAS数据集为了运用SAS系统进行股票市场的技术分析,必须创建一个包含有合适数据的SAS数据集,并且利用SAS系统的图形绘制功能,将相关变量的数据绘制成能够适用于技术分析的各种数据图形。在技术分析的各种要素中,价格是最重要的要素。股票市场的价格数据中通常包含开盘价、收盘价、最高价和最低价这四种价格。股票市场的技术分析者认为,与其它价格数据相比,股票的收盘价中往往包含有更多信息。这样在运用于技术分析的数据集中,应该包括

4、股票或指数的收盘价数据。另外在技术分析中,成交量和成交日期同样也是重要的分析依据,因此在创建运用于技术分析的SAS数据集时,数据集中应该包括个股或指数收盘价、成交量、以及交易日期等变量的观测数据。一般情况下,我们可以从相关金融数据库中获得包括这些数据的外部数据集,因此可采用导入并转换外部数据集的方式,来创建对应的SAS数据集。如Excel数据集sjk3-1中包括了某只股票从2004年1月2日起,至2004年11月15日止,每个交易日的相关数据,其中的8个变量分别为交易日期date、当日收盘价close、当日最高价high、当日最低价low、外盘买入成交量volume1(单位万手,后同)、内盘卖

5、出成交量volume2、当日总成交量volume、以及该股票当日的百分比收益率percent。将sjk3-1导入转换为SAS数据集,并命名为sjk3_1后,可以采用PRINT语句来打印输出这个数据集的前面几个观测数据,以检查数据集的变量或观测中是否存在错误。例3-1 打印数据集sjk3_1的前10个观测,并对这个数据集进行检查。打印这个数据集的SAS程序如下(cx3-1),打印结果见表3-1。proc prin data=sjk3_1(obs=10); /*打印数据集中的前10个观测*/var date close high low volume1 volume2 volume percent

6、;/*需要打印的变量*/title “打印sjk3_1的前10个观测”;run;表3-1:数据集sjk3_1的打印结果打印sjk3_1的前10个观测OBS DATE CLOSE HIGH LOW VOLUME1 VOLUME2 VOLUME PERCENT1 01/02/04 43.79 43.79 43.57 7.66 6.83 14.48 -0.00114002 01/05/04 43.73 43.81 43.66 5.00 9.52 14.52 -0.00137023 01/06/04 43.64 43.73 43.61 5.79 13.95 19.75 -0.00205814 01/0

7、7/04 43.55 43.65 43.45 4.64 13.71 18.35 -0.00206235 01/08/04 43.63 43.63 43.47 6.14 4.92 11.06 0.00183706 01/09/04 43.88 43.94 43.63 10.44 6.09 16.53 0.00573007 01/12/04 43.91 43.92 43.82 5.35 10.35 15.70 0.00068378 01/13/04 43.89 43.98 43.83 6.26 8.91 15.16 -0.00045559 01/14/04 43.76 43.93 43.68 5.

8、49 10.53 16.02 -0.002962010 01/15/04 43.91 43.91 43.76 10.58 5.39 15.97 0.00342783.1.2 绘制相关数据的图形3.1.2.1 散点图的绘制方法生成、打印并检查SAS数据集后,就可以对这些数据进行技术分析了。通常情况下,技术分析者首先需要画出相关变量的数据图形,因为利用这些变量的数据图形,技术分析者可以分析股票价格的变化趋势、股票价格的转折点(股价最高点和股价最低点)、以及股票价格的阻挡水平线、支撑水平线,等等。在SAS中,PROC PLOT过程(图形过程)可以用来生成散点图及连线图。在进行技术分析时,可以利用这个

9、语句所生成的散点图和连线图来直观地展现数据集中各个变量之间的相互关系。这里给出一个例子。例3-2 利用PROC PLOT语句及sjk3_1数据集,生成这个股票从2004年1月2日至2004年11月15日期间的每日收盘价close的走势图。下面是绘制这个走势图的SAS程序:(cx3-2)proc plot data=sjk3_1a vpct=15 hpct=50;plot close*date;run;句法说明:* PROC PLOT调用PLOT过程。PROC PLOT过程的选项有:data=数据集名字。指定使用数据集的名字,若没有指定数据集,系统将调用最新创建的数据集;vpct=数字,hpct

10、=数字。规定散点图的显示在垂直方向和水平方向占SAS输出页的百分比,本例垂直方向为15%、水平方向为50%。* PLOT var1*var2规定散点图的纵轴变量为var1、横轴变量为var2。本例中,散点图以收盘价close为纵轴,以交易日期date为横轴。* 散点图3-1中的英文字符表示数据集中有多少个观测在该字符处,其中A表示在该字符处有1个观测,B表示在该字符处有2个观测,依次类推。当该字符处有26个、或者26个以上的观测时,用字符Z表示。图3-1:收盘价与日期的散点图这个程序递交后,SAS绘制的散点图见图3-1。然而,正如图3-1所显示的,用PROC PLOT语句生成的散点图是一种低分

11、辨率的图形,这种图形可以向用户直观地展现各变量之间的相互关系,但这种图形并不能很好地适用于股票市场的技术分析。因此,技术分析者还需要其它可以绘制更高分辨率的图形的方法。在SAS中,除了用PROC PLOT语句绘制只有较低分辨率的散点图外,还可以通过菜单方式、以及通过PROC GPLOT语句来绘制具有较高分辨率的图形。3.1.2.2 用PROC GPLOT语句绘制较高分辨率图形如果要绘制更加复杂的较高分辨率图形,就需要采用另一种方法,即采用PROC GPLOT过程(绘图过程)编程来实现。下面几个例子是通过PROC GPLOT语句编程,来绘制股票价格的走势图和其它更加复杂的图形。例3-3 利用PR

12、OC GPLOT过程绘制数据集sjk3_1中收盘价close随时间变化的图形。这个图形的绘制,可以通过以下的PROC GPLOT语句来实现(cx3-3a)。这个程序的运行结果见图3-2。proc gplot data=sjk3_1;plot close*day;symbol v=. h=1 I=join L=1 font=swissb;run;图3-2:变量close的走势图2利用PROC GPLOT语句编程,可以绘制同时包含股票的最高价、最低价和收盘价的图形。然而在绘制这个图形前,首先需要对sjk3_1数据集进行编辑,建立新变量。下列DATA步语句生成一个新数据集sjk3_1a,与数据集sj

13、k3_1a相比,这个数据集中多了一个新变量value,这个变量分别取了最高价、最低价、收盘价三个数值。(cx3-3b)data sjk3_1a;set sjk3_1;day=_n_;/*变量day的取值为观测所在的序号,即第几个交易日*/value=high;output;value=low;output;value=close;output;run;句法说明:* value=high;output;将变量high的观测值赋予变量value,并且将value的当前观测输出到正在创建的数据集sjk3_1b。后面的语句同。在运行这个SAS程序后,对数据集sjk3_1a中的每一个观测,系统都会在数据

14、集sjk3_1a中生成value的三个观测,依次为sjk3_1中对应那个观测的最高价、最低价、以及收盘价。这样,sjk3_1a中的观测数据的个数就sjk3_1中观测数据的个数的3倍。利用这个程序所生成的数据集sjk3_1a,采用PROC GPLOT语句编程,可以绘制同时包含最高价、最低价、以及收盘价的图形,见图3-3。在图形中,每个交易日的线的长度表示最高价、最低价的变化范围,交叉线所在的位置表示每天的收盘价。绘制这个图形的SAS程序如下:(cx3-3c)data sjk3_1b;set sjk3_1a;if day=60;run;proc gplot data=sjk3_1b;plot va

15、lue*day / vaxis=axis1 haxis=axis2;symbol I=hiloc L=1 h=1 font=swissb;axis1 label=(“price”) order=(43 to 49 by 1);axis2 label=(“day”) order=(0 to 60 by 3);run;图3-3:最高价-最低价-收盘价的图形句法说明:* PLOT value*day /规定绘图使用的纵轴变量为value、横轴变量为day,斜杆后面是其它选项。本例中,下列选项被指定:haxis=axis1:规定用axis语句定义该图形的横轴vaxis=axis2:规定用axis语句定

16、义该图形的纵轴* axis规定图形的轴。本例中AXIS语句的下列选项被指定:label=:规定该轴的标签。order=:规定该轴的取值范围,本例中,纵轴取值从43到49,并且每隔0.5取一个刻度;横轴取值从2004年1月2日第1个交易日,到2004年3月25日第60个交易日,每三个交易日取一个刻度。由于页面篇幅所限,以及为了使图形显示清晰,本例中没有画出这个股票从2004年1月2日至2004年11月15日期间全部209个交易日的图形,而只画出了60个交易日的图形。3.1.2.3 绘制包括成交量的股价走势图与股票价格变动一样,股票成交量的变动,在技术分析中,同样可以提供十分重要的信息。因此技术分

17、析者希望在反映股票价格变化的图形中,能够同时包含有反映股票成交量变化的信息。下面介绍如何绘制包括成交量的股票价格走势图。由于成交量的取值与变化范围,和股票价格的取值与变化范围,通常存在着一定差别,为了要在一张图形中同时绘制出股票价格与成交量的信息,就需要给图形加上一个与原纵轴(表示价格)刻度不同的新纵轴(表示成交量),以表示两个纵轴变量不同的取值范围。这样的图形被称为双y轴(双纵轴)图形,其中一条纵轴在图形的左边,另一条纵轴在图形的右边,两条纵轴上的不同刻度分别表示两个不同纵轴变量的取值。利用PROC GPLOT语句编程,利用已经创建的数据集sjk3_1b,可以绘制同时包括最高价、最低价、收盘

18、价和成交量的双纵轴数据图形。其中:股票价格用图形左边的纵轴来度量,成交量用图形右边的纵轴来度量。绘制这个双纵轴图形的SAS程序如下(cx3-3d)。这个程序递交后,SAS的输出结果见图3-4。proc gplot data=sjk3_1b;plot value*day / vaxis=axis1 haxis=axis2;plot2 volume*day / vaixs=axis3;symbol1 I=hiloc L=1 h=1 font=swissb;symbol2 v=none I=needle;axis1=(price) order=(43 to 49 by 3) offset=(10,0

19、);axis2 label=(“day”) order=(0 to 60 by 3);axis3 label=(“volume”) order=(10 to 36 by 3) offset=(0,10);run;quit;图3-4:包括成交量的股价走势图句法说明:* plot2 volume*day规定绘图使用的横轴变量为day,第二个纵轴(右纵轴)的纵轴变量为volume,并用Axis3语句给右纵轴赋值。* axis规定绘图轴。在本例中,下述选项的含义为:offset=:规定从该轴第一个主刻度、或最后一个主刻度上下位移的空间大小。上下位移的目的是使不同数据能够在图形的不同空间显示。本例在ax

20、is1语句中,选项offset=(10,0)用来从左轴的第一个绘图刻度向上位移图形空间的10%。在axis3语句中,选项offset=(0,10)用来由右轴的最后一个绘图刻度向下位移空间的10%。* quit结束当前的proc gplot程序。3.2 移动平均线的计算与绘制推崇技术分析的投资者认为,股票价格是按趋势方式运行的,投资者针对经济、货币、政策和心理力量的变化而不断改变的态度,决定了股票价格的运行趋势。技术分析者还认为,技术分析就是要尽可能地识别股票市场上各种不同规模、不同方向的趋势,并且在这些趋势的反转点附近识别出趋势的改变。然而,由于股票市场时常受到各种随机因素的影响,因此股票价格

21、的演变同时会具有一定的随机性,股票价格的随机波动会干扰投资者对趋势的识别,会遮掩趋势的反转点,或者会给出虚假的反转点信息。因此,在进行股票市场的技术分析时,必须借助股票价格序列的各种移动平均来降低这种随机波动,从而有效地识别出股票价格的变动趋势,识别出反转点的信息。3.2.1 移动平均的计算在股票市场上,各种随机因素对股票价格的影响通常是相互独立的,如果连续观察一个较长的时间段,那么这些随机因素对股票价格运行趋势的影响,通常会在一定程度上相互抵消。因此,可以采取股票价格序列的移动平均方式来平滑这种随机波动,而不会改变股票价格变动的本来趋势。在股票市场的技术分析中,可以采用不同方法来构建原始股价

22、序列的移动平均序列,其中包括下面四种常用的方法。在进行技术分析时,用不同方法得到的不同移动平均序列,往往适用于不同的分析目的。1简单移动平均在股票市场的技术分析中,简单移动平均线是得到投资者广泛应用的一种移动平均线。简单移动平均通过将最近一段时间的股票价格数据加总,然后除以时间长度,得到股票价格的平均值。如果采用某个股票或股票价格指数的收盘价来构建移动平均序列,则时间段长度为n个交易日的简单平均值为:。在构建简单移动平均序列时,为了使平均值可以“移动”,需要将最新的交易日数据加入求和序列,把原来求和序列中的第一项去掉,得到的新和数再除以时间长度即得到新的简单平均值。不断重复上述过程,可以得到一

23、个简单移动平均序列。2加权移动平均从统计学的角度看,只有把移动平均线绘制在价格时间跨度的中点,才能准确地反映股票价格的演变趋势。然而这样构建的移动平均序列,可能会使所产生的信号在时间上滞后。解决既要准确反映股票价格的演变趋势,又不要在时间上滞后这个问题的一种方法,是增大最新价格数据在求和中的权重,同时降低较远价格数据的权重,这样形成的移动平均序列称为加权移动平均序列。加权移动平均序列认为,就识别一只股票的未来价格运行趋势而言,这只股票最近的价格数据要比这只股票以往的价格数据,能够提供更多的信息。对股票价格数据的加权可以采用许多种方法,最常用的方法是,在求和序列中,将最远期的价格数据乘以1,第二

24、远期的价格数据乘以2,以此类推,直到最近一个价格数据(第n期)乘以n,然后再除以前n个自然数的和。即计算方法为:。当然,投资者也可以选取其它形式的权重序列,来计算加权移动平均序列。3指数平滑移动平均指数平滑移动平均(又称指数加权滑动平均)是用一个平滑系数来计算加权移动平均的方法。这种方法认为,要反映价格变动的平均趋势,应该考虑当日收盘价和价格过去的变动趋势这两个因素,由于这两个因素对价格变动的影响程度不同,因此需要用平滑系数来区分它们的影响差异。指数平滑移动平均的计算方法为:。其中为投资者指定的平滑系数,取值在0与1之间。平滑系数越大,当日收盘价格对价格变动的平均趋势的影响越大;平滑系数越小,

25、当日收盘价对价格变动的平均趋势的影响越小。作为一般规则,较小的平滑系数适用于缓慢改变趋势的序列,而较大的平滑系数则适用于快速改变趋势的序列。4中心移动平均中心移动平均是通过一个交易日前后各n个交易日的收盘价、和该交易的收盘价共2n+1个数据组成的简单算术平均值。中心移动平均的计算方法为:。从这个计算公式可以看到,由于某个交易日的股票价格的中心移动平均值的计算需要用到此后n个交易日的收盘价数据,或者说,只有在过了n个交易日后,才能得到以前的那个交易日的中心移动平均数据,因此与前面几个移动平均相比,中心移动平均线所给出的信号相对滞后。3.2.2 移动平均线的分类对于给定的时间序列,移动平均序列的数

26、值不仅依赖于计算移动平均时所采用的方法,而且依赖于计算移动平均的时间段长度。为了便于区别,按照不同的分类标准,移动平均线可以分成各种不同的类型。除了可以按照计算方法的不同将移动平均线分为简单移动平均线、加权移动平均线、指数平滑移动平均线、中心移动平均线等,还可以按照计算移动平均的时间段长度,将移动平均线分为短期移动平均线、中期移动平均线和长期移动平均线。对于短期、中期与长期移动平线的区别,其划分标准并不统一。如有些投资者会根据自己的使用习惯,将15天以下的移动平均线称为短期线,将15天以上至6个月的移动平均线称为中期线,将6个月以上的移动平均线称为长期线。而投资者每日商情的编辑们,在其1993

27、年出版的高性能投资指南中是这样划分的:基于25个或更少的交易日的移动平均线,可以认为是短期移动平均线;基于26到100个交易日的移动平均线,可以认为是中期移动平均线;而基于100个交易日以上的移动平均线,可以认为是长期移动平均线。然而,Gordon(1968),Golby和Meyers(1968),和Pring(1991)则按照表3-2的标准,来划分短期、中期与长期的移动平均线。表3-2:移动平均的一种划分方法时间结构 移动平均长度短期移动平均 10,15,20,25,30天中期移动平均 30天和10周,13周,26周长期移动平均 200天,45周和12,18,24月不同期限的移动平均线有不同

28、的特点。一般而言,短期移动平均线最贴近市场、敏感性强,但起伏较大且不规则,在行情震荡时可能会出现扭曲现象。短期移动平均线中的10天线在技术分析中使用较为广泛,一些投资者认为,10天线能较好地反映价格短期的变动趋势,因此将其作为短线进出的依据。当价格横向延伸、无明显趋势时,较敏感的短期移动平均线能够捕捉更多的短线价格波动。中期移动平均线比较平缓,可以很好地解释中期价格的变动趋势。中期移动平均线的期限选择可以有多种:有15天、20天、30天、60天等,其中60天被很多投资者认为是中期进出的依据。长期移动平均线则更加平缓,对短期价格的变动不敏感,因此但能较好地反映股票价格的长期运行趋势。当市场趋势良

29、好时,长期移动平均线可以更好的把握股票市场的主要趋势变化,尤其是250天的年线,被许多人称为“牛熊分界线”,许多投资者将其视作划分多头市场与空头市场的一个重要标志。3.2.3 用Data步语句计算移动平均用SAS中,可以采用DATA步语句编程来计算简单移动平均序列、加权移动平均序列和指数移动平均序列。这里给出一个计算移动平均序列的具体例子。例3-4 Excel数据集sjk3-2中包含了从2005年12月19日至2008年12月31日期间上证A股指数的相关数据,其中变量date为交易日期,变量close为收盘指数。利用这个数据集生成从2006年1月2日至2008年12月31日期间,各交易日上证指

30、数的简单移动平均序列、加权移动平均序列和指数加权平均序列。将sjk3-2导入转换为SAS数据集,并将其命名为sjk3_2,可以利用PROC DATA语句编程,来生成时间长度为10个交易日的简单移动平均序列、加权移动平均序列、以及指数移动平均序列。对应的SAS程序如下。(cx3-4)data sjk3_2a;set sjk3_2;ma10=(close+lag(close)+lag2(close)+lag3(close)+lag4(close)+lag5(close)+lag6(close)+lag7(close)+lag8(close)+lag9(close)/10;wma10=(10*clo

31、se+9*lag(close)+8*lag2(close)+7*lag3(close)+6*lag4(close)+5*lag5(close)+4*lag6(close)+3*lag7(close)+2*lag8(close)+lag9(close)/55;w1=0.6;retain ewma1;if _n_=1 then ewma1=close;else ewma1=w1*close+(1-w1)*ewma1;w2=0.75;retain ewma2;if _n_2 then ewma2=ewma1;else ewma2=w2*ewma1+(1-w2)*ewma2;run;3.2.4绘制原始序列和移动平均的图形利用PROC GPLOT语句,我们可以在同一张图中绘制原始股价序列和各种移动平均序列的图形,以便进行股票市场的技术分析。下面利用刚才创建的SAS数据集sjk3_2a来绘制这个图形。例3-5 利用PROC GPLOT语句在同一张图形上绘制2006年全年上证指数的收盘价序列和上证指数收盘价的简单移动平均序列的图形。绘制这个图形的SAS程序如下(cx3-5):data sjk3_2b;set sjk3_2a;day=_n_;run;proc gplot data=sjk3_2b;where 10day252; /*只读取 2006年度的数据*/plot cl

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1