使用FaceBook的套件fbprophet預估個股股價

套件fbprophet(https://facebook.github.io/prophet/docs/quick_start.html)為FaceBook所開發,用於預估週期性的數值變化,輸入時間與數值兩個欄位就會預估未來數值的變化。

本範例操作軟體為 Anaconda與Jupyter Notebook。

Step1)收集台股個股股價,準備好Mysql資料庫,資料庫為TwStock(讀者可以自行更改),資料表為twse,欄位如下。

使用Jupyter Notebook將程式放入於cell中執行,使用Python蒐集程式如下,透過臺灣證券交易所網頁蒐集富邦金(1215,可自行修改為其他個股)股價,自2018年6月到目前為止,相關說明請參考本網站「使用Python抓取台股證交所每日股價資料,儲存到Mysql」。

Step2)將程式放入於Jupyter Notebook下一個cell中執行,產生fbprophet所需資料,需要日期欄位(ds)與數值(y)兩個欄位儲存到資料表data,本範例y使用收盤價。

Step3)使用conda安裝fbprophet,Python3.8安裝fbprophet遇到困難,改用Python3.5,建立Python3.5虛擬執行環境,開啟Anaconda Prompt依序輸入以下指令。

(1)建立虛擬環境

#conda create --name fbprophet python=3.5

(2)激活虛擬環境

#activate fbprophet

(3)安裝套件

#conda install -c conda-forge pystan

#conda install -c conda-forge fbprophet

#conda install pywin32

(4)設定Jupyter Notebook Kernel環境

#conda install ipykernel

#python -m ipykernel install --user --name fbprophet --display-name "Python [conda env:fbprophet]"

(5)打開Jupyter Notebook,選擇剛剛建立的Kernel環境

Step4)將程式放入於Jupyter Notebook下一個cell中執行,使用fbprophet預估個股股價

執行結果