您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[国泰君安证券]:权益配置因子研究系列04:基于分钟数据的高频因子选股效果研究 - 发现报告

权益配置因子研究系列04:基于分钟数据的高频因子选股效果研究

2023-11-28张雪杰、廖静池国泰君安证券善***
权益配置因子研究系列04:基于分钟数据的高频因子选股效果研究

高频数据和处理软件介绍。对高频数据的研究和因子开发是量化选股研究热点。本报告使用分钟行情数据,计算常用的高频因子 。高频数据处理主流软件推荐KDB+和DolphinDB。KDB+属于国外著名的金融高频数据处理软件,优点是速度极快,针对金融高频场景开发,缺点是学习曲线陡峭。DolphinDB是国内自主开发的软件,性能优异,技术支持完善,已广泛应用于国内头部金融机构,在时序DB-Engines排名一路飙升。 分钟行情高频因子。因子逻辑主要是基于错误定价(过度反应后的反转效应)、承担风险溢价(低流动性、低波动的风险补偿)。因子类别有收益率分布、成交量分布、残差波动率、量价相关性等。 在各股票池进行单因子测试,筛选效果较好的因子。在五个指数成分股内都被选用的因子有:1分钟ILLIQ、5分钟特质残差的峰度、1分钟收益率偏度、5分钟收益率峰度、除去早盘后的涨跌幅、1分钟下行波动率占比。中小盘的四个指数成分股内都被选用的因子有:5分钟特质残差的偏度、尾盘成交量波动率。 等权加权的复合因子在各股票池的表现。从结果来看,高频分钟因子在中小市值股票池的选股效果较好,表现比较稳定;近3年受益于小市值风格占优,在不同市值区间股票池中多头组超额收益均较好。控制市值行业无暴露,构建因子得分最大化组合,测算发现,2010年2月以来,沪深300内年化超额9.09%(2016年以来年化超额5.83%),超额最大回撤-6.08%;截至2023年9月21日,本年超额11.2%。中证500内年化超额10.04%(2016年以来年化超额7.0%),超额最大回撤-8.34%;本年超额8.86%。中证1000内年化超额收益15.5%(2016年以来年化超额12.24%),超额最大回撤-13.45%;本年超额12.85%。中证2000内年化超额收益19.55%(2016年以来年化超额16.3%),超额最大回撤-13.34%;本年超额12.18%。 风险提示:量化模型基于历史数据构建,而历史规律存在失效风险。 我们在之前的因子研究系列报告中研究了超预期因子在不同股票池的选股效果,分别介绍了中证500、中证1000和中证2000指数增强策略的构建。本篇报告对使用分钟数据计算的常用高频因子选股效果进行测试。首先介绍常用的高频数据处理软件。然后,介绍分钟行情高频因子的计算方法。之后,在各股票池进行单因子测试,筛选出效果较好的因子。最后,等权加权得到复合因子,测试其在各股票池的表现,供投资者参考。 1.高频数据和处理软件介绍 1.1.高频数据 沪深Level2行情数据是目前A股市场上最完整、颗粒度最细、信息含量最丰富的行情数据。目前Level2数据主要有四种类型:盘口快照数据(3秒)、逐笔成交数据、逐笔委托数据、委托队列数据(前50笔)。 从市场微观结构出发,对于高频数据的研究和因子开发一直是近期量化选股研究的热点。我们在本报告主要是用分钟行情数据, 计算常用的高频因子。 1.2.常用的高频数据处理软件介绍 由于Level2数据量极大,2014年以来全部数据压缩后也有7T,每天增长几个G。一般的软件比如python、Matlab等难以应对即使是数据量较小的分钟行情数据,处理起来也会相对吃力。实际量化研究过程中,只靠一种编程软件包打天下也不太实际。对于高频数据的处理和分析,除了使用编程难度和要求较高的C++,还可以使用专门的高频时间序列数据处理软件。常用的有国外著名软件KDB+、国内自主研发的后起之秀DolphinDB软件等。我们下面对两种软件做简要介绍。 1.2.1.KDB+ KDB+是国外一款号称是世界上最快、性能极高的内存数据库,q是内置语言。由ArthurWhitney开发,KxSystems公司于2003年推出,其前身k和kdb/ksql分别于1993年和1998年推出。事实上,kdb+不只是内存数据库,更是一款高性能大数据平台,使用统一的数据库处理实时数据和历史数据,同时具备CEP(复杂事件处理)引擎、内存数据库、磁盘数据库等功能。kdb+/q最初主要被用于国外顶尖金融机构海量数据分析和高频交易,目前在人工智能、机器学习、物联网等领域发挥越来越大的作用。 [8] kdb+/q的核心优势主要有: 1)强大的一体化平台。流数据处理、内存数据库和磁盘数据库的一体化。数据的采集、存储和分析的应用一体化。数据库和开发语言的一体化。代码与数据一体化。 由于篇幅原因,详细介绍可见kdb中文教程公众号文章《第一章简介》https://mp.weixin.qq.com/s/2cVyuebVzhGN1J142LDCkg或查看KxSystems公司官方网站https://kx.com/。 2)高性能的列式内存数据库。kdb+采用列式存储和有序化存储 ,数据聚集和列向查询性能得到极大提升,在数据库运行时可以方便地对数据列进行增删改。内存数据库可以实时更新索引,方便对流数据进行分类汇总统计。 3)强大的编程和查询语言q。内置矢量语言q是一种抽象编程的APL系语言,非常适合低成本地对大数据进行复杂计算。q跟SQL有一些类似,对于有数据库基础的人较容易掌握。 4)简单的数据管理和低廉的成本。原生64位架构,软件大小不足1MB,适应海量数据处理需求。自身占用极少的内存和磁盘资源,可部署于多处理器服务器上,可任意动态扩展。 5)优越的可移植性和互操作性。使用ANSI C开发,未使用任何专有扩展,可快速移植到最新的芯片和操作系统之上。可简单部署在多种操作系统下共同运行。 6)分布式并行扩展以保证查询速度。内置多线程并行计算功能 。支持分区并行访问庞大历史数据库,能将查询分配至多个内核或多台机器。进程间通讯功能可以轻易支持多服务器的并行计算或网格计算。 图1:Kdb+在国外金融市场的主要用途非常广泛 KDB+的缺点:首先是学习曲线相对陡峭,思维方式比较特别,不像常规语言那么好上手和容易切换。其次国内用户较少,学习交流的社群较少。最后,KX公司似乎对国内市场不太重视,市场推广较少,相应的技术支持较少。 [5] 为满足不同的需求,kdb+提供了多种许可类型可供选择。下表列出了各种许可的比较。64位个人版可以从https://ondemand.kx.com下载,需要申请授权文件kc.lic,可以试用1年。 表1:KDB+提供了多种许可类型可供客户选择 1.2.2.DolphinDB DolphinDB是国内一款高性能分布式时序数据库,由浙江智臾科技有限公司自主研发。根据官方产品简介,DolphinDB集成了功能强大的编程语言和流数据分析系统,为结构化数据的快速存储、检索、 分析及计算提供一站式解决方案,在大规模数据处理与分析领域拥有世界领先的性能水平,特别适用于量化金融与物联网等领域对数据存储、查询及分析有极高要求的场景。DolphinDB主要优势是快,体现在四个方面:开发快、运行快、部署快和学习快。能够对海量数据特别是时间序列数据和实时流数据进行存储、管理及复杂的交互分析。核心功能主要包括:高性能数据库、功能齐全的脚本语言、可扩展的分布式计算、实时数据流计算和便捷的系统访问方式。DolphinDB已经广泛应用于国内的头部券商、公募基金、私募基金和银行等机构。 [10] DolphinDB 作为数据后台时具有以下7大优势: 1)一站式大数据解决方案。适用于金融及物联网数据采集、存储、查询、实时计算、预警、结果展示及反馈。 2)轻量级跨平台部署。使用C++开发,仅20余兆,非常轻量,可部署于从嵌入式到云端的各类平台。 3)安全可控。由国人自主研发,无任何外部依赖、安全可控。 同时适配国产CPU,实现软硬件同时自主可控。 4)数据存储和计算。采用列式存储,支持数据压缩。在同样的硬件设备上,关系型数据库可支持亿级的时序数据,DolphinD B则可支持万亿级。 5)实时流计算。天然具备流表对偶性,可对物联网、金融市场采集的实时数据进行清洗、实时统计与分析、即时入库及可视化展示。 6)丰富的计算功能。计算功能最丰富的数据库系统使用内置脚本语言,可实现复杂的分布式库内计算,避免数据迁移,性能超越其 详细介绍可见DolphinDB公众号文章《DolphinDB产品简介》https://mp.weixin.qq.com/s/YIHtk8WApfwz0RdlunTnJg,或查看官方网站https://www.dolphindb.cn/。 他数据库1-3个数量级。 7)降低综合使用成本。一站式解决方案、跨平台部署能力、强大的实时数据和历史数据处理能力、丰富的计算功能及扩展能力极大的降低了企业的综合使用成本。 DB-Engines最新发布的2023年11月时序数据库排名榜单中,国产时序数据库DolphinDB荣登该榜单前6,也是目前唯一排名前10的国产时序数据库。自2019年参与DB-Engines排名以来,DolphinDB凭借广大用户的支持与产品优异的性能,排名一路飙升,发展势头迅猛。 表2:2023年11月时序数据库排名中,DolphinDB排名大幅上升 相比于同类产品,DolphinDB的技术支持、相关培训和售后服务非常完善,响应及时迅速,有很好的学习社区和社群。目前有社区版可以免费试用,许可永久有效,提供的函数与企业版一致;有一定资源限制,可点击https://dolphindb.cn/product#downloads下载。 2.分钟行情高频因子介绍 我们使用分钟行情数据,计算常用的分钟因子,主要有收益率分布、成交量分布、量价相关性、残差收益率等。从因子的算法可以看出,这些因子有一定的投资逻辑,主要是基于错误定价(过度反应后的反转效应)、承担风险溢价(低流动性、低波动的风险补偿),整体不如财务类因子的投资逻辑强。 1)收益率分布因子主要有分钟收益率峰度、收益率偏度、收益率的波动率、收益率上行/下行波动率、收益率上行波动率占比等 2)成交量分布因子主要有成交量占比、分钟成交量波动率、成交量峰度、成交量偏度、下行成交量波动率、下行波动率占比等。 3)量价相关性因子主要有分钟收益率/价格和成交量的相关系数。 4)特质波动相关因子主要有日内特质波动率、特质残差的峰度、分钟偏度、特异度等。 5)其他因子还有Amihud的分钟ILLIQ指标、分钟路径动量、日内涨跌幅、日内beta等。具体见下表3和表4。 具体计算细节上,有几点需要说明,1)时间频率上,分别计算1分钟和5分钟两种时间频率的因子。2)时间区间上,分别计算全天、开盘前30分钟、收盘前30分钟、以及前1/3大成交量(成交量排名前1/3)的因子。3)分别使用5日平均和20日平均作为因子,用于周度选股效果测试。 表3:分钟高频因子列表1,从算法可以看出,投资逻辑整体不如财务类因子的投资逻辑强 表4:分钟高频因子列表2,从算法可以看出,投资逻辑整体不如财务类因子的投资逻辑强 3.分钟因子选股效果 我们分别测算将5日、20日的平均值作为原始因子,进行市值行业中性化后的周度选股的效果。分别将沪深300、中证500、中证1000、中证2000、中证全指五个指数成分股作为股票池,采用因子IC、分组测试等方式进行单因子测试。每周进行调仓操作,分组测试按因子值从小到大排序分10组,分别为t0、t1、t2、…、t8、t9组。计算因子IC、分组收益、多头组超额收益等绩效指标考察因子表现。回测日期区间主要为2010年2月至2023年9月。分组超额收益使用第二天的VWAP价格进行买卖。对于中证1000和中证2000指数,我们和系列报告03《中证1000和中证2000指数增强策略构建》中做法一样,按照指数编制方法,估算历史成分股名单用于回测。其中,对于中证1000指数,估算2010-2014年的成分股名单;对于中证2000指数,估算2014-2023年的成分股名单。 3.1.单因子效果 3.1.1.不同股票池的因子IC 表5:不同股票池因子rankIC,ILLIQ、收益率