使用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預估個股股價
執行結果