# cmesdata 已发布接口与 symbol 目录

本文是 [SKILL.md](SKILL.md) 的补充：历史批量可用的 `symbol` key 全表，以及与实时接口的边界。  
接口参数详解见 [api-reference.md](api-reference.md)。  
官网下载页（每类有示例）：https://cmes-data.com/download.html?type=vip

未列出的内部模块、HTTP 路径、下划线函数：**不要当作用户接口推荐**。

---

## 1. 公开 Python API 一览

| 函数 | 作用 | 详解 |
|------|------|------|
| `login` / `login_out` | 实时/tick/短历史/期货推送登录 | [api-reference.md §1](api-reference.md) |
| `get_real_hq` / `get_real_kzz` | 实时五档 | §2 |
| `get_history_data` / `get_index_data` | 近约 5 个月短历史 K | §3 |
| `get_tick` | 单日分笔 | §4 |
| `get_symbol_list` | 历史包可下载代码/日包名列表 | §5 |
| `get_historical_data` | 按代码下载历史并可选日期裁剪 | §5 |
| `get_daily_pack` | 按日包或唯一固定包 | §5 |
| `get_update_data` / `get_update_sym` / `get_update_expiry` | 日更 zip 落盘 / 查到期 | §6 |
| `register_push_callback` / `subscribe_future_code` | 期货推送 | §7 |
| `RateLimitError` / `HistoryDataError` | 历史接口异常 | §8 |

调用 `get_symbol_list` / `get_historical_data` / `get_daily_pack` 时，第一个参数必须是下文 key（与网站数据种类一致）。

**现行规则提醒：**

- 无 `2025-before` / `2025-behind`；分钟大数据单次 ≤ 一年，跨年请按年多次请求。  
- 完整映射亦可对照安装包 `cmesdata._batch_menu_map.BATCH_MENU_MAP`（仅用于核对 key，不要改包）。

---

## 2. 历史批量 symbol key（BATCH_MENU_MAP）

### A 股 / ETF / 可转债 / 指数 / 财务等

```
a_stock_1min a_stock_5min a_stock_15min a_stock_30min a_stock_60min
a_stock_daily a_stock_weekly a_stock_monthly
split_daily split_weekly split_monthly split_daily_basic
a_stock_daily_basic a_super_day a_jibenmian a_jihejj_zonghe a_simple_tick a_stock_kpl_list
a_etf_1min a_etf_5min a_etf_15min a_etf_30min a_etf_60min
a_etf_day_bfq a_etf_day_qfq a_etf_day_hfq etf_five_tick
a_kzz_1min a_kzz_5min a_kzz_15min a_kzz_30min a_kzz_60min a_kzz_day
a_index_1min a_index_5min a_index_15min a_index_30min a_index_60min
a_index_day a_index_week a_index_month
a_finance_fuzhaibiao a_finance_lirunbiao a_finance_liuliangbiao
```

### 港股 / 美股

```
vip_gg_min_01 vip_gg_min_02 vip_gg_min_03 vip_gg_min_04
vip_gg_day_bfq_01 vip_gg_factor_qfq_01
gg_index_1min gg_index_5min gg_index_15min gg_index_30min gg_index_day
gg_stock_day_qfq gg_stock_day_hfq
gg_finance_fuzhaibiao gg_finance_lirunbiao gg_finance_liuliangbiao
mg_stock_1min mg_stock_5min mg_stock_15min mg_stock_30min mg_stock_60min
mg_stock_day_qfq mg_stock_day_hfq vip_mg_day_bfq_01 vip_mg_factor_qfq_01
mg_etf_1min mg_etf_5min mg_etf_15min mg_etf_30min mg_etf_60min mg_etf_day
mg_index_1min mg_index_5min mg_index_15min mg_index_30min mg_index_60min mg_index_day
mg_finance_fuzhaibiao mg_finance_lirunbiao mg_finance_liuliangbiao
```

### 国内期货

```
qh_main_1min qh_main_5min qh_main_15min qh_main_30min qh_main_60min
qh_main_day qh_main_week qh_main_month qh_main_time
qh_single_1min qh_single_5min qh_single_15min qh_single_30min qh_single_60min
qh_single_day qh_single_week qh_single_month
qh_xh vip_qh_contract vip_qh_hold_rank vip_qh_limit_price vip_qh_settle vip_qh_warrant
```

### 外盘期货 / 外汇 / 数字货币

```
gw_future_main_1min gw_future_main_5min gw_future_main_15min gw_future_main_30min gw_future_main_60min gw_future_main_day
gw_future_single_1min gw_future_single_5min gw_future_single_15min gw_future_single_30min gw_future_single_60min gw_future_single_day
wh_future_main_1min wh_future_main_5min wh_future_main_15min wh_future_main_30min wh_future_main_60min wh_future_main_day
fx_1min fx_5min fx_15min fx_30min fx_60min fx_day
bitcoin_1min bitcoin_5min bitcoin_15min bitcoin_30min bitcoin_60min bitcoin_day
```

### VIP 复权 / 资金流向 / 涨停龙虎 / 宏观 / 新闻 / 指数成分等

```
vip_a_factor_qfq_01 vip_a_factor_hfq_01
vip_cf_board_dc vip_cf_board_ths vip_cf_hsgt vip_cf_ind_ths vip_cf_market_dc
vip_cf_stock_dc vip_cf_stock_ths vip_cf_stock_tier
vip_idx_cons_daily vip_idx_cons_single
vip_idx_stock_000001 vip_idx_stock_000010 vip_idx_stock_000016 vip_idx_stock_000300
vip_idx_stock_000688 vip_idx_stock_000852 vip_idx_stock_000905 vip_idx_stock_000906
vip_idx_stock_399001 vip_idx_stock_399006
vip_lb_dc_board vip_lb_dc_index_day vip_lb_dc_member vip_lb_dc_theme vip_lb_dc_theme_cons
vip_lb_dragon_inst vip_lb_dragon_stat vip_lb_limit_exch vip_lb_limit_sector vip_lb_limit_step vip_lb_limit_ths
vip_lb_tdx_board vip_lb_tdx_index_day vip_lb_tdx_member vip_lb_theme_cons vip_lb_ths_hot vip_lb_ths_index_day
vip_macro_lpr vip_macro_shibor vip_macro_shibor_quote vip_macro_treasury_yield
vip_macro_us_tbr vip_macro_us_tltr vip_macro_us_trltr vip_macro_us_trycr vip_macro_us_tycr
vip_nw_announce_01 vip_nw_cctv_01
vip_nw_long_01 … vip_nw_long_08
vip_nw_short_01 … vip_nw_short_09
hm_list ths_index ths_member
```

不确定 key 时：

1. 打开官网对应数据页「数据接口」示例里的第一个字符串参数；或  
2. 对已知 key 调用 `get_symbol_list` 验证权限与列表。

**禁止**臆造 `symbol`（如 `stock_min_1`）。

---

## 3. 代码与日期习惯

| 市场 | 代码示例 |
|------|----------|
| 沪深 | `SH.600000` `SZ.000001` |
| 北交所 | `BJ.…`（以列表为准） |
| 港股 | `HK.00700` / 包内实际文件名以 `get_symbol_list` 为准 |
| 美股 | `AAPL` 等（以列表为准） |
| 期货单月 | `AG2601`、`RB2501` 等（以列表为准） |
| 期货推送订阅 | 交易所小写标准码，如 `rb2601`、`cu2501`（与历史包名可能不同） |

日期：`2025-06-01` 或 `20250601`；`get_daily_pack` 按日时常用 `YYYYMMDD`。

---

## 4. 与「实时」的边界

| 需求 | 正确接口 | 错误用法 |
|------|----------|----------|
| 盘中五档 | `login` + `get_real_hq` | 用 `get_historical_data` 当实时 |
| 多年历史分钟 | `get_historical_data` 按年循环 | 一次跨多年期望全返回 |
| 日更文件 | `get_update_data` | 改本地包绕过权限 |
| 近 5 个月短 K | `get_history_data` | 与批量 `get_historical_data` 混用却搞不清权限 |

---

## 5. 文档未发布则不要用

- `cmesdata.historydata` / `stock` 内 `_` 开头函数  
- 直接请求鉴权/下载 HTTP 伪造 header  
- 修改 `BATCH_MENU_MAP` 打通未授权品种  

底层 HTTP 仅当官网提供对应文档时再协助；否则引导回 `cmesdata` 公开函数。
