32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
|
|
---
|
||
|
|
status: accepted
|
||
|
|
---
|
||
|
|
|
||
|
|
# 选股策略以公式语义为准并独立保留子信号
|
||
|
|
|
||
|
|
知行选股策略迁移时,以通达信公式原文和已确认的业务调整作为规则语义来源,
|
||
|
|
旧项目 Python 实现只作为迁移参考与差异证据。原因是旧实现存在无法历史重放的
|
||
|
|
数据行为,也会在多个 XG 条件同时命中时只保留第一个分类;直接追求旧输出兼容
|
||
|
|
会把实现缺陷固化到新系统。
|
||
|
|
|
||
|
|
新策略使用 `zhixing_b1` 作为业务标识,并把七种子信号作为独立分类。同一股票、
|
||
|
|
同一交易日可以产生多条不同分类的信号;每条信号的稳定身份由股票、交易日、
|
||
|
|
策略标识和子信号分类共同确定。
|
||
|
|
|
||
|
|
## Considered Options
|
||
|
|
|
||
|
|
- **完全兼容旧 Python 输出**:迁移成本较低,但会保留旧的首个分类截断和历史
|
||
|
|
数据前视风险。
|
||
|
|
- **只按公式返回一条合并信号**:实现简单,但会丢失子信号的解释性和后续统计
|
||
|
|
维度。
|
||
|
|
- **按公式语义计算并独立返回全部子信号**:需要增加分类结果和差异测试,但能
|
||
|
|
保持规则意图、解释能力和历史重放边界。
|
||
|
|
|
||
|
|
## Consequences
|
||
|
|
|
||
|
|
- golden 验证需要同时记录命中分类集合和有意的旧实现差异。
|
||
|
|
- 后续信号持久化可以使用 `(ts_code, trade_date, strategy, category)` 作为唯一
|
||
|
|
键,但本 ADR 不决定具体数据库表或 HTTP 契约。
|
||
|
|
- 其他策略迁移时仍需逐一确认其公式来源与历史依赖,不能自动套用旧策略的输出
|
||
|
|
兼容规则。
|