新闻

WorldQuant 101 Alpha 因子的流批一体实现

2022.09.19

挖掘和计算 alpha 因子在量化金融领域有着重要的意义。在WorldQuant 发表的论文 101 Formulaic Alphas 中,Kakushadze 列出了101个 alpha 因子的公式。

为方便用户在 DolphinDB 中计算因子,我们使用 DolphinDB 脚本实现了所有101个因子的函数,并封装在 DolphinDB 模块 wq101alpha (wq101alpha.dos) 中。

本文相关的完整教程和代码均已公开发布,欢迎大家前往知乎查看详情,并下载试用~

DolphinDB wq101alpha 模块的实现具有三大优势:

  • 性能优越:性能远优于传统的 Python 实现方式,平均性能是Python的250倍,中位数是15.5倍;
  • 批流一体:模块中定义的因子函数,既可以用于历史计算,又可以用于流式增量计算;
  • 实现简单:在 DolphinDB 中基本可以实现原公式的一对一直接翻译

性能对比

这里我们从原文中截取了性能对比的部分,供大家参考阅读~

我们用一年模拟日频数据对比了 wq101alpha 模块和 python 计算101个因子的性能。

测试使用的服务器 CPU 为 Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz,操作系统为 64 位 CentOS Linux 7 (Core)。

在同一设备同一环境运行两个性能测试脚本,可得到 wq101alpha 模块和 Python 脚本计算101个因子的运行耗时。筛除 Python 脚本中未实现的因子和实现有误的因子后,可供比较的因子共 69 个,完整的性能对比脚本可前往知乎查看附件。

对比结果见下表,单位为毫秒 ms。

从上表结果可以看出,使用 DolphinDB 实现的 wq101alpha 模块的计算效率远远高于 Python 的实现。Python 实现的耗时平均是 DolphinDB 实现的250倍,中位数为15.5倍。

有关函数及参数规范、使用范例、因子存储、性能对比、正确性验证、实时流计算实现、代码附件,请大家前往知乎查看完整内容。