/~learn/s/58fc8394
> 📅 2026-08-07 建立 > 触发问题:创新药ETF(159992)锚定创业板综,60日相关性仅 +0.31,却被创业板综择时仓位(16%)压到建议仓位 1.3%——锚定品种的低择时仓位,对一个不怎么跟它走的品种,参考价值到底有多大? > 关联文档:01-核心6加4-持仓结构设计与动态规则|06-仓位满仓化与择时联动方案(3.2.4 节"方案A"的正式化)
---
| 品种 | 建议仓位 | 锚点 | 置信度(60日相关性) | 锚点择时 |
| ------ | :---: | :---: | :---: | :---: |
| 创新药ETF (159992) | 1.3% | 创业板综 | 🔴 +0.31 | 16% |
| 医药ETF (512010) | 1.3% | 创业板综 | 🔴 +0.20 | 16% |
| 证券ETF (512880) | 1.3% | 创业板综 | 🔴 +0.37 | 16% |
三个品种相关性都在 0.2~0.4(🔴 弱锚定),但仓位全被压到 1.3%——创业板综择时说 16% 仓位,它们就跟着拿 16% × 基准权重。
你的质疑(用户原话提炼):相关性只有 0.3,创业板择时信号对创新药的参考价值真有这么大吗?得分高的品种是不是不该被锚定品种的仓位死限制?
risk_on 直接复用锚点择时仓位,未按相关性做传导衰减
现行分配公式(hedge_allocator.py allocate() 内):
risk_on = demand['risk_on_ratio'] # = 锚点择时 today / 100,如 16% → 0.16
adjusted_w = base_w_per_etf * risk_on * trend_c * prem_c # L137
同一个 risk_on,对相关性 0.9 和 0.2 的品种一视同仁——这就是缺陷所在。 06 文档 3.2.4 曾提出"方案A:低置信度时 timing 信号向 1.0 收缩",当时决策是"先展示、后决策"。置信度列已上线运行多日,现在到了正式决策的时刻。
| 诉求 | 对应通道 | 现状 |
| ------ | --------- | ------ |
| A. 对冲:锚点择时低时,用低/负相关品种接住资金 | 对冲池(hedge 部分) | 已实现(标普油气🛡️、纳指生物科技🛡️) |
| B. 解耦(本次核心):低相关进攻品不应被锚点择时死压,仓位回归因子得分 | 锚定通道(risk_on 部分) | 缺失——本文要解决的 |
> 两者都是"低相关品种",但角色完全不同: > - 正相关但弱相关(创新药 0.31)→ 是进攻品,要解耦,按因子得分给仓位 > - 负/近零相关(国债、黄金、标普油气 -0.38)→ 是防御品,进对冲池
---
皮尔逊相关系数 r 度量线性相关强度,但真正有解释力的是 r²(决定系数)——一变量收益的变异能被另一变量解释的比例:
r = 0.9 → r² = 0.81 → 锚点日收益能解释 ETF 波动的 81%(强传导)
r = 0.3 → r² = 0.09 → 锚点日收益只能解释 ETF 波动的 9%(弱传导)
r = 0.2 → r² = 0.04 → 解释 4%(几乎无关)
关键推论:择时信号本质是"锚定指数的方向判断"。信号传导到 ETF 的可预测成分约等于 r²。相关性 0.3 的品种,锚点择时看多看空对它 91% 的波动没有解释力——把它的仓位压到和锚点一致,等于让 9% 的信号决定 100% 的仓位,噪声占比极高。
> 你的直觉在统计上是成立的:相关性越低,锚点择时仓位的可参考性越低。
anchor_confidence 一致),但上线前必须验证其稳定性——若创新药与创业板相关性在 0.2~0.5 之间抖动,解耦是稳健的;若某些月份冲到 0.8,需要多窗口平滑(见 5.1)
| 方案 | 做法 | 优点 | 缺点 |
| ------ | ------ | ------ | ------ |
| A. 置信度收缩(推荐) | effective_risk_on = w×risk_on + (1-w)×1.0,w=置信度 | 连续、平滑、高相关品种纪律完全保留 | 需要定 w 的映射 |
| B. 完全解耦(硬开关) | corr<0.4 的品种直接不乘 risk_on | 简单 | 0.39 与 0.41 天壤之别,跳变 |
| C. 双通道路由 | 高相关走择时、低相关走因子通道 | 语义清晰 | 与对冲池边界模糊,需小心 |
推荐 方案 A:它把"低置信度时不确定就不干预"的原则连续化——相关性越低,锚点择时越向中性 1.0 收缩,仓位自然回归由因子得分主导。
---
effective_risk_on
# 现状(L137):相关性完全不参与
adjusted_w = base_w_per_etf * risk_on * trend_c * prem_c
# 新公式:
conf = max(0.0, corr_df.loc[anchor, etf_code]) # 截断负相关为 0(负相关走对冲池)
w_conf = conf ** K # K=2 默认(r² 形式),见 3.4
effective_risk_on = w_conf * risk_on + (1 - w_conf) * 1.0
adjusted_w = base_w_per_etf * effective_risk_on * trend_c * prem_c
语义:w_conf 是"锚点择时信号的置信度权重",1-w_conf 是"回归中性的权重"(不确定就不干预)。
参数:base_w_per_etf ≈ 0.111(1/3 锚点预算 ÷ 3 只锚定品种)、risk_on=0.16、trend=1.10、prem=1.0
| 品种 | corr | w_conf(K=2) | effective_risk_on | 旧仓位 | 新仓位 |
| ------ | :---: | :---: | :---: | :---: | :---: |
| 创新药ETF | +0.31 | 0.096 | 0.919 | 1.95% | 11.2% |
| 医药ETF | +0.20 | 0.040 | 0.966 | 1.95% | 11.8% |
| 证券ETF | +0.37 | 0.137 | 0.885 | 1.95% | 10.1% |
| 中概互联(对照) | +1.00 | 1.000 | 0.16(不变) | — | 完全保持择时纪律 |
effective_risk_on ≈ risk_on,择时纪律原样保留(中概互联 +1.00 案例)effective_risk_on ≈ 0.9+,基本脱离锚定,由因子得分决定仓位(但仍受单只 15% 上限、区域上限、最低分阈值约束)
| corr | w_conf (K=2) | 语义 | effective_risk_on 行为 |
| ------ | :---: | ------ | ------ |
| ≥ 0.85 | ≥ 0.72 | 🟢 高度锚定 | 贴近原始择时(≈0.72×risk_on + 0.28) |
| 0.6 ~ 0.85 | 0.36 ~ 0.72 | 🟡 中度锚定 | 择时为主、因子为辅 |
| 0.4 ~ 0.6 | 0.16 ~ 0.36 | 🟠 弱锚定 | 因子为主、择时为辅 |
| < 0.4 | < 0.16 | 🔴 锚定失效 | 基本回归因子(≈0.84×1.0 + 0.16×risk_on) |
| 品种类型 | 与锚点相关性 | 通道 | 仓位由谁决定 |
| --------- | :---: | ------ | ------ |
| 高相关进攻品(证券/宽基) | > 0.6 | 锚定通道 | 锚点择时(现状不变) |
| 弱相关进攻品(创新药/医药) | 0.3 ~ 0.6 | 锚定通道+解耦 | effective_risk_on(因子为主) |
| 防御品(国债/黄金/标普油气/REITs) | < 0.3 或负 | 对冲池(已有) | hedge_score(负相关×动量×自身择时) |
⚠️ 顺带修一个边界 bug:现状对冲池的候选条件是 corr ≤ 0.30(hedge_corr_threshold),即正相关 0.3 的品种也会进对冲池——但它们与锚点同涨同跌,根本对冲不了,反而适得其反。建议对冲候选要求 corr < 0(严格负相关)或 corr ≤ 0.1,正相关弱相关品种一律留在锚定通道走解耦。
| 约束 | 数值 | 是否保留 |
| ------ | :---: | :---: |
| 单只 ETF 上限 | 15%(防御品 25%) | ✅ 保留 |
| 区域上限 | A股≤40%、美股≤40% 等 | ✅ 保留 |
| 总仓位目标 | 95%(5% 现金) | ✅ 保留 |
| 最低因子分阈值 | 0.35 | ✅ 保留(防止低分品种蹭解耦通道) |
| 全局 regime 微调 | 可选 | ⚠️ 决策点 D4 |
---
对冲池(hedge 部分)已能实现"锚点择时低 → 负相关品种自动递补"(最新推送中 标普油气🛡️、纳指生物科技🛡️ 即是对冲仓)。本次一并补齐三个缺口:
corr ≤ 0.3 → 改为 corr < 0,正相关品种不允许进对冲池own_timing < 0.30 就拒绝该品种当对冲(bear_timing_threshold)。建议对"防御类目(债券/商品/REITs)"豁免此约束——国债/黄金自身的择时策略往往长期看空(因避险属性),不豁免会导致熊市最需要它们时反而被拒之门外---
mean(corr20, corr60, corr120))平滑
---
| # | 决策项 | 推荐值 | 说明 |
| --- | -------- | :---: | ------ |
| D1 | 收缩指数 K | 2(r² 形式) | 与"解释力= r²"的统计含义对齐 |
| D2 | 解耦适用范围 | 全部弱相关品种,但 factor_score ≥ 0.35 才可入表 | 低分品种不蹭解耦通道 |
| D3 | 对冲池负相关判定 | corr < 0 才可做对冲 | 修掉正相关 0.3 进对冲池的 bug |
| D4 | 全局 regime 是否保留总仓位微调 | 暂不启用,先观察 | 解耦后个股不再受锚点限制,但总仓位仍 95% 目标 |
| D5 | 推送页展示 | 新增"有效择时"列(effective_risk_on),与原始 risk_on 并列 | 让解耦过程可解释、可复核 |
---
selection/ 下新增,输出 6 只测试池 ETF 滚动相关性序列)hedge_allocator.py 接入 effective_risk_on(K 走配置),对冲候选改负相关判定show_marker.py/推送页展示"有效择时"列---
[^1]: R-Squared ETF Trading Strategy Analysis (Sourcetable). https://sourcetable.com/ai-trading-strategies/r-squared-etf [^2]: Correlation Trading: Using Related Assets for Better Entries (StockAlpha). https://stockalpha.ai/alpha-learning/correlation-trading-using-related-assets-for-better-entries [^3]: 广发金工《因子择时:在波动市场中寻找稳健Alpha》. https://m.sohu.com/a/951814256_121118711/