# 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. ✅ **灵活扩展** - 可随时添加新策略

**只需三条命令，完成全部部署！** 🚀
