# 振幅统计（中控）

中控只读工具：按自定义整点起点、**固定北京时间 16:00 收窗**，统计 OKX 上 ETH/BTC 的历史「点数振幅」档案，辅助一天期期权判断空间。

> 开发方案见 [ETH时段振幅统计-开发方案.md](./ETH时段振幅统计-开发方案.md)。  
> **不改下单链路**；不算 IV。  
> 买跨 / 永期对冲测算请用中控 **策略计算器**，本页不再做对照盈亏。

---

## 入口

- 顶栏 **振幅统计**（`/amp-stats`）
- 手机端：**更多 → 振幅统计**
- 可在系统设置里隐藏该导航

---

## 怎么用

1. 打开 **统计** Tab  
2. 选择 **标的** ETH / BTC；数据源固定 **OKX**  
3. **起点整点**（00–23）；终点固定 **16:00**  
4. **周期**：1 月 / 2 月 / 3 月 / 半年 / 1 年 / 自定义天数（默认 2 个月）  
5. 可选填 **波动点数**（如 `50`）→ 看振幅达标占比  
6. 点 **计算** → 下方看汇总 + 振幅占比 + 分页日表  
7. 需要留存时点 **保存到历史**；**下载 CSV** 含摘要 + 全日明细  

**跨天例子**

| 起点 | 含义（结算日 D） |
|------|------------------|
| 22:00 | 昨天 22:00 → 今天 16:00 |
| 16:00 | 昨天 16:00 → 今天 16:00 |
| 08:00 | 今天 08:00 → 今天 16:00 |

未到当日 16:00 的「今天」不入样本。

---

## 指标（点数）

设开盘 O、最高 H、最低 L、收盘 C：

| 字段 | 算法 |
|------|------|
| 开→高 | `H − O`（一边波动） |
| 开→低 | `O − L`（另一边波动） |
| **振幅** | `H − L`（= 开→高 + 开→低），窗为起点整点 → 当日 16:00 |
| **两日振幅** | 同上口径，但起点再往前推 1 天；例起点 16:00、结算 27 日 → **25日16:00 → 27日16:00** |
| 涨跌值 | `C − O`（单日窗） |

例：O=2000，H=2500，L=1800 → 开→高 500，开→低 200，振幅 **700**。

汇总必含：最大振幅（及日期）、两日振幅最大/均值/中位、开→高/开→低的最大与均值等。

K 线粒度：**1H**（与整点对齐）；价源优先 OKX 指数（ETH-USD / BTC-USD），失败再降级永续标记。  
近期 K 线接口约仅 **1440** 根（1H≈60 天）；更长周期自动续拉 `history-index-candles` / `history-candles`。  
分页带间隔，遇 OKX **429** 会自动退避重试（长周期首次会慢一些）。

---

## 波动点数 → 振幅占比

表单可填 **波动点数**（如 `50`）。填写后下方 **振幅占比** 块显示：

| 汇总项 | 口径 |
|--------|------|
| 振幅≥点数 | 单日窗 `H−L ≥ 点数` 的天数与**占比**（主指标） |
| 两日振幅≥点数 | 两日窗振幅 ≥ 点数 的天数与占比 |
| 开→高≥点数 | `H−O ≥ 点数` 天数与占比 |
| 开→低≥点数 | `O−L ≥ 点数` 天数与占比 |
| \|涨跌\|≥点数 | `\|C−O\| ≥ 点数` 天数与占比 |

日表保留 **开→高 / 开→低**、**振幅**、**两日振幅**（悬停可见两日窗起止），并标 **振幅达标**。  
改点数 / 周末筛选会在已有日表上**本地重算**（不重拉 K 线）。

### 周末

- 下拉：**全部**（默认）/ **排除周末** / **仅周末**  
- 按 **结算日** 北京时间星期判断；表中六、日带标注并高亮  

---

## 历史 Tab

- 仅 **保存到历史** 后出现（不会一算就自动入库）  
- 可查看、再下载、删除  
- 数据文件：`manual_trading_hub/amp_stats_history.json`（勿当密钥提交）

---

## 相关代码

| 路径 | 说明 |
|------|------|
| `lib/hub/amp_stats_lib.py` | 切窗、汇总、OKX 拉取、CSV |
| `manual_trading_hub/amp_stats_routes.py` | API |
| `manual_trading_hub/amp_stats_store.py` | 历史 JSON |
| `manual_trading_hub/static/amp_stats.js` | 前端 |
| `tests/test_amp_stats_lib.py` | 单测 |

---

## 修订

| 日期 | 说明 |
|------|------|
| 2026-07-23 | 首版上线说明 |
| 2026-07-23 | 买跨对照、周末筛选、止盈点 |
| 2026-07-28 | 永期对冲对照（后已移除） |
| 2026-07-28 | 去掉买跨/永期；改为波动点数→振幅占比 |
| 2026-07-28 | 增加两日振幅(例 25日16:00→27日16:00) |
