更新日志

在这里您可以查看每个QLib版本之间的完整变更列表。

版本 0.1.0

这是QLib库的初始版本。

版本 0.1.1

性能优化。添加更多功能和运算符。

版本 0.1.2

  • 支持运算符语法。现在``High() - Low()``等价于``Sub(High(), Low())``。

  • 添加更多技术指标。

版本 0.1.3

修复bug并添加工具过滤机制。

版本 0.2.0

  • 重新设计``LocalProvider``数据库格式以提高性能。

  • 支持将特征作为字符串字段加载。

  • 添加数据库构建脚本。

  • 更多运算符和技术指标。

版本 0.2.1

  • 支持注册用户定义的``Provider``。

  • 支持以字符串格式使用运算符,例如``['Ref($close, 1)']``是有效字段格式。

  • 支持``$some_field``格式的动态字段。现有字段如``Close()``在未来可能会被弃用。

版本 0.2.2

  • 添加 disk_cache 以重用特征(默认启用)。

  • 添加 qlib.contrib 以进行实验模型构建和评估。

版本 0.2.3

  • 添加 backtest 模块

  • 将策略、账户、头寸、交易所与回测模块解耦

版本 0.2.4

  • 添加 profit attribution 模块

  • 添加 rick_controlcost_control 策略

版本 0.3.0

  • 添加 estimator 模块

版本 0.3.1

  • 添加 filter 模块

版本 0.3.2

  • 添加真实价格交易,如果数据集中的 factor 字段不完整,使用 adj_price 交易

  • 重构 handler launcher trainer 代码

  • 支持配置文件中的 backtest 配置参数

  • 修复头寸 amount 为 0 的错误

  • 修复 filter 模块的错误

版本 0.3.3

  • 修复 filter 模块的错误

版本 0.3.4

  • 支持 finetune model

  • 重构 fetcher 代码

版本 0.3.5

  • 支持多标签训练,您可以在 handler 中提供多个标签。(但由于算法本身,LightGBM 不支持)

  • 重构 handler 代码,dataset.py 不再使用,您可以在 feature_label_config 中部署自己的标签和特征

  • Handler 仅提供 DataFrame。此外,trainer 和 model.py 仅接收 DataFrame

  • 更改 split_rolling_data,我们现在在市场日历上滚动数据,而不是在正常日期上

  • 将一些日期配置从 handler 移动到 trainer

版本 0.4.0

  • 添加 data 包,包含所有与数据相关的代码

  • 重组数据提供者结构

  • 创建一个用于数据集中管理的服务器 qlib-server

  • 添加一个 ClientProvider 以与服务器协作

  • 添加可插拔缓存机制

  • 添加递归回溯算法以检查表达式的最远参考日期

备注

D.instruments 函数不支持 start_timeend_timeas_list 参数,如果您想获取 D.instruments 之前版本的结果,可以这样做:

>>> from qlib.data import D
>>> instruments = D.instruments(market='csi500')
>>> D.list_instruments(instruments=instruments, start_time='2015-01-01', end_time='2016-02-15', as_list=True)

版本 0.4.1

  • 添加对 Windows 的支持

  • 修复 instruments 类型错误

  • 修复 features 为空的错误(这会导致更新失败)

  • 修复 cache 锁定和更新错误

  • 修复对同一字段使用相同缓存的问题(原始空间将添加新的缓存)

  • 从配置中更改 "logger handler"

  • 更改模型加载支持 0.4.0 及之后版本

  • risk_analysis 函数的 method 参数的默认值从 ci 更改为 si

版本 0.4.2

  • 重构 DataHandler

  • 添加 Alpha360 DataHandler

版本 0.4.3

  • 实现在线推理和交易框架

  • 重构回测和策略模块的接口。

版本 0.4.4

  • 优化缓存生成性能

  • 添加报告模块

  • 修复使用 ServerDatasetCache 离线时的错误。

  • 在之前版本的 long_short_backtest 中,存在 long_short 中的 np.nan 情况。当前版本 0.4.4 已修复,因此 long_short_backtest 将与之前版本不同。

  • 0.4.2 版本的 risk_analysis 函数中,N250,而 0.4.3N252,因此 0.4.20.4.30.0021220.4.20.4.3 之间的回测结果略有不同。

  • 重构回测函数的参数。
    • 注意:- topk 边际策略的默认参数已更改。如果您希望获得与之前版本相同的回测结果,请明确传递参数。- TopkWeightStrategy 略有更改。它将尝试出售超过 topk 的股票。(TopkAmountStrategy 的回测结果保持不变)

  • 边际比率机制在 Topk 边际策略中得到支持。

版本 0.4.5

  • 为客户端和服务器添加多内核实现。
    • 支持一种新的从客户端加载数据的方法,该方法跳过数据集缓存。

    • 将默认数据集方法从单内核实现更改为多内核实现。

  • 通过优化相关模块加速高频数据读取。

  • 支持使用字典写入配置文件的新方法。

版本 0.4.6

  • 修复了一些错误
    • 版本 0.4.5 中的默认配置对日频数据不友好。

    • 在 TopkWeightStrategy 中,当 WithInteract=True 时出现回测错误。

版本 0.5.0

  • 首个开源版本
    • 完善文档和代码

    • 添加基准线

    • 公共数据爬虫

版本 0.8.0

  • 回测进行了大幅重构。
    • 支持嵌套决策执行框架

    • 日交易有很多变化,难以列出所有变化。但可以注意到一些重要的变化
      • 交易限制更加准确;
        • 之前的版本 中,做多和做空操作共享相同的操作。

        • 当前版本 中,做多和做空操作的交易限制是不同的。

      • 在计算年化指标时常数不同。
      • 一个新版本 的数据已发布。由于Yahoo数据源的不稳定性,下载数据后可能会有所不同。

      • 用户可以查看 当前版本之前版本 之间的回测结果。

其他版本

请参考 Github发布说明