Top5模块可调用性诊断

源文件:D:\Hermes\评估中心\reports\backtest\Top5模块可调用性诊断.md · 日期 2026-09-18 · 7KB

Top5模块可调用性诊断

执行时间: 2026-09-18
状态: ✅ 完成


一、可调用性总结

模块 代码量 可调用 阻塞点 优先级
alpha_bench.py 24K ✅直接调用 无(仅numpy/pandas) P0
tdx_core.py 19K ✅直接调用 无(仅numpy/pandas) P0
chip_concentration_pro.py 39K ✅直接调用 无(全链路实现) P1
niuniu_engine.py 25K ✅直接调用 无(全链路实现) P1
war_council.py 61K ⚠️部分可调 3个依赖缺失但try块内可跳过 P2

二、逐模块分析

1. alpha_bench.py — 因子IC/IR横评引擎

项目 内容
代码量 24K, 697行
依赖 numpy, pandas(仅)
可调用 ✅ 直接调用,无阻塞

关键接口:

# 计算单次IC(Spearman相关)
calc_ic(factor_series, target_series, n_std=1.0, name="unknown")

# 时间序列IC(逐日IC + IC均值/ICIR)
time_series_ic(factor_panel, target_col="future_ret_1", factor_cols=None, n_std=3.0)

# 从通达信.day文件构建因子面板
build_tdx_factor_panel(start, end, min_days=60)

输出: IC均值、ICIR、alive/degraded/dead判定、保留/降权/淘汰建议

使用场景: 任务2的因子IC验证可直接用此模块


2. tdx_core.py — 通达信核心算法

项目 内容
代码量 19K, 606行
依赖 numpy, pandas(仅)
可调用 ✅ 直接调用,无阻塞

关键接口:

# 主入口:输入日线DataFrame,输出结构化dict
calc_tdx_core(df: pd.DataFrame)

# 全量信号计算
calc_all_tdx_signals(stock_df, industry_df=None, index_df=None)

功能清单:
- R0资金动量
- 平均线/趋势通道
- 主力进退判断
- 主进分级(A/B/C/D)
- 筹码分布(DCZ/九十成本集中度)
- 资金攻击信号
- 多维环境共振
- 关键节点信号

内部函数(24个): _ma, _ema, _sma, _llv, _hhv, _std, _cross, _exist, _if, _abs, _sum, _max, _min等通达信函数Python移植

使用场景: 替代B5/B6代理因子,提供真实通达信指标


3. chip_concentration_pro.py — CYQ筹码结构分析

项目 内容
代码量 39K, 1164行
依赖 tushare✅, akshare✅, chip_layer✅, chip_history✅, env_loader✅
可调用 ✅ 直接调用,全链路已实现

关键接口:

# 主入口:输入6位代码,输出完整筹码结构dict
analyze_chip_concentration(code: str, verbose: bool = False) -> dict

# CYQ筹码分布
get_cyq_distribution(ts_code: str, days: int = 210, grid_size: int = 300)

# 集中度指标
get_concentration_ratios(ts_code: str, end_date: str = None)

输出字段:
- CYQ筹码分布(价格网格+筹码峰位置+获利比例)
- CR5/CR10集中度
- HHI赫芬达尔指数
- 股东户数趋势
- 异常检测(高位密集/双线背离/筹码分散)
- 操作信号(买入/加仓/减仓/止损/观望)

降级链: L1(本脚本) → L2(chip_layer) → L3(chip_history) → L4(静默)

使用场景: 替代layer2中的chip = 100 - B6代理


4. niuniu_engine.py — 牵牛哥周期论

项目 内容
代码量 25K, 677行
依赖 niuniu_config✅, data_router✅, tushare_gateway✅, env_loader✅
可调用 ✅ 直接调用,全链路已实现

关键接口:

# 主入口:输入ts_code,输出概率化状态评估
calc_state(ts_code: str, end_date: str = None, sector_tags: list = None, stock_name: str = None)

# 批量扫描
scan_watchlist(codes_list: list, end_date: str = None, top_n: int = 20) -> list

# 辅助函数
get_stock_daily(ts_code) -> DataFrame
get_weekly_line(ts_code) -> DataFrame
get_monthly_line(ts_code) -> DataFrame
detect_cycle_phase() -> (phase, prob)

输出: 周期阶段(上升/顶部/下降/底部)、概率、板块扩展性、综合评分

使用场景: 作为L3信号层的周期判断模块


5. war_council.py — 参谋团决策系统

项目 内容
代码量 61K, 1600行
依赖 16个import(13个✅存在,3个⚠️缺失但try块内)
可调用 ⚠️ 部分可调

缺失依赖处理:

缺失模块 位置 处理
sentiment_util L577, 在aggregate_four_votes的try块内 ✅ try跳过,降级为0
resonance_shadow_council L589, 在aggregate_four_votes的try块内 ✅ ENABLE_SHADOW默认True但try跳过
resonance_util L608, 在aggregate_four_votes的try块内 ✅ try跳过,降级为默认

关键接口:

# 批量评估(主入口)
evaluate_batch(stock_list, end_date=None)
# 输入: [('600519.SH', '贵州茅台'), ...]
# 输出: 评级/仓位/四参谋投票/执行清单

# 四参谋聚合
aggregate_four_votes(gate1, gate2, gate3, pias, votes, ...)
# 缺失依赖在try块内,会降级但不报错

四参谋编制:
1. 缠师本尊(consensus_evaluator.py → chan_master_vote)✅
2. 作手井论(consensus_evaluator.py → well_theory_vote)✅
3. 小混沌(consensus_evaluator.py → quant_eval_vote)✅
4. 牵牛哥(qian_niu_vote,内部定义)✅

调用链: evaluate_batch → 4参谋独立投票 → aggregate_four_votes → calculate_rating → 输出

降级模式: 3个缺失依赖在try块内,跳过后aggregate_four_votes仍可运行,但缺少情绪加分/影子修正/共振建议。核心四参谋投票不受影响。


三、接入优先级建议

第一轮接入(L2因子层,任务2)

优先级 模块 替代什么 工时
P0 alpha_bench.py IC验证工具 0h(直接用)
P0 tdx_core.py B5/B6代理→真实通达信 4h
P1 chip_concentration_pro.py chip代理→真实CYQ 4h
P1 zscore_calculator.py sector_z已有 0h(已接入)
P1 margin_layer.py margin=50→真实融资 4h

第二轮接入(L3信号层,待确认)

优先级 模块 功能 工时
P2 niuniu_engine.py 周期论信号 4h
P2 tdx_stockpickers.py 5选股公式 4h
P2 cross_dimension_reasoning.py 13层交叉推理 8h

第三轮接入(L5决策层,待确认)

优先级 模块 功能 工时
P3 war_council.py 4参谋投票 8h
P3 veto_engine.py 否决引擎 2h
P3 entry_score.py 入场评分 2h

四、关键结论

  1. 5个模块全部可调用(war_council降级模式可调)
  2. alpha_bench和tdx_core零依赖,可立即用于任务2
  3. chip和niuniu全链路已实现,只需对接接口
  4. war_council的3个缺失依赖在try块内,降级不影响核心功能
  5. 第一轮接入只需12h(tdx_core 4h + chip 4h + margin 4h)

输出文件

文件 路径
本报告 reports/backtest/Top5模块可调用性诊断.md

等确认 → 执行任务2(L2因子层补齐+IC验证)