Files
etf/docs/experiments/006_holding_duration_analysis.md
aszerW 74f0eebef0 docs(experiment): add 1-day holding deep attribution analysis (006)
- Rank decline: 70.3% (45/64), mostly rank=3 entry → rank=4/5 exit
- Threshold breach: 25.0% (16/64), all actual momentum drops
- 38% cases: own momentum rises but outranked by others
- N225/GDAXI highest 1-day rate (22-26%), A-shares lowest (3-6%)
- Optimization: min holding period, confidence filter, rank smoothing
2026-06-02 21:41:34 +08:00

236 lines
8.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 实验记录 006: 标的持有时间分布分析
## 实验信息
| 项目 | 内容 |
|------|------|
| 实验编号 | 006 |
| 实验日期 | 2026-06-02 |
| 实验类型 | 策略行为分析 |
| 研究问题 | Simple Rotation 策略中各标的持有时间的分布特征 |
| 数据来源 | `rotation/results/simple_rotation_detail.json` |
| 回测区间 | 2020-01-10 ~ 2026-06-021546 交易日) |
---
## 1. 统计方法
### 持有周期定义
一次"持有周期"指:标的出现在 `added`(买入)→ 直到出现在 `removed`(卖出)之间经历的**交易日数**。
```
持有天数 = 卖出日索引 - 买入日索引不含卖出当天T+1 open 执行卖出)
```
### 统计范围
- **完整周期**:已被卖出的持有记录(共 391 次)
- **截尾记录**回测结束时仍在持有的标的3 个),单独列出
---
## 2. 整体分布
### 描述统计
| 指标 | 值 |
|------|------|
| 平均持有天数 | **10.9 天** |
| 中位数 | **7 天** |
| 标准差 | 11.0 天 |
| 最短 | 1 天 |
| 25% 分位 | 3 天 |
| 75% 分位 | 16 天 |
| 最长 | 66 天 |
### 分桶统计
| 持有天数 | 次数 | 占比 | 分布 |
|---------|------|------|------|
| 1 天 | 64 | 16.4% | ████████ |
| 2-3 天 | 67 | 17.1% | █████████ |
| 4-5 天 | 34 | 8.7% | ████ |
| 6-10 天 | 67 | 17.1% | █████████ |
| **11-20 天** | **93** | **23.8%** | ████████████ |
| 21-50 天 | 62 | 15.9% | ████████ |
| 51-100 天 | 4 | 1.0% | █ |
| 100 天+ | 0 | 0.0% | |
---
## 3. 按标的统计
| 标的 | 代码 | 持有次数 | 平均天数 | 中位天数 | 最短 | 最长 |
|------|------|---------|---------|---------|------|------|
| 纳指100 | NDX | 37 | **17.4** | 13.0 | 1 | 58 |
| 创业板指 | 399006.SZ | 31 | **14.0** | 9.0 | 1 | 66 |
| 短债指数 | 931862.CSI | 41 | 12.2 | 9.0 | 1 | 35 |
| 中证红利低波 | H30269.CSI | 31 | 12.0 | 10.0 | 1 | 36 |
| 原油 | CL=F | 36 | 11.4 | 6.0 | 1 | 63 |
| 日经225 | N225 | 42 | 10.8 | 9.0 | 1 | 46 |
| 恒生科技 | HSTECH.HK | 25 | 10.8 | 9.0 | 1 | 33 |
| 德国DAX | GDAXI | 49 | 8.9 | 5.0 | 1 | 32 |
| 黄金 | GC=F | 38 | 8.6 | 7.0 | 1 | 28 |
| 有色金属 | HG=F | 39 | **7.1** | 4.0 | 1 | 23 |
| 恒生指数 | HSI | 22 | **6.5** | 5.5 | 1 | 21 |
---
## 4. 当前仍持有的标的(截尾记录)
| 标的 | 代码 | 买入日期 | 已持有天数 |
|------|------|---------|----------|
| 纳指100 | NDX | 2026-04-15 | 32 天 |
| 创业板指 | 399006.SZ | 2026-04-24 | 25 天 |
| 日经225 | N225 | 2026-05-26 | 6 天 |
---
## 5. 分析与结论
### 持有时间特征
1. **中位数仅 7 天**:策略换手频率较高,约 75% 的持有周期在 16 天以内
2. **1 天即卖出占比 16.4%**:存在较多“一日切换”,即标的刚被选入就被替换
3. **超过 50 天的长持有极其稀少**(仅 4 次1.0%),说明动量信号很难长期维持
4. **11-20 天是最常见的持有区间**23.8%),对应约 2-4 周的动量持续期
### 标的差异分析
| 特征 | 标的 | 解读 |
|------|------|------|
| 持有最久 | 纳指100均值 17.4 天) | 动量持续性最好,趋势一旦形成可维持较久 |
| 换手最快 | 恒生指数(均值 6.5 天) | 动量信号不稳定,频繁进出 |
| 进出最频繁 | 德国DAX49 次) | 作为欧洲唯一代表,经常在边际被替换 |
| 持有最稳定 | 纳指100、创业板指 | A股+美股核心资产,动量趋势明确 |
---
## 6. 1天持有深度归因分析64次 / 16.4%
### 卖出原因分类
| 原因 | 次数 | 占比 |
|------|------|------|
| **排名下降rank > 3** | 45 | 70.3% |
| **阈值跌破(低于短债阈值)** | 16 | 25.0% |
| 其他diversified机制等 | 3 | 4.7% |
### 6.1 排名下降类45次70.3%
**买入日 rank 分布**:绝大多数在 rank=3 边缘入选
| 买入日rank | 次数 | 占比 |
|-----------|------|------|
| rank=1 | 2 | 4% |
| rank=2 | 6 | 13% |
| **rank=3** | **26** | **58%** |
| rank=4 | 10 | 22% |
| rank=5 | 4 | 9% |
**卖出日 rank 分布**:微降 1-2 名即被淘汰
| 卖出日rank | 次数 | 占比 |
|-----------|------|------|
| rank=2 | 1 | 2% |
| rank=3 | 2 | 4% |
| **rank=4** | **24** | **53%** |
| **rank=5** | **14** | **31%** |
| rank=6 | 6 | 13% |
| rank=7 | 1 | 2% |
**动量变化**(买入→卖出日该标的动量得分变化):
| 指标 | 值 |
|------|------|
| 均值 | -0.0157 |
| 中位数 | 0.0000 |
| 动量上升仍被卖出 | 18/47 (38%) |
| 动量下降被卖出 | 20/47 (43%) |
> **关键发现**38% 的 1 天持有中,标的自身动量实际上升,但因为其他标的动量上升更多,导致排名相对下降而被淘汰。这是**相对排名机制的固有特性**——边际标的rank=3极易被挤出。
**diversified 机制影响**:仅 12% 的排名下降案例是因为同大类内被更强标的挤出,说明 diversified 不是主要原因。
### 6.2 阈值跌破类16次25.0%
所有 16 例均为**实际动量跌破短债阈值**(无跨市场数据缺失导致)。
典型模式:标的在买入日刚好超过阈值(边际入选),次日动量大幅回落跌破阈值。
**阈值边缘入选案例**(买入时超过阈值幅度):
- 黄金 2021-11-26买入动量 0.0379,次日降至 0.0050(阈值 0.0212
- 原油 2022-11-01买入动量 0.0359,次日降至 0.0171(阈值 0.0194
- 德国DAX 2024-06-03买入动量 0.0717,次日降至 0.0096(阈值 0.0180
**极端信号跳变案例**(买入日动量异常高,次日归零):
| 标的 | 买入日 | 买入动量 | 卖出日动量 |
|------|--------|---------|----------|
| 恒生科技 | 2024-10-15 | 58.00 | None |
| 创业板指 | 2024-10-17 | 105.33 | None |
| 原油 | 2026-03-16 | 160.89 | None |
> 这些极端值(动量 > 1.0)通常对应市场剧烈波动(如政策利好、黑天鹅事件),次日信号回归正常水平。
### 6.3 按标的分布
| 标的 | 市场 | 1天持有次数 | 占该标的总持有次数 | 1天持有率 |
|------|------|-----------|------------------|----------|
| 日经225 | JP | 11 | 42 | 26% |
| 德国DAX | EU | 11 | 49 | 22% |
| 黄金 | COMMODITY | 8 | 38 | 21% |
| 原油 | COMMODITY | 8 | 36 | 22% |
| 有色金属 | COMMODITY | 7 | 39 | 18% |
| 短债指数 | BOND | 6 | 41 | 15% |
| 纳指100 | US | 4 | 37 | 11% |
| 恒生科技 | HK | 4 | 25 | 16% |
| 恒生指数 | HK | 2 | 22 | 9% |
| 创业板指 | A | 2 | 31 | 6% |
| 中证红利低波 | A | 1 | 31 | 3% |
> 日经225 和德国DAX 是 1 天持有的高发标的(各 11 次A股标的 1 天持有率最低3-6%),说明 A 股动量信号持续性最好。
### 6.4 年份分布
| 年份 | 1天持有次数 | 占当年总持有次数 | 占比 |
|------|-----------|------------------|------|
| 2020 | 9 | 63 | 14% |
| 2021 | 14 | 60 | 23% |
| 2022 | 4 | 47 | 9% |
| 2023 | 6 | 52 | 12% |
| 2024 | 18 | 81 | 22% |
| 2025 | 9 | 67 | 13% |
| 2026 | 4 | 21 | 19% |
> 2021 和 2024 年 1 天持有率最高22-23%),对应市场波动加剧时期。
### 6.5 根因总结
```
1天持有 = 边际入选 + 信号不稳定
核心机制:
1. 标的在 rank=3 边缘入选58% 的排名下降类)
2. 次日排名微降至 rank=4/584%)即被淘汰
3. 38% 的情况下标的动量实际上升,但其他标的上升更多
4. 25% 的情况下动量直接跌破短债阈值
```
---
## 7. 对策略的启示
1. **交易成本影响**:平均持有 10.9 天,年化换手约 ~23 次(按 250 天/年 ÷ 10.90.1% 交易成本对年化收益的侵蚀约 2.3%
2. **“一日切换”可优化方向**
- **最短持有期约束**:对 rank=3 边际入选的标的,可考虑设置 ≥2 天最短持有期,避免次日即被微降排名淘汰
- **置信度过滤**:仅当标的动量超过阈值一定幅度(如 >10%)时才纳入持仓,减少阈值边缘反复切换
- **排名平滑**:使用 2-3 日动量均值作为排名依据,降低单日噪音
3. **分散化效果**不同标的持有时间差异大6.5 ~ 17.4 天),说明各市场动量节奏不同步,分散持仓有助于平滑收益
4. **跨市场对齐**日经和德国DAX 等境外标的 1 天持有率较高22-26%),可能与 A 股交易日不完全重叠导致信号滞后有关