深度學習量化交易實踐---7.1.時序訊號特點
時序訊號
我們以上證綜指收盤指數為例,其就是一個典型的時序訊號。上證綜指檔案中,每天作為一行,表示該日的指數資訊,各列資訊如下所示:
Indexcd:指數程式碼,000001表示上證綜合指數;
trddt:交易日期,格式為yyyy-MM-dd;
daywk:星期日期,0星期日,1星期一,…,6星期六
opnindex:開盤指數
hiindex:最高價
loindex:最低價
clsindex:收盤價
retindex:指數收益率
下面的程式可以讀入上證綜指2014年至2015年資料,並繪製收盤價資料曲線:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
index = pd.read_table('TRD_Index.txt', sep='\t', index_col='Trddt')
sh_index = index[index.Indexcd==1]
print(sh_index.head(n=50))
cls_index = sh_index.Clsindex
cls_index.index = pd.to_datetime(cls_index.index)
plt.plot(cls_index)
plt.show()
其會列印如下內容:
我們繪製收盤價曲線如下所示:
自相關性
自協方差
我們假設有一個隨機變數X,在第一次觀察時在時點時的值為,連續觀察多次,可以得到如下序列:
對於時點的值為,通過多次觀察,可以求出其均值為。
有了這些之後,我們就可以定義階自協方差(Autocovariance):
當時,自協方差就褪變為方差:
自相關係數
上一節介紹的自協方差,但是隨機變數X取值大的話,自協方差的值就會非常大。我們需要一個與數量無關的量,來描述時序訊號的自相關性,這就是我們要介紹的自相關係數:
表示時序訊號過去的值對現在狀態的影響。
偏自相關係數
假設隨機變數X的時間序列為:,如果,則表明時刻的值會對時刻會有影響,同時在時刻的值也會對時刻產生影響。如果想衡量過去單期對當前時刻影響,不考慮其他時刻的影響,我們可以用偏自相關係數(Partial Autocorrelation Coefficient):
通常我們用自相關係數和偏自相關係數常用來刻畫時間序列相關性的高低,若相關係數比較大,說明我們所研究的物件過去、現在和將來的關聯性比較強,我們就可以通過研究這個訊號的過去和現在,比較精確地預測這個訊號將來的情況,那麼我們就可以選擇合適的策略來實現我們的盈利目的了。
我們可以使用如下函式自相關係數和偏自相關係數:
acf(x, unbiased=False, nlags=40, qstat=False, fft=False, alpha=None) # 自相關係數
pacf(x, nlags=40, method='ywunbiased', alpha=None) # 偏自相關係數
還以上證綜指為例,我們來看一下自相關係數和偏自相關係數,如下所示:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa import stattools
from statsmodels.graphics.tsaplots import plot_acf
import statsmodels.api as sm
index = pd.read_table('TRD_Index.txt', sep='\t', index_col='Trddt')
sh_index = index[index.Indexcd==1]
sh_retindex = sh_index.Retindex
# 自偏差
acfs = stattools.acf(sh_retindex)
print('acfs={0}!'.format(acfs))
pacfs = stattools.pacf(sh_retindex)
print('pacfs={0}!'.format(pacfs))
fig = plt.figure(figsize=(12,8))
ax1=fig.add_subplot(211)
fig = sm.graphics.tsa.plot_acf(sh_retindex,lags=30,ax=ax1)
ax2 = fig.add_subplot(212)
fig = sm.graphics.tsa.plot_pacf(sh_retindex,lags=30,ax=ax2)
plt.show()
其數值為:
其自相關係數和偏自相關係數圖形如下所示:
如上圖所示,橫軸是代表時間點,縱軸是自相關係數和偏自相關係數的數值,藍色區域為置信區間,當時間點上向上的直線超過藍色區域時,代表其與當前時刻相關性比較強,可以通過前4個時刻點的值來預測當前值。例如上圖中,在4時間點時超過了藍色置信區間,所以我們可以通過前4個時刻的值來預測當前值。
對於時序訊號而言,平穩性是非常重要的一個指標。平穩性是指我們可以通過過去預測未來的準確性,如果我們要準確預測,就要求時序訊號具有較好的平穩性。
強平穩性的定義:
這表明其具有數學上週期函式的特點。
弱平穩性的定義:
- 任取,有,即時間序列的均值為常數;
- 任取,有,即存在二階矩;
- 對任意整數,任意階數,有
單位根驗證
通過觀察時序訊號的自相關性係數和偏自相關係數圖,得出的結論往往具有較大的主觀性,結論會因人而異。為有使得出的結論更客觀,我們需要引入單位根驗證。
假設我們要研究的非平穩訊號如下所示:
序列如下所示:
但是如果我們對這個訊號做一階差分:
顯然,經過1階差分之後,訊號就變為穩定訊號了。
相關文章
- 馬丁量化交易系統在運營時有什麼特點
- 深度學習量化交易---0.1.股票K線圖繪製深度學習
- 實時深度學習深度學習
- 深度學習中的框架特點及介紹深度學習框架
- 聲網深度學習時序編碼器的資源預測實踐丨Dev for Dev 專欄深度學習dev
- SDRAM記憶體條時序特點記憶體
- 深度學習助力引力波訊號搜尋深度學習
- 深度學習量化交易---0.2.基於長短時記憶網路預測股票價格1深度學習
- 雲上深度學習實踐分享——雲上MXNet實踐深度學習
- 八大深度學習最佳實踐深度學習
- 深度學習的應用與實踐深度學習
- 應用於實時視訊通訊的深度學習演算法深度學習演算法
- 在 Google Colab 中快速實踐深度學習Go深度學習
- 深度學習網路模型的輕量化方法深度學習模型
- 機器學習PAI全新功效——實時新聞熱點OnlineLearning實踐機器學習AI
- 美團深度學習系統的工程實踐深度學習
- vue 序號,翻頁時序號遞增Vue
- 深度學習的實踐變革之路 盤點TOP15的典型應用深度學習
- 手把手教你用Python實踐深度學習Python深度學習
- 網易易盾深度學習模型工程化實踐深度學習模型
- [深度學習]生成對抗網路的實踐例子深度學習
- 深度強化學習在時序資料壓縮中的應用強化學習
- 【連載】序,特點,建議
- 大眾點評搜尋基於知識圖譜的深度學習排序實踐深度學習排序
- Hbase學習二:Hbase資料特點和架構特點架構
- LeCun:深度學習在訊號理解中的強大和侷限(視訊+PPT)LeCun深度學習
- 如何為實時音視訊設計小且優的深度學習模型?深度學習模型
- 抽象類特點 學習筆記抽象筆記
- 利用docker部署深度學習模型的一個最佳實踐Docker深度學習模型
- 貨拉拉國際化測試之深度學習實踐深度學習
- 基於CPU的深度學習推理部署優化實踐深度學習優化
- 美團“猜你喜歡”深度學習排序模型實踐深度學習排序模型
- Online Learning場景下實時新聞熱點機器學習訓練實踐機器學習
- 《python 程式設計從入門到實踐》序:學習目標Python程式設計
- AI和機器學習對量化交易領域的影響AI機器學習
- 深度學習在搜尋業務中的探索與實踐深度學習
- 深度學習在小米電商業務的應用實踐深度學習
- 基於深度學習的影像分割在高德的實踐深度學習