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 |
四、关键结论
- 5个模块全部可调用(war_council降级模式可调)
- alpha_bench和tdx_core零依赖,可立即用于任务2
- chip和niuniu全链路已实现,只需对接接口
- war_council的3个缺失依赖在try块内,降级不影响核心功能
- 第一轮接入只需12h(tdx_core 4h + chip 4h + margin 4h)
输出文件
| 文件 | 路径 |
|---|---|
| 本报告 | reports/backtest/Top5模块可调用性诊断.md |
等确认 → 执行任务2(L2因子层补齐+IC验证)