QMT研报复现系列(一) 中银量化多因子选股系列-锚定反转因子构建与增强(2)
干货!!!!!!
本文主要介绍如何使用qmt回测锚定反转因子,同时给大家提供一个qmt因子回测模板
原研报锚定反转因子回测方案
回测区间: 2010.1.1 – 2021.12.31
回测样本范围:中证 500 成分股
换仓频率:周度换仓(按照周五股价信息测算因子并分组,以下周一收盘价买入,持有一周)
交易费用:分组因子测试暂不考虑交易费率
特殊处理:
1. ST 股:ST 股不参与测算,若在持有期间,个股被 ST 处理,则继续持有至周五换仓。
2. 涨跌停:若个股在换仓日出现涨跌停,则分组与上期不变,继续持有一周,直至后续周度换仓 日可交易。
3. 停牌:若个股在换仓日出现全天停牌(半天停牌,停牌 1 小时不计),则分组与上期不变,继续持有一周,直至后续周度换仓日可交易。 参数选择:判断近期涨跌趋势区间:两周(𝑖=2),锚点选择区间:一季度(j=13) 将中证 500 成分股按照中性化后因子值从小到大均分为 10 组(每组约 50 只股票),测算各组的年化 收益率。其中第 1 组为“预期上涨组合”,第 10 组为“预期下跌组合”。
原文因子分层回测结果如下:

可以看到,因子回测结果展现了明显的单调性,说明该因子有着比较明显的分层效果。
分组回测超额收益如下:

Qmt单因子回测结果
为了提高因子回测的时效性,此处选择回测时间为2016.01.01-2023-07.15,将周频转换为日频进行回测。
为模拟真实交易场景,回测中手动设置了买入卖出滑点为0.0002,回测结果如下:


年化收益达到23%,最大回撤为31.48%。
从各项指标来看,该因子效果还不错
持仓分析:涉及各个行业,策略风险与单个行业风险相关性较低。

有的小伙伴就会有疑问:
Q: 原文是周频率,能否给出周频的示范代码?
A:非常简单,第一种方案是判断当前交易日的日期是周几即可以改成周频调仓;第二种方案是创建一个变量进行累加,如果能对数字5整除,即可切换为按天数频率调仓。
示例代码如下:
源码
源码为通用的多因子回测框架,之后复现研报会在该框架的基础上进行,该框架基于日频,专为回测模块定制,不可直接拿去实盘:
预告
下周会给出增强反转因子的构建方式以及回测结果欧~ 也将是这篇报告的最后一期,同时将会预告下期将会复现的研究报告。实盘代码可加入知识星球获取。