[OpenR8 解決方案] Stock_Taiwan

Stock Taiwan 是一個運用卷積神經網路 (convolution neural network) 來預測台灣股價的程式,在這裡我們將會為您介紹如何使用R8來輕鬆訓練這個神經網路。由於本程式是用Python在執行的,所以對於沒有安裝Python的用戶我們也提供了exe版本。

 

  1. 下載證交所資料:我們的第一部就是去台灣證券交易所的網站上下載資料。由於交易所對於下載資料方面有嚴格的控管,所以本程式將會自動降速以免您的IP位置被暫時封鎖 (若您還是不信被暫時性封鎖,您可以嘗試連線到您手機的網路) 。下面有六個參數需要做設定。

 

  1. 股票代號:請在值的位置輸入您想要預測股票的代號
  2. 從第幾年:請在值的位置輸入西曆年份
  3. 從幾月:請在值的位置輸入月份
  4. 到第幾年:請在值的位置輸入西曆年份
  5. 到幾月:請在值的位置輸入月份
  6. 輸出資料路徑:請在值的位置輸入data/stock_data.csv

 

圖1. 下載下來的csv檔應該會看起來像這個樣子.png

圖1. 下載下來的csv檔應該會看起來像這個樣子。

 

  1. 整理證交所資料:由於資料大小不一,有可能會在訓練的時候產生偏差。所以這邊我們會把資料都壓縮到比較好處理的形式 (像是0~1之間等等)。

 

  1. 輸入資料路徑:請在值的位置輸入data/stock_data.csv,請注意這裡的路徑需要與上一個的輸出資料路徑完全相同
  2. 輸出資料路徑:請在值的位置輸入data/prepare_data.csv
  3. 輸出資料路徑2:請在值的位置輸入data/minmax,這裡不需要輸入副檔名因為程式本身會自動加上去

 

圖2. csv檔中資料應該都要在0 1之間 .png

圖2. csv檔中資料應該都要在0 1之間。

 

 

  1. 訓練:在這裡我們將會使用卷積神經網路來訓練我們的模型,訓練完成是會做出一張分析圖 (如下圖) 。

 

  1. 輸入資料路徑:請在值的位置輸入data/prepare_data.csv
  2. 輸入資料路徑:請在值的位置輸入data/minmax.npy
  3. 輸出資料路徑:請在值的位置輸入data/pred,這裡不需要輸入副檔名因為程式本身會自動加上去

 

圖3. 上圖為驗證集與原始資料 下圖為訓練集與原始資料.png

圖3. 上圖為驗證集與原始資料 下圖為訓練集與原始資料。

 

  1. 推論:本程式會自動找出資料的尾端,並以那些資料作為推斷下一次收盤價的根據

 

  1. 輸入資料路徑:請在值的位置輸入data/pred.npy
  2. 輸入資料路徑2:請在值的位置輸入data/stock_data.csv

 

圖4. 推論跑完應該會看起來像這樣.png

圖4. 推論跑完應該會看起來像這樣