R语言股票时间序列分析报告代码

上传人:s9****2 文档编号:477608035 上传时间:2023-10-07 格式:DOCX 页数:36 大小:554.84KB
返回 下载 相关 举报
R语言股票时间序列分析报告代码_第1页
第1页 / 共36页
R语言股票时间序列分析报告代码_第2页
第2页 / 共36页
R语言股票时间序列分析报告代码_第3页
第3页 / 共36页
R语言股票时间序列分析报告代码_第4页
第4页 / 共36页
R语言股票时间序列分析报告代码_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《R语言股票时间序列分析报告代码》由会员分享,可在线阅读,更多相关《R语言股票时间序列分析报告代码(36页珍藏版)》请在金锄头文库上搜索。

1、【原创】附代码数据有问题到淘宝找“大数据部落”就可以了library(quantmod)# library(neuralnet)library(quantmod)library(plyr)library(TTR)library(ggplot2)library(scales)library(tseries)data=readcsv(600119.csv)a=da ta$收盘价a=diff(a)/a-length(a)aa=NaN=0aa=Inf=0#浏览数据data,2=data$ 日期data,4=c(0, a)#绘制时间序列图#收集历史资料,加以整理,编成时间序列,并根据时间序列绘成统计图。

2、时间序列分 析通常是把各种可能发生作用的因素进行分类,传统的分类方法是按各种因素的特点或影 响效果分为四大类:(1)长期趋势;(2)季节变动;(3)循环变动;(4)不规则变动。data=datanrow(data):1,plot(data,2,data,4)#技术指标lines( data,2, DEMA(data,4) ,col=green)lines( data,2, SMA(data,4) ,col=red)legend(bottomright,col=c(green,red),legend =c(DEMA,SMA),lty= 1,pch=1)有问题到淘宝找“大数据部落”就可以了birt

3、hstimeseries=data,4birthstimeseries - ts(birthstimeseries, frequency=300, start=c(1998,15)birthstimeseries=na.omit(birthstimeseries)# 2)Decompose the time series data into trend, seasonality and error components. (10 points)#开始分解季节性时间序列。# 一个季节性时间序列中会包含三部分,趋势部分、季节性部分和无规则部分。分解时 间序列就是要把时间序列分解成这三部分,然后进行

4、估计。#对于可以使用相加模型进行描述的时间序列中的趋势部分和季节性部分,我们可以使 用R中的“decompose。”函数来估计。这个函数可以估计出时间序列中趋势的、季节性 的和不规则的部分,而此时间序列须是可以用相加模型描述的。# “decompose。”这个函数返回的结果是一个列表对象,里面包含了估计出的季节 性部分,趋势部分和不规则部分,他们分别对应的列表对象元素名为“seasonal”、 “trend” 、和“random” 。有问题到淘宝找“大数据部落”就可以了birthcomponents - decompose(birthstimeseries) plot(birthcompone

5、nts)Decomposition of additive time seriesHer 0.S0.DI OS.OBD md. p AJ o-lqcl PLJElraLJOSBQSEOPlJB忖n *蝌石I*”憫#*棉補博册第i200020052010Time#要剔除某个趋势时(我们就去掉季节因素),我们可以运用减法去掉该因素,下图就 是去掉季节性因素后的修正序列。birthstimeseriesseasonallyadjusted 1 1 0.000.020.040.060.080.100.12#看图中的横轴lag表示滞后阶数,纵轴表示对应各阶的相关系数,0阶滞后表示对自 己的自相关系数,所

6、以一般对应的相关系数值为1再看图中上下的蓝色虚线内为95%置 信区间,若lag0对应的相关系数均在该区间内则表示该变量自相性问题不严重pacf(birthstimeseriesseasonallyadjusted)有问题到淘宝找“大数据部落”就可以了-Ecocl#看图中的横轴lag表示滞后阶数,纵轴表示对应各阶的相关系数,0阶滞后表示对自 己的自相关系数,所以一般对应的相关系数值为1再看图中上下的蓝色虚线内为95%置 信区间,若lag0对应的相关系数均在该区间内则表示该变量自相性问题不严重datad=diff(birthstimeseriesseasonallyadjusted)# 3)Use

7、 Holts exponential smoothing to make short-term forecasts.# 指数平滑法(Exponential Smoothing, ES)是布朗(Robert G.Brown)所提出, 布朗认为时间序列的态势具有稳定性或规则性,所以时间序列可被合理地顺势推延;他认 为最近的过去态势,在某种程度上会持续到未来,所以将较大的权数放在最近的资料。#指数平滑法是生产预测中常用的一种方法。也用于中短期经济发展趋势预测,所有预 测方法中,指数# 一次指数平滑法#平滑是用得最多的一种。简单的全期平均法是对时间数列的过去数据一个不漏地全部 加以同等利用;移动平均法

8、则不考虑较远期的数据,并在加权移动平均法中给予近期资料 更大的权重;而指数平滑法则兼容了全期平均和移动平均所长,不舍弃过去的数据,但是有问题到淘宝找“大数据部落”就可以了仅给予逐渐减弱的影响程度,即随着数据的远离,赋予逐渐收敛为零的权数。#也就是说指数平滑法是在移动平均法基础上发展起来的一种时间序列分析预测法,它 是通过计算指数平滑值,配合一定的时间序列预测模型对现象的未来进行预测。其原理是 任一期的指数平滑值都是本期实际观察值与前一期指数平滑值的加权平均。#简单指数平滑法。简单指数平滑适用于可用相加模型描述,并且处于恒定水平和没有 季节变动的时间序列地短期预测。#简单指数平滑法提供了一种方法

9、估计当前时间点上的水平。为了更加准确的估计当前 时间的水平,我们使用alpha参数来控制平滑,alpha的取值在0-1之间。当alpha越 接近0,临近预测的观测值在预测中的权重就越小。plot (datad)Time#从该图中可以看出整个曲线处于大致不变的水平,且随机变动在整个时间序列范围内 也可以认为是大致不变的,所以该序列可以大致被描述为一个相加模型,因此我们可以使 用简单指数平滑法进行预测。我们采用R中的HoltWinters()函数,为了能够使用Holt Winters中的指数平滑,我们需要进行参数设置:beta=FALSE和gamma=FALSE,预测结 果如下图:【原创】附代码数

10、据有问题到淘宝找“大数据部落”就可以了#此外我们可以画出预测值和实际值,看看预测效果:hm=HoltWinters(datad,beta=F,gamma = F)hm# Holt-Winters exponential smoothing without trend and without seasona l component.# Call:# HoltWinters(x = datad, beta = F, gamma = F)# Smoothing parameters:# alpha: 0.0009575354# beta : FALSE# gamma: FALSE# Coeffici

11、ents:# ,1# a -0.0001333355cat(HoltWinters()告诉我们alpha参数的估计值约为”,hm$alpha,,非常接近0, 说明该序列比较平稳,默认情况下HoltWInters仅会给出原始时间序列所覆盖时期内的 预测,预测值存在房子名为为fitted的变量中,我们可以通过rainseriesforecasts $fitted来获取这些值。)# HoltWinters()告诉我们alpha参数的估计值约为0.0009575354,非常接近0, 说明该序列比较平稳,默认情况下HoltWInters仅会给出原始时间序列所覆盖时期内的 预测,预测值存在房子名为为fit

12、ted的变量中,我们可以通过rainseriesforecasts $fitted来获取这些值。plot(hm)有问题到淘宝找“大数据部落”就可以了Holt-Winters filteringTimep昌匸-.P亡黑qo#从之前的alpha和上图,可见我们预测的过于平滑,R提供了样本预测误差平方和 (SSE)来衡量预测效果。可以通过rainseriesforecasts$SSE来获取该值。hm$SSE# 1 91.00893# 4)Fit the data with appropriate ARIMA Models.z=datad#然后我们绘制自相关图和偏自相关图对序列进行进一步的检测acf(

13、z)有问题到淘宝找“大数据部落”就可以了因此可以认为该序列平稳有问题到淘宝找“大数据部落”就可以了Series zLag-Ecocl#从偏相关系数的置信区间来看,由于相关系数都在置信区间之内,因此可以认为该序 列平稳# Predictive model: ARIMA models predict#然后检测序列的平稳性和独立性,这里我们使用的是Box-Ljung testBoxtest(z,lag=10,type=Ljung)# Box-Ljung test# data: z# X-squared = 1128.9, df = 10, p-value 2.2e-16#由于p值大于0.05,因此我们接受原假设认为该数列独立,即原数列为白噪声序列#然后我们对序列进行单位根检测,如果序列不存在单位根,那么该数列是平稳序列 adftest(z )# Warning in adf.test(z): p-value smaller than printed p-value # Augmented Dickey-Fuller Test有问题到淘宝找“大数据部落”就可以了# data: z# Dickey-Fuller = -28.804, Lag order = 16, p-value = 0.01# alternative hypothesis: stationary

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号