端到端模型数据下载指南

由hxgre创建,最终由hxgre 被浏览 8 用户

一、下载数据

端到端模型数据按频率分为 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)

\

{link}