3.6 KiB
3.6 KiB
Auto-Evolve 运行手册
1. 目标
本手册用于把策略工厂升级为“自动进化”流程:
- 自动分析(每天)
- 自动调整(每天每币最多新增 1 条
codex优化-*) - 自动复盘(输出报告)
- 自动清理(超配时下线表现最差的 codex 策略)
注意:自动化默认仅在模拟盘执行。任何实盘动作必须人工确认。
2. 代码入口
- 自动进化脚本:
automation/auto_evolve/run_daily.py - 示例配置:
automation/auto_evolve/config.example.json - 报告输出目录:
reports/auto-evolve/YYYY-MM-DD/
3. 连接信息(快速)
完整信息见:docs/OPS_CONNECTIONS.md
3.1 服务器
gcloud compute ssh instance-20260221-064508 \
--zone asia-northeast1-b \
--project gen-lang-client-0835616737 \
--tunnel-through-iap
3.2 数据库(服务器本地)
sudo -u fzq1228 bash -lc "export PGPASSWORD=arb_engine_2026; psql -h 127.0.0.1 -U arb -d arb_engine -c 'SELECT now();'"
4. 手工运行(建议先 dry-run)
4.0 前置修复:symbol 不一致脏数据清理(一次性)
# 先看统计(不删除)
python3 scripts/fix_signal_symbol_mismatch.py
# 确认后执行删除
python3 scripts/fix_signal_symbol_mismatch.py --apply
4.1 本地或服务器 dry-run
cd /home/fzq1228/Projects/arbitrage-engine
python3 automation/auto_evolve/run_daily.py
4.2 实际执行(写入策略变更)
cd /home/fzq1228/Projects/arbitrage-engine
python3 automation/auto_evolve/run_daily.py --apply
4.3 指定配置
python3 automation/auto_evolve/run_daily.py --config automation/auto_evolve/config.example.json --apply
5. 自动策略逻辑(当前版本)
5.1 分析输入
strategies(running 策略)paper_trades(仅统计paper_trades.symbol = strategies.symbol)signal_indicators(仅统计signal_indicators.symbol = strategies.symbol)
5.2 评分
fitness = 净R + 速度因子 + 稳定性因子 + PF因子 - 样本惩罚- 样本不足会被惩罚(避免小样本幻觉)
5.3 自动调整
- 按币种识别简化 regime:
trend/high_vol/crash/range - 每币种最多产出 1 条新策略(可配置)
- 复制父策略门控参数,重点微调:
- CVD 窗口
- 四层权重
- entry score
- TP/SL/timeout
5.4 自动下线
- 若某币种
codex优化-*运行数超过阈值(默认 3) - 自动下线最差且达到最小存活时间的策略(默认 24h)
6. 每日报告内容
脚本每次执行都会输出:
- Top3 / Bottom3(fitness)
- 每币种 regime
- 本次新建策略列表
- 本次下线策略列表
- 计划日志(候选生成来源)
文件:
- Markdown:
reports/auto-evolve/YYYY-MM-DD/HHMMSS_auto_evolve.md - JSON:
reports/auto-evolve/YYYY-MM-DD/HHMMSS_auto_evolve.json
7. Codex 每日二次复盘(深度搜索)
建议每日在脚本执行后,由 Codex 自动执行第二轮复盘:
- 读取当天 auto-evolve 报告
- 联网做深度搜索(最新策略研究、订单流门控、风险控制)
- 对照本项目现状判断可落地改进项
- 若有明确提升收益的改动,触发
work-to-down模式落地到代码 - 生成复盘结论(改了什么、预期收益、风险)
这一步建议通过 Codex Automation 调度,不建议手工每天执行。
8. 安全边界
- 默认不修改历史交易,不回填旧数据。
- 自动化只操作策略参数与策略状态,不触碰用户认证/账密。
- 自动化失败时会回滚事务,不会留下半写入状态。