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