156 lines
4.0 KiB
Markdown
156 lines
4.0 KiB
Markdown
# sanguo_quant_live CI/CD 自动化回测
|
||
|
||
## 📋 概述
|
||
|
||
这是 sanguo_quant_live 全自动化回测 CI/CD 流程,**全程零干预,一条命令搞定**。
|
||
|
||
---
|
||
|
||
## 👥 明确职责分工
|
||
|
||
| 角色 | 你是谁 | 你需要做什么 | 你永远不需要做什么 |
|
||
|------|------|-------------|-----------------|
|
||
| **各位将军** | 策略开发者 | 写策略 / 改策略 → 一条命令触发回测 → 看结果 | **永远不要碰 vnpy 框架**,永远不要执行 `sanguo_nas_ci_cd.sh` |
|
||
| **姜维** | CI/CD 负责人 / vnpy 维护者 | 维护 vnpy 框架 / 修复 bug / 新增功能 → 触发完整重建 | 不需要写策略 |
|
||
|
||
> 💡 **记住:**
|
||
> - 如果你是将军写策略,你永远只用 `./sync_and_redeploy.sh`
|
||
> - 如果你是姜维维护框架,你才用 `./sanguo_nas_ci_cd.sh`
|
||
|
||
---
|
||
|
||
## 🚀 使用方法(给各位将军)
|
||
|
||
### 📝 你写完策略/改完策略,要回测了:
|
||
|
||
```bash
|
||
# 记住!你只用这个命令!
|
||
cd management/cicd
|
||
./sync_and_redeploy.sh
|
||
```
|
||
|
||
**全自动完成:**
|
||
1. ✅ 同步你本地最新策略代码到 NAS
|
||
2. ✅ 重启 Docker 容器
|
||
3. ✅ 自动运行回测
|
||
4. ✅ 自动保存结果
|
||
5. ✅ 输出回测统计结果
|
||
|
||
**全程不用你管,等着看结果就行!** 🎉
|
||
|
||
---
|
||
|
||
## 🚀 使用方法(给姜维)
|
||
|
||
### 🔧 你修改了 vnpy 框架/修复了 bug/新增了功能,需要重建环境:
|
||
|
||
```bash
|
||
# 只有姜维能用这个命令!
|
||
cd management/cicd
|
||
./sanguo_nas_ci_cd.sh
|
||
```
|
||
|
||
**全自动完成:**
|
||
1. ✅ 同步本地最新完整代码(包括 vnpy 框架)到 NAS
|
||
2. ✅ 停止旧容器
|
||
3. ✅ 完全重新构建 Docker 镜像(包含所有修改)
|
||
4. ✅ 启动新容器
|
||
5. ✅ 运行回测验证
|
||
6. ✅ 保存结果
|
||
|
||
---
|
||
|
||
## 🛟 特殊情况:rsync 同步有权限问题
|
||
|
||
```bash
|
||
cd management/cicd
|
||
./sync_with_tar.sh
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 回测结果在哪里
|
||
|
||
结果自动保存到**两个地方**:
|
||
|
||
1. **全局汇总**:
|
||
- NAS: `/volume1/stock/sanguo_vnpy/backtest_results/`
|
||
- 本地: `./backtest_results/`
|
||
|
||
2. **和策略放在一起(便于查看)**:
|
||
- `./strategies/{your_strategy}/backtest_results/`
|
||
- 结果和策略代码放在一起,找起来方便!
|
||
|
||
每个回测生成两个文件:
|
||
- `{strategy}_{YYYYMMDD_HHMMSS}.txt` - 回测统计结果(年化收益、夏普比率、最大回撤、胜率等)
|
||
- `{strategy}_{YYYYMMDD_HHMMSS}.png` - 资金曲线图
|
||
|
||
---
|
||
|
||
## 🔄 完整工作流
|
||
|
||
```
|
||
1. 各位将军开发
|
||
↓
|
||
✍️ 在本地 sanguo_quant_live 写策略 / 改策略
|
||
↓
|
||
🚀 触发回测(记住只用这个):
|
||
cd management/cicd
|
||
./sync_and_redeploy.sh
|
||
↓
|
||
🔄 自动化执行
|
||
✓ 同步最新策略到 NAS
|
||
✓ 重启容器
|
||
✓ 运行回测
|
||
✓ 保存结果(全局一份 + 策略目录一份)
|
||
↓
|
||
👀 各位将军看结果
|
||
去你的策略目录下 backtest_results/ 看结果
|
||
```
|
||
|
||
---
|
||
|
||
## 🛠️ 维护流程(给姜维)
|
||
|
||
```
|
||
1. 发现 vnpy 框架有 bug / 需要新增功能
|
||
↓
|
||
🔧 在本地 sanguo_vnpy 修改代码
|
||
↓
|
||
🚀 触发完整重建:
|
||
cd management/cicd
|
||
./sanguo_nas_ci_cd.sh
|
||
↓
|
||
🔄 自动化执行
|
||
✓ 同步完整代码到 NAS
|
||
✓ 重建 Docker 镜像
|
||
✓ 启动新容器
|
||
↓
|
||
✅ 完成,各位将军继续用
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 配置信息
|
||
|
||
- **NAS 地址:** `192.168.2.154`
|
||
- **NAS 目标目录:** `/volume1/stock/sanguo_vnpy/`
|
||
- **本地项目根目录:** `/Users/chufeng/.openclaw/sanguo_projects/sanguo_quant_live/`
|
||
|
||
---
|
||
|
||
## ✨ 方案特点
|
||
|
||
- 🤖 **全程零干预** - 你触发后全自动,不需要任何手动操作
|
||
- ⚡ **增量更新** - 策略修改不用重建 Docker,更快出结果
|
||
- 🔒 **职责隔离** - 将军只管策略,姜维只管框架,互不干扰
|
||
- 📂 **结果好查找** - 结果同时保存到全局和策略目录,方便查看
|
||
- 📊 **结果自动保存** - 统计结果 + 资金曲线图都自动保存
|
||
- 🎯 **分工清晰** - 每个人只干自己擅长的,命令记一个就行
|
||
|
||
---
|
||
|
||
**版本:** 1.0
|
||
**最后更新:** 2026-03-28
|
||
**维护负责人:** 姜维
|