AI个人学习
和实操指南
讯飞绘镜

Qlib:微软开发的AI量化投资研究工具

综合介绍

Qlib 是微软开发的一个开源平台,专注于用 AI 技术帮助用户研究量化投资。它从最基本的数据处理开始,支持用户探索投资想法并将其变成可用的策略。平台简单易用,适合想用机器学习提升投资研究的用户。Qlib 提供数据管理、模型训练和回测功能,覆盖了量化投资的整个流程。它由微软研究团队推出,结合了最新的AI技术,能处理复杂的金融数据。当前日期是 2025 年 3 月 25 日,Qlib 在 GitHub 上持续更新,社区活跃,吸引了许多开发者参与。

Qlib:微软开发的AI量化投资研究工具-1


 

Qlib:微软开发的AI量化投资研究工具-1

 

功能列表

  • 数据处理:支持高效存储和处理金融数据,方便用户快速获取和分析。
  • 模型训练:提供多种机器学习模型,如监督学习和强化学习,帮助预测市场趋势。
  • 回测工具:内置回测功能,模拟投资策略的表现,评估效果。
  • 投资策略生成:通过信号生成目标投资组合,优化交易决策。
  • 可定制模块:用户可以调整模型和策略,满足个性化需求。
  • 在线与离线模式:支持本地部署或共享数据服务,灵活选择使用方式。

 

使用帮助

安装流程

Qlib 需要安装在支持 Python 的环境中。以下是详细步骤:

  1. 准备环境
    • 确保电脑已安装 Python(推荐 3.7 或 3.8)。可以用 <code>python --version</code> 检查版本。
    • 建议使用 Anaconda 管理环境。下载并安装 Anaconda 后,创建一个新环境:
      conda create -n qlib_env python=3.8
      
    • 激活环境:
      conda activate qlib_env
      
  2. 安装依赖
    • 先安装基础库:
      pip install numpy
      pip install --upgrade cython
      
    • 再从 GitHub 安装 Qlib:
      git clone https://github.com/microsoft/qlib.git
      cd qlib
      pip install .
      
    • 如果需要开发功能,可以用 <code>pip install -e .[dev]</code>
  3. 获取数据
    • 下载示例数据(以中国市场为例):
      python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
      
    • 数据会保存在用户目录下,供后续使用。

如何使用主要功能

数据处理

Qlib 的数据处理很快,能把金融数据整理成适合分析的格式。运行上面的数据下载命令后,数据会自动存储在 <code>~/.qlib/qlib_data/cn_data</code>。你可以用 Python 脚本加载数据:

import qlib
qlib.init(provider_uri="~/.qlib/qlib_data/cn_data")
from qlib.data import D
instruments = D.instruments(market="csi300")
data = D.features(instruments, ["$close", "$volume"], start_time="2023-01-01", end_time="2025-03-25")
print(data.head())

这段代码会显示指定股票的收盘价和成交量。

模型训练

Qlib 支持多种模型,比如 LightGBM。以下是训练一个简单模型的步骤:

  1. 配置数据集和模型参数,保存为 <code>workflow_config.yaml</code>
    dataset:
    class: DatasetH
    module_path: qlib.data.dataset
    kwargs:
    handler:
    class: Alpha158
    module_path: qlib.contrib.data.handler
    segments:
    train: ["2023-01-01", "2024-01-01"]
    valid: ["2024-01-02", "2024-06-30"]
    test: ["2024-07-01", "2025-03-25"]
    model:
    class: LGBModel
    module_path: qlib.contrib.model.gbdt
    
  2. 运行训练命令:
    qrun workflow_config.yaml
    
  3. 训练完成后,模型会保存在默认路径 <code>~/.qlib/qlib_data/models</code>

回测工具

回测能测试策略效果。用以下代码运行回测:

from qlib.contrib.strategy import TopkDropoutStrategy
from qlib.backtest import backtest
strategy = TopkDropoutStrategy(topk=10, drop=2)
report = backtest(strategy=strategy, start_time="2024-01-01", end_time="2025-03-25")
print(report)
  • <code>topk=10</code> 表示选前 10 只股票。
  • <code>drop=2</code> 表示每天丢弃 2 只表现最差的股票。
    结果会显示收益和风险指标。

特色功能操作

在线模式

Qlib 支持在线模式,通过 Qlib-Server 共享数据:

  1. 安装 Qlib-Server:
    git clone https://github.com/microsoft/qlib-server.git
    cd qlib-server
    docker-compose -f docker_support/docker-compose.yaml up -d
    
  2. 配置客户端连接服务器:
    qlib.init(provider_uri="http://<server_ip>:port")
    
  3. 数据会从服务器获取,提升效率。

自定义策略

想试自己的策略?可以继承 <code>WeightStrategyBase</code> 类:

from qlib.contrib.strategy import WeightStrategyBase
class MyStrategy(WeightStrategyBase):
def generate_trade_decision(self, data):
return {stock: 0.1 for stock in data.index[:5]}  # 前5只股票平分权重

然后用回测工具测试效果。

 

应用场景

  1. 个人投资研究
    用户可以用 Qlib 分析历史数据,测试自己的投资想法,找到收益更高的策略。
  2. 金融研究团队
    团队可以利用 Qlib 的模型和回测功能,快速验证学术理论在市场中的效果。
  3. 教育学习
    学生可以用 Qlib 学习量化投资,动手实践数据处理和模型训练。

 

QA

  1. Qlib 支持哪些操作系统?
    支持 Windows、MacOS 和 Linux。只要安装了 Python 和依赖库,就能运行。
  2. 数据从哪里来?
    默认数据从 Yahoo Finance 获取,用户也可以用自己的数据替换。
  3. 需要编程基础吗?
    需要基本的 Python 知识,但官方文档和示例很详细,新手也能上手。
未经允许不得转载:首席AI分享圈 » Qlib:微软开发的AI量化投资研究工具
zh_CN简体中文