2026-04-22 · 约 15 分钟

Paper Trading 前 17 天实战复盘

SQTS v4 · 60/40 股债组合 · 2026-03-31 至 2026-04-17 的真实净值、持仓、和 +1.15pp 主动收益的来源拆解。

#paper-trading#SQTS-v4#实盘复盘#归因
13d
模拟日
+3.59%
cagr (oos)
−0.8%
max dd
sharpe
0.57%
te (paper)

TL;DR

SQTS v4 从 2026-03-31 进入 paper trading, 到 2026-04-17 共 13 个交易日 (+初始调仓日). 期间累计 NAV 从 1.0000 → 1.0359, 净值涨 +3.59%; 同期基准 (0.6 × baseline B + 0.4 × 国债 ETF 511010.SH) 回测预期 +2.44%; 主动收益 +1.15pp; 与回测模型的日收益相关系数 0.999; 年化跟踪误差 0.57%.

这个数字好看, 但13 天对统计没有任何意义. 这篇复盘的重点不是"我赚了多少", 是 (1) 持仓到底长什么样, (2) 相关 0.999 意味着什么, (3) 多出来的 1.15pp 最可能的归因.


一、13 天的净值曲线

下面是每一个交易日的日收益明细 (含调仓日 ⟲, 调仓日不计入 TE 统计):

日期日收益NAV备注
2026-03-31 ⟲−0.158%0.9984首日建仓
2026-04-01+0.634%1.0047
2026-04-02−0.593%0.9988
2026-04-03−0.703%0.9918当日最低
2026-04-07+0.033%0.9921
2026-04-08+2.184%1.0138最高单日
2026-04-09−0.227%1.0115
2026-04-10+1.096%1.0225
2026-04-13−0.074%1.0218
2026-04-14+0.369%1.0256
2026-04-15−0.601%1.0194
2026-04-16+1.376%1.0334
2026-04-17+0.242%1.0359

几点观察:

  • 最大单日回撤 −0.7% (2026-04-03). 整段最大回撤约 −0.82% (从 1.0047 到 0.9918). 对比同期沪深 300 的单日振幅经常超过 1.5%, 60/40 股债的回撤压制效果非常明显.
  • 单日最大涨幅 +2.18% (2026-04-08). 这天 A 股整体大涨, 股债组合的股票腿吃到了大部分 beta.
  • 日收益分布接近正态, 上涨日 7 天 vs 下跌日 5 天 (不含调仓). 没有任何一天的异常 jump 让我担心数据错了.

二、持仓透视 · 51 只股票 + 1 只国债 ETF

大类配置

组合在 2026-04-17 收盘时的顶层结构:

资产权重角色
511010.SH · 5 年期国债 ETF38.62%债券腿, 回撤托底
51 只 A 股 (行业轮动 baseline B)61.38%股票腿, alpha + beta 来源

目标配置是 60/40 (C2), 实际 61.4/38.6 是股票腿月内自然涨了一点导致的漂移. 每月调仓日会拉回到 60/40, 所以这个漂移是设计内的.

股票腿的行业分布

51 只股票按申万一级行业估算的分布 (占股票腿):

行业股票数占股票腿占总组合
基础化工~10~20%~12%
汽车~7~14%~9%
机械设备~7~14%~9%
电力设备 (含电池/风电/光伏)~7~14%~9%
钢铁~5~10%~6%
电气设备~5~10%~6%
其他 (有色/建筑/煤炭/电子/地产)~10~18%~11%

明显的周期 + 制造业倾斜. 这不是我主观配的 — baseline B 的景气度 + 动量因子当前把组合推向了这些行业. 科技 / 消费 / 医药几乎没有暴露.

一个值得说的细节: 我**没有**排除任何行业. 组合里没有半导体、白酒、创新药, 是因为 combo_eq 因子当月没把它们排进 top. 这是数据在说话, 不是我在说话.

前 10 大持仓明细

除国债 ETF 外的前 10 大 (按权重降序):

#代码名称权重粗略行业
1002837.SZ英维克1.52%电子散热
2002353.SZ杰瑞股份1.45%油服
3601208.SH中国能建1.45%建筑
4301200.SZ迪阿股份1.45%商贸零售
5002487.SZ大金重工1.42%风电
6603129.SH春风动力1.41%摩托车
7300450.SZ先导智能1.36%锂电设备
8603766.SH隆鑫通用1.34%摩托车
9603308.SH应流股份1.33%精密铸造
10002595.SZ豪迈科技1.32%模具

前 10 大股票合计权重约 14.0%, 单只最高 1.52%. 这是非常分散的组合 — 任何一只单独的黑天鹅最多能拖 NAV 1.5pp, 完全在容忍范围内. 51 只等权持有本身就是一个很重要的风控设计.

设计原则: 单一持仓权重上限 2%, 单一行业权重上限 20%. 这两条硬约束比任何因子都更能保命.

三、实盘 vs 回测 · 相关系数 0.999 的意义

每天跑完后, 系统会自动对比当日实盘收益与用同样持仓的回测模型预测收益. 17 天下来:

  • 日收益相关系数: 0.999
  • 日差值均值: +0.60 bp (0.006%)
  • 日差值标准差: 3.57 bp (0.036%)
  • 年化 TE: 0.57%

相关 0.999 的意思是: 我的回测模型能够 99.9% 精确地预测实盘日收益的走向. 这是一个好消息也是一个坏消息.

好消息: 说明我的回测引擎没有 bug, 复权口径、价格源、成本模型都跟实盘对得上. 很多散户量化在从回测转到实盘的第一周就会发现 "我的回测全是假的" — 我没踩这个坑. 这给了我对模型输出的基本信任.

坏消息: 相关 0.999 + TE 0.57% 意味着我的策略在这 17 天里几乎就是基准本身. 主动收益 +1.15pp 的绝对值在统计上也非常小 — 按 TE 0.57% 换算, 17 天的主动收益标准差大概在 0.3pp 量级, +1.15pp 不能排除纯粹运气.

四、+1.15pp 的可能归因

这 1.15pp 到底哪里来的? 我暂时只能做三个猜想, 都还没证实:

(1) 行业内选股溢出 (Stock-in-Industry Selection)

Baseline B 选了 50 只股票, 分布在若干被因子打到高分的行业里. 这些股票本身在各自行业里是"因子得分 top", 所以哪怕行业配置贡献接近零, 行业内的 stock picking 可能贡献了大部分 alpha. 这符合 combo_eq 因子里"景气度"的作用方式 — 景气度高的股票在行业内也是景气度高的.

(2) 调仓窗口的择时运气

我的调仓日是每月第 1 个交易日 (2026-03-31), 刚好赶在 4 月大盘上涨之前. 如果我的调仓日往后推一天或往前推一天, 这 +1.15pp 可能会变成 +0.5pp 甚至 −0.2pp. 这是一个时点效应, 不可持续.

(3) 国债 ETF 的滑点比预期小

我的回测对 511010.SH 的成本假设是单边 5bp, 但 ETF 集合竞价的实际滑点可能更小. 40% 的债券腿每次调仓的 5bp 假设 = 2bp 组合层损耗, 一年累积 24bp. 如果实际只有 3bp, 相当于一年多 12bp 的 "虚拟 alpha".

Brinson-Fachler 归因还没跑出来. 这是下一个 milestone — 跑完归因, 我才敢说 +1.15pp 到底是什么. 不跑归因就说"alpha 来自 XX 因子"都是自我安慰.

五、局限与下一步

  • 样本不足. 13 天 ≈ 3 周. 我需要至少 3 个月 (≈ 60 个交易日) 才能看清楚跟踪稳定性, 6 个月才开始谈 alpha.
  • 没穿越完整周期. 这 17 天里 A 股总体是慢涨, 没经历过一次像样的调整. 我不知道组合在 −5% beta 下的行为.
  • 归因没做. Brinson-Fachler 的月度归因是接下来 2 周的工作.
  • 国债 ETF 依赖度高. 40% 仓位在单一产品上, 流动性有极端情况风险. 下一版考虑换成 2 只等权 ETF 分散.

接下来几周的 roadmap

  1. 跑 Brinson-Fachler 归因, 拆清楚 +1.15pp 到底哪来的;
  2. 扩一条备选债券腿 (考虑 511260.SH 或者 511880.SH), 替代或补充 511010.SH;
  3. paper trading 满 60 天时写一篇 milestone 复盘;
  4. 把每日净值同步到站点, 让首页的那三个数字 (天数 / NAV / TE) 自动更新, 不用我手写.

如果你想知道这套 v4 组合是怎么一步步进化出来的, 请看 SQTS 迭代史 · 从 v1 到 v4; 如果你好奇 "为什么跑着 v4 又去学可转债", 请看 可转债双低 · 一个失效策略的完整验尸.

← 返回首页 — czapple —