模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading Agent 核心运行时/Shadow Account — 交易模式提取与回测归因/编码规范
- 对外暴露的数据契约统一使用
dataclass(frozen=True) 定义(如 ShadowRule、ShadowProfile、ShadowBacktestResult),并通过 asdict 序列化,保证跨模块不可变传输。
- 重型第三方依赖(sklearn、backtest loaders、Jinja2)采用函数内局部
import 延迟加载,避免模块导入时的冷启动成本。
- 价格上下文特征名集中在
models.PRICE_FEATURES = ("entry_rsi14", "prior_5d_return") 中声明,extractor/codegen/scanner 三方共享同一份常量,防止特征名漂移。
- 可选的外部数据获取(行情 fetch、LLM 翻译、journal 解析)一律捕获异常并降级为 None/空结果,保证 pipeline 在小样本或缺数据场景下仍可运行。
- 条件匹配采用统一的
(op, threshold) tuple 或 {min, max} dict 表示法,由 _compare 统一解析,entry_condition 与 scanner 评估共用同一套比较逻辑。
- R/SI 指标在 extractor 与 scanner 中分别独立实现相同的 Wilder-EWM 公式,而非相互 import,确保离线提取与在线扫描完全一致且无循环依赖。