部署微软开源人工智能Qlib量化投资平台

微软开源的人工智能量化投资平台 Qlib 部署及初步使用笔记

一、环境配置

(一)克隆仓库

  1. 打开 GitHub Desktop

  2. 在菜单栏中选择 Repository -> Clone Repository

  3. 输入仓库的 URL:https://github.com/microsoft/qlib.git

  4. 选择本地存储路径,然后点击 Clone

  5. 克隆完成后,点击 Show in Explorer 打开项目文件夹。

https://github.com/microsoft/qlib.git

 

 

 

 

 

(二)在 PyCharm 中打开项目

  1. 在项目文件夹内,空白处按住 Shift 键并点击鼠标右键。

  2. 在弹出的菜单中选择 “Open Folder as PyCharm Community Edition Project”

 

 

 

 

 

(三)创建虚拟环境

  1. PyCharm 会自动检测并开始引导进行项目虚拟环境的创建过程。

  2. 在弹出的确认对话框中:

    • 确认虚拟环境的存储位置(默认为项目根目录下的 .venv 文件夹)。

    • 选择基础解释器的 Python 版本。

    • 由于项目根目录下没有 requirements.txt 文件,PyCharm 会自动依据项目的 setup.py 文件安装依赖,包括 pyqlibnumpy 等包。

  3. 点击 确定 开始创建虚拟环境并安装依赖。

二、依赖安装及升级

(一)验证安装的依赖包

  1. PyCharm 左侧工具栏中,点击 “终端” 按钮打开内置终端。

  2. 输入以下命令来验证 pyqlibnumpy 是否正确安装:

    pip show pyqlib
    pip show numpy

 

 

 

 

 

(二)升级 pip 及构建工具

  1. 输入以下命令来升级虚拟环境中的 pip 和构建工具:

    python -m pip install --upgrade pip setuptools wheel

 

 

 

 

 

 

(三)安装或升级 Cython

  1. 输入以下命令来安装或升级 Cython

    pip install --upgrade cython

 

 验证安装:

pip show cython

 

 

 

 

 

 

三、安装额外的依赖库

(一)安装 PyTorch 及其相关库

  1. 输入以下命令来安装最新版的 PyTorch 及其相关库:

    pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

    尽量从PyTorch官方获取安装命令,确保一次成功。

  2. 安装完成后,可以通过以下命令验证 PyTorch 是否正确安装:

    python -c "import torch; print(torch.__version__)"

或者使用完整的验证命令(进入python环境进行验证):

import torch  # 导入 PyTorch 库
 
print("PyTorch 版本:", torch.__version__)  # 打印 PyTorch 的版本号
 
# 检查 CUDA 是否可用,并设置设备("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("设备:", device)  # 打印当前使用的设备
print("CUDA 可用:", torch.cuda.is_available())  # 打印 CUDA 是否可用
print("cuDNN 已启用:", torch.backends.cudnn.enabled)  # 打印 cuDNN 是否已启用
 
# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())
 
# 创建两个随机张量(默认在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)
 
# 将张量移动到指定设备(CPU 或 GPU)
x = x.to(device)
y = y.to(device)
 
# 对张量进行逐元素相加
z = x + y
 
# 打印结果
print("张量 z 的值:")
print(z)  # 输出张量 z 的内容

验证PyTorch深度学习环境Torch和CUDA还有cuDNN是否正确配置的命令-CSDN博客

 

 

 

 

(二)安装 CatBoost 和 XGBoost

  1. 输入以下命令来安装 CatBoost 和 XGBoost:

    pip install catboost xgboost
  2. 安装完成后,可以通过以下命令验证 CatBoost 和 XGBoost 是否正确安装:

    pip show catboost
    pip show xgboost

 

 

 

 

 

 

 

四、数据准备

(一)准备数据

  • PyCharm 的终端中,输入以下命令来下载和准备数据:

    python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn

 

 

 

 

(二)检查数据健康状况

  • 数据准备完成后,输入以下命令来检查数据的健康状况:

    python scripts/check_data_health.py check_data --qlib_dir ~/.qlib/qlib_data/cn_data

 

 

 

 

 

 

 

五、安装 Qlib

安装 Qlib

  1. PyCharm 的终端中(确保激活了项目的虚拟环境),输入以下命令开始安装 Qlib:

    python setup.py install
  2. 从下边图片的输出可以看到,安装过程中出现了一些 SetupToolsDeprecationWarning,提示 License classifiers 已被弃用,并建议使用 SPDX 许可证表达式。这些警告不会影响安装过程,可以忽略。

验证安装

  1. 安装完成后,终端会显示安装成功的消息。

  2. 从下边最后的图片输出可以看到,安装过程完成了字节编译和相关文件的安装,表明 Qlib 已成功安装到虚拟环境中。

 

 

六、初始化 Qlib

初始化

  1. PyCharm 的终端中,启动 Python 交互环境:

    python
  2. 在 Python 交互环境中,输入以下代码来初始化 Qlib:

    import qlib
    from qlib.constant import REG_CN
    
    qlib.init(provider_uri='~/.qlib/qlib_data/cn_data', region=REG_CN)

 

 

 

 

 

七、运行示例

(一)进入示例目录

  1. PyCharm 的终端中,退出上一步中的 Python 交互环境:

    exit()
  2. 切换到 examples 目录:

    cd examples

 

 

(二)运行工作流配置

  • 运行 Qlib 的 qrun 命令来执行 LightGBM 的工作流配置:

    qrun benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml

 

 

 

 

 

 

八、结果分析

(一)回测输出及结果分析

backtest loop: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████| 871/871 [00:04<00:00, 179.74it/s] 
[61348:MainThread](2025-05-22 11:37:32,922) INFO - qlib.workflow - [record_temp.py:515] - Portfolio analysis record 'port_analysis_1day.pkl' has been saved as the artifact of the Experiment 962284265396741762
'The following are analysis results of benchmark return(1day).'
                       risk
mean               0.000477
std                0.012295
annualized_return  0.113561
information_ratio  0.598699
max_drawdown      -0.370479
'The following are analysis results of the excess return without cost(1day).'
                       risk
mean               0.000530
std                0.005718
annualized_return  0.126029
information_ratio  1.428574
max_drawdown      -0.072310
'The following are analysis results of the excess return with cost(1day).'
                       risk
mean               0.000339
std                0.005717
annualized_return  0.080654
information_ratio  0.914486
max_drawdown      -0.086083
[61348:MainThread](2025-05-22 11:37:32,928) INFO - qlib.workflow - [record_temp.py:540] - Indicator analysis record 'indicator_analysis_1day.pkl' has been saved as the artifact of the Experiment 962284265396741762
'The following are analysis results of indicators(1day).'
     value
ffr    1.0
pa     0.0
pos    0.0
[61348:MainThread](2025-05-22 11:37:33,625) INFO - qlib.timer - [log.py:127] - Time cost: 0.000s | waiting `async_log` Done
Exception ignored in: <function ResourceTracker.__del__ at 0x00000267C69C4040>
Traceback (most recent call last):
  File "F:\PythonProjects\qlib\.venv\Lib\site-packages\joblib\externals\loky\backend\resource_tracker.py", line 181, in __del__
AttributeError: 'super' object has no attribute '__del__'

回测输出显示了模型预测结果,包括时间序列、标的和得分。生成的指标如 IC 和 ICIR 用于评估模型的有效性和稳定性。回测过程还输出了模型训练的日志,如均方误差等。这些信息表明回测过程正常进行,模型在训练集和验证集上表现良好。

最后的报错是由于 joblib 库中的资源跟踪器在程序结束时尝试清理资源,但遇到了某些不兼容的操作导致的。这个错误通常不会影响回测结果的有效性,可以忽略。

 

 

 

 

 

 

(二)输出的分析结果

  1. 基准回报(benchmark return)

    • 年化回报(annualized_return):11.36%

    • 信息比率(information_ratio):0.60

    • 最大回撤(max_drawdown):-37.05%

  2. 无成本超额回报(excess return without cost)

    • 年化回报:12.60%

    • 信息比率:1.43

    • 最大回撤:-7.23%

  3. 含成本超额回报(excess return with cost)

    • 年化回报:8.07%

    • 信息比率:0.91

    • 最大回撤:-8.61%

  4. 指标分析(indicators)

    • FFR(ffr):1.0

    • PA(pa):0.0

    • POS(pos):0.0

 

 

 

 

 

 

九、总结

通过上述步骤,我们已经成功地在本地部署了 Qlib 项目,并配置好了开发环境。

我们可以使用 Qlib 提供的 API 和工具进行量化研究或模型训练。

如果在后续开发过程中遇到任何问题,可以随时向我提问,我会尽力帮助您解决。

希望这份笔记对您有所帮助!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

love530love

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值