最终策略全景
来源: Obsidian Vault
zt-chaser 涨停追击策略 v1.0 — 最终版本说明
更新日期: 2026-06-19
代码版本: Phase 3 最终版 (含微观因子IC验证)
Git: http://192.168.123.104:3001/john/zt-chaser.git
一、策略架构全景
zt-chaser v1.0 完整架构
┌─────────────────────────────────────────────────────────────┐
│ 三源数据采集层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ zzshare │ │ akshare │ │ eltdx │ │
│ │ 主源4+月 │ │ 补丁30天 │ │ 微观结构 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 9因子评分模型 (7核心+2弱保留) │
│ F1涨停时间(17) + F2换手率(9) + F3连板数(10) │
│ + F4封单强度(14) + F5量比(5) + F6形态(10) │
│ + F7板块龙头(8) + F8竞价强度(8) + F11 VWAP(4) │
│ 总分基准: 85分 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 风控与执行层 │
│ • 阈值≥65(最优实盘参数) │
│ • 每日最多3只 × 25%仓位 │
│ • 止损-2% │
│ • 成交率模型(阈值65成交率30%) │
│ • 飞书实时推送 ✅已配置 │
└─────────────────────────────────────────────────────────────┘
二、最终因子体系 (Phase 3 IC验证后)
有效因子 — 7核心 + 2弱保留
| ID |
因子 |
权重 |
IC(46天) |
IC(6月) |
p值 |
数据源 |
说明 |
| F1 |
涨停时间 |
17 |
+0.124 |
+0.110 |
0.000 |
zzshare up_limit_time |
最强因子。9:30板次日+3.18%,尾盘+0.75% |
| F2 |
换手率 |
9 |
+0.110 |
+0.087 |
0.000 |
zzshare turnover_ration_real |
低换手涨停更好 |
| F4 |
封单强度 |
14 |
+0.065 |
+0.067 |
0.000 |
akshare seal_funds |
封板>5%流通市值=77.6%胜率 |
| F7 |
板块龙头 |
8 |
+0.080 |
+0.065 |
0.000 |
zzshare plate_score |
热门板块涨停 vs 冷门差10pp |
| F3 |
连板数 |
10 |
-0.070 |
-0.056 |
0.000 |
zzshare up_limit_keep_times |
负IC符合预期:首板优于二板 |
| F6 |
个股形态 |
10 |
-0.054 |
-0.037 |
0.001 |
zzshare daily K线 |
盘整突破最优,连续上攻需谨慎 |
| F8 |
竞价强度 |
8 |
+0.036 |
— |
0.034 |
eltdx get_call_auction |
微观新增✅。竞价资金态度有预测力 |
| F5 |
量比 |
5 |
-0.033 |
— |
0.058 |
eltdx get_minute |
弱保留。负方向=放量涨停抛压重 |
| F11 |
VWAP斜率 |
4 |
+0.029 |
— |
0.107 |
eltdx get_minute |
弱保留。涨停后VWAP趋势 |
移除因子 (统计无效,权重=0)
| ID |
因子 |
IC |
p值 |
移除原因 |
| F9 |
炸板次数 |
-0.011 |
0.507 |
统计不显著 |
| F12 |
创新高 |
-0.004 |
0.823 |
完全无效 |
| F10 |
涨停前量价 |
+0.005 |
0.793 |
完全无效 |
加分项 (上限+15)
| 加分 |
分值 |
条件 |
数据源 |
| 一字板 |
+5 |
up_limit_type 含"一" |
zzshare |
| 首次涨停+利好 |
+5 |
连板=1 且 reason含(利好/中标/预增/重组/并购) |
zzshare |
| 龙虎榜上榜 |
+5 |
has_lhb=1 |
zzshare lhb_list |
三、最终回测数据
6个月连续回测 (2026-01-22 ~ 2026-06-17, 96交易日)
| 指标 |
全涨停Baseline |
≥65阈值 |
≥70阈值 |
| 样本量 |
6964笔 |
280笔 |
180笔 |
| 胜率 |
57.7% |
73.6% |
80.6% |
| 均值收益 |
+1.75% |
+5.74% |
+6.83% |
| 最大回撤 |
— |
-1.6% |
-1.6% |
| 最大连亏 |
— |
5笔 |
3笔 |
跨周期稳健性验证
| 指标 |
46天回测 |
6个月回测 |
衰减 |
判定 |
| Baseline胜率 |
58.4% |
57.7% |
-0.7pp |
✅极稳定 |
| ≥65胜率 |
72.2% |
73.6% |
+1.4pp |
✅不降反升 |
| ≥65均值收益 |
+4.11% |
+4.16% |
+0.05pp |
✅稳定 |
样本外验证 (前67% vs 后33%)
| 期间 |
≥65笔数 |
胜率 |
均值 |
| 早期(63天) |
464 |
70.3% |
+4.22% |
| 晚期(32天) |
244 |
72.5% |
+4.04% |
晚期胜率反而高2.2pp——策略近期仍有效,无衰退迹象。
Phase 2→3 增量 (微观因子纳入后)
| 指标 |
Phase 2(6因子) |
Phase 3(9因子) |
变化 |
| ≥65胜率 |
76.1% |
76.8% |
+0.7pp |
| ≥65均值 |
+5.68% |
+5.73% |
+0.05pp |
| 最大回撤 |
-2.5% |
-1.6% |
+0.9pp改善 |
四、成交率模型 (核心创新)
成交率与评分高度负相关——评分越高封单越强越难买到:
| 评分段 |
笔数 |
平均成交率 |
名义胜率 |
有效胜率(蒙特卡洛) |
| <50 |
1052 |
67.8% |
55.9% |
~57% |
| 50-60 |
1424 |
53.2% |
56.6% |
~58% |
| 60-65 |
718 |
42.0% |
58.8% |
~62% |
| 65-70 |
247 |
37.6% |
68.4% |
~69% |
| 70-80 |
101 |
15.4% |
80.2% |
~71% |
| >80 |
12 |
2.4% |
83.3% |
~91% |
最优实盘阈值=65:成交率30%与收益率的最佳平衡点。
成交率时间衰减因子(尾盘涨停更容易买到):
| 时间段 |
修正系数 |
说明 |
| 09:30-09:45 |
0.6 |
早盘极强封板,最难买 |
| 09:45-10:30 |
0.8 |
有一定机会 |
| 10:30-11:30 |
1.0 |
基准 |
| 13:00-14:00 |
1.2 |
午后相对容易 |
| 14:00-15:00 |
1.5 |
尾盘最容易买 |
五、实盘参数 (最终版)
| 参数 |
值 |
依据 |
| 入场阈值 |
≥65 |
成交率模型最优 |
| 每日最多 |
3只 |
与回测日均一致 |
| 单只仓位 |
25% |
风控约束 |
| 止损线 |
-2% |
次日开盘低于买入价即卖 |
| 卖出策略 |
T+1收盘卖 |
隔夜策略 |
| 预期有效胜率 |
68-70% |
成交率调整后 |
| 预期日均成交 |
0.9笔 |
30%成交率 |
六、飞书推送 ✅已配置
- Webhook: https://open.feishu.cn/open-apis/bot/v2/hook/1cd24133-*** (已写入~/.bashrc)
- 关键词: 涨停 / 通知 / 提示
- 推送内容: 评分 + 因子明细 + 技术面(MA5/MA20/BOLL/RSI/近5日振幅) + 成交率 + 买入建议
- 测试状态: ✅ 已成功推送测试消息和模拟信号
推送格式示例:
1. 600353 旭光电子 | 评分:72
涨停: 09:25 | 2板 | 板块: 其他电子
封板: 5.3亿 | 换手: 0.5%
炸板: 0次
MA5=35.03 MA20=27.30 多头排列↑ (偏离MA5:+19.9%)
BOLL: 16.31~38.28 (位置117%)
RSI(14)=84 超买
近5日: 均振幅5.8% | 累计+40.3%
🔴 成交概率: 22%
七、代码仓库
http://192.168.123.104:3001/john/zt-chaser.git
zt-chaser/
├── config.yaml # 因子权重+阈值+过滤条件
├── src/
│ ├── data_pipeline.py # 三源采集+时间对齐
│ ├── factors.py # 12因子+加分项(含safe_float)
│ ├── micro_factors.py # F6 K线+eltdx微观因子采集
│ ├── tech_indicators.py # MA/BOLL/RSI技术面增强(stockstats)
│ ├── analysis.py # 因子分档+热力图+HTML报告
│ ├── backtest.py # 连续回测+参数网格
│ ├── fill_model.py # 成交率模型+蒙特卡洛+时间衰减
│ ├── live_scanner.py # 实盘盘中筛选器
│ └── notifier.py # 飞书推送(含技术面格式)
├── scripts/
│ ├── run_phase1.py # Phase 1因子验证
│ ├── run_phase2.py # Phase 2因子补全+F6
│ ├── run_phase3a.py # eltdx微观因子采集(3621条)
│ ├── run_phase3c.py # 6个月跨周期验证
│ ├── validate_micro_factors.py # 微观因子IC自动验证
│ └── simulation_runner.py # 模拟盘运行器(扫描/结算/总结)
├── reports/ # 6份HTML分析报告
└── data/cache/ # parquet+pickle缓存(.gitignore)
八、已知陷阱与教训
| # |
陷阱 |
解决方案 |
| 1 |
zzshare uplimit_stocks 返回按板块展开的重复记录(9只×N板块) |
用 review_uplimit_reason 去重 |
| 2 |
zzshare daily(trade_date=) 默认limit=100 |
需设limit=10000获取全市场 |
| 3 |
eltdx time_minutes 是"从午夜起的分钟数"(非秒) |
用trade_datetime或time_label解析 |
| 4 |
eltdx 逐笔side对涨停股几乎全是'sell' |
F10改用分钟数据算量价配合(但IC仍无效) |
| 5 |
stockstats需要中括号 sdf["close_5_sma"] 触发计算 |
不能用 .get() 或 .iloc[-1].get() |
| 6 |
F6形态判定顺序影响分布 |
先判盘整突破(100)→连续上攻(30)→超跌反弹(60) |
| 7 |
连续回测夏普22.9不真实 |
非连续持仓导致, 实盘预估2-4 |
九、模拟盘启动清单
| # |
检查项 |
状态 |
| 1 |
飞书Webhook已配置环境变量 |
✅ |
| 2 |
测试推送消息已收到 |
✅ |
| 3 |
微观因子IC验证完成 |
✅ F8纳入 |
| 4 |
6个月跨周期验证通过 |
✅ 衰减1.2pp |
| 5 |
代码已提交Git |
✅ |
| 6 |
模拟盘初始资金(100万虚拟) |
⬜ 待启动 |
| 7 |
每日扫描时段(9:25-15:00) |
⬜ 待启动 |
| 8 |
模拟盘结果跟踪记录 |
⬜ 待启动 |
启动命令:
# 新终端(让.bashrc生效)
cd "/mnt/c/Users/John Cheng/Documents/Obsidian Vault/mystocks/策略/zt-chaser"
/root/miniconda3/envs/stock/bin/python scripts/simulation_runner.py --scan # 盘中扫描
/root/miniconda3/envs/stock/bin/python scripts/simulation_runner.py --settle # 收盘结算
/root/miniconda3/envs/stock/bin/python scripts/simulation_runner.py --summary # 输出总结
十、迭代历史
| 版本 |
日期 |
改动 |
关键结果 |
| v0.1 |
06-18 |
初始设计12因子+4加分项 |
方案通过审核 |
| v0.2 |
06-18 |
7条审核改进+三源融合架构 |
DATA_SOURCES_COMPARISON对标 |
| v0.3 |
06-18 |
Phase 1: 46天3554笔回测 |
6因子IC显著, 移除F9/F12 |
| v0.4 |
06-18 |
Phase 2: F6补全+连续回测 |
≥65胜率77.2%, 回撤-2.5% |
| v0.5 |
06-18 |
成交率模型+蒙特卡洛 |
阈值65为最优实盘参数 |
| v0.6 |
06-18 |
6个月跨周期验证 |
衰减1.2pp, 极稳健 |
| v0.7 |
06-18 |
飞书推送+技术面增强 |
MA/BOLL/RSI推送就绪 |
| v1.0 |
06-19 |
微观因子IC验证+权重终版 |
F8竞价纳入, ≥65胜率76.8% |
十一、关键风险提示
- 夏普比率虚高:回测22.9不真实(非连续持仓),实盘预估2-4
- 涨停成交率:阈值65仅30%成交率,高评分票封单强买不到
- 样本量:96交易日6964笔,需持续跟踪验证
- 市场环境依赖:策略在主题轮动快、首板溢价明显的阶段表现最佳
- 本策略不构成投资建议,仅供量化研究参考