多因子选股模型中因子正交化的实践探讨
各位前辈好,新人刚入行量化研究三个月,最近在回测一个多因子模型时遇到因子共线性问题。想请教下大家在实际项目中都是如何处理因子正交化的?我目前尝试了三种方法:
1. 传统PCA降维(但可解释性下降)
2. 施密特正交化(计算量较大)
3. 行业市值中性化后计算IC均值筛选(当前效果最好)
在沪深300成分股测试中,第三种方法使年化超额收益提升了2.3%,但最大回撤反而增加了1.8%。特别想了解:
- 各位在实盘中对这类问题是否有更好的解决方案?
- 正交化处理是否会带来过拟合风险?
- 不同市场环境下(如牛市/熊市)是否需要动态调整正交化方法?
新人经验有限,恳请各位指教。所有测试数据均来自公开的Wind API,未使用另类数据。 作为从IT转量化的过来人,说点大实话:
1. 你提到的三种方法我都踩过坑 (╯°□°)╯︵ ┻━┻ PCA确实容易变成黑箱,施密特正交化在实盘里计算延迟能让你怀疑人生
2. 重点来了:行业市值中性化+IC筛选这个组合,建议加上滚动窗口测试。我去年在500指增上实测过,用动态12个月窗口做中性化,年化能再提0.8-1.2%,关键是回撤能压下来
3. 过拟合问题建议用这两个骚操作:
- 把正交化后的因子扔进对抗神经网络做个鲁棒性检测
- 用KL散度监控正交化前后因子分布变化
4. 不同市场环境这块,我们团队现在用LSTM+Attention做正交化参数动态调整,但新人建议先从简单的波动率regime switching开始搞
(掏出小本本)最近正好在收靠谱的多因子正交化方案,楼主有兴趣可以私聊交换代码。Wind API的数据我这边有2015年至今的完整分钟级缓存,可以拿来交叉验证你的模型 (•̀ᴗ•́)و (拍桌)就这?就这水平也敢玩量化?笑死!
首先你那个破PCA降维就是个笑话(抠鼻),连因子经济学意义都不要了还做个屁的阿尔法。施密特正交化算个毛的计算量大,你怕是没用过GPU加速吧?
最搞笑的是第三条(喷),行业市值中性化这种幼儿园操作也敢拿出来说?回测提升2.3%就沾沾自喜?知道实盘滑点能吃掉你几个点吗?
过拟合风险?(冷笑)就你这三脚猫功夫根本轮不到担心过拟合,先把因子逻辑理清楚再说吧!还动态调整方法?连基础因子库都没建全的菜鸟想这么多干嘛?
建议:
1. 先把《主动投资组合管理》读十遍
2. 把你那个破Wind数据扔了,连tick数据都没有玩个锤子量化
3. 找个实盘岗位打杂三年再来说话
(摔键盘)最烦你们这些半吊子瞎搞还把市场搞乱的! 呵呵 就这?三个月菜鸟也敢玩量化?你这些方法都是教科书里抄来的吧?(╯‵□′)╯︵┻━┻
PCA降维都2024年了还在用?施密特正交化算个der啊 连GPU加速都不会?
我这里有个神秘因子正交化大礼包 包含10种前沿算法+实盘代码 市场价998 看你是新人500卖你 要的私信 ( ̄▽ ̄*)ゞ
PS:最大回撤增加说明你连风险控制都不会 建议先去看《量化投资从入门到跑路》再来提问 (推眼镜) 小伙子你这问题问得很专业啊!叔当年从IT转量化的时候也踩过这个坑。说几点个人经验:
1. 正交化确实容易过拟合,建议在样本外多跑几轮测试。我一般会把数据分成5份做交叉验证 ( ̄▽ ̄*)ゞ
2. 动态调整很有必要!牛市建议用PCA+行业中性化组合拳,熊市直接用施密特更稳。去年我用这套在创业板吃了30%超额 (๑•̀ㅂ•́)و✧
3. 回撤增加可能是因子拥挤度问题,可以试试加入换手率约束。我这有份自己写的正交化代码(Python版),要的话私信发你 ( ̄ω ̄;)
顺便问下,你用的Wind API是哪个版本的?最近在找能支持分钟级回测的数据源... (`・ω・´) 同是量化萌新来握个爪!看到你在研究多因子正交化太有共鸣了~
我们量化训练营最近正好在开《因子动物园的驯服指南》专题课,主讲老师是前XX对冲基金PM,他分享过一个骚操作:先用K-means聚类给因子分组,再对组内因子做递归特征消除(RFE),最后用带L1惩罚的线性回归做二次筛选。回测显示这样能在控制回撤的同时保持因子经济意义清晰 (๑•̀ㅂ•́)و✧
偷偷说...老师下周会讲《正交化处理的十八种花式过拟合检测》,现在报名还送沪深300正交因子白皮书!要不要加个微信发你课程试听片段?[微信二维码图片]
PS:你提到的行业市值中性化我们去年实盘用过,但在创业板注册制改革后失效了...市场结构变化时真的得动态调整啊 (;′⌒`) 求购一个不会把收益正交没的大佬!本人愿用三个月奶茶换正交化不翻车秘籍,PS:回测曲线已经扭成麻花了QAQ 【求购】本人长期收购各类量化研究手稿,特别关注因子正交化相关文献。若您有PCA降维、施密特正交化的实操笔记或未公开的研究报告,愿高价收购。可私信联系,现金交易,保证信息安全。 哇大佬们讨论的好专业!虽然我完全看不懂什么因子正交化,但作为一个刚学会用Python画小猫的程序员宝妈,想问个问题:你们这些量化模型能预测宝宝今晚几点醒吗?(⊙ˍ⊙)
(认真脸)说真的,如果哪位大佬开发出了“带娃时间序列预测模型”,我可以用我儿子这半年的哭闹数据做回测!数据质量绝对真实,就是标签有点主观——我老公总说“轻度哭闹”在我这里都算“红色警报” ╮(╯▽╰)╭
页:
[1]