Document cloud server sizing and region guidance.
Add recommended VPS specs and low-latency region notes for deploy and commercial delivery. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -16,6 +16,9 @@
|
||||
| 进程管理 | PM2(`eth-hedge-api`) |
|
||||
| 安装目录 | `/opt/eth_hedge_sim` |
|
||||
| 端口 | **5155** |
|
||||
| 云服务器(推荐) | **2 vCPU / 2 GB / 40 GB SSD**;地域优先香港、新加坡等低延迟区 |
|
||||
|
||||
云服务器最低/推荐/余量规格、地域与带宽选择见 **[开发方案 §6.0 云服务器配置选择说明](docs/开发方案.md#60-云服务器配置选择说明)**。
|
||||
|
||||
## 文档
|
||||
|
||||
|
||||
+233
-222
@@ -1,222 +1,233 @@
|
||||
# 比特骆驼自动化对冲系统 — 商业化与授权方案(初步)
|
||||
|
||||
> **产品名**:比特骆驼自动化对冲系统 · **工程**:`eth_hedge_sim`
|
||||
> 状态:草案,指导后续开发,细节可迭代。
|
||||
> 商业模式结论:**客户侧部署 + 软件授权**(不做中心化多租户托管)。
|
||||
> 关联文档:[开发方案](./开发方案.md)、[代码结构](./代码结构.md)
|
||||
|
||||
---
|
||||
|
||||
## 1. 目标与边界
|
||||
|
||||
### 1.1 卖什么
|
||||
|
||||
| 项 | 约定 |
|
||||
|----|------|
|
||||
| 产品名 | **比特骆驼自动化对冲系统** |
|
||||
| 产品形态 | 可独立部署的对冲交易系统(SIM + 可选实盘) |
|
||||
| 交付方式 | 安装包 / 一键脚本 / Docker(后续择一为主) |
|
||||
| 收费方式 | **授权(License)**:按实例、按期限、按功能档 |
|
||||
| 不卖什么 | 不承诺收益;不做代客理财;不集中托管客户 API Key |
|
||||
|
||||
### 1.2 为什么不做 SaaS 托管
|
||||
|
||||
| 风险 | 说明 |
|
||||
|------|------|
|
||||
| 交易所限流 | REST/WS 按 IP、API Key 限流;多客户共机互相挤占 |
|
||||
| 同 IP 风控 | 一公网 IP 对多交易所、多 Key 高频请求,易触发异常标记 |
|
||||
| 密钥与责任 | 客户 Key 进你机房,合规与事故责任更重 |
|
||||
| 运维成本 | 你要为所有客户的行情稳定性买单 |
|
||||
|
||||
**原则:一客户一实例一出口 IP(或客户自有网络)。**
|
||||
|
||||
### 1.3 产品定位一句话
|
||||
|
||||
> **比特骆驼自动化对冲系统**:客户在自己的服务器上部署;API Key 不出客户环境;你提供软件、更新与授权。
|
||||
|
||||
---
|
||||
|
||||
## 2. 交付与部署
|
||||
|
||||
### 2.1 目标交付形态(分阶段)
|
||||
|
||||
| 阶段 | 形态 | 说明 |
|
||||
|------|------|------|
|
||||
| 现在(内部) | Git + `deploy/manage.sh` + PM2 | 已具备,继续打磨成「可复制安装」 |
|
||||
| 商用 v1 | **一键部署脚本** + 环境检查 + 健康检查 | 客户 **Ubuntu 22.04** 机器上跑通 |
|
||||
| 商用 v2 | **Docker Compose**(可选) | 降低环境差异;与脚本二选一或并存 |
|
||||
| 商用 v3 | 离线包 / 镜像导出 | 内网客户、无法拉 Git 的场景 |
|
||||
|
||||
### 2.2 客户侧必备条件
|
||||
|
||||
- 一台独立 **Ubuntu 22.04** 主机(建议独立 IP)
|
||||
- 出网访问目标交易所 API(OKX 等)
|
||||
- 域名或 IP + HTTPS(可用反代)
|
||||
- 客户自备交易所 API Key(只读行情 / 实盘交易按档位要求)
|
||||
|
||||
### 2.3 部署流程(商用目标体验)
|
||||
|
||||
1. 客户拿到安装脚本或镜像 + **授权码**
|
||||
2. 填写 `.env`(账号、交易所 Key、授权码)
|
||||
3. 一键安装 → 健康检查通过
|
||||
4. 浏览器登录 → SIM 可演示;实盘需对应授权档位 + 二次确认
|
||||
|
||||
### 2.4 更新策略
|
||||
|
||||
- 默认:客户机 `git pull` / 镜像升级 + 构建 + 仅 reload 本项目进程
|
||||
- 破坏性升级:附带迁移说明(配置项、数据库/状态文件)
|
||||
- 授权未过期才允许拉取正式版更新(可选;初期可人工发版)
|
||||
|
||||
---
|
||||
|
||||
## 3. 授权(License)设计
|
||||
|
||||
### 3.1 设计原则
|
||||
|
||||
- **正规客户好用,随手拷贝有门槛**(不做无法破解的完美 DRM)
|
||||
- 校验失败时:允许登录看状态,但 **禁止启策略 / 禁止实盘下单**(策略可配置)
|
||||
- 校验逻辑本地为主;可选短时在线激活(降低盗版批量复制)
|
||||
|
||||
### 3.2 授权字段(建议)
|
||||
|
||||
| 字段 | 用途 |
|
||||
|------|------|
|
||||
| `license_id` | 授权编号 |
|
||||
| `customer_name` | 客户标识(展示/审计) |
|
||||
| `expires_at` | 到期日 |
|
||||
| `edition` | 档位:`sim` / `live` / `pro`(名称可调) |
|
||||
| `instance_id` 或 `machine_fingerprint` | 绑定部署实例(主机指纹或安装时生成的 UUID) |
|
||||
| `features` | 功能开关列表(可选) |
|
||||
| `signature` | 对上述字段的签名(私钥在你方,公钥打进程序) |
|
||||
|
||||
### 3.3 档位建议(初稿)
|
||||
|
||||
| 档位 | 能力 |
|
||||
|------|------|
|
||||
| `sim` | 仅 SIM 撮合;实盘下单关闭 |
|
||||
| `live` | SIM + 实盘下单(显式开关 + 二次确认) |
|
||||
| `pro` | live + 多策略/高级报表/优先支持(后续) |
|
||||
|
||||
### 3.4 绑定策略(由松到紧,可演进)
|
||||
|
||||
1. **v1**:授权码 + 到期日 + 档位(不绑机,靠合同与信任)
|
||||
2. **v2**:首次激活写入 `instance_id`,换机需重置授权
|
||||
3. **v3**(可选):定期在线心跳续期;断网宽限期 N 天
|
||||
|
||||
### 3.5 运行时行为
|
||||
|
||||
```
|
||||
启动 → 读 license → 验签 / 查到期 / 查档位
|
||||
├─ 有效 → 按档位开放功能
|
||||
└─ 无效/过期 → UI 提示;策略不可启动;实盘接口 403
|
||||
```
|
||||
|
||||
本地文件建议:`data/license.json` 或环境变量 `LICENSE_KEY`(整段授权串)。
|
||||
|
||||
---
|
||||
|
||||
## 4. 技术架构约束(后续开发必须遵守)
|
||||
|
||||
### 4.1 多租户与网络
|
||||
|
||||
- **不做**「一个进程服务多个无关客户」
|
||||
- **不做**「你方中心机房代跑客户实盘」作为主路径
|
||||
- 每个商用部署 = 独立进程 + 独立配置 + 独立日志 + 独立出口网络
|
||||
|
||||
### 4.2 密钥与安全
|
||||
|
||||
- 交易所 API Key **仅存客户机**(加密或系统权限保护)
|
||||
- 禁止把客户 Key 回传到你方(授权校验除外的元数据也不含密钥)
|
||||
- HTTPS、登录鉴权、改密、审计日志(谁启停、谁改参数)逐步补齐
|
||||
|
||||
### 4.3 模式隔离
|
||||
|
||||
| 模式 | 要求 |
|
||||
|------|------|
|
||||
| SIM | 零交易类写接口;行情只读 |
|
||||
| LIVE | 显式开关 + 二次确认 + 授权档位 dual-check |
|
||||
| 数据 | SIM 与 LIVE 成交/绩效 **分库或分表/分前缀**,不可混报 |
|
||||
|
||||
### 4.4 可观测性(商用必需)
|
||||
|
||||
- `/health`:进程、行情连接、授权状态(不含密钥)
|
||||
- 结构化日志:开平仓原因、费用、流动性等待、紧急平仓
|
||||
- 绩效导出:按组 / 按日(收益、回撤、费用、胜率)— 客户自证与你售后都需要
|
||||
|
||||
---
|
||||
|
||||
## 5. 合规与产品话术(边界)
|
||||
|
||||
- 定位:**交易辅助工具 / 策略执行软件**,非保本理财
|
||||
- 界面与合同:风险提示、用户自负盈亏、交易所账户属用户
|
||||
- 对外演示默认走 **SIM**;实盘由客户自行承担 Key 与资金风险
|
||||
- 法务文本后续单独立项;工程侧先把「免责展示位 + 二次确认」留好
|
||||
|
||||
---
|
||||
|
||||
## 6. 开发路线图
|
||||
|
||||
### Phase 0 — 现在(产品可用、可演示)
|
||||
|
||||
- [x] SIM 对冲主流程、设置、Plan 桌面布局
|
||||
- [ ] 绩效与组维度报表可导出/可复盘
|
||||
- [ ] 部署脚本文档化到「陌生人能装上」的程度
|
||||
- [ ] SIM / 未来 LIVE 配置与文案边界清晰
|
||||
|
||||
### Phase 1 — 授权骨架(商用前提)
|
||||
|
||||
- [ ] License 数据结构 + 本地验签
|
||||
- [ ] 到期 / 档位拦截(启策略、实盘 API)
|
||||
- [ ] 设置页或启动页展示授权状态与到期日
|
||||
- [ ] 内部发码工具(私钥离线,不进客户仓库)
|
||||
|
||||
### Phase 2 — 实盘与交付打磨
|
||||
|
||||
- [ ] LIVE 下单通路(已有规划则按开发方案推进)
|
||||
- [ ] 安装向导:环境检查、端口、反向代理示例
|
||||
- [ ] 升级与回滚说明;配置迁移
|
||||
- [ ] 客户排障包:一键打包日志(脱敏)
|
||||
|
||||
### Phase 3 — 商业运营配套
|
||||
|
||||
- [ ] 授权台账(客户、到期、续费、换机)— 可先表格,后小后台
|
||||
- [ ] 版本通道:stable / beta
|
||||
- [ ] 支持档位与 SLA(人工即可)
|
||||
- [ ] (可选)在线激活与换机工单
|
||||
|
||||
### 明确延后
|
||||
|
||||
- 中心化多租户 SaaS
|
||||
- 复杂手机端优先设计
|
||||
- 支付系统内嵌(可先对公转账 + 人工发码)
|
||||
- 完美防破解
|
||||
|
||||
---
|
||||
|
||||
## 7. 与当前仓库的衔接
|
||||
|
||||
| 现有能力 | 商用含义 |
|
||||
|----------|----------|
|
||||
| `deploy/manage.sh`、远程 `deploy_remote.py` | 演进为客户侧一键安装/更新的基础 |
|
||||
| PM2 `eth-hedge-api`、端口 5155 | 单实例模型已符合「一客户一进程」 |
|
||||
| 登录 `AUTH_USERNAME` / `AUTH_PASSWORD` | 保留为实例管理员;与 License 分层 |
|
||||
| SIM 撮合 + 只读行情 | 作为 `sim` 档与售前演示默认路径 |
|
||||
| 与 `crypto_monitor` 隔离 | 商用交付物必须自包含,禁止捆绑现网 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 待决事项(开发前拍板)
|
||||
|
||||
1. 主交付形态优先:**脚本 + PM2** 还是 **Docker Compose**?
|
||||
2. 授权 v1 是否绑机?还是先「码 + 到期日」?
|
||||
3. 过期策略:只禁实盘,还是 SIM 一并只读?
|
||||
4. 首发交易所是否仅 OKX,多所是否进 `pro`?
|
||||
5. 价格与续费周期(工程不阻塞,商务可并行)
|
||||
|
||||
---
|
||||
|
||||
## 9. 修订记录
|
||||
|
||||
| 日期 | 说明 |
|
||||
|------|------|
|
||||
| 2026-07-25 | 初稿:确定「部署 + 授权」、否决中心托管主路径、划定 Phase 0–3 |
|
||||
# 比特骆驼自动化对冲系统 — 商业化与授权方案(初步)
|
||||
|
||||
> **产品名**:比特骆驼自动化对冲系统 · **工程**:`eth_hedge_sim`
|
||||
> 状态:草案,指导后续开发,细节可迭代。
|
||||
> 商业模式结论:**客户侧部署 + 软件授权**(不做中心化多租户托管)。
|
||||
> 关联文档:[开发方案](./开发方案.md)、[代码结构](./代码结构.md)
|
||||
|
||||
---
|
||||
|
||||
## 1. 目标与边界
|
||||
|
||||
### 1.1 卖什么
|
||||
|
||||
| 项 | 约定 |
|
||||
|----|------|
|
||||
| 产品名 | **比特骆驼自动化对冲系统** |
|
||||
| 产品形态 | 可独立部署的对冲交易系统(SIM + 可选实盘) |
|
||||
| 交付方式 | 安装包 / 一键脚本 / Docker(后续择一为主) |
|
||||
| 收费方式 | **授权(License)**:按实例、按期限、按功能档 |
|
||||
| 不卖什么 | 不承诺收益;不做代客理财;不集中托管客户 API Key |
|
||||
|
||||
### 1.2 为什么不做 SaaS 托管
|
||||
|
||||
| 风险 | 说明 |
|
||||
|------|------|
|
||||
| 交易所限流 | REST/WS 按 IP、API Key 限流;多客户共机互相挤占 |
|
||||
| 同 IP 风控 | 一公网 IP 对多交易所、多 Key 高频请求,易触发异常标记 |
|
||||
| 密钥与责任 | 客户 Key 进你机房,合规与事故责任更重 |
|
||||
| 运维成本 | 你要为所有客户的行情稳定性买单 |
|
||||
|
||||
**原则:一客户一实例一出口 IP(或客户自有网络)。**
|
||||
|
||||
### 1.3 产品定位一句话
|
||||
|
||||
> **比特骆驼自动化对冲系统**:客户在自己的服务器上部署;API Key 不出客户环境;你提供软件、更新与授权。
|
||||
|
||||
---
|
||||
|
||||
## 2. 交付与部署
|
||||
|
||||
### 2.1 目标交付形态(分阶段)
|
||||
|
||||
| 阶段 | 形态 | 说明 |
|
||||
|------|------|------|
|
||||
| 现在(内部) | Git + `deploy/manage.sh` + PM2 | 已具备,继续打磨成「可复制安装」 |
|
||||
| 商用 v1 | **一键部署脚本** + 环境检查 + 健康检查 | 客户 **Ubuntu 22.04** 机器上跑通 |
|
||||
| 商用 v2 | **Docker Compose**(可选) | 降低环境差异;与脚本二选一或并存 |
|
||||
| 商用 v3 | 离线包 / 镜像导出 | 内网客户、无法拉 Git 的场景 |
|
||||
|
||||
### 2.2 客户侧必备条件
|
||||
|
||||
- 一台独立 **Ubuntu 22.04** 主机(建议独立公网 IP)
|
||||
- **云服务器规格**:见下方「配置选择」;更完整说明见 [开发方案 §6.0](./开发方案.md#60-云服务器配置选择说明)
|
||||
- 出网访问目标交易所 API(OKX / 币安等)
|
||||
- 域名或 IP + HTTPS(可用反代)
|
||||
- 客户自备交易所 API Key(只读行情 / 实盘交易按档位要求)
|
||||
|
||||
#### 云服务器配置选择(交付速查)
|
||||
|
||||
| 用途 | 建议规格 | 地域 |
|
||||
|------|----------|------|
|
||||
| 演示 / SIM | 2 vCPU / 2 GB / 40 GB SSD | 香港或新加坡优先 |
|
||||
| LIVE 实盘 | 同上起配;网络优先于堆配置 | 对交易所延迟低的海外区 |
|
||||
| 最低试装 | 1 vCPU / 1 GB(仅短期试跑) | 同上 |
|
||||
|
||||
不建议:超售共享低配、无稳定公网、大陆机房直连境外交易所作为默认 LIVE 节点。
|
||||
|
||||
### 2.3 部署流程(商用目标体验)
|
||||
|
||||
1. 客户拿到安装脚本或镜像 + **授权码**
|
||||
2. 填写 `.env`(账号、交易所 Key、授权码)
|
||||
3. 一键安装 → 健康检查通过
|
||||
4. 浏览器登录 → SIM 可演示;实盘需对应授权档位 + 二次确认
|
||||
|
||||
### 2.4 更新策略
|
||||
|
||||
- 默认:客户机 `git pull` / 镜像升级 + 构建 + 仅 reload 本项目进程
|
||||
- 破坏性升级:附带迁移说明(配置项、数据库/状态文件)
|
||||
- 授权未过期才允许拉取正式版更新(可选;初期可人工发版)
|
||||
|
||||
---
|
||||
|
||||
## 3. 授权(License)设计
|
||||
|
||||
### 3.1 设计原则
|
||||
|
||||
- **正规客户好用,随手拷贝有门槛**(不做无法破解的完美 DRM)
|
||||
- 校验失败时:允许登录看状态,但 **禁止启策略 / 禁止实盘下单**(策略可配置)
|
||||
- 校验逻辑本地为主;可选短时在线激活(降低盗版批量复制)
|
||||
|
||||
### 3.2 授权字段(建议)
|
||||
|
||||
| 字段 | 用途 |
|
||||
|------|------|
|
||||
| `license_id` | 授权编号 |
|
||||
| `customer_name` | 客户标识(展示/审计) |
|
||||
| `expires_at` | 到期日 |
|
||||
| `edition` | 档位:`sim` / `live` / `pro`(名称可调) |
|
||||
| `instance_id` 或 `machine_fingerprint` | 绑定部署实例(主机指纹或安装时生成的 UUID) |
|
||||
| `features` | 功能开关列表(可选) |
|
||||
| `signature` | 对上述字段的签名(私钥在你方,公钥打进程序) |
|
||||
|
||||
### 3.3 档位建议(初稿)
|
||||
|
||||
| 档位 | 能力 |
|
||||
|------|------|
|
||||
| `sim` | 仅 SIM 撮合;实盘下单关闭 |
|
||||
| `live` | SIM + 实盘下单(显式开关 + 二次确认) |
|
||||
| `pro` | live + 多策略/高级报表/优先支持(后续) |
|
||||
|
||||
### 3.4 绑定策略(由松到紧,可演进)
|
||||
|
||||
1. **v1**:授权码 + 到期日 + 档位(不绑机,靠合同与信任)
|
||||
2. **v2**:首次激活写入 `instance_id`,换机需重置授权
|
||||
3. **v3**(可选):定期在线心跳续期;断网宽限期 N 天
|
||||
|
||||
### 3.5 运行时行为
|
||||
|
||||
```
|
||||
启动 → 读 license → 验签 / 查到期 / 查档位
|
||||
├─ 有效 → 按档位开放功能
|
||||
└─ 无效/过期 → UI 提示;策略不可启动;实盘接口 403
|
||||
```
|
||||
|
||||
本地文件建议:`data/license.json` 或环境变量 `LICENSE_KEY`(整段授权串)。
|
||||
|
||||
---
|
||||
|
||||
## 4. 技术架构约束(后续开发必须遵守)
|
||||
|
||||
### 4.1 多租户与网络
|
||||
|
||||
- **不做**「一个进程服务多个无关客户」
|
||||
- **不做**「你方中心机房代跑客户实盘」作为主路径
|
||||
- 每个商用部署 = 独立进程 + 独立配置 + 独立日志 + 独立出口网络
|
||||
|
||||
### 4.2 密钥与安全
|
||||
|
||||
- 交易所 API Key **仅存客户机**(加密或系统权限保护)
|
||||
- 禁止把客户 Key 回传到你方(授权校验除外的元数据也不含密钥)
|
||||
- HTTPS、登录鉴权、改密、审计日志(谁启停、谁改参数)逐步补齐
|
||||
|
||||
### 4.3 模式隔离
|
||||
|
||||
| 模式 | 要求 |
|
||||
|------|------|
|
||||
| SIM | 零交易类写接口;行情只读 |
|
||||
| LIVE | 显式开关 + 二次确认 + 授权档位 dual-check |
|
||||
| 数据 | SIM 与 LIVE 成交/绩效 **分库或分表/分前缀**,不可混报 |
|
||||
|
||||
### 4.4 可观测性(商用必需)
|
||||
|
||||
- `/health`:进程、行情连接、授权状态(不含密钥)
|
||||
- 结构化日志:开平仓原因、费用、流动性等待、紧急平仓
|
||||
- 绩效导出:按组 / 按日(收益、回撤、费用、胜率)— 客户自证与你售后都需要
|
||||
|
||||
---
|
||||
|
||||
## 5. 合规与产品话术(边界)
|
||||
|
||||
- 定位:**交易辅助工具 / 策略执行软件**,非保本理财
|
||||
- 界面与合同:风险提示、用户自负盈亏、交易所账户属用户
|
||||
- 对外演示默认走 **SIM**;实盘由客户自行承担 Key 与资金风险
|
||||
- 法务文本后续单独立项;工程侧先把「免责展示位 + 二次确认」留好
|
||||
|
||||
---
|
||||
|
||||
## 6. 开发路线图
|
||||
|
||||
### Phase 0 — 现在(产品可用、可演示)
|
||||
|
||||
- [x] SIM 对冲主流程、设置、Plan 桌面布局
|
||||
- [ ] 绩效与组维度报表可导出/可复盘
|
||||
- [ ] 部署脚本文档化到「陌生人能装上」的程度
|
||||
- [ ] SIM / 未来 LIVE 配置与文案边界清晰
|
||||
|
||||
### Phase 1 — 授权骨架(商用前提)
|
||||
|
||||
- [ ] License 数据结构 + 本地验签
|
||||
- [ ] 到期 / 档位拦截(启策略、实盘 API)
|
||||
- [ ] 设置页或启动页展示授权状态与到期日
|
||||
- [ ] 内部发码工具(私钥离线,不进客户仓库)
|
||||
|
||||
### Phase 2 — 实盘与交付打磨
|
||||
|
||||
- [ ] LIVE 下单通路(已有规划则按开发方案推进)
|
||||
- [ ] 安装向导:环境检查、端口、反向代理示例
|
||||
- [ ] 升级与回滚说明;配置迁移
|
||||
- [ ] 客户排障包:一键打包日志(脱敏)
|
||||
|
||||
### Phase 3 — 商业运营配套
|
||||
|
||||
- [ ] 授权台账(客户、到期、续费、换机)— 可先表格,后小后台
|
||||
- [ ] 版本通道:stable / beta
|
||||
- [ ] 支持档位与 SLA(人工即可)
|
||||
- [ ] (可选)在线激活与换机工单
|
||||
|
||||
### 明确延后
|
||||
|
||||
- 中心化多租户 SaaS
|
||||
- 复杂手机端优先设计
|
||||
- 支付系统内嵌(可先对公转账 + 人工发码)
|
||||
- 完美防破解
|
||||
|
||||
---
|
||||
|
||||
## 7. 与当前仓库的衔接
|
||||
|
||||
| 现有能力 | 商用含义 |
|
||||
|----------|----------|
|
||||
| `deploy/manage.sh`、远程 `deploy_remote.py` | 演进为客户侧一键安装/更新的基础 |
|
||||
| PM2 `eth-hedge-api`、端口 5155 | 单实例模型已符合「一客户一进程」 |
|
||||
| 登录 `AUTH_USERNAME` / `AUTH_PASSWORD` | 保留为实例管理员;与 License 分层 |
|
||||
| SIM 撮合 + 只读行情 | 作为 `sim` 档与售前演示默认路径 |
|
||||
| 与 `crypto_monitor` 隔离 | 商用交付物必须自包含,禁止捆绑现网 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 待决事项(开发前拍板)
|
||||
|
||||
1. 主交付形态优先:**脚本 + PM2** 还是 **Docker Compose**?
|
||||
2. 授权 v1 是否绑机?还是先「码 + 到期日」?
|
||||
3. 过期策略:只禁实盘,还是 SIM 一并只读?
|
||||
4. 首发交易所是否仅 OKX,多所是否进 `pro`?
|
||||
5. 价格与续费周期(工程不阻塞,商务可并行)
|
||||
|
||||
---
|
||||
|
||||
## 9. 修订记录
|
||||
|
||||
| 日期 | 说明 |
|
||||
|------|------|
|
||||
| 2026-07-25 | 初稿:确定「部署 + 授权」、否决中心托管主路径、划定 Phase 0–3 |
|
||||
|
||||
+262
-224
@@ -1,224 +1,262 @@
|
||||
# 比特骆驼自动化对冲系统 — 开发方案
|
||||
|
||||
> **产品名**:比特骆驼自动化对冲系统
|
||||
> **工程名 / 目录**:`eth_hedge_sim`
|
||||
> 独立项目,与现网 `crypto_monitor` / `zk.hyf2.cc` **无部署、无进程、无密钥共用关系**。
|
||||
> 可参考现有仓库的实现思路或复制片段到本仓库,但 **禁止修改** `crypto_monitor` 内任何文件。
|
||||
> Git 仓库由负责人自行创建;本目录为本地工程骨架与文档。
|
||||
|
||||
---
|
||||
|
||||
## 1. 项目定位
|
||||
|
||||
| 项 | 约定 |
|
||||
|----|------|
|
||||
| 产品名 | **比特骆驼自动化对冲系统** |
|
||||
| 工程名 / 目录名 | `eth_hedge_sim` |
|
||||
| 部署操作系统 | **Ubuntu 22.04** LTS |
|
||||
| 云服务器 | **单独一台 Ubuntu 22.04**(或同机不同目录/不同 PM2 进程名,且与现网隔离) |
|
||||
| 部署 | PM2 |
|
||||
| 行情 | OKX **实盘只读** API(REST + WebSocket) |
|
||||
| 成交(默认) | **本地模拟撮合 + 本地虚拟资金**(非 OKX 模拟盘) |
|
||||
| 后期 | 支持切换 **实盘下单**(显式开关 + 二次确认) |
|
||||
|
||||
### 1.1 硬边界
|
||||
|
||||
- 模拟阶段:**零交易类 API**(不下单、不撤单、不改单)。
|
||||
- 永续:全部 **市价**(不做限价)。
|
||||
- 期权:只吃 **买一 / 卖一**。
|
||||
- 仓位固定:永续 **1 ETH**,期权 **2 ETH** 名义(始终 2 倍,与权利金金额无关)。
|
||||
- 卖一比对 **仅用于选方向**;平仓用买一,并检查买一流动性。
|
||||
|
||||
---
|
||||
|
||||
## 2. 业务规则
|
||||
|
||||
### 2.1 时间与次数
|
||||
|
||||
- 期权合约:按 **剩余时长下限**(可配)筛选到期;行权价默认 **ATM**(同到期、最接近指数/标记的同一行权价 Call+Put)。
|
||||
- **开仓时间窗已取消**(全天可尝试开仓,仍受选约条件约束)。
|
||||
- **周六 / 周日跳过开仓**(上海时区,设置项 `skip_weekends`,默认开启):禁止新开仓;**已有持仓仍盯盘平仓**。
|
||||
- **不做横盘识别**:波动过滤难以精准,避免假信号;用周末跳过等确定性规则代替。
|
||||
- 同时最多 **1 组**仓;一轮全平结束后 **休息**(可配 `rest_seconds`,默认 300 秒)再开下一组。
|
||||
|
||||
### 2.2 方向(Call 卖一 vs Put 卖一;期权只买入、永不为卖方)
|
||||
|
||||
| 条件 | 期权(名义 2 ETH) | 永续(1 ETH) |
|
||||
|------|-------------------|---------------|
|
||||
| Call 卖一 > Put 卖一 | **买入 Call**(吃卖一) | **市价做空** |
|
||||
| Call 卖一 < Put 卖一 | **买入 Put**(吃卖一) | **市价做多** |
|
||||
| 相等 | 不开仓,等待 | — |
|
||||
|
||||
### 2.3 平仓(任一触发 → 该组全平)
|
||||
|
||||
1. **净盈利达标**(设置可选):固定 USDT,或初始权利金 × 倍数。
|
||||
2. **到期强制全平**:到达期权到期时刻(OKX 惯例 UTC 08:00 = 上海 16:00)→ 整组卖出;绕过买一流动性闸门(与紧急平仓同类)。策略暂停时仍执行。
|
||||
波动小、拖到到期亏损权利金,按预算内成本接受。
|
||||
|
||||
平仓执行:
|
||||
|
||||
- 永续:本地市价平仓。
|
||||
- 期权:多头平仓吃买一;买一深度需覆盖名义(到期/紧急可绕过偏差与深度校验)。
|
||||
|
||||
### 2.4 组(Group)标识
|
||||
|
||||
每一轮开→平为一组,稳定 ID 例如:`G-YYYYMMDD-序号`(`G-20260724-01`)。
|
||||
前端、交易记录、统计全部按组聚合。
|
||||
|
||||
---
|
||||
|
||||
## 3. 本地撮合与费用
|
||||
|
||||
### 3.1 手续费与滑点
|
||||
|
||||
- 永续、期权 **均收取手续费**,费率可配置,默认按 OKX taker 档位。
|
||||
- **滑点 = 1 倍手续费**(费率 `f` 时,滑点幅度按 `f` 计入成交价;手续费另扣)。
|
||||
|
||||
### 3.2 永续(仅市价)
|
||||
|
||||
本地市价定义(无真实交易所市价单时):
|
||||
|
||||
- 开多 / 平空:基准 **卖一**,成交价 = 基准 × `(1 + f)`,再扣手续费。
|
||||
- 开空 / 平多:基准 **买一**,成交价 = 基准 × `(1 - f)`,再扣手续费。
|
||||
- UI 与引擎均不提供限价单。
|
||||
|
||||
### 3.3 期权(只吃买卖一)
|
||||
|
||||
- 买入:吃 **卖一**,成交价 = 卖一 × `(1 + f)`,再扣费。
|
||||
- 卖出:吃 **买一**,成交价 = 买一 × `(1 - f)`,再扣费。
|
||||
- 开仓成交后锁定该组 **初始权利金总额**(按成交价 × 2 ETH 名义)。
|
||||
|
||||
### 3.4 本地账本
|
||||
|
||||
虚拟权益、可用、占用、持仓、成交、滑点、手续费、按组盈亏;持久化 SQLite(或等价本地 DB)。
|
||||
**不是** OKX 模拟盘余额。
|
||||
|
||||
---
|
||||
|
||||
## 4. 系统架构
|
||||
|
||||
```
|
||||
OKX 实盘只读行情 (WS/REST)
|
||||
↓
|
||||
market 行情网关(本地缓存/可选落盘)
|
||||
↓
|
||||
strategy 策略状态机(时间窗 / 选向 / 开平 / 3 次 / 组 ID)
|
||||
↓
|
||||
executor
|
||||
├─ SIM(默认)→ LocalMatcher + Ledger
|
||||
└─ LIVE(后期)→ OkxTradeAdapter
|
||||
↓
|
||||
API + WebSocket 推送
|
||||
↓
|
||||
Frontend(OKX 风格四页)
|
||||
```
|
||||
|
||||
### 4.1 与现网隔离
|
||||
|
||||
| | crypto_monitor(现网) | eth_hedge_sim(本项目) |
|
||||
|--|----------------------|------------------------|
|
||||
| 代码仓 | 独立 | 独立(负责人自建 remote) |
|
||||
| 服务器目录 | 如 `/opt/crypto_monitor` | 如 `/opt/eth_hedge_sim`(另定) |
|
||||
| PM2 进程名 | 现有一套 | **新名字**,如 `eth-hedge-api` / `eth-hedge-web` |
|
||||
| 域名/端口 | 现网 | 独立端口或独立域名 |
|
||||
| 密钥 | 现网 `.env` | 本项目独立 `.env`(先只读行情 Key) |
|
||||
|
||||
允许:从现网 **复制** 盘口解析、OKX WS 订阅、流动性检查等代码到本仓库后改。
|
||||
禁止:在现网仓库里改文件、共用 PM2 restart 脚本、共用生产 Key(除非只读 Key 故意共用且你知情)。
|
||||
|
||||
---
|
||||
|
||||
## 5. 前端
|
||||
|
||||
视觉:复刻 OKX 交易台观感(深色、盘口、持仓、紧凑数字)。
|
||||
|
||||
### 导航(4 项)
|
||||
|
||||
1. **自动对冲计划**
|
||||
模式 SIM/LIVE、时间窗状态、当前组 ID、方向、1+2 仓位、初始权利金、永续浮盈、距触发差值、30 点进度、永续/期权盘口、启动暂停、紧急全平(模拟)。
|
||||
|
||||
2. **交易记录**
|
||||
按组列表与组内成交明细;筛选日期、平仓原因、盈亏。
|
||||
|
||||
3. **统计**
|
||||
组数、胜率、总盈亏、总手续费、总滑点、平仓原因分布、按组权益曲线。
|
||||
|
||||
4. **系统设置**
|
||||
虚拟资金、费率 `f`(滑点自动 1×f)、轮次与时间、30 点定义、选约规则、OKX Key、SIM/LIVE 开关(LIVE 二次确认)。
|
||||
|
||||
每组必须有明确标识(组 ID + 状态标签:持仓中 / 已平 / 流动性等待等)。
|
||||
|
||||
---
|
||||
|
||||
## 6. 部署(Ubuntu 22.04 + PM2)
|
||||
|
||||
### 6.1 建议目录
|
||||
|
||||
```text
|
||||
/opt/eth_hedge_sim # git clone 目标
|
||||
.env # 仅本机/本项目,不进 git
|
||||
deploy/
|
||||
ecosystem.config.cjs # PM2 配置
|
||||
pull_and_restart.sh # 仅重启本项目进程
|
||||
```
|
||||
|
||||
### 6.2 PM2 进程(示例名,可改)
|
||||
|
||||
| 进程名 | 作用 |
|
||||
|--------|------|
|
||||
| `eth-hedge-api` | 行情网关 + 策略 + 本地撮合 + HTTP/WS API |
|
||||
| `eth-hedge-web` | 前端静态或 Node 服务(若前后端合一可合并为一个进程) |
|
||||
|
||||
原则:**不要** `pm2 restart all` 误伤现网;脚本里写死本项目进程名。
|
||||
|
||||
### 6.3 发布流程(负责人自建仓库后)
|
||||
|
||||
```bash
|
||||
cd /opt/eth_hedge_sim
|
||||
git pull
|
||||
# 安装依赖 / 构建前端(按实际栈)
|
||||
pm2 startOrReload deploy/ecosystem.config.cjs --update-env
|
||||
pm2 save
|
||||
```
|
||||
|
||||
### 6.4 环境变量(示例)
|
||||
|
||||
```bash
|
||||
MODE=SIM
|
||||
OKX_API_KEY=... # 模拟阶段只需能拉行情的权限
|
||||
OKX_API_SECRET=...
|
||||
OKX_API_PASSPHRASE=...
|
||||
FEE_RATE=0.0005 # 示例;滑点 = 1 × FEE_RATE
|
||||
INITIAL_EQUITY=10000
|
||||
TZ=Asia/Shanghai
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. 分期实施
|
||||
|
||||
| 阶段 | 内容 | 完成标准 |
|
||||
|------|------|----------|
|
||||
| P0 | 仓库骨架、依赖、OKX 只读行情(永续 + 次日期权盘口) | 能稳定收到真盘口 |
|
||||
| P1 | 本地账本 + 撮合(永续市价、期权吃一、费+1×费滑点) | 手动开平一组账目正确 |
|
||||
| P2 | 策略状态机(选向、两套平仓、3 次、08:00 停开、组 ID) | 无 UI 也能跑完业务窗 |
|
||||
| P3 | 四页前端 | 可完整操作与复盘 |
|
||||
| P4 | 行情落盘与回放 | 重放结果与当时一致 |
|
||||
| P5 | 实盘适配器 | 显式开关下最小仓验证 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 已拍板摘要
|
||||
|
||||
1. 期权只买入 Call 或 Put(永不卖出开仓)。
|
||||
2. N 点 = 标的 ETH 波动点数,设置可配(默认 30)。
|
||||
3. 行权价 ATM。
|
||||
4. 权利金覆盖触发不含手续费。
|
||||
5. Call 卖一 = Put 卖一:跳过等待。
|
||||
6. 测试访问:`https://dc.hyf2.cc` → 本机 `5155` / PM2 `eth-hedge-api`。
|
||||
|
||||
---
|
||||
|
||||
## 9. 一句话
|
||||
|
||||
**独立仓 `eth_hedge_sim`(产品:比特骆驼自动化对冲系统):OKX/币安真行情只读 + 本地虚拟资金撮合(永续市价、期权只买吃买卖一、滑点=1×手续费)+ 四页前端 + Ubuntu 22.04 / PM2 单独部署;可抄现网思路,但不改现网代码、不共用现网进程。**
|
||||
# 比特骆驼自动化对冲系统 — 开发方案
|
||||
|
||||
> **产品名**:比特骆驼自动化对冲系统
|
||||
> **工程名 / 目录**:`eth_hedge_sim`
|
||||
> 独立项目,与现网 `crypto_monitor` / `zk.hyf2.cc` **无部署、无进程、无密钥共用关系**。
|
||||
> 可参考现有仓库的实现思路或复制片段到本仓库,但 **禁止修改** `crypto_monitor` 内任何文件。
|
||||
> Git 仓库由负责人自行创建;本目录为本地工程骨架与文档。
|
||||
|
||||
---
|
||||
|
||||
## 1. 项目定位
|
||||
|
||||
| 项 | 约定 |
|
||||
|----|------|
|
||||
| 产品名 | **比特骆驼自动化对冲系统** |
|
||||
| 工程名 / 目录名 | `eth_hedge_sim` |
|
||||
| 部署操作系统 | **Ubuntu 22.04** LTS |
|
||||
| 云服务器 | **单独一台 Ubuntu 22.04**;规格选型见 [§6.0 云服务器配置选择](#60-云服务器配置选择说明) |
|
||||
| 部署 | PM2 |
|
||||
| 行情 | OKX **实盘只读** API(REST + WebSocket) |
|
||||
| 成交(默认) | **本地模拟撮合 + 本地虚拟资金**(非 OKX 模拟盘) |
|
||||
| 后期 | 支持切换 **实盘下单**(显式开关 + 二次确认) |
|
||||
|
||||
### 1.1 硬边界
|
||||
|
||||
- 模拟阶段:**零交易类 API**(不下单、不撤单、不改单)。
|
||||
- 永续:全部 **市价**(不做限价)。
|
||||
- 期权:只吃 **买一 / 卖一**。
|
||||
- 仓位固定:永续 **1 ETH**,期权 **2 ETH** 名义(始终 2 倍,与权利金金额无关)。
|
||||
- 卖一比对 **仅用于选方向**;平仓用买一,并检查买一流动性。
|
||||
|
||||
---
|
||||
|
||||
## 2. 业务规则
|
||||
|
||||
### 2.1 时间与次数
|
||||
|
||||
- 期权合约:按 **剩余时长下限**(可配)筛选到期;行权价默认 **ATM**(同到期、最接近指数/标记的同一行权价 Call+Put)。
|
||||
- **开仓时间窗已取消**(全天可尝试开仓,仍受选约条件约束)。
|
||||
- **周六 / 周日跳过开仓**(上海时区,设置项 `skip_weekends`,默认开启):禁止新开仓;**已有持仓仍盯盘平仓**。
|
||||
- **不做横盘识别**:波动过滤难以精准,避免假信号;用周末跳过等确定性规则代替。
|
||||
- 同时最多 **1 组**仓;一轮全平结束后 **休息**(可配 `rest_seconds`,默认 300 秒)再开下一组。
|
||||
|
||||
### 2.2 方向(Call 卖一 vs Put 卖一;期权只买入、永不为卖方)
|
||||
|
||||
| 条件 | 期权(名义 2 ETH) | 永续(1 ETH) |
|
||||
|------|-------------------|---------------|
|
||||
| Call 卖一 > Put 卖一 | **买入 Call**(吃卖一) | **市价做空** |
|
||||
| Call 卖一 < Put 卖一 | **买入 Put**(吃卖一) | **市价做多** |
|
||||
| 相等 | 不开仓,等待 | — |
|
||||
|
||||
### 2.3 平仓(任一触发 → 该组全平)
|
||||
|
||||
1. **净盈利达标**(设置可选):固定 USDT,或初始权利金 × 倍数。
|
||||
2. **到期强制全平**:到达期权到期时刻(OKX 惯例 UTC 08:00 = 上海 16:00)→ 整组卖出;绕过买一流动性闸门(与紧急平仓同类)。策略暂停时仍执行。
|
||||
波动小、拖到到期亏损权利金,按预算内成本接受。
|
||||
|
||||
平仓执行:
|
||||
|
||||
- 永续:本地市价平仓。
|
||||
- 期权:多头平仓吃买一;买一深度需覆盖名义(到期/紧急可绕过偏差与深度校验)。
|
||||
|
||||
### 2.4 组(Group)标识
|
||||
|
||||
每一轮开→平为一组,稳定 ID 例如:`G-YYYYMMDD-序号`(`G-20260724-01`)。
|
||||
前端、交易记录、统计全部按组聚合。
|
||||
|
||||
---
|
||||
|
||||
## 3. 本地撮合与费用
|
||||
|
||||
### 3.1 手续费与滑点
|
||||
|
||||
- 永续、期权 **均收取手续费**,费率可配置,默认按 OKX taker 档位。
|
||||
- **滑点 = 1 倍手续费**(费率 `f` 时,滑点幅度按 `f` 计入成交价;手续费另扣)。
|
||||
|
||||
### 3.2 永续(仅市价)
|
||||
|
||||
本地市价定义(无真实交易所市价单时):
|
||||
|
||||
- 开多 / 平空:基准 **卖一**,成交价 = 基准 × `(1 + f)`,再扣手续费。
|
||||
- 开空 / 平多:基准 **买一**,成交价 = 基准 × `(1 - f)`,再扣手续费。
|
||||
- UI 与引擎均不提供限价单。
|
||||
|
||||
### 3.3 期权(只吃买卖一)
|
||||
|
||||
- 买入:吃 **卖一**,成交价 = 卖一 × `(1 + f)`,再扣费。
|
||||
- 卖出:吃 **买一**,成交价 = 买一 × `(1 - f)`,再扣费。
|
||||
- 开仓成交后锁定该组 **初始权利金总额**(按成交价 × 2 ETH 名义)。
|
||||
|
||||
### 3.4 本地账本
|
||||
|
||||
虚拟权益、可用、占用、持仓、成交、滑点、手续费、按组盈亏;持久化 SQLite(或等价本地 DB)。
|
||||
**不是** OKX 模拟盘余额。
|
||||
|
||||
---
|
||||
|
||||
## 4. 系统架构
|
||||
|
||||
```
|
||||
OKX 实盘只读行情 (WS/REST)
|
||||
↓
|
||||
market 行情网关(本地缓存/可选落盘)
|
||||
↓
|
||||
strategy 策略状态机(时间窗 / 选向 / 开平 / 3 次 / 组 ID)
|
||||
↓
|
||||
executor
|
||||
├─ SIM(默认)→ LocalMatcher + Ledger
|
||||
└─ LIVE(后期)→ OkxTradeAdapter
|
||||
↓
|
||||
API + WebSocket 推送
|
||||
↓
|
||||
Frontend(OKX 风格四页)
|
||||
```
|
||||
|
||||
### 4.1 与现网隔离
|
||||
|
||||
| | crypto_monitor(现网) | eth_hedge_sim(本项目) |
|
||||
|--|----------------------|------------------------|
|
||||
| 代码仓 | 独立 | 独立(负责人自建 remote) |
|
||||
| 服务器目录 | 如 `/opt/crypto_monitor` | 如 `/opt/eth_hedge_sim`(另定) |
|
||||
| PM2 进程名 | 现有一套 | **新名字**,如 `eth-hedge-api` / `eth-hedge-web` |
|
||||
| 域名/端口 | 现网 | 独立端口或独立域名 |
|
||||
| 密钥 | 现网 `.env` | 本项目独立 `.env`(先只读行情 Key) |
|
||||
|
||||
允许:从现网 **复制** 盘口解析、OKX WS 订阅、流动性检查等代码到本仓库后改。
|
||||
禁止:在现网仓库里改文件、共用 PM2 restart 脚本、共用生产 Key(除非只读 Key 故意共用且你知情)。
|
||||
|
||||
---
|
||||
|
||||
## 5. 前端
|
||||
|
||||
视觉:复刻 OKX 交易台观感(深色、盘口、持仓、紧凑数字)。
|
||||
|
||||
### 导航(4 项)
|
||||
|
||||
1. **自动对冲计划**
|
||||
模式 SIM/LIVE、时间窗状态、当前组 ID、方向、1+2 仓位、初始权利金、永续浮盈、距触发差值、30 点进度、永续/期权盘口、启动暂停、紧急全平(模拟)。
|
||||
|
||||
2. **交易记录**
|
||||
按组列表与组内成交明细;筛选日期、平仓原因、盈亏。
|
||||
|
||||
3. **统计**
|
||||
组数、胜率、总盈亏、总手续费、总滑点、平仓原因分布、按组权益曲线。
|
||||
|
||||
4. **系统设置**
|
||||
虚拟资金、费率 `f`(滑点自动 1×f)、轮次与时间、30 点定义、选约规则、OKX Key、SIM/LIVE 开关(LIVE 二次确认)。
|
||||
|
||||
每组必须有明确标识(组 ID + 状态标签:持仓中 / 已平 / 流动性等待等)。
|
||||
|
||||
---
|
||||
|
||||
## 6. 部署(Ubuntu 22.04 + PM2)
|
||||
|
||||
### 6.0 云服务器配置选择说明
|
||||
|
||||
本系统为 **轻量常驻进程**(行情 WebSocket + 策略 tick + FastAPI + SQLite),对 CPU/内存要求不高,但对 **网络延迟与稳定性** 要求高(连交易所 API)。
|
||||
|
||||
#### 推荐规格(单机专跑本系统)
|
||||
|
||||
| 场景 | vCPU | 内存 | 系统盘 | 带宽 | 说明 |
|
||||
|------|------|------|--------|------|------|
|
||||
| **最低可用(SIM 试跑)** | 1 | 1 GB | 20 GB SSD | ≥3 Mbps | 可装 Ubuntu + 本服务;偏紧,构建前端时可能吃紧 |
|
||||
| **推荐(SIM / 小仓 LIVE)** | **2** | **2 GB** | **40 GB SSD** | **≥5 Mbps** | 日常够用;前端 `npm build`、依赖安装更稳 |
|
||||
| **余量(LIVE 长期 / 同机反代)** | 2~4 | 4 GB | 40~80 GB SSD | ≥5 Mbps | 同机跑 nginx、日志、备份更从容 |
|
||||
| **不建议** | 共享超售极低配、无稳定公网、国内机访问境外交易所极慢 | — | — | — | 行情断连、下单超时风险高 |
|
||||
|
||||
#### 地域与网络(比「堆配置」更重要)
|
||||
|
||||
| 项 | 建议 |
|
||||
|----|------|
|
||||
| **机房地域** | 优先选 **香港 / 新加坡 / 东京** 等对 OKX、币安延迟低的区域;大陆机房常需稳定出网或代理,不适合作为默认 LIVE 节点 |
|
||||
| **公网** | 要有 **固定公网 IP**(或稳定入口);安全组放行 **5155**(或仅反代 443) |
|
||||
| **延迟** | 部署后用本机测交易所 REST/WS;持续高延迟或频繁断线应换区,而不是盲目加 CPU |
|
||||
| **隔离** | **单独一台**跑本系统;勿与现网 `crypto_monitor` 混用同一套密钥/同一 PM2 `restart all` |
|
||||
|
||||
#### 软件与其它选型
|
||||
|
||||
| 项 | 约定 |
|
||||
|----|------|
|
||||
| OS | **Ubuntu 22.04 LTS**(与一键脚本一致) |
|
||||
| 磁盘 | SSD;日志与 SQLite 在本机,无需独立数据盘(仓位不大) |
|
||||
| 架构 | **x86_64**(常规云主机);ARM 需自行验证 Node/Python 构建 |
|
||||
| 面板 | 可选;一键部署只依赖 SSH + apt,不依赖宝塔等面板 |
|
||||
| 反代 | 公网建议 **Nginx/Caddy + HTTPS**,后端仍监听本机 `5155` |
|
||||
|
||||
#### 选型速查
|
||||
|
||||
- **只想先 SIM 看盘跑策略**:香港/新加坡 **2C2G** 即可。
|
||||
- **要 LIVE 真下单**:同样 **2C2G 起**,重点换到 **低延迟机房** 并配齐非默认 `AUTH_SECRET` + 交易密钥。
|
||||
- **同机还要跑其它重服务**:升到 **4G 内存**,或把本系统拆到独立机。
|
||||
|
||||
### 6.1 建议目录
|
||||
|
||||
```text
|
||||
/opt/eth_hedge_sim # git clone 目标
|
||||
.env # 仅本机/本项目,不进 git
|
||||
deploy/
|
||||
ecosystem.config.cjs # PM2 配置
|
||||
pull_and_restart.sh # 仅重启本项目进程
|
||||
```
|
||||
|
||||
### 6.2 PM2 进程(示例名,可改)
|
||||
|
||||
| 进程名 | 作用 |
|
||||
|--------|------|
|
||||
| `eth-hedge-api` | 行情网关 + 策略 + 本地撮合 + HTTP/WS API |
|
||||
| `eth-hedge-web` | 前端静态或 Node 服务(若前后端合一可合并为一个进程) |
|
||||
|
||||
原则:**不要** `pm2 restart all` 误伤现网;脚本里写死本项目进程名。
|
||||
|
||||
### 6.3 发布流程(负责人自建仓库后)
|
||||
|
||||
```bash
|
||||
cd /opt/eth_hedge_sim
|
||||
git pull
|
||||
# 安装依赖 / 构建前端(按实际栈)
|
||||
pm2 startOrReload deploy/ecosystem.config.cjs --update-env
|
||||
pm2 save
|
||||
```
|
||||
|
||||
### 6.4 环境变量(示例)
|
||||
|
||||
```bash
|
||||
MODE=SIM
|
||||
OKX_API_KEY=... # 模拟阶段只需能拉行情的权限
|
||||
OKX_API_SECRET=...
|
||||
OKX_API_PASSPHRASE=...
|
||||
FEE_RATE=0.0005 # 示例;滑点 = 1 × FEE_RATE
|
||||
INITIAL_EQUITY=10000
|
||||
TZ=Asia/Shanghai
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. 分期实施
|
||||
|
||||
| 阶段 | 内容 | 完成标准 |
|
||||
|------|------|----------|
|
||||
| P0 | 仓库骨架、依赖、OKX 只读行情(永续 + 次日期权盘口) | 能稳定收到真盘口 |
|
||||
| P1 | 本地账本 + 撮合(永续市价、期权吃一、费+1×费滑点) | 手动开平一组账目正确 |
|
||||
| P2 | 策略状态机(选向、两套平仓、3 次、08:00 停开、组 ID) | 无 UI 也能跑完业务窗 |
|
||||
| P3 | 四页前端 | 可完整操作与复盘 |
|
||||
| P4 | 行情落盘与回放 | 重放结果与当时一致 |
|
||||
| P5 | 实盘适配器 | 显式开关下最小仓验证 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 已拍板摘要
|
||||
|
||||
1. 期权只买入 Call 或 Put(永不卖出开仓)。
|
||||
2. N 点 = 标的 ETH 波动点数,设置可配(默认 30)。
|
||||
3. 行权价 ATM。
|
||||
4. 权利金覆盖触发不含手续费。
|
||||
5. Call 卖一 = Put 卖一:跳过等待。
|
||||
6. 测试访问:`https://dc.hyf2.cc` → 本机 `5155` / PM2 `eth-hedge-api`。
|
||||
|
||||
---
|
||||
|
||||
## 9. 一句话
|
||||
|
||||
**独立仓 `eth_hedge_sim`(产品:比特骆驼自动化对冲系统):OKX/币安真行情只读 + 本地虚拟资金撮合(永续市价、期权只买吃买卖一、滑点=1×手续费)+ 四页前端 + Ubuntu 22.04 / PM2 单独部署;可抄现网思路,但不改现网代码、不共用现网进程。**
|
||||
|
||||
@@ -5,6 +5,15 @@
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-29 — 文档:云服务器配置选择说明
|
||||
|
||||
### 变更
|
||||
|
||||
1. [`docs/开发方案.md`](./开发方案.md) 增加 **§6.0 云服务器配置选择说明**(最低/推荐/余量规格、地域网络、选型速查)。
|
||||
2. [`docs/商业化与授权方案.md`](./商业化与授权方案.md)、[`README.md`](../README.md) 同步交付速查与链接。
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-29 — 第四轮:查仓失败≠空仓;回滚/账本幂等
|
||||
|
||||
### 变更
|
||||
|
||||
Reference in New Issue
Block a user