204 lines
5.4 KiB
Markdown
204 lines
5.4 KiB
Markdown
# sanguo_vnpy NAS 全自动部署方案
|
|
|
|
## 📋 方案概述
|
|
|
|
本方案将 **完整的 sanguo_quant_live 三国量化生态** 全自动部署到 NAS 环境,并提供完整的测试和执行环境。
|
|
|
|
### 包含的完整项目
|
|
|
|
1. **sanguo_quant_live** ⭐ - 三国量化完整生态(核心项目!)
|
|
- strategies/ - 所有策略代码
|
|
- jiangwei-platform/ - 三国量化实战项目
|
|
- pangtong-value/ - 价值投资研究
|
|
- zhaoyun-data/ - 数据处理
|
|
- guanyu-risk/ - 风险管理
|
|
- zhangfei-technical/ - 技术分析
|
|
- management/ - 管理工具
|
|
- archive/ - 归档资料
|
|
|
|
2. **sanguo_vnpy** - 量化框架项目 (vnpy_project)
|
|
3. **jq_essence_articles** - 聚宽精华文章调研
|
|
4. **其他研究文档** - 所有相关调研报告
|
|
|
|
### 核心特性
|
|
|
|
- ✅ **一键部署** - 单条命令完成所有准备工作
|
|
- ✅ **完整 Docker 环境** - Jupyter + VS Code + vn.py 全栈
|
|
- ✅ **完整生态** - sanguo_quant_live 全项目整合
|
|
- ✅ **数据持久化** - 所有数据保存在 NAS 上
|
|
- ✅ **示例策略** - 包含完整的回测测试环境
|
|
- ✅ **零手动干预** - 自动化程度最高的方案
|
|
|
|
---
|
|
|
|
## 🚀 三步完整部署流程
|
|
|
|
### 第一步:在 Mac mini 上运行准备脚本
|
|
|
|
```bash
|
|
cd /Users/chufeng/.openclaw/workspace-jiangwei
|
|
chmod +x sanguo_nas_deploy.sh
|
|
sudo ./sanguo_nas_deploy.sh
|
|
```
|
|
|
|
这个脚本会自动完成:
|
|
1. ✅ 挂载 NAS(如未挂载)
|
|
2. ✅ 创建完整目录结构
|
|
3. ✅ 复制本地策略文件
|
|
4. ✅ 生成 Docker 配置
|
|
5. ✅ 创建示例策略和测试脚本
|
|
6. ✅ 生成部署文档
|
|
|
|
---
|
|
|
|
### 第二步:SSH 登录 NAS 并启动 Docker
|
|
|
|
```bash
|
|
# SSH 登录 NAS
|
|
ssh admin@192.168.2.154
|
|
|
|
# 进入 Docker 目录
|
|
cd /volume1/stock/sanguo_vnpy/docker
|
|
|
|
# 构建并启动(第一次需要 5-10 分钟)
|
|
docker-compose up -d
|
|
|
|
# 查看日志,等待服务启动
|
|
docker-compose logs -f
|
|
```
|
|
|
|
---
|
|
|
|
### 第三步:访问服务并运行测试
|
|
|
|
在 Mac mini 浏览器中打开:
|
|
|
|
| 服务 | 地址 | 凭证 |
|
|
|------|------|------|
|
|
| Jupyter Lab | http://192.168.2.154:8888 | token: `sanguo123` |
|
|
| VS Code Server | http://192.168.2.154:8080 | password: `sanguo123` |
|
|
|
|
在 Jupyter Lab 中运行测试:
|
|
|
|
```python
|
|
%cd /app/tests
|
|
python test_backtest.py
|
|
```
|
|
|
|
---
|
|
|
|
## 📁 NAS 上的目录结构
|
|
|
|
```
|
|
/volume1/stock/sanguo_vnpy/
|
|
├── README.md # 部署说明文档
|
|
├── config/ # 配置文件
|
|
├── data/ # 数据目录(持久化)
|
|
│ └── A股数据/
|
|
│ ├── 日线数据/
|
|
│ ├── 分钟线数据/
|
|
│ └── 财务数据/
|
|
├── notebooks/ # Jupyter 笔记本(持久化)
|
|
├── strategies/ # 策略代码(来自 sanguo_quant_live)⭐
|
|
├── jiangwei-platform/ # 三国量化实战项目
|
|
├── pangtong-value/ # 价值投资研究
|
|
├── zhaoyun-data/ # 数据处理
|
|
├── guanyu-risk/ # 风险管理
|
|
├── zhangfei-technical/ # 技术分析
|
|
├── management/ # 管理工具
|
|
├── archive/ # 归档资料
|
|
├── projects/ # 其他项目
|
|
│ └── sanguo_vnpy_framework/ # sanguo_vnpy 量化框架
|
|
├── research/ # 研究资料
|
|
│ ├── jq_essence_articles/ # 聚宽精华文章
|
|
│ └── other/ # 其他调研报告
|
|
├── tests/ # 测试脚本
|
|
├── scripts/ # 工具脚本
|
|
│ └── deploy_on_nas.sh # NAS 上的部署脚本
|
|
├── docker/ # Docker 配置
|
|
│ ├── Dockerfile
|
|
│ ├── docker-compose.yml
|
|
│ ├── entrypoint.sh
|
|
│ ├── requirements.txt
|
|
│ └── .env
|
|
└── logs/ # 日志文件
|
|
```
|
|
|
|
---
|
|
|
|
## 🛠️ Docker 环境包含
|
|
|
|
| 组件 | 说明 |
|
|
|------|------|
|
|
| Python 3.10 | 运行环境 |
|
|
| vn.py 4.0+ | 量化框架 |
|
|
| Jupyter Lab | 策略开发环境 |
|
|
| VS Code Server | 代码编辑环境 |
|
|
| SSH 服务 | 远程访问 |
|
|
| 完整依赖 | pandas/numpy/matplotlib/TA-Lib |
|
|
|
|
---
|
|
|
|
## 🧪 测试验证清单
|
|
|
|
部署完成后,按以下步骤验证:
|
|
|
|
- [ ] 运行 `./sanguo_nas_deploy.sh` 无错误
|
|
- [ ] SSH 登录 NAS 成功
|
|
- [ ] `docker-compose up -d` 成功
|
|
- [ ] `docker-compose ps` 显示容器状态 healthy
|
|
- [ ] 浏览器访问 Jupyter Lab 成功
|
|
- [ ] 浏览器访问 VS Code 成功
|
|
- [ ] 运行 `/app/tests/test_backtest.py` 成功
|
|
- [ ] 策略文件在 `/app/strategies` 可见
|
|
- [ ] 数据目录 `/app/data` 可读写
|
|
|
|
---
|
|
|
|
## 📊 常用管理命令
|
|
|
|
```bash
|
|
# 在 NAS SSH 中执行
|
|
cd /volume1/stock/sanguo_vnpy/docker
|
|
|
|
# 查看状态
|
|
docker-compose ps
|
|
|
|
# 查看日志
|
|
docker-compose logs -f
|
|
|
|
# 重启服务
|
|
docker-compose restart
|
|
|
|
# 停止服务
|
|
docker-compose down
|
|
|
|
# 重新构建(修改配置后)
|
|
docker-compose up -d --build
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 安全说明
|
|
|
|
默认密码仅供测试:
|
|
- Jupyter token: `sanguo123`
|
|
- VS Code 密码: `sanguo123`
|
|
- SSH 密码: `sanguo123`
|
|
|
|
生产环境请修改 `docker/.env` 和 `docker/entrypoint.sh` 中的密码,然后重新构建。
|
|
|
|
---
|
|
|
|
## 🎯 总结
|
|
|
|
这个方案实现了:
|
|
|
|
1. ✅ **完全自动化** - 几乎零手动干预
|
|
2. ✅ **数据安全** - 所有数据持久化在 NAS
|
|
3. ✅ **开箱即用** - 包含完整测试环境
|
|
4. ✅ **易于维护** - Docker 容器化部署
|
|
5. ✅ **灵活扩展** - 可随时添加新策略
|
|
|
|
**只需三条命令,完成全部部署!** 🚀
|