ARIMA
全稱為自回歸積分滑動平均模型(Autoregressive Integrated Moving Average Model,簡記ARIMA)。核心函數(shù)是ARIMA(p,,d,,q)稱為差分自回歸移動平均模型,AR是自回歸,, p為自回歸項,; MA為移動平均,q為移動平均項數(shù),,d為時間序列成為平穩(wěn)時所做的差分次數(shù),。所謂ARIMA模型,是指將非平穩(wěn)時間序列轉化為平穩(wěn)時間序列,,然后將因變量僅對它的滯后值以及隨機誤差項的現(xiàn)值和滯后值進行回歸所建立的模型,。
核心
整個算法的核心,就是ARIMA中d差分將時序差分成平穩(wěn)時序或是趨于平穩(wěn)時序,,然后基于PACF設置p自回歸項,,基于ACF設置q移動平均項數(shù)。
但因為包是基于statsmodels的,,而其中的ARIMA(p,,d,q),,d不能>2,,因此選用ARIMA(p,q)函數(shù),,d則使用pandas.diff()來實現(xiàn),。
步驟
本系統(tǒng)使用yahoo_finance,,pandas,numpy,,matplotlib,,statsmodels,scipy,,pywt這些包
1.從yahoo_finance包中獲取股票信息,,使用panda存儲及處理數(shù)據(jù),只提取其中Close屬性,,按照時間排序為時間序列,。
2.對Close時序進行小波分解處理,選用DB4進行小波分解,,消除噪音,。
3.進行差分運算,使用panda包的diff()方法,,并使用ADF檢驗進行平穩(wěn)性檢驗,,保證時間序列是平穩(wěn)或趨于平穩(wěn)的。
4.輸出ACF,,PACF圖,,確定p,q的值,。
5.運用ARIMA模型對平穩(wěn)序列進行預測,,ARIMA(p,q)。
6.還原差分運算,,得到股票預測時序,。
輸出圖
本圖順序與步驟順序無關,僅僅是作為一種直觀的展示:
總結
ARIMA是一種處理時序的方法模型,,可以作用于股票預測,,但是效果只能說是一般,因為股市預測有一定的時序關系,,卻又不完全是基于時序關系,,還有社會關系,公司運營,,新聞,,政策等影響,而且ARIMA使用的數(shù)據(jù)量僅僅只有一階的Close屬性,。因此本模型可以作用在平穩(wěn)發(fā)展,沒有什么負面新聞和政策干擾的公司(不懂經(jīng)濟學,,不知道對不對= =),。
Github
https://github.com/jerry81333/StockProdiction/
|