【原創(chuàng)】R語言股票時間序列分析報告代碼_第1頁
【原創(chuàng)】R語言股票時間序列分析報告代碼_第2頁
【原創(chuàng)】R語言股票時間序列分析報告代碼_第3頁
【原創(chuàng)】R語言股票時間序列分析報告代碼_第4頁
【原創(chuàng)】R語言股票時間序列分析報告代碼_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”就可以了library(quantmod)#library(neuralnet)library(quantmod)library(plyr)library(TTR)library(ggplot2)library(scales)library(tseries)data=read.csv(600119.csv)a=data$收盤價a=diff(a)/a-length(a)aa=NaN=0aa=Inf=0#瀏覽數(shù)據(jù)data,2=data$日期data,4=c(0,a)#繪制時間序列圖# #收集歷史資料,加以整理,編成時間序列,并根據(jù)時間序列繪成統(tǒng)計圖。時

2、間序列分析通常是把各種可能發(fā)生作用的因素進行分類, 傳統(tǒng)的分類方法是按各種因素的特點或影響效果分為四大類:(1)長期趨勢;(2)季節(jié)變動;(3)循環(huán)變動;(4)不規(guī)則變動。data=datanrow(data):1,plot(data,2,data,4)#技術指標lines(data,2,DEMAdata,4),col=green)lines(data,2,SMdata,4),col=red)legend(bottomright,col=c(green,red),legend=c(DEMA,SMA),lty=1pch=1)trend和“random【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”

3、就可以了199801-15200308-072009-02-092014-08-04#從時間序列圖形來看,序列有明顯趨勢,所以該序列一定不是平穩(wěn)序列。因為原序列為非平穩(wěn)序列,所以選擇一階差分繼續(xù)分析birthstimeseries=data,4birthstimeseries-ts(birthstimeseries,frequency=300,start=c(1998,15)birthstimeseries=na.omit(birthstimeseries)#2)Decomposethetimeseriesdataintotrend,seasonalityanderrorcomponents.

4、(10points)#開始分解季節(jié)性時間序列。#一個季節(jié)性時間序列中會包含三部分,趨勢部分、季節(jié)性部分和無規(guī)則部分。分解時間序列就是要把時間序列分解成這三部分,然后進行估計。#對于可以使用相加模型進行描述的時間序列中的趨勢部分和季節(jié)性部分,我們可以使用R中的“decompose。”函數(shù)來估計。這個函數(shù)可以估計出時間序列中趨勢的、季節(jié)性的和不規(guī)則的部分,而此時間序列須是可以用相加模型描述的。#decompose。”這個函數(shù)返回的結果是一個列表對象,里面包含了估計出的季節(jié)性部分,趨勢部分和不規(guī)則部分,他們分別對應的列表對象元素名為“seasonal”goDEMASMA【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶

5、找“大數(shù)據(jù)部落”就可以了decompose(birthstimeseries)DecompositionofadditivetimeseriesDecompositionofadditivetimeseries20002000200520102010Time#要剔除某個趨勢時(我們就去掉季節(jié)因素),我們可以運用減法去掉該因素,下圖就是去掉季節(jié)性因素后的修正序列。birthstimeseriesseasonallyadjusted-birthstimeseries-birthcomponents$seasonalplot(birthstimeseriesseasonallyadjusted)bi

6、rthcomponents0對應的相關系數(shù)均在該區(qū)間內則表示該變量自相性問題不嚴重pacf(birthstimeseriesseasonallyadjusted)oI IK-0ogLLLL0O0對應的相關系數(shù)均在該區(qū)間內則表示該變量自相性問題不嚴重datad=diff(birthstimeseriesseasonallyadjusted)#3)UseHoltsexponentialsmoothingtomakeshort-termforecasts.#指數(shù)平滑法(ExponentialSmoothing,ES)是布朗(RobertG.Brown)所提出,布朗認為時間序列的態(tài)勢具有穩(wěn)定性或規(guī)則性

7、,所以時間序列可被合理地順勢推延;他認為最近的過去態(tài)勢,在某種程度上會持續(xù)到未來,所以將較大的權數(shù)放在最近的資料。#指數(shù)平滑法是生產(chǎn)預測中常用的一種方法。也用于中短期經(jīng)濟發(fā)展趨勢預測,所有預測方法中,指數(shù)#一次指數(shù)平滑法#平滑是用得最多的一種。簡單的全期平均法是對時間數(shù)列的過去數(shù)據(jù)一個不漏地全部加以同等利用;移動平均法則不考慮較遠期的數(shù)據(jù),并在加權移動平均法中給予近期資料更大的權重;而指數(shù)平滑法則兼容了全期平均和移動平均所長,不舍棄過去的數(shù)據(jù),但是LLLLouE1-EBdouE1-EBd【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”就可以了僅給予逐漸減弱的影響程度,即隨著數(shù)據(jù)的遠離,賦予逐漸收

8、斂為零的權數(shù)。#也就是說指數(shù)平滑法是在移動平均法基礎上發(fā)展起來的一種時間序列分析預測法,它是通過計算指數(shù)平滑值,配合一定的時間序列預測模型對現(xiàn)象的未來進行預測。其原理是任一期的指數(shù)平滑值都是本期實際觀察值與前一期指數(shù)平滑值的加權平均。#簡單指數(shù)平滑法。簡單指數(shù)平滑適用于可用相加模型描述,并且處于恒定水平和沒有季節(jié)變動的時間序列地短期預測。#簡單指數(shù)平滑法提供了一種方法估計當前時間點上的水平。為了更加準確的估計當前時間的水平,我們使用alpha參數(shù)來控制平滑,alpha的取值在0-1之間。當alpha越接近0,臨近預測的觀測值在預測中的權重就越小。plot(datad)Time#從該圖中可以看出

9、整個曲線處于大致不變的水平,且隨機變動在整個時間序列范圍內也可以認為是大致不變的,所以該序列可以大致被描述為一個相加模型,因此我們可以使用簡單指數(shù)平滑法p進行預測。我們采用R中的HoltWinters()函數(shù),為了能夠使用HoltWinters中的指數(shù)平滑,我們需要進行參數(shù)設置:beta=FALSE和gamma=FALSE,預測結果如下圖:【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”就可以了#此外我們可以畫出預測值和實際值,看看預測效果:hm=HoltWinters(datad,beta=F,gamma=F)hm#Holt-Wintersexponentialsmoothingwithout

10、trendandwithoutseasonalcomponent.#Call:#HoltWinters(x=datad,beta=F,gamma=F)#Smoothingparameters:#alpha:0.0009575354#beta:FALSE#gamma:FALSE#Coefficients:#,1#a-0.0001333355cat(HoltWinters()告訴我們alpha參數(shù)的估計值約為,hm$alpha,非常接近0,說明該序列比較平穩(wěn), 默認情況下HoltWInters僅會給出原始時間序列所覆蓋時期內的預測,預測值存在房子名為為fitted的變量中,我們可以通過rainse

11、riesforecasts$fitted來獲取這些值。)#HoltWinters()告訴我們alpha參數(shù)的估計值約為0.0009575354,非常接近0,說明該序列比較平穩(wěn),默認情況下HoltWInters僅會給出原始時間序列所覆蓋時期內的預測,預測值存在房子名為為fitted的變量中,我們可以通過rainseriesforecasts$fitted來獲取這些值。plot(hm)【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”就可以了Holt-WintersfilteringHolt-Wintersfiltering200020CJ52010Time#從之前的alpha和上圖,可見我們預測的過

12、于平滑,R提供了樣本預測誤差平方和(SSE)來衡量預測效果??梢酝ㄟ^rainseriesforecasts$SSE來獲取該值。hm$SSE#191.00893#4)FitthedatawithappropriateARIMAModels.z=datad#然后我們繪制自相關圖和偏自相關圖對序列進行進一步的檢測acf(z)p招LLLLw.qow.qo【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”就可以了SeneszSeneszICICIO OLLOooLCLCO O一0.000.020.040.060.C80100.12Lag#從上面的圖中我們可以發(fā)現(xiàn)自相關系數(shù)在滯后一期之后, 很快錄入到置信區(qū)間

13、之內,因此可以認為該序列平穩(wěn)pacf(z)【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”就可以了SerieszSerieszLag# #從偏相關系數(shù)的置信區(qū)間來看,由于相關系數(shù)都在置信區(qū)間之內,因此可以認為該序列平穩(wěn)#Predictivemodel:ARIMAmodelspredict#然后檢測序列的平穩(wěn)性和獨立性,這里我們使用的是Box-LjungtestBox.test(z,lag=10,type=Ljung)#Box-Ljungtest#data:z#X-squared=1128.9,df=10,p-value2.2e-16#由于p值大于0.05,因此我們接受原假設認為該數(shù)列獨立,即原數(shù)

14、列為白噪聲序列#然后我們對序列進行單位根檢測,如果序列不存在單位根,那么該數(shù)列是平穩(wěn)序列adf.test(z)#Warninginadf.test(z):p-valuesmallerthanprintedp-value#AugmentedDickey-FullerTest【原創(chuàng)】附代碼數(shù)據(jù)有問題到淘寶找“大數(shù)據(jù)部落”就可以了#data:z#Dickey-Fuller=-28.804,Lagorder=16,p-value=0.01#alternativehypothesis:stationary#由于p值大于0.05,因此我們接受原假設認為該數(shù)列平穩(wěn)#從上面的自相關圖和偏相關圖,我們可以看到該模型為arima(1,0,0)library(forecast)#Warning:packageforecastwasbuiltunderRversion3.3.3x-arima(z,c(1,0,0)#因此建立模型之后對該序列進行預測r1-pre

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論