新闻

Level 2 、高频、复杂因子…性能展示!

2023.04.25

Level 2 行情数据是目前国内证券市场上最为完整,颗粒度最为精细的交易信息数据。其涵盖了在沪深两市上市的股票、可交易型基金、沪深交易所指数等大量品种。Level 2 行情数据包含大量有价值的信息,利用这些数据生成交易信号和获取收益已经成为量化研究中的一种主流策略。

那么,Level 2 行情数据有什么特点?对机构投研有哪些意义?处理起来有哪些难点呢?
Level 2 行情数据的分类表如下:

  • 分钟K线:即当日全天的分钟K线行情。相比传统K线,包含了分钟成交笔数信息。
  • 盘口快照:即常用的每3秒一个切片的十档委托行情。其中,也包括该时刻的委托总量和平均委托价格信息。
  • 委托队列:即买一、卖一的总委托单数,以及前50笔委托的明细信息。
  • 成交明细:即两个3秒快照之间,详细的逐笔成交与逐笔委托信息。

需要注意的是,沪深交易所的 Level 2 行情数据存在一定的差异,主要体现在成交明细数据方面。深交所的逐笔成交数据中,包括了逐笔委托数据,其中有详细的挂撤单信息,和标记为撤单的逐笔成交。

下面罗列了 Level 2 历史行情数据中常用的行情快照、逐笔成交和逐笔委托高频因子

1、基于快照数据

  • 时间加权订单斜率
  • 加权平均订单失衡率因子
  • 成交价加权净委买比例
  • 十档净委买增额
  • 十档买卖委托均价线性回归斜率
  • ……

2、基于逐笔成交数据

  • 单笔订单主动买入卖出均价
  • 股票延时成交订单因子
  • ……

3、基于逐笔委托数据

  • 委买委卖金额
  • 买卖撤单金额
  • ……

DolphinDB 不仅提供了高速存取时序数据的基本功能,还内置了向量化的多范式编程语言和强大的计算引擎,可高效用于量化金融的因子开发。

以其中5个较为受到关注的高频因子为例,包括加权时间订单斜率、加权平均订单失衡率、成交价加权净委买比率、十档委买增额和十档买卖委托均价线性回归斜率,在 DolphinDB 中计算一天全市场所有股票的5个因子,耗时结果如下:

在 Python 中实现上面5个因子的计算逻辑,获取一天中两只股票的数据进行对比测试。

下表为 DolphinDB 和 Python 计算性能的对比,可以发现,DolphinDB 显著优于 Python

从对比结果中可以看到,使用 DolphinDB 存储和计算 A 股市场 Level 2 高频行情数据非常高效。

针对上文提到的 Level 2 高频因子,涉及到了大量 DolphinDB 脚本,以及与 Python 脚本性能的对比,完整的代码将在4月27日(周四)晚七点半的 DolphinDB 直播间进行展示。届时,DolphinDB CEO 周小华博士与数据分析负责人毛忻玥老师,将一同主讲,帮助大家更高效地实现从 Python 到 DolphinDB 的转换。