使用不同解析度的時間序列
我正在研究收盤價(股票/商品)的預測,並可以訪問各種數據源來幫助預測。
但是,這些來源中的大多數都處於不同的時間範圍內,通常是每週或每月,而不是每日收盤價。
舉個例子:假設你想根據每週的石油鑽井平台數量來預測石油的收盤價。
希望收到有關如何解決此問題的意見: 1. 理論水平 - 做什麼以及為什麼?根據每週輸入進行每日預測是否有意義,還是應該是每週(即周五收盤)預測?2. 一個實用級別 - 如何最容易地用 Python 實現?
提前致謝!
在理論上,您應該開始根據您擁有的數據對您期望價格如何變動做出一些假設。然後尋找方法來檢驗你的假設!我通過查看價格變動、季節性和不同指標的分佈來做到這一點。尋找一些支持您的預測理念的數據並嘗試對其進行擴展。根據每週輸入進行每日預測是否有意義?我認為這取決於。我可能會回到我的第一個陳述,因為您應該使用您的數據並尋找有關市場的指標/理論。然後決定它是否有意義。
在 Python(我的首選語言)中,您可能可以開始使用該
Pandas
庫。Pandas使處理時間序列數據、按日期、列索引和讀/寫磁碟文件變得非常容易。您可能想從SciPy實現一些信號處理功能!我喜歡用argrelextrema
其他方法來確定動量轉移點!如果您喜歡機器學習,請使用Scikit-learn。它被認為是可用的最強大的機器學習庫之一。
了解事件的順序很重要,即資訊是如何顯示的。
例如,貝克休斯鑽機計數在東部時間 1300 點發布,通常在星期五發布。(但有幾個不是星期五,我建議你使用實際日期)。
紐約商品交易所原油期貨收盤的彭博數據是美國東部時間 1430 的原油價格。
對原油週五收盤價的最簡單或“零資訊”預測就是周四收盤價。這個預測的誤差等於 $ \sigma(P_{Fri}-P_{Th}) $ 可以根據經驗估計。
下一步是建立一個稍微複雜一點的預測模型,該模型將乾預鑽機數量的釋放考慮在內。這個模型可以是以下形式 $ P_{Fri}=P_{Th}+\alpha+\beta *RIG_INFO_{Fri} $ 其中 alpha 和 beta 是通過線性回歸估計的。從理論上講,RIG_INFO 應該是鑽機數量數據與公告前市場對鑽機數量的預期之間的差異。如果您沒有預期值,您也許可以使用宣布的鑽機數量與前一周的鑽機數量之間的差異作為“驚喜”的代理。
無論如何,一旦你估計了這個模型,你就可以檢查它比簡單模型好多少。(根據我的經驗,一個解釋變數,如鑽機數量,只會將誤差減少相對較小的量。從理論上講,這種減少可以衡量公告對原油價格的貢獻)。