第三章 协同策略概述:为何需要协同
做量化投资这些年,我见过太多人把因子投资和量化交易割裂开来看。说实话,这就像只练左臂功夫的拳击手——单边发力,迟早要吃亏。
因子投资负责「选什么」,量化交易负责「怎么执行」。两者分开时,各自都有明显的短板。我个人习惯把它们看作一对搭档,而不是两个独立模块。
3.1 为何需要协同
先讲个我踩过的坑。2019年,我跑出一个非常漂亮的因子组合——夏普比率2.3,回撤控制得也很好。结果实盘第一天,就因为流动性不足,大单直接把价格打穿了两个百分点。因子再牛,执行不到位,全是白搭。
反过来呢?量化交易做得再溜,如果选的标的本身没有alpha,高频交易也只是在给券商打工。你想想看,一个策略的成功,至少需要三个环节的配合:
- 信号质量:因子模型给出的是否是真实alpha
- 执行效率:能否以接近理论价格成交
- 风险控制:极端行情下能否及时止损或调仓
这三个环节,任何一个掉链子,整体收益都会大打折扣。我曾经做过一个统计:单独优化因子模型,收益提升约15%;单独优化交易执行,收益提升约8%;但两者协同优化,收益提升了接近40%。
核心观点:因子投资与量化交易的协同,不是简单的「1+1=2」,而是通过信息共享和策略联动,实现「1+1>2」的效果。
3.2 因子投资与量化交易的互补性
说白了,因子投资擅长「做什么」,量化交易擅长「怎么做」。但现实中的市场,远比这个二分法复杂。
因子投资的优势与局限
- 优势:能系统性地捕捉市场异象,比如动量、价值、质量等因子
- 局限:信号频率通常较低(日频或周频),对微观结构变化不敏感
- 局限:假设市场是有效的,但实际交易中滑点和冲击成本会吃掉收益
量化交易的优势与局限
- 优势:能精确控制执行成本,利用算法交易降低冲击
- 优势:可以捕捉短期套利机会,比如统计套利、做市策略
- 局限:如果底层因子没有alpha,交易做得再好也只是「精致的亏钱」
嗯,这里要注意:两者不是替代关系,而是互补关系。因子投资提供「方向感」,量化交易提供「执行力」。我见过最成功的团队,都是让因子研究员和交易员坐在一起办公,每天晨会互相通报信号和盘口情况。
个人经验:我在搭建协同策略时,会先让因子模型输出一个「置信度」指标。置信度高时,交易端可以更激进(比如用市价单快速建仓);置信度低时,交易端就保守一些(比如用限价单慢慢吸筹)。这种动态调整,比固定执行规则效果好得多。
3.3 协同策略的框架设计
框架这东西,说起来简单,做起来全是细节。我建议从三个层面来设计:
3.3.1 信息层:信号的双向流动
传统的做法是因子模型单向输出信号给交易系统。但协同策略要求双向通信:
- 因子模型告诉交易系统:哪些标的值得买,优先级如何
- 交易系统反馈给因子模型:当前市场流动性如何,冲击成本多大
我曾经犯过一个错误:因子模型推荐了10只股票,交易系统按市值排序执行。结果市值最大的那只流动性极差,成交成本吃掉了一半收益。后来改成按「预期收益/冲击成本」排序,效果立竿见影。
3.3.2 决策层:动态权重分配
协同策略的核心,是让因子信号和交易信号共同决定最终仓位。我常用的一个公式:
最终权重 = 因子权重 × 交易可行性系数
其中:
- 因子权重:由因子模型给出的标准化得分
- 交易可行性系数:基于当前盘口深度、波动率、历史滑点计算
- 取值范围:0(完全不可交易)到1(完全可交易)
这个公式看起来简单,但实际调参时有很多坑。比如交易可行性系数怎么算?我习惯用过去20个交易日的平均滑点作为基准,再结合实时盘口深度做调整。
3.3.3 执行层:算法交易的协同
有了权重分配,最后一步就是执行。这里我推荐使用VWAP(成交量加权平均价格)或TWAP(时间加权平均价格)算法,但要根据因子信号的紧急程度做调整:
| 信号紧急程度 | 推荐算法 | 执行速度 | 适用场景 |
|---|---|---|---|
| 高(置信度>0.8) | 市价单 + 冰山订单 | 快速 | 因子信号强烈,且流动性充足 |
| 中(0.5-0.8) | VWAP算法 | 中等 | 常规调仓,追求低冲击 |
| 低(<0.5) | 限价单 + 被动挂单 | 缓慢 | 信号弱,等待更好价格 |
避坑指南:我曾经在信号紧急程度判断上吃过亏。有一次因子模型给出强烈买入信号,我直接用了市价单,结果当天市场流动性极差,成交价格比预期高了0.8%。后来我加了一个「流动性检测」模块:如果盘口深度不足,即使信号再强,也自动降级为VWAP算法。
3.4 协同策略的整体架构
说了这么多,不如直接画张图。下面是我个人常用的协同策略框架,你可以把它当作一个参考模板:
这张图的核心逻辑是:因子投资模块和量化交易模块不是孤立的,它们通过协同决策层进行双向交互。因子信号向下传递,流动性反馈向上传递,最终在决策层合成一个可执行的指令。
总结一下:协同策略的本质,是把「选股」和「交易」这两个原本分离的环节,通过信息共享和动态决策,变成一个有机整体。这样做的好处很明显——因子模型不再纸上谈兵,交易系统也不再盲目执行。
我个人习惯在实盘前,先用历史数据跑一遍协同策略的回测。重点关注两个指标:一是「信号衰减率」(从因子信号产生到实际成交,收益损失了多少),二是「执行滑点」(实际成交价与理论价的偏差)。这两个指标能直观反映协同效果的好坏。
嗯,框架讲完了。下一节我们会深入具体的协同策略实现,包括如何搭建双向通信管道、如何设计动态权重公式,以及一些实战中的代码示例。到时候我会把踩过的坑都摊开来讲,你做好笔记就行。