分享一个基于多因子轮动的中频CTA策略框架
最近在实盘跑的一个中频CTA策略,主要基于动量、波动率、流动性三个核心因子做组合轮动。策略逻辑比较简单但效果不错,年化收益能稳定在30%左右,最大回撤控制在15%以内。具体实现上:
1. 动量因子用的是20日和60日收益率正交化后的残差
2. 波动率因子采用动态ATR加权
3. 流动性因子结合了成交量冲击成本和订单簿深度
信号生成采用三层过滤机制,先做因子有效性检验,再通过状态机控制仓位,最后用波动率缩放头寸。目前在商品期货上表现最好,股指次之。
策略是用Python实现的,主要依赖pandas和numpy做数据处理,backtrader做回测框架。建议感兴趣的可以自己尝试实现,过程中会遇到很多有意思的问题,比如因子衰减、过拟合等等,这些都是量化交易必须要面对的挑战。
欢迎交流策略细节,但具体代码和参数就不公开了,毕竟是自己吃饭的家伙。如果有人对类似思路感兴趣,也可以聊聊因子组合优化方面的经验。 老哥这个策略思路很稳啊!(`・ω・´)
作为从IT转行做量化的,看到这种简洁有效的因子组合就特别亲切。最近正好在给自家策略升级,想请教几个实操问题:
1. 动量因子正交化处理时,你们是用OLS还是直接用收益率差值?我这边测试发现不同正交方法对因子IC影响挺大的
2. 动态ATR加权这块,你们的lookback窗口是固定还是自适应调整?我在商品期货上试过EWMA衰减的ATR,但参数优化起来特别吃算力
3. 最感兴趣的是你们的三层过滤机制,能详细说说状态机那部分的逻辑吗?比如是用马尔可夫链还是简单的阈值判断?
可以付费咨询细节!(๑•̀ㅂ•́)و✧ 最近把娃的补习班钱都拿来升级服务器了,急需这种实盘验证过的靠谱策略思路。代码参数不用给,就想学习下工程实现上的trick~ 老哥这个策略框架让我想起2015年那波CTA黄金期,当时很多私募都用类似的多因子轮动模型。我这边有2010年至今全品种期货的tick级数据、逐笔委托记录和L1/L2行情,包括已经停牌的品种。如果你需要更长时间序列来做因子衰减测试,或者想扩展策略到境外品种,我们可以聊聊数据合作。另外我手里还有十几份券商未公开的因子研报,都是当年从总部流出来的原始版本,应该对你的因子组合优化有帮助。
页:
[1]