# 资金概况 — 使用说明

中控顶栏 **资金概况**(`/funds`)汇总三所账户的 **资金账户 + 交易账户** 余额,不含浮盈亏;未监控账户不参与合计,但仍会在分户列表中灰显展示.

---

## 1. 口径

| 项目 | 规则 |
|------|------|
| **单户总资金** | `资金账户 USDT + 交易账户 USDT` |
| **总资金** | 所有 **已启用且未被环境强制关闭** 的账户之和 |
| **未监控** | 设置页未勾选「启用」或 `HUB_DISABLED_IDS` 强制关闭 → **跳过合计** |
| **缺数据** | 资金户,交易户任一侧缺失 → 该户当日快照 **跳过**(不估,不补 0) |
| **交易日** | 北京时间 `TRADING_DAY_RESET_HOUR`(默认 **8:00**)切日,与三所统计一致 |
| **曲线粒度** | 每个交易日 **1 个点** |
| **统计起点** | 默认 **2026-06-09**(`HUB_FUND_HISTORY_START_DAY`);此前不记,不展示 |
| **历史保留** | 自起点起最多 **180** 个交易日(`HUB_FUND_HISTORY_DAYS`) |
| **最大回撤** | 基于 **总资金曲线**(分户同理),峰值到谷底的最大跌幅(U 与 %) |

> 与实例统计页「最大回撤」不同:实例统计来自 **平仓盈亏累计**;资金概况来自 **账户余额曲线**.

---

## 2. 页面说明

### 总览

- **总资金**:当前监控板最新一轮聚合的实时合计(资金户+交易户齐全才计入)
- **较昨日**:相对上一交易日快照点的变动(U)
- **最大回撤**:总资金历史曲线的峰值回撤(U / %)
- **总资金曲线**:近 180 交易日

### 分户卡片

每户展示:总资金,资金户,交易户,最大回撤,迷你曲线.

- **已监控**:正常统计
- **未监控**:显示「未参与合计」,无曲线
- **余额未齐**:已监控但 API 未返回完整资金/交易户

---

## 3. 数据从哪来

```
监控板每 5 秒聚合(board_store)
  └→ 各实例 GET /api/hub/account
       funding_usdt / trading_usdt
  └→ 写入 hub_fund_history.json(按交易日去重更新当日)

资金概况页 GET /api/hub/fund-overview
  ├→ 实时:读 board 缓存
  └→ 曲线/回撤:读 hub_fund_history.json
```

- 存储文件:`manual_trading_hub/hub_fund_history.json`(不在 Git 中)
- 旧 AI 快照 `hub_ai_fund_history.json` 会在首次读取时 **自动合并** 到新文件
- AI 教练生成上下文时也会写入同日快照(与监控板共用逻辑)

---

## 4. 环境变量

| 变量 | 默认 | 说明 |
|------|------|------|
| `HUB_FUND_HISTORY_DAYS` | `180` | 资金快照保留交易日数(与起点取较晚边界) |
| `HUB_FUND_HISTORY_START_DAY` | `2026-06-09` | 曲线/回撤统计起始交易日 |
| `TRADING_DAY_RESET_HOUR` | `8` | 切日整点(北京),与三所 `.env` 建议一致 |
| `HUB_BOARD_POLL_INTERVAL` | `5` | 监控聚合间隔(秒),影响快照刷新频率 |

---

## 5. API

`GET /api/hub/fund-overview`(需中控登录,与监控区相同)

返回字段概要:

- `totals.total_usdt` — 当前总资金
- `totals.series[]` — `{ day, total_usdt }` 总曲线
- `totals.drawdown` — `{ peak_usdt, max_drawdown_u, max_drawdown_pct }`
- `accounts[]` — 分户实时余额,曲线,回撤,`monitored` 标记

---

## 6. 相关文档

- [使用说明.md](./使用说明.md) — 中控总览
- [AI教练说明.md](./AI教练说明.md) — AI 上下文中的资金快照文本
- [部署文档.md](./部署文档.md) — 重启 `manual-trading-hub` 后生效
