跳至主要內容
台股研究 約 3 分鐘閱讀

Qlib 介紹:微軟開源的巨人級 AI 量化投資平台

介紹微軟開源的 Python AI 量化投資框架 Qlib,涵蓋 Alpha158 / Alpha360 特徵資料集、TRA 等 self-attention 與 LSTM 模型範例、Workflow 流程與 Recoder 訓練管理器,一條龍處理 AI 量化研究、回測與下單決策。

微軟開源的 Qlib,一條龍處理 AI 量化投資的工作。

常有人詢問 FinLab 如何取得 AI 量化交易學習資源以持續精進? 除了 Google Scholar 看論文,Github 更是寶庫,下對關鍵字(ex:algorithmic-trading, quantitative-trading),找對開源者能站在巨人的肩膀上,節省開發的時間並發現新世界。 今天來介紹科技巨頭「微軟」佛心開源的 Python AI 導向的量化投資框架~Qlib (Github),從資料流(美、中股市)、建模流程、策略風控數據分析應有盡有,一條龍處理量化投資的工作。

Qlib 微軟開源 AI 量化投資平台架構介面截圖

Qlib 是什麼?

Qlib 是微軟開源的 AI 量化投資研究平台。它用 Python 把資料處理、特徵生成、模型訓練、回測與下單決策串成一條龍流程,內建十幾個機器學習與深度學習的選股模型範例,預設資料源涵蓋美股與中國股市。對想用 AI 做量化研究、又不想從零打造工程框架的人來說,Qlib 提供了一套現成的研究骨架;缺點是它預設綁定中國與美股資料,台股使用者需要自行接資料才能上手(後面 FAQ 會說明)。

Qlib 特色

AI 演算法模型

Qlib 最有價值的地方在降低了使用 AI 演算法的門檻,目前套件有十幾個 AI 演算法在股票交易下的應用範例,許多都是新穎的演算法,內容深度高。模型程式都已模組化,只要調整資料格式和參數。 不少 Self-attention 的架構,乾貨滿滿,像是 TRA (Temporal Routing Adaptor) 將 LSTM 做延伸,讓模型去學習多策略風格,捕捉近期市場主流門派。如果想先理解 LSTM 在股價序列上的基本用法,可以參考我們用 LSTM 解析 K 線預測台股的實作。

Github 上除了提供程式碼,也附上相關 paper 在 qlib/examples/benchmarks 中,資源整理的很充分,供開發者參考,除了輕鬆 Fork 外,也可以精進演算法內涵。

特徵資料集

AI 訓練的第一步是準備特徵資料集,要生成好的特徵並沒想像容易。可能跟開發者多為中國人有關,Qlib 基於中國股市(滬深300)建構 Alpha360 and Alpha158 兩種資料集範例,可參考官方程式來生成特徵集。台股要走類似路線,可以看我們在 AI 量化研究裡如何用提示詞把選股想法轉成可回測的因子訊號。

Workflow 架構

workflow layer 處理模型的訓練與回測過程,尋找獲利因子 Alpha 和風險因子,之後進入資產配置、選股、下單的決策階段。 另一個好用的是的 Recoder 流程管理器,用來管理與儲存紀錄模型的訓練過程、結果。AI 模型有時訓練時間長,不能及時的看到結果,有時還有其他原因中斷訓練,那此時可使用 Recoder 恢復並繼續之前的訓練,不需要從頭開始。

結論

Qlib Framework 架構值得作為 FinLab 下一代的開發參考,尤其是 ML WorkFlow 的部分是目前 FinLab 平台比較欠缺的,或是將台股資料應用到 Qlib 模型也值得來整合。

一個好的 repo,除了 Star 和 Fork 數,commit history 也是指標,更新頻率看起來有積極維護,持續補充新的模型和技術進來,值得追蹤~

常見問題(FAQ)

Qlib 是什麼?

Qlib 是微軟開源的 AI 量化投資研究平台,用 Python 把資料、特徵、建模、回測到下單決策整合成一條龍流程。它內建十幾個機器學習與深度學習的選股模型範例,並附上對應論文,定位是給研究者用的 AI 量化骨架,而不是給散戶一鍵下單的工具。

Qlib 怎麼安裝與上手?

Qlib 以 Python 套件形式發佈,可從 GitHub 取得程式碼與範例。建議先跑官方 examples 裡的 benchmark,搭配 Alpha158 或 Alpha360 特徵資料集理解整個 Workflow,再用 Recoder 流程管理器管理較長的訓練過程。先把官方範例跑通,再替換成自己的資料與模型,會比一開始就客製化來得順。

Qlib 適合用在台股嗎?

Qlib 的特徵資料集是基於中國股市(滬深300)建構的,預設資料源也以中股、美股為主,並沒有現成的台股資料。要用在台股,需要自行把台股資料整理成 Qlib 的格式再餵進模型,這部分工程量不小。如果目標只是做台股的 AI 選股與回測,直接用支援台股資料的框架通常更省事。

Qlib 和 FinLab 有什麼差別?

Qlib 偏向 ML Workflow 的研究框架,強項在模型訓練流程與訓練管理,預設資料是中股與美股;FinLab 則以台股資料與回測為核心,能直接用 pip install finlab 取得台股資料並做策略回測。兩者並不互斥,Qlib 的 Workflow 設計值得作為開發參考,而要快速驗證台股策略時,FinLab 的資料與回測會更貼近本地需求。

風險提示

本文介紹的 Qlib 與相關模型皆為研究與教學用途。回測表現代表的是歷史資料下的結果,不保證未來績效;AI 模型也可能因市場結構改變而失效。實際投入前請自行驗證並評估風險,本文僅為資訊分享,不構成投資建議。


延伸閱讀

FinLab AI

想建立自己的策略?

用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案

免費開始

更多AI 與程式研究

查看全部