docs: 补充E组文档+加工层架构(strategy_lifecycle+realtime_indicators)

This commit is contained in:
xxm
2026-08-21 11:12:50 +08:00
parent b3cfe59770
commit 37867f378c
@@ -266,3 +266,51 @@ holding_strategies 是 MoFin 系统的核心表——每只股票的"策略卡"
strategy_effectiveness(16:45) → 读K线+推荐+执行 → 评估区间职责
→ MoFin研究页面(展示) → 策略自我进化
```
### 7.7 E组:策略状态管理(strategy_lifecycle
**模块**`strategy_lifecycle.py`2805行)
**职责**:纯技术参数计算引擎(不调 LLM
| 函数 | 职责 |
|---|---|
| `regenerate_all()` | 全量技术参数重评(所有持仓+自选)|
| `reassess_strategy()` | 单只股票技术分析(支撑阻力位→买入区/止损/止盈)|
| `enforce_strategy_quality()` | 策略质量门禁(三轮自动修复)|
| `enrich_timing_signal()` | 多因子信号合成(大盘+行业+基本面+技术+组合风险)|
| `calc_atr()` / `calc_chip_sr()` | 技术指标计算(ATR/筹码分布)|
| `load_*()` | 数据加载(行业映射/市场上下文/宏观上下文)|
**调用关系**
- `premarket_full_review``regenerate_all()``reassess_strategy()` × N只
- `per_stock_reassess` → 使用 `batch_reassess` 的 collect_data+build_prompt
- `price_monitor` → 触发 `per_stock_reassess`
**与LLM的关系**strategy_lifecycle 是**规则计算路径**(不调LLM),LLM 重评是**独立路径**。两者都写 holding_strategies,但用不同 source_trigger(白名单保护不冲突)。
**E组结论**:核心引擎,职责清晰,无需改动。
---
### 7.8 加工层:实时技术指标
**新增** `realtime_indicators.py`:盘中实时计算技术指标
**数据流**
```
price_monitor(每2分钟更新价格)
→ 联动调用 realtime_indicators
→ 计算 MA/支撑阻力/RSI/bias60/dist_ma20/ATR/candle_pattern
→ 写入 stock_indicators(盘中实时)
daily_kline_collector(收盘后 16:10)→ stock_daily
fundamentals_full_refresh(收盘后 16:35)→ stock_fundamentals
factor_engine(收盘后 17:05)→ stock_indicatorsmcap_q/pe_q 等)
batch_reassess(盘后重评)
→ 从 stock_indicators 读取所有技术指标(不再重新计算)
→ 构建 prompt → LLM → 写入 holding_strategies
```
**关键原则**:数据加工层产出的数据写入加工表(stock_indicators),LLM 只读不写。