快捷搜索:  汽车  科技

主要的量化平台:微软开源的AI量化交易平台Qlib

主要的量化平台:微软开源的AI量化交易平台QlibInfrastructure层为 Quant 研究提供底层支持。DataServer为用户管理和检索原始数据提供了一个高性能的基础设施。Trainer提供灵活的接口来控制模型的训练过程,使算法能够控制训练过程。Infrastructure层在模块级别,Qlib 是一个由上述组件组成的平台。组件设计为松耦合模块,每个组件都可以独立使用。名称描述

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是微软开源的 AI 量化交易平台Qlib,它包含了数据处理、模型训练、回测等模块,涵盖了 Alpha 挖掘、风险建模、组合优化等功能。

主要的量化平台:微软开源的AI量化交易平台Qlib(1)

项目介绍

Qlib是一个面向AI的量化投资平台,旨在挖掘潜力,赋能研究,创造AI技术在量化投资中的价值。

它包含数据处理、模型训练、回测的完整 ML 管道;并涵盖了量化投资的整个链条:阿尔法寻求、风险建模、投资组合优化和订单执行。

使用 Qlib,用户可以轻松尝试创建更好的量化投资策略的想法。

Qlib 框架

主要的量化平台:微软开源的AI量化交易平台Qlib(2)

在模块级别,Qlib 是一个由上述组件组成的平台。组件设计为松耦合模块,每个组件都可以独立使用。

名称

描述

Infrastructure层

Infrastructure层为 Quant 研究提供底层支持。DataServer为用户管理和检索原始数据提供了一个高性能的基础设施。Trainer提供灵活的接口来控制模型的训练过程,使算法能够控制训练过程。

Workflow层

Workflow层覆盖了量化投资的整个工作流程。Information Extractor为模型提取数据。Forecast Model专注于为其他模块生成各种预测信号(例如alpha、风险)。有了这些信号Decision Generator,就会产生要执行的目标交易决策(即投资组合、订单)Execution Env(即交易市场)。可能有多个级别Trading Agent和Execution Env(例如,订单执行器交易代理和日内订单执行环境可能表现得像日间交易环境并嵌套在 日常投资组合管理交易代理和日间交易环境中

Interface层

Interfacelayer 试图为底层系统提供一个用户友好的界面。Analyser模块将为用户提供预测信号、投资组合和执行结果的详细分析报告

快速开始
  • 使用Qlib构建完整的 Quant 研究工作流程并尝试您的想法非常容易。
  • 尽管使用公共数据简单的模型,但机器学习技术在实际的量化投资中效果很好。

安装

注意:

  • 建议使用conda来管理您的 Python 环境。
  • 请注意,在 Python 3.6 中安装 cython 在Qlib从源代码安装时会引发一些错误。如果用户在自己的机器上使用 python 3.6,建议将 Python升级到 3.7 版本或使用conda's Python从源代码安装。
  • Qlib需要tables包,hdf5表中不支持python3.9。

用户可以根据以下命令通过 pip轻松安装。

pip install pyqlib

此外,用户还可以按照以下步骤通过源代码安装最新的开发版本:

在从源安装之前,用户需要安装一些依赖项:

pip install numpy pip install --upgrade cython

克隆存储库并按如下方式安装

git clone https://github.com/microsoft/qlib.git && cd qli pip install

注意:您也可以安装 Qlib python setup.py install。但这不是推荐的方法。它会跳过pip并导致晦涩难懂的问题。例如,只有命令pip install . 可以覆盖由 安装的稳定版本pip install pyqlib,而命令python setup.py install 不能。

数据准备

通过运行以下代码加载和准备数据:

# get 1d data python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn # get 1min data python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data_1min --region cn --interval 1min自动量化研究工作流程

Qlib 提供了一个名为qrun自动运行整个工作流程的工具(包括构建数据集、训练模型、回测和评估)。

量化研究工作流程: qrun使用 lightgbm 工作流程配置运行

cd examples # Avoid running program under the directory contains `qlib` qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml

如果用户想qrun在调试模式下使用,请使用以下命令:

python -m pdb qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml

结果如下

'The following are analysis results of the excess return without cost.' risk mean 0.000708 std 0.005626 annualized_return 0.178316 information_ratio 1.996555 max_drawdown -0.081806 'The following are analysis results of the excess return with cost.' risk mean 0.000512 std 0.005626 annualized_return 0.128982 information_ratio 1.444287 max_drawdown -0.091078图形报告分析

预测信号(模型预测)分析:

主要的量化平台:微软开源的AI量化交易平台Qlib(3)

团体累计回报

主要的量化平台:微软开源的AI量化交易平台Qlib(4)

退货分配

主要的量化平台:微软开源的AI量化交易平台Qlib(5)

信息系数 (IC)

投资组合分析:

主要的量化平台:微软开源的AI量化交易平台Qlib(6)

Qlib 数据服务器的性能

数据处理的性能对于人工智能技术等数据驱动的方法很重要。Qlib 作为一个面向 AI 的平台,提供了数据存储和数据处理的解决方案。为了展示 Qlib 数据服务器的性能,我们将它与其他几种数据存储解决方案进行了比较。

主要的量化平台:微软开源的AI量化交易平台Qlib(7)

  • (-)E用(出)表示ExpressionCache
  • (-)D用(出)表示DatasetCache

更多内容:https://github.com/microsoft/qlib

猜您喜欢: