端到端模型数据下载指南
由hxgre创建,最终由hxgre 被浏览 9 用户
一、下载数据
端到端模型数据按频率分为 4 个压缩包,可根据需要选择下载,无需全部下载:
cpt_jyc_2026_e2e_bar1mcpt_jyc_2026_e2e_bar5mcpt_jyc_2026_e2e_bar15mcpt_jyc_2026_e2e_bar30m
下载链接: https://bigquant.com/codesharev3/4d8b8d03-20e3-4372-9d38-e16586ee7a14
【密码需要通过审核后由工作人员发放】
\
二、下载与解压
以 30 分钟数据为例,将压缩包下载后解压到本地 e2e_data 目录:
mkdir -p e2e_data
cd e2e_data
# 将 <下载地址> 替换为主办方提供的实际文件地址
curl -L -o "<下载地址>"
unzip cpt_jyc_2026_e2e_bar30m.zip
下载其他频率时,将示例中的表名替换为对应的数据表名即可。
三、数据目录结构
解压后,每个频率对应一个独立目录,目录名即数据表名 datasource_id。数据按月份分区存储为 Feather 文件:
e2e_data/
├── cpt_jyc_2026_e2e_bar1m/
│ ├── YYYYMM.0.feather
│ ├── ...
│ └── bmeta.bin
├── cpt_jyc_2026_e2e_bar5m/
│ └── ...
├── cpt_jyc_2026_e2e_bar15m/
│ └── ...
└── cpt_jyc_2026_e2e_bar30m/
└── ...
YYYYMM.0.feather为对应月份的数据文件。bmeta.bin是 BigQuant bdb 元数据,直接读取 Feather 文件时可忽略。- 可根据文件名筛选需要的月份,避免一次性读取全部数据。
四、本地表 vs 云端表(关键差异)
下载到本地的 e2e 表与云端预测使用的 stock 表一一对应。两者的频率和 bar 时间含义一致,但本地表为减少文件体积做了整数化和字段裁剪。
| 频率 | 本地表(下载,已压缩) | 云端表(预测用,原始数据) |
|---|---|---|
| 1 分钟 | cpt_jyc_2026_e2e_bar1m |
cpt_jyc_2026_stock_bar1m |
| 5 分钟 | cpt_jyc_2026_e2e_bar5m |
cpt_jyc_2026_stock_bar5m |
| 15 分钟 | cpt_jyc_2026_e2e_bar15m |
cpt_jyc_2026_stock_bar15m |
| 30 分钟 | cpt_jyc_2026_e2e_bar30m |
cpt_jyc_2026_stock_bar30m |
字段差异对照
| 维度 | 本地 e2e 表 |
云端 stock 表 |
读取与对齐要点 |
|---|---|---|---|
| 股票代码 | 仅有 instrument_id(int16) |
同时有 instrument(字符串)和 instrument_id(int16) |
建议两端统一使用 instrument_id 分组 |
| OHLC 价格 | int32,单位为“分” |
float32,单位为“元” |
本地读取后需除以 100 |
| 买卖盘价格 | int32,单位为“分” |
float32,单位为“元” |
本地读取后需除以 100 |
成交金额 amount |
int64,单位为“分” |
float64,单位为“元” |
本地读取后需除以 100 |
| OHLC 缺失值 | -1 |
NaN |
本地的 -1 应先转换为 NaN,再进行单位还原 |
| 买卖盘价格缺失值 | 0 |
0 |
两端一致 |
| 盘口档位 | 3 档(*1 至 *3) |
5 档(*1 至 *5) |
模型特征应只依赖前 3 档,云端预测时忽略第 4、5 档 |
| 委托笔数 | int16 |
int32 |
计算时可按需要转换为统一类型 |
成交笔数 deal_number |
int32 |
int64 |
计算时可按需要转换为统一类型 |
pre_close |
不包含 | 包含 | 为保证本地和云端特征一致,不要依赖该字段 |
date |
K 分钟 bar 的结束时刻 | K 分钟 bar 的结束时刻 | 两端一致 |
本地表共 28 列:
date, instrument_id, adjust_factor, high, open, low, close,
deal_number, volume, amount,
ask_price1~3, bid_price1~3,
ask_volume1~3, bid_volume1~3,
ask_num_orders1~3, bid_num_orders1~3
云端
stock表额外包含字符串股票代码instrument、pre_close,并提供第 4、5 档买卖盘数据。
本地数据还原示例
本地读取后,建议先将价格、金额和缺失值还原为与云端一致的表示,再构建模型特征:
import numpy as np
import pandas as pd
SCALE_FIELDS = [
"open", "high", "low", "close", "amount",
"ask_price1", "ask_price2", "ask_price3",
"bid_price1", "bid_price2", "bid_price3",
]
OHLC_FIELDS = ["open", "high", "low", "close"]
\
def restore_local_data(data: pd.DataFrame) -> pd.DataFrame:
data = data.copy()
# OHLC 的 -1 表示缺失,需在除以 100 之前处理。
for field in OHLC_FIELDS:
data.loc[data[field] == -1, field] = np.nan
# 价格和成交金额:分 -> 元。
for field in SCALE_FIELDS:
if field in data.columns:
data[field] = data[field].astype("float64") / 100.0
return data
使用数据前请确认:
- 本地价格和
amount已除以100。 - OHLC 的
-1已转为NaN。 - 特征只使用前 3 档买卖盘。
- 本地和云端使用相同的股票分组键,建议统一使用
instrument_id。 - 特征构建不依赖本地表中不存在的
pre_close和第 4、5 档数据。
五、读取下载数据
使用 pandas 读取单个月份的 Feather 文件:
import pandas as pd
path = "e2e_data/cpt_jyc_2026_e2e_bar30m/YYYYMM.0.feather"
data = pd.read_feather(path)
数据量较大时,建议仅读取实际需要的列:
columns = ["date", "instrument_id", "open", "high", "low", "close"]
data = pd.read_feather(path, columns=columns)
\