『壹』 R語言畫時間序列圖
用xlim或者ylim命令。比如:
# Specify axis options within plot()
plot(x, y, main="title", sub="subtitle",
xlab="X-axis label", ylab="y-axix label",
xlim=c(xmin, xmax), ylim=c(ymin, ymax))
『貳』 如何在r語言中抓取股票數據並分析論文
用quantomd包
然後getsymbols函數
分析論文 要看你研究方向
如果是看影響因素 一般回歸就行
如果看股票波動和預測 可能需要時間序列
『叄』 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 語言 建立 股票價格的時間序列
在下想用R語言對股票價格進行時間序列分析。
問題出在第一步,如何將股票價格轉換為時間序列。
我想用的語句是 pri <- ts (data, start=(), frequency= )
但是我不知道frequency 項該如何填?
因為股票的交易日是一周五天的。 那麼這個frequency 該如何設置呢?
我知道通常frequency= 12 為月度數據,frequency= 4 為季度數據,frequency= 1 為年度數據 但日數據怎麼寫我就不知道了
初學R語言,還望各位大俠多多幫助。
『伍』 用R語言做時間序列分析時,模型為指數時R語言怎麼寫
動平均法的基本原理,是通過移動平均消除時間序列中的不規則變動和其他變動,從而揭示出時間序列的長期趨勢。 說指數平滑法是在移動平均法基礎上發展起來的一種時間序列分析預測法,它是通過計算指數平滑值,配合一定的時間序列預測模型對現象
『陸』 金融時間序列分析用R語言建立AR模型!
對R做平穩性檢驗,結果顯示,在5%的顯著性水平下接受拒絕原假設,表明不存在 ... 在建立計量經濟模型時,總要選擇統計性質優良的模型
對上證指數收益率序列AR(3)模型進行條件異方差的ARCHLM檢驗(滯後8階),結果給出
AR模型的參數估計 GARCH模型可以消除金融時間序列的ARCH效應,模擬和預測其波動性。
『柒』 如何用R語言提取股票行情數據
最上邊一行菜單欄倒數第二個「高級」-「關聯任務定義」-選取最右邊從上到下第二個按鈕,找到2009年決算任務安裝路徑-確定。 然後 最上邊一行菜單欄正數第二個「錄入」-「上年數據提取」即可 提取完了,注意修改與去年不同的科目代碼!
『捌』 金融時間序列分析用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"
『玖』 arima模型python 怎麼看平穩性
時間序列分析(一) 如何判斷序列是否平穩
序列平穩不平穩,一般採用兩種方法:
第一種:看圖法
圖是指時序圖,例如(eviews畫滴):
分析:什麼樣的圖不平穩,先說下什麼是平穩,平穩就是圍繞著一個常數上下波動。
看看上面這個圖,很明顯的增長趨勢,不平穩。
第二種:自相關系數和偏相關系數
還以上面的序列為例:用eviews得到自相關和偏相關圖,Q統計量和伴隨概率。
分析:判斷平穩與否的話,用自相關圖和偏相關圖就可以了。
平穩的序列的自相關圖和偏相關圖不是拖尾就是截尾。截尾就是在某階之後,系數都為 0 ,怎麼理解呢,看上面偏相關的圖,當階數為 1 的時候,系數值還是很大, 0.914. 二階長的時候突然就變成了 0.050. 後面的值都很小,認為是趨於 0 ,這種狀況就是截尾。再就是拖尾,拖尾就是有一個衰減的趨勢,但是不都為 0 。
自相關圖既不是拖尾也不是截尾。以上的圖的自相關是一個三角對稱的形式,這種趨勢是單調趨勢的典型圖形。
下面是通過自相關的其他功能
如果自相關是拖尾,偏相關截尾,則用 AR 演算法
如果自相關截尾,偏相關拖尾,則用 MA 演算法
如果自相關和偏相關都是拖尾,則用 ARMA 演算法, ARIMA 是 ARMA 演算法的擴展版,用法類似 。
不平穩,怎麼辦?
答案是差分
還是上面那個序列,兩種方法都證明他是不靠譜的,不平穩的。確定不平穩後,依次進行1階、2階、3階...差分,直到平穩位置。先來個一階差分,上圖。
從圖上看,一階差分的效果不錯,看著是平穩的。
『拾』 如何用R語言的quantmod包獲取一系列股票的歷史日線數據
我舉個例子供你參考:
> install.packages('quantmod') # 安裝安裝quantmod包
> require(quantmod)#引用quantmod包
> getSymbols("GOOG",src="yahoo",from="2013-01-01", to='2013-04-24') #從雅虎財經獲取google的股票數據
> chartSeries(GOOG,up.col='red',dn.col='green') #顯示K線圖