← 返回模块
4.6.1.3beta 可读 · 未来付费校验通过内容版本 2026-05-24

趋势跟踪、CTA 与管理期货

4.6.1 · 量化策略目录 · 量化全流程

把 Moskowitz-Ooi-Pedersen 的 Time Series Momentum(Journal of Financial Economics 2012)摊在桌上看:58 只期货合约(商品、外汇、固收、股指)按每只合约 12 月收益率符号加权,构造的多空组合在 1985-2009 年实现毛夏普 1.4、年化超额收益 17%、最大回撤 16%。这是 时间序列动量 异象——结构上有别于 L1 L/S 股票的 横截面动量 因子。请记住生产现实:这份 1.4 的毛夏普在过去十年扣除成本、AUM 增长、因子拥挤之后退化到 0.6-1.0 净——这才是过去十年实际的 CTA 夏普区间。本课从这个学术锚开始,把 CTA / 趋势跟踪 / 管理期货家族讲清楚。

趋势跟踪是什么:时间序列动量 vs 横截面动量

(1) `time-series momentum`     —— 单资产自相关;合约自己的过去收益预测自己的下期收益;L3 趋势跟踪阿尔法源;窗口 1-12 月
(2) `cross-sectional momentum` —— 在 universe 内相对排名;每只股票按 12-1 月收益排名;L1 L/S 股票因子;窗口 12-1 或 6-1 月

两个异象统计上独立:某合约可处于正时间序列动量(自身过去收益向上)同时是中性或负的横截面动量(其他合约上得更多)。经验证据:时间序列动量在 50+ 只期货合约上的 100+ 年历史(Hurst-Ooi-Pedersen 2017《A Century of Evidence on Trend-Following Investing》)显示样本外夏普稳定在 ~0.7-1.0。结构故事:对新闻的行为性反应不足(基本面慢吸收)、价格锚定(价格粘在近期水位)、跨资产资金迁移缓慢(基本面切换后资金渐进迁移)、央行政策体制(数月度的货币周期在利率 / FX / 商品上造成持续趋势)。

五个目录问题应用于趋势跟踪 / CTA

(1) `alpha source`                  —— 1-12 月时间序列动量,由反应不足 + 锚定 + 资金缓慢迁移 + 央行体制驱动
(2) `implementation`                —— 50-100 只期货 × 4 个资产类别;3 信号集成 1m/3m/12m;反向波动率权重;组合波动率目标 10%;日度至周度再平衡
(3) `capacity`                      —— 单基金 $10-50bn;期货深度 + 廉价杠杆 + 长持仓期
(4) `typical Sharpe net of costs`   —— 过去十年 0.6-1.0;MOP-2012 1985-2009 毛夏普 1.4
(5) `canonical kill scenarios`      —— 体制切换的趋势反转(Q1 2009 / Q1 2020 / Q1 2022);震荡 / 无趋势行情(2011-2014);单合约跳空(Aug 2015)

(1) Alpha source

每只合约个体上 1-12 月窗口呈现正自相关。跨资产混合(FX + 利率 + 商品 + 股指期货,低成对相关性)给出远高于任何单合约的组合夏普。

(2) Implementation:3 信号集成

(1) `1-month z-score of cumulative return`
(2) `3-month z-score of cumulative return`
(3) `12-month z-score of cumulative return`

每只合约的趋势分:

signali=z_1mi+z_3mi+z_12mi3\text{signal}_i = \frac{z\_1m_i + z\_3m_i + z\_12m_i}{3}

等权 3 信号集成是教学规范形态;生产 CTA 用 6-12 个信号横跨 1 周到 36 月窗口。然后用反向波动率 sizing 让每只合约在信号方向之前贡献等量风险;组合波动率目标 ~10% 年化(典型 CTA 目标);日度至周度再平衡;对商品 term structure 显式管理 roll 成本(1-3 月到期的合约要换月;carry 成本由 calendar spread 决定)。

(3) Capacity

很大——单基金 $10-50bn。期货市场深:CME E-mini SPX 日成交 ~$200bn 名义,10Y 国债期货 ~$400bn / 日;杠杆便宜(起始保证金名义的 5-15%);持仓期长(1-6 月均);策略吸纳规模时市场冲击很小。容量天花板由 CTA 之间的相关性 设定——同质化信号过多就会发生与 L1 / L2 类似的拥挤级联,只是钟摆慢。

(4) 典型净夏普

0.6-1.0 过去十年。MOP-2012 1985-2009 毛 1.4 退化原因:(i) 1985-2009 样本包含多次体制驱动的趋势(1985-1995 美元强势、1995-2000 科技牛、2000-2009 商品超级周期 + 债牛),而 2010 年后没有;(ii) CTA 行业 AUM 在 1995-2015 年涨 10 倍,拥挤加深,人均阿尔法下降;(iii) 交易成本(佣金 + 执行滑点 + 商品 contango 的 roll 成本)累计与策略对冲。

(5) Canonical kill scenarios:三种模式

(1) `trend reversals at regime change`                   —— Q1 2009 股权底 / Q1 2020 COVID 翻转 / Q1 2022 加息转向
(2) `whipsaw / no-trend regimes`                          —— 2011-2014 CTA 旱期(市场震荡,CTA 三年小亏)
(3) `negative-skew tail events on individual contracts`  —— Aug 2015 中国汇改 USDCNY +8% 单日;Feb 2018 vol-mageddon;Mar 2020 COVID 国债买入潮

​5a 体制切换趋势反转​​:经典 CTA 杀招。多年趋势(原油 2008 涨从 $30→$140;债收益率 2014-2020 长期下行;美元 2010-2014 上涨)在几周内因基本面切换反转;策略仍持有旧趋势头寸而被吃,信号集成尚未捕捉新体制。Q1 2009 股权见底:CTA 因股权 / risk-on 体制开始亏 8-12%;Q1 2020 COVID 翻转:CTA 初亏 long-energy / short-vol,Q2 新趋势浮现后回收;Q1 2022 加息转向:CTA 在债空头侧获利但股权多头侧受损,净交易为正。

​5b 震荡 / 无趋势行情​​:CTA 旱期。2011-2014 大多数 CTA 平到小亏,市场区间震荡无持续趋势(利率被 QE 锚在零、商品 2008-2014 周期结束后区间、FX 区间);策略 3 年以上小幅出血;许多 CTA 关闭或缩减 AUM。

​5c 单合约负偏度跳空​​:即使组合 PnL 正偏,单合约头寸结构性 long-vol(策略在底部卖空震荡、在顶部反向买回),单合约跳空可单日大亏。Aug 2015 中国汇改抓到大多数 CTA 美元空头;Feb 2018 vol-mageddon 抓到 CTA 股权多头;Mar 2020 COVID 国债 flash-bid 抓到 CTA 债空头。

CTA pipeline 实现

# 3-signal CTA / trend-following engine
import numpy as np
import pandas as pd

class TrendFollowingEngine:
    def __init__(self, vol_target_annual=0.10, max_daily_turnover=0.10, roll_trigger_days=10):
        self.vol_target_annual = vol_target_annual
        self.max_daily_turnover = max_daily_turnover
        self.roll_trigger_days = roll_trigger_days

    def compute_signals(self, futures_returns, t_minus_1):
        # 每只合约在 t-1 EOD 计算 z_1m / z_3m / z_12m 并平均得到 trend_score
        z_1m = self._zscore(futures_returns, window=21)
        z_3m = self._zscore(futures_returns, window=63)
        z_12m = self._zscore(futures_returns, window=252)
        trend_score = (z_1m + z_3m + z_12m) / 3.0
        return pd.DataFrame({"z_1m": z_1m, "z_3m": z_3m, "z_12m": z_12m, "trend_score": trend_score})

    def inverse_vol_weights(self, trend_score, vol_60d, vol_target_annual):
        # 反向波动率 sizing,然后整体 rescale 到组合波动率目标
        raw = trend_score / vol_60d
        portfolio_vol = self._estimate_portfolio_vol(raw)
        return raw * (vol_target_annual / portfolio_vol)

    def apply_turnover_control(self, current_weights, target_weights, max_daily_turnover):
        # 限制每日权重变动 <= 10% of book
        delta = target_weights - current_weights
        scale = min(1.0, max_daily_turnover / np.abs(delta).sum())
        return current_weights + scale * delta

    def execute_rebalance(self, target_weights, current_positions, execution_algo):
        # 通过 VWAP / IS 在数分钟到数小时窗口分片执行
        return self._slice_to_algo(target_weights - current_positions, execution_algo)

    def manage_rolls(self, positions, contract_expiry_days):
        # 到期前 10 天主动换月,5 日 TWAP 滚到次主力
        return self._roll_positions(positions, contract_expiry_days, self.roll_trigger_days)

逐步解释:Step 1 对每只合约在 t-1 EOD 计算三个 z-score:z_1m_i = sign(return_1m_i) × z_score(return_1m_i, expanding history);同理 z_3mz_12m。Step 2 每合约趋势分 score_i = (z_1m_i + z_3m_i + z_12m_i) / 3。Step 3 反向波动率 sizing:raw_w_i = score_i / σ_{i,60d},σ 是合约 i 的 60 日日度收益年化波动率;然后 rescale 让组合波动率 = 10% 年化。Step 4 换手控制:限制每日权重变动 <10% of book,必要时用 7 日移动平均平滑。Step 5 通过 VWAP / IS 日度执行;到期前 10 天主动换月。Step 6 记账 + 报告:按资产类别拆 PnL、单独的 roll PnL、行业贡献、回撤深度与持续时间。这是 最小可用 CTA 引擎;生产 CTA 再叠加因子覆盖(carry、value、basis)、更精细信号集成(6-12 信号横跨 1 周到 36 月)、体制感知 vol-targeting(震荡期降目标)。

负偏度纪律规则

趋势跟踪有一个学员常常搞错的 PnL 形态。​​组合层​ PnL 是 正偏度 的:多次小亏(在无趋势 / 震荡行情)+ 偶发大赚(趋势来时——2014Q3 商品崩盘、2008Q3 股权空头大赚、2022Q3 债 + 美元趋势大赚)。这与 carry 策略相反(carry 是负偏度:多次小赚 + 偶发大亏)、与 L2 stat-arb 相反(stat-arb 是负偏度,协整断裂时大亏)。所以趋势跟踪是 long-volatility 策略——在高波体制赚钱、低波体制出血。

​单合约头寸层​ PnL 是 负偏度 的,因为策略结构上在底部卖空震荡、在顶部反向买回——单笔跳空可大亏。两个含义:​​(i)​ sizing 必须预留 3 年 -15% 回撤,即便策略本身健康(2011-2014 是经典的 3 年旱期);​​(ii)​ canonical kill scenarios 是 体制切换,不是单笔爆仓——策略在 50+ 合约分散下能扛 Aug 2015 式单合约跳空风险,但会在持续震荡行情中出血(每只合约同时小亏)。

区域比较:US 期货 universe vs CN 期货 universe

​CN 期货 universe​ —— 三家商品交易所:SHFE 上海期货交易所(沪铜 / 螺纹钢 / 鸡蛋 / 黄金 / 白银 / 沥青 / 燃油 / 锡 / 镍 / 锌 / 铅 / 铝 —— 有色金属、黑色、能源);DCE 大连商品交易所(豆粕 M / 豆油 Y / 棕榈油 P / 玉米 C / 鸡蛋 JD / 铁矿石 I / 焦煤 JM / 焦炭 J / 玉米淀粉 CS —— 农产品 + 黑色金属);CZCE 郑州商品交易所(棉花 CF / PTA / 白糖 SR / 菜籽油 OI / 玻璃 FG / 甲醇 MA / 动力煤 ZC);INE 上海国际能源交易中心(原油 SC —— 国际人民币结算原油期货,中国旗舰国际化合约)。

金融期货走 CFFEX 中国金融期货交易所:股指期货(IF 沪深 300、IH 上证 50、IC 中证 500、IM 中证 1000)对合格投资者 50 万账户门槛开放;国债期货(T 10Y、TF 5Y、TS 2Y)对机构开放。CN 没有在岸 FX 期货(人民币不可自由兑换);离岸 CNH 期货走 HKEX,但不直接接 CN 境内账户。

​CN 期货微观结构​ —— 商品期货允许日内交易(CN 期货不强制 T+1,只有现金股票才有);最小 tick:螺纹钢 1 元 / 吨、沪铜 10 元 / 吨、IF 指数 0.2 点 = 60 元 / 手;价格限制 ~3-7% / 日因合约而异;保证金 8-15% 名义(交易所 + 经纪商,经纪商通常 1-3% 高于交易所);佣金 1-3 元 / 手 / 边(绝对值低,~0.3-0.5bp 名义);交易时段:SHFE / DCE / CZCE 09:00-15:00 + 21:00-23:00(夜盘);CFFEX 09:30-15:00(无夜盘)。夜盘造成 CN 特有的跳空风险:合约夜间交易但股市关闭,期间美国数据 / FOMC 等宏观新闻冲击。

​CN 行业语境​ —— 商品 CTA 头部私募:永安期货-资管(CN 最大商品 CTA,AUM RMB 10-30亿);黑石(商品 CTA + 宏观覆盖);凯丰投资(多策略含商品 CTA,AUM ~RMB 100亿);浙商期管(券商系,RMB 20-50亿);国泰君安期管(券商系)。多策略私募的 CTA 子产品:Mingshi 明汯 CTA、Mingyou 鸣锣 CTA、Sotic 思特奇 CTA —— 典型运行 60-80 合约 universe 横跨 4 个商品子板块(能源、有色、农产品、黑色)+ 小型 CFFEX 股指覆盖(对有合格投资者准入的客户)。CN 行业词汇:趋势跟踪 / CTA / 商品 CTA / 股指 CTA / 时间序列动量 / 跨品种 / 多周期信号集成 / 倒数波动率加权 / 目标波动率 / 换月(roll)/ 持仓移仓 / 展期成本(roll cost)/ 主力合约 / 次主力 / 远月 / 近月 / 回撤 / 横盘行情 / 反转 / 跳空风险。

监管:CN 私募商品 CTA 向中基协 + 中国期货业协会备案;产品 100 万合格投资者门槛。CFFEX 股指期货对合格投资者 50 万账户门槛 + 10 日交易经验 + 知识评估测试;国债期货对机构限制。2015 股灾后 CFFEX 限制股指期货日内交易(单日 10 手),严重削弱 CN 股指 CTA 约 2 年;2017-2019 限制逐步放松。

US 端略简:US 期货是跨资产宏观跑场。CME 集团:CME(股指 ES / NQ / RTY / YM + FX 6E / 6J / 6B / 6A / 6S / 6C / 6N)、CBOT(国债 ZT / ZF / ZN / ZB / UB;ZC / ZS / ZW / ZM / ZL)、NYMEX(CL / NG / HO / RB)、COMEX(GC / SI / HG / PA / PL);ICE Futures US(KC / SB / CC / CT / OJ);ICE Futures Europe(B 布伦特 / GAS);Eurex(FGBL / FGBS / FGBM / FESX)。基金锚:Man AHL($30bn AUM)、Winton Group($5bn)、Aspect Capital($10bn)、Lynx($5bn)、Campbell & Co($5bn)、BlueTrend、Two Sigma Compass-Diversified($5bn)、QIM、Lyxor TopFund;多管理人 CTA 子策略:Man Numeric、AQR Managed Futures(~$5-10bn)。

US 监管 + 阅读清单:CTA 向 美国商品期货监管机构 + NFA 注册;SMA 与合并基金两种结构皆可;Form ADV / Form CTA-PR 定期申报;美国商品期货监管机构 Form CPO-PQR 商品池经营人申报。美国商品期货监管机构 Position-Limit 规则(2021 年修订)对部分商品的单交易者持仓加帽。Moskowitz, Ooi, Pedersen Time Series Momentum JFE 2012(奠基论文);Hurst, Ooi, Pedersen A Century of Evidence on Trend-Following Investing JPM 2017;Clenow Following the Trend Wiley 2013;Covel Trend Following Pearson 2009;Carver Systematic Trading Harriman House 2015;AQR managed-futures 白皮书系列。

综合练习

你正在一个期货 universe 上设计一本 CTA / 趋势跟踪账户,AUM 为 RMB 30亿。请回答六个计算并将答案汇总成一张表。 ​(i)​ 指定你区域的期货 universe:CN 端 30-50 合约,严重商品偏向(SHFE 沪铜 / 螺纹钢 / 鸡蛋 / 黄金;DCE 豆粕 / 玉米 / 铁矿石 / 焦煤;CZCE 棉花 / PTA / 白糖;INE 原油;CFFEX IF / IH / IC / IM 股指期货——如有合格投资者准入)。 ​(ii)​ 陈述 3 信号集成:1-month z-score3-month z-score12-month z-score;趋势分 signal_i = (z_1m_i + z_3m_i + z_12m_i) / 3​(iii)​ 指明组合构造:反向波动率权重 w_i ∝ score_i / σ_{i,60d},rescale 到组合波动率目标 10% 年化;最大日换手 10% of book;日度再平衡通过 VWAP / IS。 ​(iv)​ 列出你预期的扣成本净夏普(过去十年 0.6-1.0)与 MOP-2012 1985-2009 毛夏普(1.4),并解释差距(AUM 增长 + 拥挤 + 成本)。 ​(v)​ 按顺序列出三种 canonical kill scenarios —— trend reversals at regime changewhipsaw / no-trend regimesnegative-skew tail events on individual contracts —— 并给出你区域的历史锚:2015 股灾对 CFFEX 准入限制 / 2012-2014 商品旱期 / Aug 2015 商品 flash crash。 ​(vi)​ 陈述负偏度纪律规则:组合层 PnL 正偏,单合约头寸 负偏;sizing 预留 3 年 -15% 回撤(即使健康)。

Exercise

提示
组合正偏 + 单合约负偏的不对称是 CTA 的关键纪律点。健康 CTA 也会出现 3 年小亏旱期,sizing 必须能扛住。
提示
3 信号集成的"等权 + 3 窗"是教学规范,不是生产形态。生产 CTA 用 6-12 信号横跨周到 3 年窗口,但教学先抓主梁。

Formula Explorer

\\text{signal}_i = \\frac{z\\_1m_i + z\\_3m_i + z\\_12m_i}{3}

CN 商品期货合约代码参考

CN 主力合约代码:SHFE Cu Rb Au Ag Al Zn Pb Sn Ni Fu Bu Hc;DCE M Y P C Cs Jd I J Jm Pp Lh L V;CZCE Sr Cf Ta Ma Fg Sa Sf Sm Pf;INE Sc Bc Nr。主力 1-3 月切换;次主力 vs 远月价差是 CN 商品 CTA 活跃 carry 信号。Mingshi 明汯 CTA / Mingyou 鸣锣 CTA / Sotic 思特奇 CTA / 永安 / 黑石 / 凯丰 / 浙商期管 / 国泰君安期管 是头部锚。

收束:走向 L4 第四桶捕获

CTA 的纪律一句话:​​趋势跟踪是 耐心 策略——无趋势行情出血,趋势来临时收尾。Sizing 必须预留 3 年 -15% 回撤,即便策略本身健康​​。下一课 L4 是模块的 capstone——把第四桶里 所有不归 L1 / L2 / L3 的策略家族(系统化期权 / 波动率套利、事件驱动 / 并购套利、固定收益相对价值、加密量化)都用同一套五个目录问题刻画一遍。catalog 是耐用层,alpha 源会轮换。带着五问继续。