導航:首頁 > 全球股市 > r語言時間序列分析股票

r語言時間序列分析股票

發布時間:2023-09-11 05:24:00

① 2020-03-28 線性時間序列模型

課程採用模蠢Ruey S. Tsay的《金融數據分析導論:基於R語言》(Tsay 2013 ) (An Introction to Analysis of Financial Data with R)作為主要教材之一。

時間序列的線性模型,包括:

股價序列呈現緩慢的、非或尺單調的上升趨勢, 局部又有短暫的波動。

可口可樂公司每季度發布的每股盈利數據。 讀入:

時間序列圖:

序列仍體現出緩慢的、非單調的上升趨勢,又有明顯的每年的周期變化(稱為季節性), 還有短期的波動。

下面用基本R的 plot() 作圖並用不同顏色標出不同季節。

現在可以看出,每年一般冬季和春季最低, 夏季最高,秋季介於夏季和冬季之間。

收益率在0上下波動,除了個別時候基本在某個波動范圍之內。

用xts包的 plot() 函數作圖:

聚焦到2004年的數據:

紅色是6月期國債利率, 黑色是3月期國債。 一般6月期高, 但是有些時期3月期超過了6月期,如1980年:

如圖標普500月收益率那樣的收益率數據基本呈現出在一個水平線(一般是0)上下波動, 且波動范圍基本不變。 這樣的表現是時間序列「弱平穩序列」的表現。
弱平穩需要一階矩和二階矩有限。某些分布是沒有有限的二階矩的,比如柯西分布, 這樣的分布就不適用傳統的線性時間序列理論。

稍後給出弱平穩的理論定義。

如圖2可口可樂季度盈利這樣的價格序列則呈現出水平的上下起伏, 如果分成幾段平均的話, 各段的平均值差距較大。 這體現出非平穩的特性。
以下為一堆公式推導,具體查看: http://www.math.pku.e.cn/teachers/lidf/course/fts/ftsnotes/html/_ftsnotes/fts-tslin.html#fig:tslin-intro-sp02

時間序列
自協方差函數
弱平穩序列

圖6 是IBM股票月度簡單收益率對標普500收益率的散點圖。 從圖中看出, 兩者有明顯的正向相關關系。
對於不獨立的樣本, 比如時間序列樣本, 也可以計算相關系數, 其估計合理性需要一些模型假設。

對於聯合分布非正態的情況, 有時相關系數不能很好地反映X和Y的正向或者負向的相關。 斯皮爾曼(Spearman)相關系數是計算X的樣本的秩(名次)與Y的樣本的秩之間的相關系數, 也稱為Spearman rank correlation。

另一種常用的非參數相關系數是肯德爾tau(Kendall』s )系數, 反映了一致數對和非一致數對之間的差別。
即兩個觀測的分量次序一致的概率減去分量次序相反的概率。 一致的概率越大,說明兩個的正向相關性越強。

對IBM收益率與標普收益率數據計算這三種相關系數:

自相關函旦團陪數 (Autocorrelation function, ACF)參見 (何書元 2003 ) P.131 §4.2的例2.1。 原始文獻: MAURICE STEVENSON BARTLETT, On the Theoretical Specification and Sampling Properties of Auto-Correlated Time Series, Journal of the Royal Statistical Society (Supplement) 8 (1946), pp. 24-41.

在基本R軟體中, acf(x) 可以估計時間序列 x 的自相關函數並對其前面若干項畫圖。

例:CRSP的第10分位組合的月對數收益率, 1967-1到2009-12。 第10分位組合是NYSE、AMEX、NASDAQ市值最小的10%股票組成的投資組合, 每年都重新調整。

圖6: CRSP第10分位組合月對數收益率

用 acf() 作時間序列的自相關函數圖:

acf() 的返回值是一個列表,其中 lag 相當於, acf 相當於。 用 plot=FALSE 取消默認的圖形輸出。

有研究者認為小市值股票傾向於在每年的一月份有正的收益率。
為此,用對的檢驗來驗證。 如果一月份有取正值的傾向, 則相隔12個月的值會有正相關。

計算統計量的值,檢驗p值:

值小於0.05, 這個檢驗的結果支持一月份效應的存在性。

Ljung和Box(Ljung and Box 1978 )對Box和Pierce(Box and Pierce 1970 )提出了混成統計量(Portmanteau statistic)
檢驗方法進行了改進

在R軟體中, Box.test(x, type="Ljung-Box") 執行Ljung-Box白雜訊檢驗。 Box.test(x, type="Box-Pierce") 執行Box-Pierce混成檢驗。 用 fitdf= 指定要減去的自由度個數。

檢驗IBM股票月收益率是否白雜訊。
考慮IBM股票從1926-01到2011-09的月度收益率數據, 簡單收益率和對數收益率分別考慮。
讀入數據:

讀入的是簡單收益率的月度數據。 作ACF圖:

從ACF來看月度簡單收益率是白雜訊。
作Ljung-Box白雜訊檢驗, 分別取和:

在0.05水平下均不拒絕零假設, 支持IBM月度簡單收益率是白雜訊的零假設。
從簡單收益率計算對數收益率, 並進行LB白雜訊檢驗:

在0.05水平下不拒絕零假設。

Box-Pierce檢驗和Ljung-Box檢驗受到取值的影響, 建議採用, 且序列為季度、月度這樣的周期序列時, 應取為周期的整數倍。
對CRSP最低10分位的資產組合的月簡單收益率作白雜訊檢驗。
此組合的收益率序列的ACF:

針對和作Ljung-Box白雜訊檢驗:

在0.05水平下均拒絕零假設, 認為CRSP最低10分位的投資組合的月度簡單收益率不是白雜訊。

有效市場假設認為收益率是不可預測的, 也就不會有非零的自相關。 但是,股價的決定方式和指數收益率的計算方式等可能會導致在觀測到的收益率序列中有自相關性。 高頻金融數據中很常見自相關性。

常見的白雜訊檢驗還有TREVOR S. BREUSCH (1978) 和LESLIE G. GODFREY (1978)提出的拉格朗日乘子法檢驗(LM檢驗)。 零假設為白雜訊, 對立假設為AR、MA或者ARMA。 參見:

設是獨立同分布的二階矩有限的隨機變數, 稱為獨立同分布白雜訊(white noise)。 最常用的白雜訊一般假設均值為零。 如果獨立同分布, 稱為高斯(Gaussian)白雜訊或正態白雜訊。

白雜訊序列的自相關函數為零(除外)。

實際應用中如果樣本自相關函數近似為零 (ACF圖中都位於控制線之內或基本不超出控制線), 則可認為該序列是白雜訊的樣本。

如:IBM月度收益率可以認為是白雜訊(見例 3.3 ); CRSP最低10分位投資組合月度收益率不是白雜訊(見例 3.4 )。

不是所有的弱平穩時間序列都有這樣的性質。 非平穩序列更是不需要滿足這些性質。

公式就不贅述

如果從時間序列的一條軌道就可以推斷出它的所有有限維分布, 就稱其為嚴平穩遍歷的。 這里不給出遍歷性的嚴格定義, 僅給出一些嚴平穩遍歷的充分條件。 可以證明, 寬平穩的正態時間序列是嚴平穩遍歷的, 由零均值獨立同分布白雜訊產生的線性序列是嚴平穩遍歷的。

Tsay, Ruey S. 2013. 金融數據分析導論:基於R語言 . 機械工業出版社.

何書元. 2003. 應用時間序列分析 . 北京大學出版社.

Box, GEP, and D. Pierce. 1970. 「Distribution of Resial Autocorelations in Autoregressive-Integrated Moving Average Time Series Models.」 J. of American Stat. Assoc. 65: 1509–26.

Ljung, G., and GEP Box. 1978. 「On a Measure of Lack of Fit in Time Series Models.」 Biometrika 66: 67–72.

參考學習資料: http://www.math.pku.e.cn/teachers/lidf/course/fts/ftsnotes/html/_ftsnotes/fts-tslin.html#fig:tslin-intro-sp02

② 時間序列分析

在R中生成時間序列的前提是我們將分析對象轉成時間序列函數對象,包括觀測值、起始時間、種植時間、及周期(月、季度、年)的結構。這些都能通過ts( )函數實現。

R語言中,對時間序列數據進行分析處理時,使用差分函數要注意:差分函數diff()不帶參數名的參數指滯後階數,也就是與滯後第幾階的數據進行差分。如果要指定差分的階數,則一定要使用帶名稱的參數:diff=2。

例如: sample表示樣本數據。

1、diff(sample,2)表示是對滯後2階的數據進行差分,一階差分,等同於: diff(sample,lag=2)

2、diff(sample,diff=2)才是表示二階差分

意:在函數中盡量避免使用沒有命名的參數。在《時間序列分析及應用-R語言(第2版)》中,P315,描述到: 我們得到的教訓就是,除非完全了解相關參數的位置,否則使用未命名參數是非常危險的。

截尾是指時間序粗念早列的自相關函數(ACF)或偏自相關函數(PACF)在高辯某階後均為0的性質(比如AR的PACF);

拖尾是ACF或PACF並不在某階後均為0的性質(比如AR的ACF)。

拖尾 :始終有非零取值,不會在k大於某個常數後就恆等於零(或在0附近隨機波動)

截尾 :在大於某個常數k後快速趨於0為k階截尾

AR模型:自相關系數拖尾,偏自相關系數截尾;

MA模型:自相關系數截尾,偏自相關函數拖尾;

ARMA模型:自相關函數和偏自相關函數均拖尾。

根據輸出結果, 自相關函數圖拖尾,偏自岩雀相關函數圖截尾 ,且n從2或3開始控制在置信區間之內,因而可判定為AR(2)模型或者AR(3)模型。

③ 如何用R 語言 建立 股票價格的時間序列

在下想用R語言對股票價格進行時間序列分析。
問題出在第一步,如何將股票價格轉換為時間序列。
我想用的語句是 pri <- ts (data, start=(), frequency= )
但是我不知道frequency 項該如何填?
因為股票的交易日是一周五天的。 那麼這個frequency 該如何設置呢?
我知道通常frequency= 12 為月度數據,frequency= 4 為季度數據,frequency= 1 為年度數據 但日數據怎麼寫我就不知道了

初學R語言,還望各位大俠多多幫助。

④ 金融時間序列分析用R語言畫簡單收益率和對數收益率的ACF圖!

acf(int[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly

acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
log return')

Box.test(int[,2], lag = 5, type = "Ljung-Box")
Box.test(int[,2], lag = 10, type = "Ljung-Box")
Box.test(int.l[,2], lag = 5, type = "Ljung-Box")
Box.test(int.l[,2], lag = 10, type = "Ljung-Box")

運行結果有以下錯誤,怎麼辦?

> int <- read.table("d-intc7208.txt", head=T)
錯誤於file(file, "rt") : 無法打開鏈結
此外: 警告信息:
In file(file, "rt") :
無法打開文件'd-intc7208.txt': No such file or directory

+ acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
錯誤: 意外的符號 in:
"
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int"
> log return')
錯誤: 意外的符號 in "log return"

⑤ R語言做時間序列分析時,summary給出的結果都是什麼意思啊

這個段戚飢是自動適仔塵應參數估計的結果。
模型握返估計為ARIMA(4,0,2),即ARMA(4,2)
系數為:
ar1 ar2 ar3 ar4 ma1 ma2
-0.5505 0.2316 0.0880 -0.4325 -0.1944 -0.5977
s.e. 0.1657 0.1428 0.1402 0.1270 0.1766 0.1732

s.e.是系數的標准差,系數顯著性要自己算,|系數/se| > 1.96 即 95%的置信度

sigma^2 estimated 估計值方差
log likelihood 對數似然值

(這個不用解釋了吧)
AIC=709.13 AICc=710.73 BIC=725.63

再就是下面一堆誤差計算

ME Mean Error
RMSE Root Mean Squared Error
MAE Mean Absolute Error
MPE Mean Percentage Error
MAPE Mean Absolute Percentage
MASE Mean Absolute Scaled Error

⑥ 90-預測分析-R語言實現-時間序列1

時間序列(time series)是隨機變數Y 1 、Y 2 、……Y t 的一個序列,它是由等距的時間點序列索引的。
一個時間序列的均值函數就是該時間序列在某個時間索引t上的期望值。一般情況下,某個時間序列在某個時間索引t 1 的均值並不等於該時間序列在另一個不同的時間索引t 2 的均值。
自協方差函數及自相關函數是衡量構成時間序列的隨機變數在不同時間點上相互線性依賴性的兩個重要函數。自相關函數通常縮略為ACF函數。ACF函數是對稱的,但是無單位,其絕對值被數值1約束,即當兩個時間序列索引之間的自相關度是1或-1,就代表兩者之間存在完全線性依賴或相關,而當相關度是0時,就代表完全線性無關。
平穩性:實質描述的是一個時間序列的概率表現不會隨著時間的流逝而改變。常用的平穩性的性質有嚴格平穩和弱平穩兩個版本。tseries包的adf.test()函數可以檢驗時間序列的平穩性,返回的p值小於0.05則表示是平穩的。
白雜訊是一隱正告個平穩過程,因為它的均值和方差都是常數。
隨機漫步的均值是常數(不帶漂清空移的隨機漫步),但它的方差是隨著時灶明間的變化而不同的,因此它是不平穩的。
自回歸模型(Autoregressive models, AR)來源於要讓一個簡單模型根據過去有限窗口時間里的最近值來解釋某個時間序列當前值的想法。
自回歸條件異方差模型:ARIMA模型的關鍵前提條件是,雖然序列本身是非平穩的,但是我們可以運用某個變換來獲得一個平穩的序列。像這樣為非平穩時間序列構建模型的方法之一是作出一個假設,假設該模型非平穩的原因是該模型的方差會以一種可預見的方式隨時間變化,這樣就可以把方差隨時間的變化建模為一個自回歸過程,這種模型被稱為自回歸條件異方差模型(ARCH)。加入了移動平均方差成分的ARCH模型稱為廣義自回歸條件異方差模型(GARCH)。

任務:預測強烈地震
數據集:2000-2008年期間在希臘發生的強度大於里氏4.0級地震的時間序列。

不存在缺失值。
將經度和緯度之外的變數轉換為數值型。

從圖上可以看出,數據在30次左右波動,並且不存在總體向上的趨勢。

通過嘗試多個不同的組合來找到最優的階數參數p,d,q,確定最優的准則是使用參數建模,能使模型的AIC值最小。

定義一個函數,它會針對某個階數參數擬合出一個ARIMA模型,並返回模型的AIC值。如果某組參數導致模型無法收斂,就會產生錯誤,並且無法返回AIC,這時需要人為設置其AIC為無限大(InF)。

調用函數,選取最合適的模型。

然後找出最優的階數參數:

得到最合適的模型為ARIMA(1, 1, 1)。再次使用最優參數訓練模型。

使用forecast包預測未來值。

帶顏色的條帶是預測的置信區間,藍色線表示均值,結果表示在後續的10個月里,地震的數量會有小幅增加。
檢查自相關函數:

ACF繪圖:虛線顯示了一個95%的置信區間,特定延遲對應的ACF函數值如果處於該區間內,就不會被認為具有統計顯著性(大於0)。這個ACF輪廓表明,針對本數據集,簡單的AR(1)過程可能是一種合適的擬合方式。
PACF為偏自相關函數,是將時間延遲K的PACF定義為在消除了小於K的延遲中存在的任何相關性影響的情況下所產生的相關性。

閱讀全文

與r語言時間序列分析股票相關的資料

熱點內容
道瓊斯列入中國股票名單 瀏覽:740
小鵬汽車員工股票激勵 瀏覽:29
股票交易機構交易漲停不能賣出嗎 瀏覽:959
退市股票可以買賣嗎 瀏覽:698
有資金介入的股票選股公式 瀏覽:154
重組後股票漲幅最大的股票 瀏覽:619
otc股票交易app 瀏覽:538
股票楔形整理時間 瀏覽:827
大唐西市股票上市時間 瀏覽:522
科創板股票退市整理期的交易期限為多少天 瀏覽:554
2014年10月23日漲停股票 瀏覽:751
手機上股票軟體能清理嗎 瀏覽:269
企業股票債券 瀏覽:578
股票被打成st 瀏覽:851
上市當天就幾個漲停的股票 瀏覽:920
如何看出股票中主力 瀏覽:690
獲取東方財富股票數據介面 瀏覽:962
一隻股票的故事 瀏覽:613
網上怎樣消股票賬戶 瀏覽:852
淮柴動力股票最新消息 瀏覽:235