量化CTA策略解析:收益来源、低相关性与风控实践
简介:国泰君安金融工程团队出品的《量化CTA策略:理念、框架与实战》专题报告,面向量化投研人员、FOF与资产配置从业者及期货策略学习者,系统梳理管理期货策略从理念到落地的完整链条。正文围绕CTA策略概况、策略类型与策略难点展开:区分主观CTA与量化CTA在数据解构和逻辑演绎上的权重差异,按交易频率划分超高频、日内、中高频与低频并说明容量与收益属性的变化,并介绍时序模型、截面模型、统计套利与高频交易等策略体系,同时提示研究体系与风控体系这两大难点及模型失效风险。资源共1个PDF文件,压缩包约1.58MB,篇幅约21页,含目录与图表,便于按章节检索。目前已有778人学习下载,适合作为策略框架搭建与多策略组合配置的入门参考。
1. 量化CTA策略:为什么一个「小众」策略反而成了资产配置的压舱石
量化CTA策略常被当成小众品种:期货市场容量远小于股票,参与者基本是套保、套利、投机三类专业玩家,定价有效性高,按理说这是最难靠模型抠出超额的地方。可反直觉的是,恰恰是这块难啃的骨头,在过去几年成了资产配置里相关性最低的一环——2021年指增赛道拥挤、超额集体回撤的时候,CTA产品之间的净值反而散得很开,谁跟谁都不太像。这个反差值得掰开看:一个容量小、对手强的市场,凭什么能提供稳定的低相关收益?答案不在「预测得多准」,而在收益结构本身的性质、趋势形成的投资者行为基础,以及策略类型足够丰富带来的天然分化。把这三层拆开,量化CTA的很多设计选择就都顺理成章了。
2. 收益来源拆解:CTA的alpha到底藏在哪一层
CTA是Commodity Trading Advisor的缩写,国内多指管理期货策略。交易标的集中在场内衍生品:宽基股指期货、2年期/5年期/10年期国债期货、覆盖农产品与金属能源化工的近70个商品期货品种,以及以宽基ETF期权为主的场内期权。从流动性看商品期货强于金融期货,截至2021年三季度商品衍生品共84种(64种期货、20种期权),新品种还在陆续上市。
先把收益来源讲清楚,后面所有关于策略类型的讨论才有落点。
2.1 敞口不稳、杠杆未知,alpha与beta的边界为什么模糊
做指增的人都熟悉alpha与beta:早期alpha指剥离各类风险敞口后的收益,后来各家陆续放开风格与行业敞口,alpha就泛指战胜基准的超额部分。这套定义能成立,前提是基准明确、敞口可测、杠杆相对固定。
CTA不具备这个前提。它的敞口在时序上并不稳定,今天做多黑色系、明天可能空农产品;杠杆倍数也未必对外披露,趋势强的时候加、震荡的时候减,仓位本身就是策略的一部分。于是「CTA的alpha是多少」这个问题目前只能定性回答,没法像指增那样算一个干净的超额曲线。
我一般这么理解这件事:指增的alpha是「相对基准」的概念,CTA的alpha是「相对自身风险预算」的概念。前者靠基准锚定,后者只能靠收益的统计特征去反推。这也解释了为什么评价CTA产品时,光看收益率和夏普会失真——同样年化15%,一个是稳定爬坡,一个是三次大回撤换来的,风险结构完全不同。
2.2 做多波动率与预测收益:两种钱的性质不同
把CTA收益拆开,大致是两笔钱。
第一笔是做多市场波动率的钱,典型代表是趋势跟踪。它不预测方向,只假设「一旦动起来就会继续动一阵子」,所以在趋势行情里赚钱、在震荡行情里被反复摩擦。这笔钱的性质接近beta:只要市场还存在趋势,它就能被系统性地获取,不依赖某个模型的独特洞察。
第二笔是通过预测获得的钱:模型判断未来一段时间某品种会涨还是会跌、涨多少跌多少,据此建仓。这是典型的alpha,取决于模型的预测能力,也取决于别人是不是也预测到了同样的东西。
还有一笔容易被忽略的第三类:在趋势期间主动放大策略敞口所获得的收益。严格说这部分既不是纯粹的beta(因为放不放大是管理人的决策),也不是纯粹的预测alpha(因为它不依赖对方向的额外判断,而是依赖对「趋势强度」的识别)。原始材料把它归入alpha,逻辑是:同样做多波动率,敢在趋势确认后加码的管理人,拿到的收益明显高于机械持仓的。这点比指增的alpha来源更多样,也更难被复制——因为它混杂了仓位管理的经验成分。
注意:把「做多波动率」当成稳赚的beta是常见误解。波动率有成本,震荡市里持续的小额止损就是持有成本,长期看不亏的前提是趋势带来的盈利能覆盖这些摩擦。
2.3 低同质性来自哪里:策略类型、频率分层与容量
CTA与其他策略的低相关性,不是一句「标的不同」能解释的,它至少来自三个层面。
标的不同:期货品种的驱动因素是大宗供需、库存周期、基差结构,和股票的盈利预期、估值扩张基本脱钩。
方法论不同:股票量化的主战场是截面选股,CTA的主力是时序趋势,两者的信号构造、持仓周期、风险预算逻辑都不一样。
频率不同:这是最容易被低估的一层。同一套趋势逻辑放在日内和放在周度,收益曲线几乎是两个物种。
| 频率档位 | 典型持仓周期 | 容量 | 收益属性 | 参与主体 |
|---|---|---|---|---|
| 超高频 | 秒级到分钟级 | 很小 | 做市/微观结构收益 | 多为机构自营或做市商,一般不对外募集 |
| 日内 | 日内平仓 | 有限 | 高夏普、低容量 | 一般不单独发售,或混在混合策略里增强收益 |
| 中高频 | 1至3天 | 中等 | 收益与容量平衡 | 国内头部管理期货策略的主要战场 |
| 低频 | 周度以上 | 大 | 收益属性向配置属性转变 | 追求大容量、低相关的净值曲线 |
频率往下走,容量往上走,收益的「进攻性」逐步让位给「配置性」。这条规律解释了一个现象:规模大的机构很难靠高频维持收益,只能往低频走;而低频一旦成为主流,策略之间的相关性又会抬头。所以真正稀缺的不是某个频段的策略,而是同时在多个频段、多个策略类型上有储备的能力——这也是后面讨论研究体系时要落到的点。
CTA内部各策略类型之间同样低相关。趋势跟踪、截面多因子、统计套利、高频交易,方法论差异极大,同一时期的表现经常一正一负。原始材料把这归结为「策略体系丰富度远超股票量化」,这个判断我认为是准确的:股票量化的方法论已经收敛到多因子+机器学习这条主线上,而CTA还没有统一范式。低相关的另一面就是「没有标准答案」,策略生命周期可能更长,但也意味着单靠一个模型打天下的时代还没结束。
3. 趋势跟踪与信号生成:从反应不足到预测模型
趋势跟踪是最经典、应用最广的CTA策略,本质是捕捉不同周期上的价格趋势,大前提是标的在时间序列上具备自相关性。但它不是一个预测模型,更像一个长期做多波动率的模型——这个定位决定了它的容量、收益分布和生命周期。
3.1 趋势为什么会形成:四类摩擦造成的反应不足
价格对信息的反应不足,是趋势存在的第一层原因。有四类机制在持续制造这种滞后。
锚定效应:投资者把注意力集中在最近的历史价格上,新信息到来时很难立刻调整观点,价格因此缓慢地往新均衡挪。
处置效应:浮盈的仓位倾向于过早卖出兑现,浮亏的仓位不愿意止损。结果是上涨过程被不断兑现打断、下跌过程被惜售拖慢,两个方向都变得更平缓,趋势被拉长。
非盈利操作:一些交易者的行为不以盈利为目的。比如部分机构在外汇和固收市场做对冲操作以平抑波动,再比如按固定比例配置股债的组合会机械地再平衡——涨多了卖、跌多了买,这类资金流天然逆势,客观上减缓了价格发现速度。
市场摩擦:交易成本、冲击成本、涨跌停与流动性约束,都会让套利资金没法瞬间把价格推到位。摩擦越大,反应越慢。
| 机制 | 微观行为 | 对价格的影响 |
|---|---|---|
| 锚定效应 | 参考近期价格判断合理区间 | 新信息被逐步消化,形成缓坡 |
| 处置效应 | 浮盈早卖、浮亏死扛 | 上涨与下跌都被拉长 |
| 非盈利操作 | 对冲、机械再平衡 | 逆势资金流,压制单边速度 |
| 市场摩擦 | 成本与流动性限制套利 | 错误定价无法被瞬间抹平 |
这四类机制的共同点是不依赖「有人犯错」,而是依赖「人的认知和制度约束本身有惯性」。所以趋势策略的生命力不来自模型多精巧,而来自这些摩擦长期存在。
3.2 趋势为什么会过度:羊群、确认偏差与资金流正反馈
反应不足解释了趋势的起点,过度反应解释了趋势的幅度。价格一旦开始单边走,另外三股力量会把它推过头。
羊群效应:投资者受群体观点影响,主动改变自己的判断以保持一致。趋势越明确,跟风的人越多,趋势被进一步强化。
确认偏差与代表性偏差:在趋势行情里,持有同向仓位的人会主动寻找支持自己的证据,自我暗示不断加固信念。价格涨了被解读为「逻辑验证」,于是继续加仓。
资金流入与风险管理:这是最机械也最有力的一条。表现好的产品获得正向资金流入,管理人被动加仓;表现差的产品缩减规模,被动减仓。这种「业绩—规模—仓位」的反馈回路会把趋势推到远离基本面的位置,直到某一刻回归。
把这三段连起来,就是趋势的完整生命周期:形成(反应不足)—延续与过度(正反馈)—结束(回归基本面)。趋势策略赚的是中间那段,亏损主要发生在第一段的尾巴和第三段的开头——也就是趋势还没成型时被反复止损,和趋势突然反转时来不及跑。
3.3 右偏分布的代价:低胜率、高盈亏比意味着什么
趋势跟踪的收益分布是右偏的:胜率低,盈亏比高,靠少数几笔大盈利覆盖大量小亏损。
这带来几个容易被误读的后果。第一,对于长期上行的资产,传统趋势跟踪策略很难跑赢标的自身收益——因为它有一段空仓期和一段反向期,吃不到完整的上涨。但它能大幅提高收益回撤比,降低波动,资金使用效率更高。用「跑没跑赢指数」去评价趋势策略,评价口径从一开始就错了。
第二,低胜率意味着连续亏损是常态而非异常。一个胜率三成左右的策略,连亏七八笔完全在统计范围内,这时候最容易犯的错是加大参数灵敏度去「减少假信号」,结果把真正的趋势信号也过滤掉了。
第三,正因为它是做多波动率而非预测方向,容量基本只受标的容量和流动性约束。这与预测型策略形成鲜明对比——后者受限于模型能覆盖的品种数和换手率,规模一大就衰减。
注意:评价趋势策略至少要看三个维度——收益回撤比、盈亏比、以及在不同波动环境下的分层表现。只看年化收益,几乎必然会做出错误决策。
3.4 规则模型的死结与预测模型的代际切换
早期趋势策略多是规则型(Rule Based):双均线、通道突破、布林带,用严格的进出场条件捕捉趋势,构建简单、技术门槛低。
规则模型的第一个问题是只能判断方向,不能给出幅度,仓位管理得额外叠一层量化模型或者干脆主观控制。第二个问题更根本:规则靠人定义,人的认知有限,规则数量也就有限。这导致两个方向相反但同源的缺陷——从整体策略看,有限的规则组合导致欠拟合,覆盖不了多种市场状态;从单个策略看,表现高度依赖参数选择,双均线的周期、布林带的标准差倍数,稍微动一动结果就变,这是典型的过拟合。
预测模型要解决的就是这两点。它同时输出方向和预期幅度,信号换手明显更高,但换来的是更细的颗粒度:在大时间尺度的趋势里能吃到主升段,在震荡行情里也能靠小时间尺度的波动赚一点。这类策略构建复杂、门槛高,但扩展性强。
生成流程和股票量化那套高度相似,大致三步:数据清洗、特征工程、拟合工程。差别在目标函数的设定、特征生成的偏好、以及拟合目标的选择上。也有产品宣称走端到端路线,把特征工程和拟合工程揉进一个网络里联合优化。
但CTA预测模型有个绕不开的难点:可选标的少,样本数量天然稀缺。股票策略可以拿几千只股票做截面扩充样本,商品期货只有几十个品种,时间维度上还得扣除不同品种上市时间不一致的问题。样本少、特征维度不低,过拟合风险比股票策略大得多,特征构造的限制和可挖掘的alpha来源也更少。
反过来说,如果真做出了可用的时序预测模型,它在逻辑上可以包容截面模型和统计套利模型——因为截面和套利本质上都是「在特定约束下做预测」。原始材料把这称为「大一统模型」,我认为这个说法有夸张成分(截面策略的中性化约束、套利的价差结构,未必能被纯时序预测自然涵盖),但方向是对的:预测能力是这类策略体系里最底层的能力。
4. 截面与统计套利:同一框架下的两种尾部风险
时序策略之外,CTA还有两条主线:横截面多因子和统计套利。它们经常被放在同一个「量化CTA」标签下讨论,但风险结构完全不同,这个差别是设计策略组合时必须搞清的。
4.1 截面多因子:只有市值中性,没有Barra式的风控
横截面多因子的做法和股票多因子几乎一样:用动量、偏度、期现结构等因子给标的池排序,得到相对强弱,多空双向开仓,把市值敞口对冲掉。
差别在于约束条件。股票多因子背后通常站着一套完整的风险模型,能拆解行业、风格、市值等各类暴露,做精细的中性化。商品期货没有对应物——标的太少,行业分类模糊(螺纹钢算金属还是算地产链?),风格因子更没有统一定义。结果是截面CTA基本只能做到市值中性,剩下的风险敞口裸露在外。
这带来一个反直觉的结论:截面策略的尾部风险可能比单边暴露的策略更大。原因是它的风险没有被识别,也就没有被管理。单边策略至少知道自己方向暴露了多少,截面策略往往以为自己中性了,实际上在某些共同因子(比如整个黑色系的库存周期)上高度集中。一旦这个共同因子反向,多空两边会同时亏。
4.2 仓单、动量、期限结构:三个因子背后的库存逻辑
截面策略的因子不多,但每个背后都有一条能讲通的经济逻辑,这点比纯统计挖掘出来的因子可靠。
| 因子 | 构造逻辑 | 经济含义 | 交易方向 |
|---|---|---|---|
| 仓单因子 | 统计标准仓单数量的变化 | 仓单是交易所指定交割仓库签发的实物提货凭证。仓单大量生成说明期货价高于现货,空头交割意愿强;仓单大量注销说明现货紧张,多头占优 | 做空仓单增加的品种,做多仓单减少的品种 |
| 截面动量 | 按前期收益率排序 | 强者恒强,品种间强弱关系有持续性 | 多前期强势品种,空前期弱势品种 |
| 期限结构 | 比较近远月升贴水 | 远期高于近期为正向结构,反映库存充足;近月高于远期为反向结构,反映库存紧张。上世纪三十年代就有研究指出库存水平会影响期限结构 | 做空升水结构品种,做多贴水结构品种 |
三个因子有个共同点:都不是纯价格统计,而是把「库存—基差—交割」这条现货链条的信息翻译成了可排序的信号。这也是商品截面策略和股票多因子最本质的区别——股票因子的经济学解释往往是事后的,商品因子的解释是事前的、可验证的(仓单数据、基差数据都是公开可查的实物指标)。
4.3 统计套利:左偏收益与价差突破的尾部风险
统计套利通过同时交易两个或多个相关品种、双向开仓,赚价差回归的钱。按标的维度分四类:期现套利、跨期套利、跨品种套利、跨市场套利。
期现套利需要产业知识和现货渠道,严格说不属于纯量化范畴。跨市场套利在国内基本等同于跨境套利,要跟踪内外盘联动,对时间效率要求极高,得同时拿到多个市场的行情。真正落在量化体系里的是跨期和跨品种,做法又分两种:一种把调整后的价差曲线当成一个新标的,套用趋势跟踪或预测模型;另一种把它做成横截面多因子。
重点在于收益分布。统计套利的分布是左偏的:胜率高,盈亏比低,绝大多数时候赚小钱,偶尔一次大亏把前面几十次的利润全吐回去。原因很直白——价差在一个历史区间内来回摆动时,回归交易几乎稳赚;可一旦价差突破历史区间,说明「收敛」这个前提本身被打破了(可能是交割规则变了、仓储瓶颈出现了、供需结构重构了),这时候继续按历史区间做回归,就是在没有下限的风险上押注。
这跟趋势跟踪正好互为镜像:趋势是低胜率高盈亏比,靠少数大赢;套利是高胜率低盈亏比,怕少数大亏。两类策略放在一个组合里,收益分布能互相补,但如果用同一套评价标准去看,必然有一个被判死刑。用夏普去选套利策略,会选出杠杆最高、最接近爆仓的那一个;用胜率去选趋势策略,会选出参数最钝、根本抓不住趋势的那一个。
5. 避坑与排查:五条踩过的坑
5.1 规则模型参数调到历史最优,样本外直接崩
现象:双均线周期、布林带倍数在回测里被网格搜索到一组「完美参数」,年化漂亮、回撤很小,上线三个月净值一路向下。
原因:参数搜索本质是在历史样本上做拟合,搜索空间越大,越容易找到一组恰好契合历史噪声的参数。规则模型只有几个参数,看似简单,但正因为规则少,参数对结果的影响被放大,过拟合的后果也更极端。
解决:不要用单一最优参数,改看参数敏感性曲面——把参数在合理区间内扫一遍,只有当一个平台区域的收益都还不错时才认为策略稳健,孤立的尖峰一律放弃。同时把样本按波动环境分层(高波动、低波动、趋势、震荡)分别检验,如果某类环境下策略完全失效,说明它赚的是特定行情的钱,需要在组合里配一个互补策略而不是优化参数。
5.2 拿股票多因子的经验直接套截面CTA
现象:把股票那套因子中性化流程照搬过来,行业中性、风格中性、市值中性全做,回测看起来风险可控,实盘遇到整个板块同向波动时多空双杀。
原因:商品没有可靠的行业分类和风格因子体系,所谓中性化只做到了市值这一层,剩下的共同暴露(比如整个黑色系的库存周期、整个能化板块的原油成本传导)根本没有被识别,自然也没被对冲。
解决:先做暴露归因,把品种按产业链分组,检查多空两端在组别上的净暴露;对无法中性化的共同因子,用组内对冲替代全池对冲,或者直接给单组敞口设上限。承认「没有完整风险模型」这个事实,比假装做了中性化要安全。
5.3 用夏普比率横向比较所有CTA子策略
现象:组合里趋势、截面、套利三类策略放在一张表里排名,结果套利策略夏普最高、被加配,趋势策略夏普最低、被砍仓。半年后套利遇到一次价差突破,回吐全年利润。
原因:三类策略的收益分布形状不同。趋势是右偏(低胜率高盈亏比),套利是左偏(高胜率低盈亏比),夏普对两者一视同仁,等于用同一把尺子量形状不同的东西。左偏策略的夏普会系统性偏高,因为它把尾部风险藏在了没发生的那段时间里。
解决:分策略类型设评价口径。趋势看收益回撤比、盈亏比、最长连亏次数;套利看单笔最大回撤、价差突破历史区间后的应对耗时、以及压力测试下的极端损失。组合层面再看相关性矩阵和整体的尾部贡献。
5.4 把统计套利当成低风险策略
现象:价差长期在区间内波动,回测胜率八成以上,于是不断加杠杆。某次价差突破历史区间后没有回归,一周内亏掉此前半年的累计收益。
原因:套利策略的核心假设是「价差会回归」,这个假设依赖历史区间有效。但区间本身可能因为交割规则调整、仓储物流变化、供需结构重构而失效。假设失效时,止损逻辑往往也失效——因为策略的参数是按「正常波动」标定的,突破幅度远超参数范围。
解决:给价差设一个独立于策略逻辑的硬止损线(比如历史区间外若干个标准差),触发即离场,不做「再等等看」的判断。同时给套利策略的杠杆单独设上限,不与其他策略共享风险预算。这类策略的后悔药只有一颗,就是提前写好的止损规则。
5.5 只做单品种、单策略,不做全覆盖
现象:策略在某一年表现极好,第二年同类行情消失,净值横盘甚至回撤,找不到替代收益来源。
原因:单一策略的收益依赖特定市场状态。趋势策略靠趋势,套利靠价差波动,两者需要的市场环境不同。只做一个,等于把全部收益押在一种环境会持续出现上。
解决:品种上覆盖股指、国债、商品三类,策略上覆盖中长期趋势、时序套利、截面套利三条线,每条线内部再考察因子或子策略的储备数量。全覆盖不是为了分散而分散,是为了在某一类环境消失时,还有别的收益来源顶着。同时要建立因子失效的判定机制——比如滚动窗口内因子IC持续为负超过设定阈值就降权,而不是等到净值回撤到无法忍受才动手。
6. 设计取舍:归纳与演绎之间没有最优解
量化CTA的所有设计选择,最后都收敛到一个矛盾上:归纳与演绎的权重怎么分配。
量化策略本质是把归纳做到极致——从历史数据里学规律,样本分布不变时优势极大。但市场会变,样本分布一旦迁移,纯归纳的策略需要重新学习才能适应,而重新学习需要时间,这段时间就是净值回撤。主观策略在信息获取和逻辑演绎上有优势,面对样本外事件能快速判断,但仓位管理往往依赖经验,风控不如量化严谨。原始材料举的那个例子很典型:某类商品在外部干预下连续跌停、流动性瞬间消失,纯归纳的模型不会对这种「没有历史先例」的信号做出反应,甚至可能因为前期一直上涨而加仓。
所以真正的问题不是「量化好还是主观好」,而是「哪一部分交给归纳,哪一部分留给规则」。
我的做法是把决策拆成两层。方向判断、仓位缩放交给模型,因为这部分可以回测、可以验证、可以归因;尾部控制和极端情况处理写成硬规则,不交给模型判断——比如单品种敞口上限、单日最大亏损熔断、价差突破历史区间后的强制离场。这些规则在正常行情下几乎不触发,看起来是「浪费」,但它们决定了策略能不能活到下一个行情周期。风控体系的价值不在于提高收益,而在于保证策略的市场生存能力,这一点在顺境里完全感受不到,在逆境里是唯一的救命绳。
至于验证方法,我习惯做三件事:一是把回测样本切成多段,每段单独看参数敏感性和收益来源,任何一段的收益完全依赖单一品种或单一月份,就认为不稳健;二是做环境分层,把历史按波动率和趋势强度切成四象限,看策略在每个象限里的表现,找出它真正的收益来源;三是持续监控策略间的相关性矩阵,相关性一旦异常抬升,往往意味着大家在做同一件事,拥挤度上来了。
这份材料把CTA的策略类型、收益来源、行为金融学基础和风控要点串成了一条完整的线,从「为什么低相关」一直讲到「怎么落地」,中间那些因子构造和频率分层的细节,对搭框架的人很有参考价值。从那以后我每次设计一个新的CTA策略,都会强制走一遍「收益来源归属—环境分层回测—尾部规则检查」这三步,少一步都不敢上线。希望帮到你。
本文还有配套的精品资源,点击获取