Hermes选股逻辑完整梳理
源文件:D:\Hermes\评估中心\reports\backtest\Hermes选股逻辑完整梳理.md · 日期 2026-09-18 · 9KB
Hermes选股逻辑完整梳理
执行时间: 2026-09-18
状态: ✅ 完成
一、Hermes已有选股模块清单
1.1 核心模块(已实现)
| 模块 |
文件 |
大小 |
功能 |
状态 |
| war_council |
war_council.py |
74K |
六层门控决策 |
✅完整 |
| tdx_core |
tdx_core.py |
19K |
通达信核心算法 |
✅完整 |
| chip_concentration_pro |
chip_concentration_pro.py |
38K |
筹码分布分析 |
✅完整 |
| niuniu_engine |
niuniu_engine.py |
25K |
牵牛哥周期论 |
✅完整 |
| margin_layer |
margin_layer.py |
15K |
两融分析 |
✅完整 |
| alpha_bench |
alpha_bench.py |
23K |
因子IC横评 |
✅完整 |
| factor_engine_lite |
factor_engine_lite_v2.py |
12K |
因子引擎 |
✅完整 |
| daily_formula_backtest |
daily_formula_backtest.py |
18K |
公式回测 |
✅完整 |
| mainline_detector |
mainline_detector.py |
19K |
主线识别 |
✅完整 |
| flower_venus_layer |
flower_venus_layer.py |
7K |
花穿20信号 |
✅完整 |
| fund_flow |
fund_flow.py |
9K |
资金流向 |
✅完整 |
| institutional_flow |
institutional_flow.py |
8K |
机构资金流 |
✅完整 |
| divergence_detector |
divergence_detector.py |
? |
背离检测 |
✅完整 |
1.2 子模块函数清单
war_council.py(参谋团)
qian_niu_vote() — 牵牛主将投票(板块轮动+三盘定仓)
sentiment_cycle_check() — 情绪周期检查
check_overnight_risk() — T+1隔夜风险
check_liquidity() — 流动性检查
check_policy_risk() — 政策风险检查
tdx_core.py(通达信核心)
_ref_bool/series() — REF函数
_ma/ema/llv/hhv/std/sma() — 技术指标
_cross/exist/if/abs/sum/max/min() — 逻辑函数
calc_tdx_core() — 主函数,输出:
core_metrics: r0, r0ma5, avg_line
trend_channel: mid, upper, lower, position
chip_distribution: concentration_pct, dcz
grade: 等级A/B/C/D
chip_concentration_pro.py(筹码分析)
analyze_chip_concentration() — 主入口
get_concentration_ratios() — CR5/CR10/HHI
get_cyq_distribution() — CYQ筹码分布
get_holder_trend() — 股东户数趋势
detect_anomalies() — 异常检测
niuniu_engine.py(牵牛哥周期论)
get_stock_daily() — 日K线
get_weekly_line() — 聚合周线
get_monthly_line() — 聚合月线
detect_cycle_phase() — 周期阶段判定(穷/变/通/久)
match_sector_extensibility() — 板块延展性
calc_state() — 统一评估,输出:
- phase, score, rating(S/A/B/C/D)
- buy_prob, avoid_prob
- gate_pass, operation建议
daily_formula_backtest.py(公式回测)
calc_ind() — 计算指标:
- MA系列: ma5/10/13/20/30/34/45/55/60/89/120/144/233
- EMA系列: ema3, ema7
- MACD: dif, dea
- wave: 波浪强度
- r0: 资金攻击强度
- dcz: 20日中位数(筹码中位线)
- pos60/pos120: 价格位置
sig_huangjin() — 黄金右侧信号
sig_zj20wj() — 主进20稳健信号
sig_zj20g() — 主进20改信号
sig_wushuang5() — 终极无双5信号
sig_huangjin_yan() — 黄金右侧严信号
f2_weekly.py(F2周线选股)
- 9因子打分系统:
1. 主力R0(zl_in)
2. 大盘多头(market_ok)
3. DCZ上行(dcz_up)
4. 量比放大(wk_vv>1.2)
5. 站上MA20(c_above_m20)
6. MA20上行(m20_up)
7. 周线多头(wk_duo)
8. 收盘>DCZ(c_above_dcz)
9. wave突破(wave>avg_w)
10. 周线上穿20MA(加分项)
- 分级:A级(主进强)≥8分且条件满足,B级(主进稳)≥6分
mainline_detector.py(主线识别)
detect_mainline() — 主线板块识别
- 返回:mainline_sectors, history, top10_history
- 状态:启动/主升/退潮/卡位中/观望
二、五层漏斗定义
第一层(触发):信号识别
| 信号 |
定义 |
数据源 |
实现状态 |
| 月线主进选 |
月度涨幅>10% + MA60向上 |
TDX月线(聚合) |
⚠️部分:niuniu有月线聚合,但无"主进"定义 |
| 月线主进优 |
月度涨幅>20% + 放量确认 |
TDX月线(聚合) |
❌缺失 |
| 周线主进强 |
A级信号:9因子全部满足 |
TDX日K聚合周线 |
✅完整(f2_weekly.py) |
| 周线主进稳 |
B级信号:核心3因子+辅助2因子 |
TDX日K聚合周线 |
✅完整(f2_weekly.py) |
| 周线花穿20 |
EMA3当日穿过MA20向上 |
TDX日线 |
✅完整(flower_venus_layer.py) |
| 20均线不向下 |
MA20当日>前日 |
TDX日线 |
✅完整(tdx_core.py) |
| DCZ站上 |
收盘>20日中位数 |
TDX日线 |
✅完整(daily_formula_backtest.py) |
| 月周共振强 |
月线主进+周线主进同时满足 |
周线+月线 |
⚠️部分:需组合两个信号 |
第二层(确认):筹码与两融
| 信号 |
定义 |
数据源 |
实现状态 |
| 筹码集中度CR5 |
前5大股东持股<50% |
Tushare股东研究 |
✅完整(chip_concentration_pro.py) |
| 筹码集中度CR10 |
前10大股东持股<70% |
Tushare股东研究 |
✅完整(chip_concentration_pro.py) |
| CYQ分布 |
筹码分布集中度 |
TDX日线模拟 |
✅完整(tdx_core.py) |
| 两融融资余额 |
融资余额变化率 |
Tushare融资融券 |
✅完整(margin_layer.py) |
| 高位出货判断 |
融资余额>50亿+股价高位震荡 |
融资数据+价格 |
⚠️部分:margin_layer有评分,无"高位出货"定义 |
| 诱多判断 |
放量滞涨+融资增加 |
成交量+价格 |
❌缺失 |
第三层(进场):技术择时
| 信号 |
定义 |
数据源 |
实现状态 |
| 缠论分型 |
顶分型/底分型 |
TDX日线 |
❌缺失:无缠论模块 |
| 缠论笔 |
包含关系处理后的一顶一底 |
TDX日线 |
❌缺失 |
| 缠论中枢 |
三笔重叠区间 |
TDX日线 |
❌缺失 |
| 井论五段 |
MACD面积+五段形态 |
TDX日线 |
⚠️部分:war_council引用,但无实现 |
| 牵牛周期阶段 |
穷/变/通/久 |
沪深300+涨跌比 |
✅完整(niuniu_engine.py) |
| 牵牛硬门槛 |
站上MA60 + MA60向上 + 放量确认 |
TDX日线 |
✅完整(niuniu_engine.py) |
第四层(方向):板块共振
| 信号 |
定义 |
数据源 |
实现状态 |
| 板块Zscore |
板块涨幅排名Z值 |
Tushare板块指数 |
❌缺失:无sector_z模块 |
| 主线识别 |
连续进TOP10 + 排名上升 |
Tushare行业资金流 |
✅完整(mainline_detector.py) |
| 资金攻击 |
R0>0 + avg上升 |
TDX日线 |
✅完整(tdx_core.py) |
| 板块延展性 |
名称关键词匹配 |
股票名称 |
✅完整(niuniu_engine.py) |
第五层(仓位):大盘择时
| 信号 |
定义 |
数据源 |
实现状态 |
| 大盘多头 |
沪深300>MA60 + MA60向上 |
TDX日线 |
✅完整(f2_weekly.py) |
| 情绪周期 |
穷/变/通/久 |
涨跌家数比 |
✅完整(niuniu_engine.py) |
| 仓位映射 |
四参谋投票→仓位百分比 |
参谋团 |
✅完整(war_council.py) |
| VETO否决 |
缠师/井论/PIAS一票否决 |
多模块 |
⚠️部分:war_council框架完整,子模块缺失 |
三、关键缺失分析
3.1 第一层缺失
- ❌ 月线主进选/优:只有niuniu的月线聚合,无"主进"定义
- ❌ 月周共振强:需要组合月线和周线信号
3.2 第二层缺失
- ❌ 高位出货判断:margin_layer只有评分,无"出货"定义
- ❌ 诱多判断:无实现
3.3 第三层缺失(最严重)
- ❌ 缠论全套:分型/笔/中枢全部缺失
- ❌ 井论五段:war_council引用但无实现
- ⚠️ 牵牛周期:有周期判定,但无"缠论进场点"
3.4 第四层缺失
- ❌ 板块Zscore:完全缺失
- ⚠️ 主线识别:有但仅基于资金流,无Zscore
3.5 第五层缺失
四、已有信号的IC验证建议
基于任务1-2的IC结果,以下信号可优先验证:
| 信号 |
模块 |
IC情况 |
建议 |
| B5_trend(20日趋势) |
factor_engine_lite |
-0.1585(T+20) |
反向使用 |
| B6_volatility(波动率) |
factor_engine_lite |
-0.1607(T+20) |
反向使用 |
| A1_proxy(放量) |
factor_engine_lite |
-0.0630(T+20) |
反向使用 |
| tdx_avg_line |
tdx_core |
+0.0345(T+1) |
边缘有效 |
| 周线主进强(A级) |
f2_weekly |
待验证 |
重点验证 |
| 周线主进稳(B级) |
f2_weekly |
待验证 |
重点验证 |
| 花穿20 |
flower_venus_layer |
待验证 |
重点验证 |
| 主线识别 |
mainline_detector |
待验证 |
重点验证 |
五、下一步建议
方案A:验证已有信号
- 用f2_weekly的A级/B级信号跑回测
- 用flower_venus_layer的花穿20信号跑回测
- 用mainline_detector的主线信号跑回测
- 对比各信号命中率
方案B:补齐缺失模块
- 实现缠论(分型/笔/中枢)— 预计16h
- 实现井论(五段形态)— 预计8h
- 实现板块Zscore — 预计4h
- 实现"高位出货"判断 — 预计4h
推荐路径
先方案A(1天),验证已有信号有效性 → 再决定方案B是否需要
等确认 → 执行方案A:验证已有信号