shy3130
|
e0cd625ef4
|
feat(platform): 因子平台与因子↔策略双向联动 v0.2.3
- 因子平台: /factors 一级页(检验/因子库/编辑器/组合/挖掘), DSL 公式因子(25 算子点选、双语字段、我的因子模板、脏公式守卫), 版本与生命周期, 自动挖掘 L1 统计筛选
- 因子↔策略四条桥: 触发器 Zap 快建因子条件信号、因子一键生成排名策略、自定义信号 AI 提示词接入因子分组、策略回测因子归因(胜/败单入场信号日因子均值, 独立 tab, 双语因子名)
- 回测: 统计卡新增盈亏比(≥1 红/<1 绿), 蒙卡回撤合并为中位/95% 双值卡(自适应字号), 高级设置基础过滤与策略编辑器参数对齐(5 组区间)
- 信号库独立页 /signals(原设置 tab 迁出), 持仓提醒入导航; 挖掘并入因子页第 5 tab, /mining 旧链接重定向
- 研究线配套: 因子目录 61→77(评分/矩阵双内核), stats_v2(Newey-West/BH-FDR/DSR), enriched 管道与异动/报价服务配套调整
- 文档: README 导航与特性表、features.md 因子平台章节、操作说明书 9.2、factor-platform-plan 执行状态与 §5、二开文档桥接说明; 交流与支持节改版
- 版本 0.2.2 → 0.2.3; 后端全量 1625 passed(1 例环境性跳过), 前端 build 通过
|
2026-09-05 15:41:15 +08:00 |
|
shy3130
|
e15acddb2f
|
fix(pipeline): 停机缺口检测与自动修复, 防止盘中快照数据永久损坏
场景: 用户盘中停机后次日启动并开实时行情, 实时 flush 写出"今天"分区后,
盘后管道的「今天已有数据→只刷今天」分支会让停机日的半日快照永久留存
(close=停机时刻价, volume=半日累计, 技术指标全错且污染后续 lookback)。
判据 (quote_ts 列, 仅实时 flush 写入真实毫秒时间戳):
- null → batch 拉取/盘后计算的权威历史 → 完整
- 历史交易日时刻 < 15:00 → 盘中快照 → 坏
- ≥ 15:00 → 尾盘定版 → 完整; 今天不校验
读取走 parquet 元数据 statistics, 实测 ~0.5ms/分区。
三个钩子层层设防:
- 启动自检 (main.py): boot 后 30s 后台扫描, 窗口内坏数据自动创建修复任务
(复用 repair_daily 管道 + JobStore, ActiveJobCard 可见进度)
- 开实时门禁 (settings.py): 坏数据在 5 天窗口内 → 自动建修复任务并 409,
前端经现有 toast 机制展示; 窗口外放行不拦
- 盘后管道自愈 (daily_pipeline.py): 分支3前完整性扫描, 坏日 → 降级分支4
从 min(最新日, 坏日) 范围重拉; ETF/指数起点同步提前到各自族最早坏日
修复原语补强: 股票 enriched 的坏分区由 prune_enriched_partitions 先删再
当"新日期"重算 (增量重算只算不存在的日期, 分区已存在虽错也永不重算)。
分钟K缺口经修复管道 Step 2.5 增量同步天然补洞 (start=max(datetime) 幂等)。
测试: 新增 24 个 (判据/门禁/boot/端到端离线集成复刻用户场景),
全量 1002 passed。
|
2026-08-23 19:12:57 +08:00 |
|