《用 Python 打造你的 AI 股票交易引擎》業界專家實戰教學
市面上唯一結合深度學習與機器學習優勢的股市課程,選股、合理持有比例與個股歸因分析資訊一應俱全,結合 AI 演算與預測優勢,讓股市交易輕鬆省時不費力,現在就善用 AI 股票交易技術,零基礎打造你的高勝率
內容簡介
作者介紹
適合人群
你將會學到什麼
購買須知
-
直播
-
第0章 本課程之環境準備與程式安裝教學
本章介紹股市程式安裝說明
-
1. 環境安裝
以下為本課程所需安裝之套件,請學員按照以下方式安裝 除了Anaconda 預設的套件,以及 Keras 等深度學習套件安裝外, 本程式執行還需要安裝下列四個套件(xgboost,shap,hyperopt,talib)- xgboost,shap, hyperopt。 Step1 : 請先開啟 Anaconda 安裝目錄下,介面輸入指令 Anaconda Prompt。 Step2 : 請在指令處,輸入 pip_install_xgboost_shap_hyperopt (所有底線_替換成空白), 即可安裝成功- talib。 [方法一] 使用前面三個套件相同的方式,輸入 pip_install_Ta-Lib (同樣底線替換成空白,注意大小寫以及橫槓) [方法二] 如果上述方法出現Error,請以下列方式安裝: Step 1 :找到並在 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 網站下載主機對應到的whl檔案(例如 : 主機安裝 Python3.7,系統為64位元,則選擇 TA_Lib‑0.4.18‑cp37‑cp37m‑win_amd64.whl下載) Step 2 : 打開與前面安裝套件相同的指令環境,在剛剛下載.whl檔的目錄下執行下列指令pip_install_TA_Lib‑0.4.18‑cp37‑cp37m‑win_amd64.whl (底線換成空白) 如果還沒有安裝成功,請參考下列網址說明: https://www.shinnytech.com/blog/ta-lib_installation_instruction/
-
2. 程式碼下載與更新紀錄(v1.0.5 08/31釋出)
程式碼下載: 主程式下載: 💁♂AI股票交易引擎原始碼下載 (需按右鍵新開分頁) Colab版下載: 💁♂AI股票交易引擎(colab版) [CStock 1.0.5 2020/08/31] 1.0.5 更新資訊 2020/08/31 ** 新增功能 - 新增官方 Colab 執行腳本,可以避免環境安裝與版本相容性等問題,歡迎同學多多使用 ** 問題修正 - 修正顯示與載入歷史資料格式錯誤問題 (感謝 Han Hsiang Liu 同學指正) - 修正季報表爬蟲問題 - 修正Colab版本中, SHAP圖表的中文顯示問題 [CStock v1.0.4 2020/08/03 ] 1.0.4 更新資訊 2020/08/03 ** 問題修正 - 修正套件支援版本, 新版程式相容的重要套件對應版本清單如下: python : 3.7.4版 xgboost : 1.1.1版 tensorflow : 2.3.0版 CUDA : 10.0.130版 shap : 0.34.0版 [CStock v1.0.3 2020/07/24 ] 1.0.3 更新資訊 2020/07/24 ** 問題修正 - 修正 2018 後上櫃股票的爬蟲收錄問題, 附件爬取日期更新到 2020/07/23 [CStock v1.0.2 2020/07/22 ] 1.0.2 更新資訊 2020/07/22 ** 新增功能 - 新增 "爬蟲間隔時間(CRAWLER_SLEEP_TIME)" 設定參數,可用來指定爬蟲 request 的間隔時間, 以避免被證交所服務阻斷 請於 cstock.py 內修改 CRAWLER_SLEEP_TIME 參數, 預設值為 5 (秒) 適用範圍 : 所有需要連續進行的爬蟲 ** 問題修正 - 修正股票代碼被誤判為數字型態的問題 - 修正預測資訊無法以彩色格式顯示的問題(如果無法顯示彩色, 會改顯示黑白版本) - 修正SHAP歸因圖因為新版Xgboost標頭而發生utf8解析錯誤的問題 - 修正模型起始區間的設定問題 [CStock v1.0.1 2020/07/20] 1.0.1 更新資訊 2020/07/20 ** 問題修正 - 修正爬蟲時遇到"上市指數"與"上櫃指數"收盤日期不一致的問題 - 將模型測試分數, 由中文顯示改回英文顯示 [CStock v1.0.0 2020/07/13] 1.0.0 更新資訊 2020/07/13 ** 新增功能 - save_model 新增參數 epochs 可用來指定模型最大探索參數的次數, 以增加模型強度 使用範例 : cs.save_model(split_date, data_1d, target_days=60, dim=MAX_CHAR_LENGTH, output_file='1d_60D_model', epochs=10) 適用範圍 : 所有1維與2維模型 (目前1維模型 XGB 預設值 epochs=100, 2維模型 GRU 預設 epochs=50)
-
3. AI股票交易引擎-主程式說明(CH3程式說明)
[ 1. 檔案說明 ] 課程所附的檔案, 需要解壓縮到您安裝的 Jupyter Notebook 預設目錄下,如果您是使用 Anaconda 的預設安裝, 目錄應該是 C:\Users\[用戶名稱]\ 。 您可以開啟 Jupyter Notebook 程式後, 由目錄下的檔案與資料夾確認預設目錄位置,只要將解壓縮的檔案放在起始目錄下, 方便開啟即可。 第三章程式解壓縮後,共有五個檔案 在 Jupyter Notebook 執行環境下,這個目錄看起來會類似下圖 五個檔案的用途分別為: Tai_weighted20.csv : 台股20檔權值股的歷史開高低收量 Data_Generator.ipynb : 將權值股資訊, 轉換成模型計算所需的特徵檔 其餘三檔 : 分別對應第三章第2.3.4三小節的算法程式 [ 2. 執行步驟 ] Step 1. 開啟並執行 Data_Generator.ipynb (上方功能表 : Kernel > Restart & Run All) Step 2.等待特徵檔 data_train.csv 與 data_test.csv 生成完畢 (如下圖紅圈處, 當符號從 In[*]: 變成 In[2]: 就是執行完畢了) Step 3. 開啟其餘程式檔之一 (3_2_Arima.ipynb / 3_3_GRU.ipynb / 3_4_Xgboost.ipynb),並執行腳本,即可看到執行過程。 Step 4. 等待執行完畢,觀察最終預測分數 註 : 因為機器學習模型有隨機性,因此 GRU 與 Xgboost 執行分數可能與課程稍有不同,為正常現象
-
4. AI股票交易引擎-主程式說明(CH4程式說明)
[ 1. 檔案說明 ] 課程所附的檔案,需要解壓縮到您安裝的 Jupyter Notebook 預設目錄下,如果您是使用 Anaconda 的預設安裝,目錄應該是 C:\Users\[用戶名稱]\ 您可以開啟 Jupyter Notebook 程式後,由目錄下的檔案與資料夾確認預設目錄位置,只要將解壓縮的檔案放在起始目錄下,方便開啟即可。 第四章程式解壓縮後,目錄下共有四個檔案與三個子目錄 在 Jupyter Notebook 執行環境下,這個目錄看起來會類似下圖 其中三個副檔名為 .ipynb 的就是主要的程式執行腳本,只需要這三個檔案, 即可執行 AI 股市交易系統。以下說明分別以 Part1 腳本 / Part2 腳本 / Part3 腳本 稱呼 [ 2. 執行步驟 ] 要完成 AI 股市交易的預測,需要每個月或數個月, 執行訓練流程,以重新產生交易規則,並且在每個交易日結束後,執行預測流程,以產生隔一天的交易建議。 由於訓練流程,需要比較長的計算時間,因此您可以先使用系統的預設模型與體驗預測結果,但預設模型計算結果僅供參考,不保證獲利,使用前請特別注意。 [ 2.1 訓練流程 ] Step 1. 開啟 Part1 腳本,設定股票候選清單(下圖紅框處) Step 2. 確定 RESET_MODE=True(下圖紅框處) Step 3. 重新執行 Part1 腳本 (上方功能表 : Kernel > Restart & Run All) Step 4. 直到 Part1 腳本 最後一個區塊結束 (出現 talib 函式名稱, 如下圖), 即可關閉 Part1 腳本 Step 5. 開啟並重新執行 Part2 腳本 (上方功能表 : Kernel > Restart & Run All) Step 6. 等待 Part2 腳本 最後一個區塊執行完畢 (出現下方的模型測試分數) 為止, 結束訓練流程 [ 2.2 預測流程 ] 預測流程,分為第一次使用時的預測流程與後續使用的預測流程,操作稍有不同,以下分別描述 [ 2.2.1 第一次使用時的預測流程 ] Step 1. 開啟 Part1 腳本,設定股票候選清單(下圖紅框處) Step 2. 將 RESET_MODE 修改為 False (下圖紅框處) Step 3.重新執行 Part1 腳本 (上方功能表 : Kernel > Restart & Run All) Step 4. 直到 Part1 腳本 最後一個區塊結束 (出現 talib 函式名稱,如下圖), 即可關閉 Part1 腳本 Step 5. 開啟 Part3 腳本 在紅框中比照格式,填入您的資金與股票部位 (圖中範例填寫方式,表示目前持有2330x1張,0050x8張,以及500萬現金部位) Step 6. 重新執行 Part3 腳本 (上方功能表 : Kernel > Restart & Run All) 這邊請特別注意,如果您尚未執行過訓練流程,請在重新執行腳本前,將下列程式部分更改為預設模型 ( _model字尾改成_bak字尾,如下圖),即可先行體驗預測效果,但預設模型計算結果僅供參考, 不保證獲利,請特別注意 Step 7. 直到 Part3 腳本 最後一個區塊結束,會出現下列交易建議表格,以及後續的交易參考圖 其中 原始推薦比例 為AI系統對該標的的推薦狀況評估,數值越高表示越樂觀,而 建議張數 則是下一個交易日的建議掛單張數,建議價位 是建議的掛單價位 [ 2.2.2 後續使用的預測流程 ] 除了 Step 5. 以外,其他步驟與 [ 2.2.1 第一次使用時的預測流程 ] 完全相同,請以下列兩個步驟,取代原本的 Step 5. 即可 Step 5-1. 開啟 Part3 腳本,將原本填入股票部位的指令前,加上井號(#,表示註解掉該行指令,如下圖) Step 5-2. 在 Part3 腳本 中,修改下列程式中的 DEAL_INFO 內容,回報當日成交資訊 (參考上方註解說明,填入格式為 ‘股號’:(買賣張數,成交價位) )
-
5. AI股票交易引擎(colab版 - 使用說明)
程式碼下載: Colab版下載: 💁♂AI股票交易引擎(colab版) [ 閱讀說明 ] 第一次執行 Colab 版本,請參考 [1] 與 [2] 的說明,如果主程式要更換版本, 請參考 [3] 的說明。 [ 1. 將檔案搬移到 Google 雲端硬碟 ] 要在 Colab 環境下執行課程的系統,需要先將您目前執行目錄下的所有檔案,複製到 Google 雲端硬碟之中。再將本目錄下的三個 *.ipynb 檔,替換掉課程原本的三個 *.ipynb 檔,就可以完成準備動作。 (註:如果您是初次使用,請先下載課程主程式壓縮檔(colab版本的也要下載),解壓縮後, 再依照下列流程執行即可。) [ 1.1 新增對應目錄 ] 開啟您的 Google 雲端硬碟後,請先點選左側的『 我的雲端硬碟(My Drive) 』,再於右邊的目錄下,新增一個目錄『 CStock 』。 (註 : 開啟新目錄的方式,是點選目錄名稱右方的小三角,由選單中新增目錄) [ 1.2 複製檔案到對應目錄 ] 點開您剛剛新增的 CStock 目錄,將您本地端的檔案使用拖曳的方式,上傳到對應的目錄下。 [ 1.3 覆蓋或修改腳本 (三個 *.ipynb 檔案) ] 請至『 程式碼下載與更新紀錄 』文章中找到Colab 版本並下載,解壓縮後,將三個*_colab.ipynb 檔案上傳到雲端硬碟中的 CStock 資料夾,覆蓋原本的 *.ipynb。 註:如果您不希望變更腳本內容,也可以使用下列方式,修改現有腳本: 複製Colab腳本的前三個區塊 (連接 Colab 環境與雲端硬碟 / 載入所需檔案 / 安裝所需套件與中文字形) 到原有腳本之前。 複製Colab腳本的最後一個區塊(更新並儲存檔案) 到原有腳本之後 [ 2. 在 Colab 環境下執行腳本 ] 因為在 Colab 上執行程式,資料都需要重新載入環境,因此每次執行腳本都需要將資料上傳,並 於執行後下載回自己的雲端空間,所以會需要多幾個步驟。 [ 2.1 連接環境與雲端硬碟 ] 請先於 Google 雲端硬碟中的 *.ipynb 檔案上,點選"右鍵 / 開啟檔案 / Google Colaboratory"開啟 Step 1. 開啟檔案後,先執行程式的第一區塊 (點選區塊左上的播放三角形) Step 2. 接下來需要點擊您腳本當中的授權連結,以取得雲端資料下載的認證授權 Step 3. 依照指示執行,最後複製授權碼後,貼回上面腳本"Enter your authorization code”下方的空格中,並按下Enter。 [ 2.2 執行後續腳本 ] 依序執行後續的腳本 (按下其餘方塊左上的執行, 或者於Colab 功能列中點選 "執行階段 / 全部執行") [ 3. 主程式更換版本 ] 因為 Colab 載入同名稱的類別檔時,會自動忽略第二次以後的版本,因此在Colab執行時,要更新主程式類別檔的時候,需要採取下列三種方式之一,才會真正執行更新後的類別檔。 [ 3.1 將類別檔另取檔名 ] 主程式的類別檔名為 cstock.py 對應到程式腳本中的 import cstock as cs因此需要將主程式類別檔另存成 cstock2.py,並且將載入語法改為 import cstock2 as cs 即可。 [ 3.2 將腳本檔另取檔名執行 ] 因為腳本執行環境也會在 Colab 上保留暫存檔,因此單純關閉腳本(*.ipynb)檔再立刻重新打開是沒用的,需要複製並儲存要執行的 *.ipynb 檔, 再執行新檔即可。 [ 3.3 腳本檔關閉12小時後再執行 ] 原理同 3.2,如果不想修改檔名,就要關閉檔案後,等待檔案資源重置,因此單純關閉腳本 (*.ipynb) 檔再立刻重新打開是沒用的。需要關閉後等待一段時間 (12小時以內) 再重開,可以經由 Colab 的檔案目錄 (參見下圖) 確認環境是否更新。 Step 1.點開目錄 Step2.確定目錄是初始狀態 安裝影片教學(建議點選右下角開啟字幕觀看) Colab安裝教學1 Colab安裝教學2 Colab安裝教學3
-
6. AI股票交易引擎(docker版 - 使用說明)
程式碼下載: 主程式下載: 💁♂AI股票交易引擎原始碼下載 (需按右鍵新開分頁) [Mac 下載 docker操作方式 ] Step1: 進入此 https://docs.docker.com/docker-for-mac/install/ 網址 Step2: 點選 進入 docker hub 網站 Step3: 點選Get Stable下載 docker images Step4: 點選下載後的docker image檔 放至Application中 Step5: 點選docker 在左上角出現docker圖示 表示已安裝 [Windows 下載 docker操作方式 ] Step1: 進入此 https://hub.docker.com/editions/community/docker-ce-desktop-windows 網址,點選 Get Stable Step2: 點選是 安裝 Step3: 安裝完成後 需註冊一個docker 帳號 Step4: 至命令提示字元(cmd)輸入 docker run -d -p 80:80 docker/getting-started 即可啟動docker [安裝 docker 股票程式 映像檔 ] Step1: 進入 https://hub.docker.com/r/johnliu123/stock 網址 Step2: 複製圖片中紅色框框中的指令,並且打開終端機(命令提示字元) 貼上後執行,從 docker hub 中下載映像檔。 Step3: 執行以下指令,即可開啟jupyter環境 docker run -it --rm -p 8888:8888 -v /Users/johnliu/Desktop/stock:/home/jovyan johnliu123/stock 重要提醒: /Users/johnliu/Desktop/stock 上面這個路徑是你的 stock 資料夾路徑,請自行修改,但一定要用絕對路徑。 /home/jovyan 為docker jupyter內部之預設路徑執行docker時一定要用此路徑(/home/jovyan)才能夠掛載到stock資料夾的檔案。 Step4: 輸入docker 執行所產生的url,即可登入使用
-
-
第1章 股市基礎概念
股市基礎概念:說明交易策略與頻率控管的重要性,認識連續版凱利公式! 教你學會一個完整的 AI 股票交易引擎,應該包含哪些環節。
-
第2章 機器學習預測
探索機器學習本質,了解自動調參與模型訓練要點! 讓你了解機器學習的重要觀念,訓練模型時不會出錯!
-
第3章 時間序列算法比較
比較基準點與算法實測,介紹機器學習代表Xgboost!
-
第4章 機器學習盤前交易系統
交易系統主程式的操作與參數講解! 教你學會本課程的交易程式該如何操作,系統的參數該如何設定。 🔸 主程式已於股市論壇中發布 🔸
-
第5章 交易系統客製化建議
提供系統調整建議,學習 AI 歸因分析與訓練守則! 教你如何依照你選擇的市場與指標,客製化專屬的交易程式。 🔸 歡迎前往股市論壇討論或留下寶貴意見唷 🔸 https://pse.is/TNWXE