|
|
@@ -106,3 +106,23 @@ This document consolidates the product requirements, technical architecture, and
|
|
|
- 引入“连续 N 个 tick 无成交”与`average_fill_interval` 等指标,作为步长/范围动态压缩的触发条件。
|
|
|
- 设计压缩策略:在成交缺失时短暂降低 `min_grid_step_bps` / 增加 `min_layers`,成交恢复后渐进回调,避免频繁震荡。
|
|
|
- 在多账户/多实例场景下协调压缩动作,防止多个实例同时过度收紧导致限流;配套指标与运维回滚步骤。
|
|
|
+
|
|
|
+## M1.6 Detailed Development Plan
|
|
|
+
|
|
|
+| # | Workstream | Deliverables | Dependencies | Notes / Owner Handoff |
|
|
|
+|---|------------|--------------|--------------|-----------------------|
|
|
|
+| 1 | Incremental Grid Engine | `GridMaker.reconcileGrid()`、`GridLevel` 状态机、并发安全检查;Router 支持 `modify`/批次撤单;Metrics:`grid_pending_levels`, `grid_incremental_rate`, `grid_modify_failures`;降级开关 `grid.incremental_mode` | 交易所不提供原生 `modify` 时,需要定义 `cancel+place` 原子操作;需先落地 Gateway 线程安全队列 | 完成后先灰度单实例,确保 fallback 正常 |
|
|
|
+| 2 | Placement Throttling 2.0 | WS gateway 令牌桶、批次发送结构;全局节流配置(burst、refill、maxQueueDepth);告警阈值:`placement_latency_p95`、`order_gateway_queue_depth` | 依赖 Workstream 1 的批次 API;需要针对 maker / hedger / 内外圈账号设置不同 burst | 产出运维 Playbook:burst 超限时如何调参或降级 |
|
|
|
+| 3 | Fill-driven Tightening | 新增指标:`fill_count_tick`, `avg_fill_interval`, `no_fill_duration`; 策略:连续 N tick 无成交→临时压缩步长(因子 α)、提升 `min_layers`、或缩小 `grid_range_bps`;成交恢复 → 退回 | 依赖 Workstream 2 的稳定节流,防止压缩后爆限流;需要与风险/对冲协同调整阈值 | 同步更新 `config.yaml` schema (`adaptive.fill_starvation_threshold`, `fill_compression_factor`) 以及 config reference |
|
|
|
+| 4 | Multi-instance Fleet Manager | `grid.instances[]` 配置;`GridFleetManager` 生命周期管理(启动、更新、停用);跨实例 STP/限流整合;实例级指标 (per account/symbol) | Workstream 1–3 提供基础能力,否则多实例会放大问题;可能需要引入新的 config loader | 提供 CLI/REST 操作 (`fleet:list`, `fleet:scale`, `fleet:degrade`) 与审计记录 |
|
|
|
+| 5 | Extreme Micro-grid Sandbox | 设立测试配置 `config/micro_grid_extreme.yaml`;实验 1–2 bps 步长 + 0–1 bps cushion 的限流曲线;自动回滚脚本 | 需完成 Workstream 2 的节流以及 Workstream 3 的成交压缩,以防实盘崩溃 | 第一阶段仅在测试网运行,收集 RPC RTT、post-only 成功率、成交分布 |
|
|
|
+| 6 | Documentation & Runbook | 更新 `CONFIG_REFERENCE`, `OPERATIONS_PLAYBOOK`, `README` 示例;新增“增量模式调参”、“多实例扩缩容”、“无成交压缩”章节;Prometheus/Grafana dashboards | 需等以上工作流产出接口与指标后同步 | 标准化金丝雀流程,提供回滚 checklist |
|
|
|
+
|
|
|
+### Implementation Notes
|
|
|
+- **优先级建议**:先完成 Workstream 1 & 2 打牢基础(局部改单、节流),再处理 fill-driven & multi-instance 联动;最后做极限模式实验。
|
|
|
+- **风险控制**:任何自动压缩策略必须设置硬性下限(步长 ≥ 1 bps;累计压缩次数/幅度在窗体内受限),避免造成自激振荡。
|
|
|
+- **测试策略**:
|
|
|
+ 1. 单实例回归测试:模拟不同波动与成交场景,验证 `reconcileGrid()` 不会错删订单。
|
|
|
+ 2. 多实例压测:分别对内圈/外圈实例注入延迟、限流,观测节流与降级行为。
|
|
|
+ 3. 极限模式灰度:只在测试环境或小资金账号运行,记录限流情况,验证回滚脚本。
|
|
|
+- **运维对接**:在 Playbook 中明确“如何判断增量模式失效”、“如何启用/关闭 fill-driven 压缩”、“多账户实例差异化策略(内圈挂更紧、外圈更宽)”等操作步骤。
|