145 lines
3.6 KiB
Markdown
145 lines
3.6 KiB
Markdown
# Auto-Evolve 运行手册
|
||
|
||
## 1. 目标
|
||
|
||
本手册用于把策略工厂升级为“自动进化”流程:
|
||
|
||
1. 自动分析(每天)
|
||
2. 自动调整(每天每币最多新增 1 条 `codex优化-*`)
|
||
3. 自动复盘(输出报告)
|
||
4. 自动清理(超配时下线表现最差的 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 服务器
|
||
|
||
```bash
|
||
gcloud compute ssh instance-20260221-064508 \
|
||
--zone asia-northeast1-b \
|
||
--project gen-lang-client-0835616737 \
|
||
--tunnel-through-iap
|
||
```
|
||
|
||
### 3.2 数据库(服务器本地)
|
||
|
||
```bash
|
||
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 不一致脏数据清理(一次性)
|
||
|
||
```bash
|
||
# 先看统计(不删除)
|
||
python3 scripts/fix_signal_symbol_mismatch.py
|
||
|
||
# 确认后执行删除
|
||
python3 scripts/fix_signal_symbol_mismatch.py --apply
|
||
```
|
||
|
||
### 4.1 本地或服务器 dry-run
|
||
|
||
```bash
|
||
cd /home/fzq1228/Projects/arbitrage-engine
|
||
python3 automation/auto_evolve/run_daily.py
|
||
```
|
||
|
||
### 4.2 实际执行(写入策略变更)
|
||
|
||
```bash
|
||
cd /home/fzq1228/Projects/arbitrage-engine
|
||
python3 automation/auto_evolve/run_daily.py --apply
|
||
```
|
||
|
||
### 4.3 指定配置
|
||
|
||
```bash
|
||
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 自动执行第二轮复盘:
|
||
|
||
1. 读取当天 auto-evolve 报告
|
||
2. 联网做深度搜索(最新策略研究、订单流门控、风险控制)
|
||
3. 对照本项目现状判断可落地改进项
|
||
4. 若有明确提升收益的改动,触发 `work-to-down` 模式落地到代码
|
||
5. 生成复盘结论(改了什么、预期收益、风险)
|
||
|
||
> 这一步建议通过 Codex Automation 调度,不建议手工每天执行。
|
||
|
||
---
|
||
|
||
## 8. 安全边界
|
||
|
||
- 默认不修改历史交易,不回填旧数据。
|
||
- 自动化只操作策略参数与策略状态,不触碰用户认证/账密。
|
||
- 自动化失败时会回滚事务,不会留下半写入状态。
|