# analyst-knowledge-log.md ## [2026-07-09 22:00] 全市场主力建仓扫描 + 五级过滤 + LLM九维分析 ### 新增组件 | 组件 | 功能 | 调度 | |------|------|------| | `accumulation_scanner.py` | 全市场5207只A股量价异常扫描(每10分钟13秒) | `*/10 9-15` | | `candidate_filter.py` | 五级过滤管道(S2量价/S3技术/S4资金/S5基本面) | `*/30 9-15` | | `promote_candidates.py` | 自动提拔高分候选入自选 | `*/30 9-15` | | `batch_reassess.py` | 批量LLM九维分析补全(逐只处理间隔15秒) | 一次性 | ### 系统架构变更 **自选统一:** - 自选数据统一存储在 `holding_strategies(decision_type='自选策略')` - `watchlist_stocks` 表已废弃(is_active=0) - `read_watchlist()` 改为从 `holding_strategies` 读取 **DB统一:** - `~/.hermes/profiles/position-analyst/data/mofin.db` → 软链接 → `/home/hmo/MoFin/data/mofin.db` **去小果化:** - `xiaoguo_scanner` / `xiaoguo情感分析` / `xiaoguo信号消费` 全部停用 - 替代为 `accumulation_scanner.py`(纯数据驱动,0 LLM成本) ### 九维分析 `per_stock_reassess.py` 重评时自动调用LLM(gateway API)生成完整九维分析: - 数据源全部随需随拉(腾讯API实时价/PE/市值 + DB大盘/基本面/消息) - LLM输出信号+买入区间+止损止盈+仓位百分比 - 超时自动降级为代码生成 ### 冷却期机制 - `per_stock_reassess`: `reassessed_at`追踪,交易时段1小时/非交易24小时 - `price_monitor` zone breach: `_can_push()` 同股同区间30分钟冷却 ### 仓位规则 - 仅「买入」信号输出仓位建议 - 仓位公式:RR×大盘调整×品种调整,范围5%~20% - 关注/观望/卖出信号仓位为空 ### 数据清理 - DROP TABLE: stock_weekly, stock_monthly(无人读取的死表) - DROP TABLE: portfolio_state(无人读写的僵尸表) - holdings: 清除shares=0的5只持仓 - watchlist_stocks: 全部标记is_active=0(已迁移) - **发现**: candidates表有15条历史候选数据但promoted=0的都被手动标记了dropped=1(超7天未更新)。自动推广管道从未实现。 - **修改**: 新建 `scripts/promote_candidates.py` — 扫描 candidates(promoted=0+dropped=0) → stock_quote验价 → write_holding_strategy → 标记promoted - **新建cron**: 候选股自动推广-盘中(e415846d4fb6) | 0,30 9-15 * * 1-5 | no_agent | 静默模式 - **效果预期**: 新候选股在30分钟内自动进入自选+带策略,不再依赖LLM prompt ## [2026-07-09 10:40] 自愈执行器升级处理:KOSDAQ-4.1% HIGH信号 - **发现**: 自愈执行器上报盘中自检发现宏观风险HIGH(KOSDAQ-4.1% + 中信证券研报) - **判断**: 系统无故障,已知市场条件延续。KOSDAQ-4.1%是昨日KOSPI暴跌的延续,非新事件。中信证券研报是采集器误报(正常行业研报)。 - **数据验证**: 中国各指数全面脱钩改善(上证-1.26%→+0.02%,恒生-0.51%→+1.69%,科创50+0.28%→+0.62%)。持仓止损距均>3%。 - **操作**: 标记已知状态,无需新推送。08:30 LLM深度分析已覆盖并修正。 - **涉及文件**: macro_risk_state.json(已由consumer更新为processed) ## [2026-07-09 14:xx] 自愈执行器升级:信号堆积38条 - **发现**: 盘中自检触发「信号堆积: 38条未处理(需<30)」告警,自愈执行器无自动修复方案,升级到LLM处理 - **调查**: 38条为 xiaoguo 来源信号,属4h时效内积压。当前已完成消费(xiaoguo_signal_consumer每30分运行),积压自愈 - **监控盲区发现**: intraday_health_check.py 和 system_audit.py 均只监控 `source LIKE 'xiaoguo%'`,忽略 divergence_watch(80)、trend(46) 等来源的126条未处理信号 - **修复**: 两处均增加全量未处理查询,区分 xiaoguo 和其他来源分别报告 - **涉及文件**: - `scripts/intraday_health_check.py` — check_signal_pipeline: 增加 total_unproc 查询和非xiaoguo预警 - `scripts/system_audit.py` — audit_signals: 增加 total_unproc 查询和MEDIUM级别溢出预警 - `CHANGELOG.md` — 追记监控盲区修复 ## [2026-07-09 14:xx] 自愈执行器升级:信号积压126条(divergence_watch/trend无consumer) - **发现**: 自愈执行器上报「其它来源信号积压: 126条未处理(divergence_watch/trend等无consumer)」 - **调查**: divergence_watch 80条全部未处理 — divergence_detector.py写入signal_news但已自写macro_divergence_state.json,signal_news仅归档副本。trend 46条未处理 — 废弃系统的死数据,summary为空 - **修复**: divergence_detector.py — INSERT时加processed=1(归档性质不需要consumer)。DB — 80条divergence_watch + 46条trend历史标记为processed。同步cron目录MD5一致 - **效果**: signal_news 1077条全量已处理,健康检查PASS,后续不会再次积压 - **涉及文件**: scripts/divergence_detector.py, data/mofin.db, CHANGELOG.md