Files
sanguo_quant_live/management/cicd/README.md
T
2026-03-28 12:07:55 +08:00

156 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
**维护负责人:** 姜维