Qlibはマイクロソフト製のAI指向クオンツ投資プラットフォームです。データ取得・特徴量生成・モデル学習・ポートフォリオ戦略・バックテスト・オンライン運用までを一貫したワークフローとして扱えます。教師あり学習だけでなく市場ダイナミクスのモデリングや強化学習にも対応し、RD-Agentと連携した自動R&Dも視野に入れています。
中核はqlib.data配下のデータレイヤーで、株価などの生データをキャッシュ付きバイナリ形式に変換し、Alpha158やAlpha360のような特徴量ハンドラで学習用データセット(DatasetH)に変換します。qlib.model.base.Modelを継承したモデル(LightGBM、LSTM、TRAなど)がこのデータセットを受け取り学習・予測を行い、examples/benchmarks配下のYAML設定(workflow_config_*.yaml)でデータ・モデル・戦略・バックテスト条件を宣言的に指定します。予測結果はStrategy(ポートフォリオ構築ロジック)に渡され、バックテストエンジンが取引を模擬し、Qlib Recorderが実験結果(IC、リターン、リスク指標など)を記録・可視化します。TRAModelのソースからも分かるように、モデル本体は素のPyTorchで書かれ、Qlibの抽象クラスにフィットさせる形で組み込まれています。
- STEP 01
pip install pyqlibでインストールした後、docs/start/getdata.rstの手順に沿ってscripts/get_data.pyでCSI300などのサンプルデータをダウンロードします。
- STEP 02
qlib.init()でデータディレクトリを指定して初期化すると、ローカルのバイナリキャッシュが読み込まれ、qlib.data.D.features()などでデータ取得できる状態になります。
- STEP 03
examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yamlのようなYAMLをqrunコマンドに渡すと、データ準備・学習・予測・バックテストが一括で実行されます。
- STEP 04
実行後はMLflowベースのQlib Recorderに学習済みモデル・予測結果・バックテスト成績が記録され、docs/component/report.rstにあるようなIC分析図やリスク分析図をコードで再生成できます。
- STEP 05
GPU環境がない場合、LSTMやTRAなど深層学習系ベンチマークはCPU実行になり、学習時間がかなり長くなる点を体感します。
- STEP 06
examples/benchmarks配下の各モデルにrequirements.txtが個別にあり、torchやtianshouなどバージョン依存が細かく分かれているため、環境構築でつまずく可能性があります。
手に入るのは、株式市場データを起点にした一連のクオンツ研究基盤です。特徴量生成からモデル学習、ポートフォリオ戦略、バックテストまでの再現可能な実験パイプラインと、IC・年率リターン・最大ドローダウンなどの評価指標付きレポートが得られます。20種類以上のベンチマークモデル設定がすぐに動かせる形で用意されているため、自作モデルを組み込む際の比較基準としても使えます。
Dockerfileやドキュメントを見るとPython3.8やnumpy1.23.5など特定バージョン依存が強く、最新環境ではインストールに手間がかかる可能性があります。
サンプル以外の実データ(実際の証券会社データなど)は含まれておらず、scripts/get_data.pyで取得する学術用サンプルデータセットに依存します。
深層学習系ベンチマーク(LSTM、TRA、GATsなど)はモデルごとにrequirements.txtが異なり、torchやtianshouのバージョン管理が煩雑です。
Online機能を完全に使うには別リポジトリのqlib-serverが必要で、本体だけではオフラインモードの範囲にとどまります。
クオンツ投資の研究パイプラインを自前でゼロから組みたくない、モデル比較やバックテストの標準的な枠組みが欲しい研究者・エンジニアに向いています。README・YAML設定・ソースコードの整合性が高く、ベンチマークモデルとその設定ファイルが1対1で揃っている点から、実際に動かさなくても構成の妥当性はある程度判断できます。ただしバージョン依存や実データ入手の手間は事前に把握しておく必要があります。