Repository navigation
feat(arc): 每个母体都能自动产生变体——上线满 7 天探索、参数微调研究员与基本入场 - #81
Merged
Merged
Conversation
新增 paper_admission(默认 strict,配置与任务目标各一份,任务创建时冻结)。 设为 basic 时,终验未过严格门槛(成功标准、去偏夏普、基线改善)的候选, 若在同一终验窗口对母体满足基本检查(至少一笔且不少于母体三成笔数; 收益落后不超过 max(2 个百分点, 母体回撤的一半);回撤不超过母体 +5 个百分点 且不超过 30%),以内容绑定的 val_basic_ 编号进入既有 Paper 评审路径。 严格结果如实记录(passed=false 与原因保留),接班规则在 BitPro 不变。 评审包只在基本入场时增加 admission 段,严格任务的包与哈希不变; 自动评审对基本入场按已存数字重算,不信任标记;崩溃恢复同样识别基本入场。 13 处守卫变异检验全部被用例抓住。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- launch_enabled/launch_days(默认关、7 天):完整 7+7 证据(成交门槛、14 天、成本与采样 回执)缺失时,运行满 N 个完整 UTC 日且支持来源变体的 BitPro 母体以 launch 触发研究, 不声称退化;零成交母体也可研究;其他市场目标保持原样。readiness 对 launch 机会不再挂 成交与 14 天阻断;预算准入识别 launch(未开启时 launch_disabled)。 - exploration_provider(默认 research):launch/proactive 探索任务可交给 rule_tweak; 退化与紧急任务始终用 research_provider。周期记录 provider_name。 - exploration_cooldown_hours(默认 24):来源最近一次任务是 rule_tweak 时用较短冷却, 其余仍用 cooldown_hours;扫描排序、预算状态与准入一致。 - research_windows_for:按标的数与周期把开发/终验窗口压进 BitPro 封存回测上限 (单快照 100 万根、单标的 10 万根、固定 500 根预热);120 个标的 15m 的开发窗口 119→81 天,修复 443 每天 snapshot_range_exceeds_bound。 14 处守卫变异检验全部被用例抓住。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
goal.provider_name == rule_tweak 的任务由 RuleTweakProvider 在 AVO 循环内驱动, 不调用模型:只提单参数约 ±20% 的一步邻居(整数保持 int、按授权范围截断), 完整镜像 BitPro validate_parameter_changes 的参数规则(8 对快慢周期严格递增、 动量出场阈值不超过入场阈值),因为变体创建时被 BitPro 拒绝会被记为未知效果并卡住任务; 跳过 BitPro 已赛过或排队的组合与本任务已提过的组合,按任务编号轮换起点; 开发后对有成交的候选中净收益最高者终验,否则以 rule_tweak: 开头的原因结束。 所有动作仍经同一套工具、预算、记账、终验与评审。11 处守卫变异检验全部被用例抓住。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
为什么
BitPro 每个母体有 3 个变体位,但生产上 12 个位长期占用 0。只读核对生产后发现,变体位空着是因为送候选进来的路几乎不通:
snapshot_range_exceeds_bound:120 个标的的 15m 数据,119 天开发窗口超过了 BitPro 100 万根的上限。用户要求所有策略在上线后或表现差时都能自动产生变体,并逐项拍板:
改了什么(三项都由配置开关控制,默认关闭,合入本身不改变线上行为)
基本入场
paper_admission=basic(任务创建时冻结)。严格终验未过的候选,在同一终验窗口对母体满足以下条件,就以内容绑定的val_basic_编号走原有评审:严格结果如实保留(
passed=false加原因)。状态机没改,复用candidate_validated。评审包只在基本入场时多一段admission,严格任务的包和哈希不变。自动评审按存档数字重算,不信任标记。接班仍由 BitPro 前向赛马决定(14 天里赢 12 天)。上线探索
launch_enabled/launch_days=7:母体 7+7 证据缺失、但已满 N 个完整 UTC 日,且支持来源变体时,以launch触发研究。这类任务不声称退化,零成交也行;只对 BitPro 目标生效。参数微调研究员
exploration_provider=rule_tweak:RuleTweakProvider驱动,不调用模型;退化和紧急任务仍用 AI。exploration_cooldown_hours。研究窗口适配:按标的数和周期把窗口压进 BitPro 封存回测上限。443 的开发窗口从 119 天改为 81 天。
验证
./scripts/check.sh通过:前端 lint、15 项测试、构建,ruff,mypy 320 个源文件,pytest 2369 项。build_paper_review和ARCController._reduce为 CRITICAL;_scan、readiness、usage、admit为 HIGH。应对办法是状态机不改、严格任务的评审包不变、所有新路径默认关闭。上线后(另行执行)
按用户拍板改生产配置:
launch_enabled=true、min_trades30→20、exploration_provider=rule_tweak、exploration_cooldown_hours=2、paper_admission=basic。已知限制
🤖 Generated with Claude Code