端到端模型数据下载指南

一、下载数据

端到端模型数据按频率分为 4 个压缩包,可根据需要选择下载,无需全部下载:

  • cpt_jyc_2026_e2e_bar1m

  • cpt_jyc_2026_e2e_bar5m

  • cpt_jyc_2026_e2e_bar15m

  • cpt_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)