AI 原生量化投研平台AI-native quantitative research platform
正在打开工作台Opening your workspace
页面仍在加载,可以继续等待,或重新加载。The page is still loading. You can keep waiting or reload.
部分页面资源未能加载,请重新加载。Some page resources could not load. Please reload.
设备当前处于离线状态,恢复连接后可以继续等待或重新加载。Your device is offline. Once connected, you can keep waiting or reload.

抛开人工特征,以原始高频行情为唯一输入、股票收益率为学习目标,从零训练端到端深度模型,让模型直接从分钟级量价序列中习得收益信号
BigAlpha 是 BigQuant(宽邦科技)面向全球高校青年人才打造的年度 AI 量化投研赛事,依托 BigQuant AI 投研平台,通过真实数据、开放赛题与专业评审,发现新一代金融科技人才。
BigAlpha 2026 全球同步开放三大赛事,参赛者可自由选择:
关于 BigQuant:国内领先的 AI 量化投资平台,使命是 "Democratize AI to empower investors"。平台将机器学习、深度学习等 AI 技术与量化投资深度融合,为个人 Quant、研究机构、券商及资管机构提供从数据、研究、回测到实盘的一站式解决方案,已被多家头部金融机构采用。核心能力包括 PB 级金融与另类数据、2000+ 基础因子库与表达式引擎、高性能 DAI 数据引擎,以及策略源码库与实盘对接。本赛道直接使用与机构客户一致的工具链。
为什么是端到端模型:传统的"因子挖掘 + 组合优化"两步走范式,过度依赖人工经验构建特征,难以捕捉市场中瞬息万变的非线性、高阶交互关系,面临信息损耗与人工偏见的双重挑战。端到端(End-to-End)量化建模 通过深度神经网络跳过繁琐的显式特征工程,直接从原始市场序列数据中学习投资逻辑,实现从"原始数据"到"投资决策"的一站式映射。本赛道聚焦 端到端模型生成:参赛者不再挖掘孤立因子,而是以主办方提供的多频率分钟级行情数据为输入、以股票残差收益率为目标,构建能处理复杂时空关系的大模型。我们鼓励采用无特征或弱特征的研发模式,尽可能使用原始量价序列(如 OHLCV、分时快照),利用模型内部机制自发捕捉市场微观结构的深层规律。
本赛道采用"端到端模型生成"方式:参赛者按规范构建模型并提交训练 / 推理代码。主办方提供以下模版供参考:
| 模版 | 说明 |
|---|---|
Transformer.ipynb | 实时训练一个 transformer 模型 |
Transformer_modelsave_train.ipynb | 如果训练时间过长,请将模型保存下来一并提交。(本地训练代码,提交时请转换为py文件) |
Transformer_modelsave_predict.ipynb | 如果训练时间过长,请将模型保存下来一并提交。(预测模块) |
注意:可以提交多个不同类型的文件,但要保证调用评估模块的代码放在 notebook 中,且提交文件中只能有一个 notebook,后台会提取其中的代码运行。
输入与特征约束
模型架构约束
每次提交模型推理产出一个分数文件,必须且仅包含三列(默认分数越大越好,参赛者需自行确保符号正确):
| date | instrument | score |
|---|---|---|
| 2023-01-03 | 000001.SZ | 0.05 |
| 2023-01-03 | 000002.SZ | -0.12 |
所产出的分数经风格剔除后等价于一个每日更新的单因子,因此直接以单因子得分作为团队得分。
提交的分数文件须通过以下全部校验,否则视为无效:
date、instrument、score 三列,无多余列。校验通过后,平台依次对原始分数统一处理:
为保证公平,所有代码须在指定的线上 BigQuant Notebook 环境运行并提交,所有提交必须是通过推理脚本自动运行并生成分数文件的完整代码包:
所产出的分数经风格剔除后等价于一个每日更新的单因子,团队得分即该单因子得分。
四项均做百分位归一化后等权相加,按 Scorefinal 降序排列即得团队最终排名。
竞赛分公榜和私榜两阶段,使用不同数据区间,最终排名以私榜为准。
| 阶段 | 训练集 | 验证集 | 说明 |
|---|---|---|---|
| 公榜 | 2019-01-01 ~ 2024-12-31 | 不公开 | 验证集得分可见,用于调试迭代 |
| 私榜 | 不公开 | 不公开 | 含样本外数据,用于最终排名 |
公榜阶段:
私榜阶段:
公榜阶段每日固定时点,根据最新评估结果公布以下信息,帮助参赛者明确优化方向。
(1)模型画像(公榜总得分排名前 10 的提交,按团队去重,每队仅取其当前最高分提交)
| 特征 | 说明 |
|---|---|
| BARRA 风格暴露 | 风格剔除前模型分数在市值、Beta、动量、波动率等风格上的暴露分布 |
| 行业 IC 分布 | 模型在各申万一级行业的平均 IC,揭示行业偏好 |
| 截面分散度 | 分数截面 std 的时序均值,衡量预测是否过度集中 |
公布的是聚合特征,不涉及具体网络结构,不影响知识产权保护。
(2)团队细节得分
(3)指数增强策略跟踪
平台基于每队当前公榜最高分提交的分数,同步构建中证 1000 指数增强策略:以模型分数为信号,在成分股内超配高分股、低配低分股,跟踪误差约束 5% 以内。每轮评估后更新持仓并展示:
| 指标 | 说明 |
|---|---|
| 累计超额收益 | 相对中证 1000 的累计 alpha |
| 信息比率(IR) | 年化超额收益 / 跟踪误差 |
| 最大回撤 | 超额收益的最大回撤 |
| 增量贡献 | 新一轮提交后策略 IR 的变化 |
端到端模型若真从原始数据中提取到增量信息,应能持续推动指增策略 IR 上升;若某轮迭代未能改善策略表现,也会如实呈现,作为对参赛者的反馈。
| 场次 | 时间 | 地点 |
|---|---|---|
| 美国场 | 2026-09-01 | UC Berkeley |
| 亚洲场 | 2026 年 9 月中旬 | 北京大学 |
入围队伍须按时提交模型研究报告(PDF,10–15 页),结构需包含:
| 章节 | 内容要点 |
|---|---|
| 摘要 | 研究目标、核心方法与主要结论 |
| 引言 | 模型研究背景与文献综述 |
| 模型构建 | 详细阐述模型搭建的细节(数据处理、网络结构、训练策略) |
| 创新性与局限性 | 方法创新点与局限性讨论 |
| 结论 | 研究总结与未来方向 |
决赛答辩采用 "15 分钟展示 + 5 分钟评委问答",线下举行并同步线上直播。答辩后公布最终名次并举行颁奖典礼,邀请所有嘉宾、评委与选手共同参与。
评审委员会综合评估:
本赛道与其他两条赛道共享以下奖项体系。
亚洲场与美国场各设:
| 奖项 | 名额 | 奖金 | 其他 |
|---|---|---|---|
| 金奖 | 1 名 | ¥20,000 | 奖杯 + 电子证书 |
| 银奖 | 2 名 | ¥15,000 | 奖杯 + 电子证书 |
| 铜奖 | 3 名 | ¥10,000 | 奖杯 + 电子证书 |
随赛事推进评选特色作品与团队进行专项颁奖,奖项届时公布,奖金合计 ¥12,500。
本比赛只可使用指定的数据源来构建因子。评判程序会 import 参赛用户提交代码里的 main 函数,并传入数据源名、开始日期时间、结束日期时间来调用。
本次 BigAlpha 的比赛均放在 BigQuant 数据平台:https://bigquant.com/data/categories/-BigAlpha。股票池:中证1000指数在历史相应时间点上的成分股
构建因子的基础数据
其他数据
以分钟行情为例,参考:bigalpha_2026_stock_bar1m
以下是根据您提供的内容转换成的 Markdown 格式表格:
| 字段名 | 数据类型 | 描述 |
|---|---|---|
| date | np.datetime64 | 时间 |
| instrument | pd.StringDtype | 标的 |
| time | np.int32 | 时间(HHMMSSmmm) |
| trading_day | np.int32 | 交易日期 |
| pre_close | np.float32 | 前收盘 |
| open | np.float32 | 开盘价 |
| high | np.float32 | 最高价 |
| low | np.float32 | 最低价 |
| price | np.float32 | 成交价 |
| ask_price1 | np.float32 | 1档委卖价 |
| ask_price2 | np.float32 | 2档委卖价 |
| ask_price3 | np.float32 | 3档委卖价 |
| ask_price4 | np.float32 | 4档委卖价 |
| ask_price5 | np.float32 | 5档委卖价 |
| ask_price6 | np.float32 | 6档委卖价 |
| ask_price7 | np.float32 | 7档委卖价 |
| ask_price8 | np.float32 | 8档委卖价 |
| ask_price9 | np.float32 | 9档委卖价 |
| ask_price10 | np.float32 | 10档委卖价 |
| ask_volume1 | np.int64 | 1档委卖量 |
| ask_volume2 | np.int32 | 2档委卖量 |
| ask_volume3 | np.int32 | 3档委卖量 |
| ask_volume4 | np.int32 | 4档委卖量 |
| ask_volume5 | np.int32 | 5档委卖量 |
| ask_volume6 | np.int32 | 6档委卖量 |
| ask_volume7 | np.int32 | 7档委卖量 |
| ask_volume8 | np.int32 | 8档委卖量 |
| ask_volume9 | np.int32 | 9档委卖量 |
| ask_volume10 | np.int32 | 10档委卖量 |
| bid_price1 | np.float32 | 1档委买价 |
| bid_price2 | np.float32 | 2档委买价 |
| bid_price3 | np.float32 | 3档委买价 |
| bid_price4 | np.float32 | 4档委买价 |
| bid_price5 | np.float32 | 5档委买价 |
| bid_price6 | np.float32 | 6档委买价 |
| bid_price7 | np.float32 | 7档委买价 |
| bid_price8 | np.float32 | 8档委买价 |
| bid_price9 | np.float32 | 9档委买价 |
| bid_price10 | np.float32 | 10档委买价 |
| bid_volume1 | np.int64 | 1档委买量 |
| bid_volume2 | np.int32 | 2档委买量 |
| bid_volume3 | np.int32 | 3档委买量 |
| bid_volume4 | np.int32 | 4档委买量 |
| bid_volume5 | np.int32 | 5档委买量 |
| bid_volume6 | np.int32 | 6档委买量 |
| bid_volume7 | np.int32 | 7档委买量 |
| bid_volume8 | np.int32 | 8档委买量 |
| bid_volume9 | np.int32 | 9档委买量 |
| bid_volume10 | np.int32 | 10档委买量 |
| bid_num_orders1 | np.int32 | 卖1档委托笔数 |
| bid_num_orders2 | np.int32 | 卖2档委托笔数 |
| bid_num_orders3 | np.int32 | 卖3档委托笔数 |
| bid_num_orders4 | np.int32 | 卖4档委托笔数 |
| bid_num_orders5 | np.int32 | 卖5档委托笔数 |
| bid_num_orders6 | np.int32 | 卖6档委托笔数 |
| bid_num_orders7 | np.int32 | 卖7档委托笔数 |
| bid_num_orders8 | np.int32 | 卖8档委托笔数 |
| bid_num_orders9 | np.int32 | 卖9档委托笔数 |
| bid_num_orders10 | np.int32 | 卖10档委托笔数 |
| ask_num_orders1 | np.int32 | 买1档委托笔数 |
| ask_num_orders2 | np.int32 | 买2档委托笔数 |
| ask_num_orders3 | np.int32 | 买3档委托笔数 |
| ask_num_orders4 | np.int32 | 买4档委托笔数 |
| ask_num_orders5 | np.int32 | 买5档委托笔数 |
| ask_num_orders6 | np.int32 | 买6档委托笔数 |
| ask_num_orders7 | np.int32 | 买7档委托笔数 |
| ask_num_orders8 | np.int32 | 买8档委托笔数 |
| ask_num_orders9 | np.int32 | 买9档委托笔数 |
| ask_num_orders10 | np.int32 | 买10档委托笔数 |
| num_trades | np.int32 | 成交笔数 |
| volume | np.int64 | 当日累计成交量 |
| amount | np.float64 | 当日成交额(元) |
| total_bid_volume | np.int64 | 委买总量 |
| total_ask_volume | np.int64 | 委卖总量 |
| bid_avg_price | np.float32 | 加权平均委买价 |
| ask_avg_price | np.float32 | 加权平均委卖价 |
import dai
dai.query("SELECT * FROM bigalpha_2026_stock_bar1m", filters={"date": ["2019-01-01 00:00:00", "2019-01-05 23:59:59"]}).df().head()| date | instrument | pre_close | high | open | low | close | deal_number | volume | amount | ask_price1 | ask_price2 | ask_price3 | ask_price4 | ask_price5 | bid_price1 | bid_price2 | bid_price3 | bid_price4 | bid_price5 | ask_volume1 | ask_volume2 | ask_volume3 | ask_volume4 | ask_volume5 | bid_volume1 | bid_volume2 | bid_volume3 | bid_volume4 | bid_volume5 | ask_num_orders1 | ask_num_orders2 | ask_num_orders3 | ask_num_orders4 | ask_num_orders5 | bid_num_orders1 | bid_num_orders2 | bid_num_orders3 | bid_num_orders4 | bid_num_orders5 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2019-01-02 09:31:00 | 000006.SZ | 5.18 | 5.2 | 5.18 | 5.18 | 5.18 | 48 | 19000 | 98444 | 5.19 | 5.2 | 5.21 | 5.22 | 5.23 | 5.18 | 5.17 | 5.16 | 5.15 | 5.14 | 14600 | 38300 | 19400 | 20100 | 8400 | 18700 | 30700 | 14500 | 59200 | 8500 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 2019-01-02 09:31:00 | 000011.SZ | 9.18 | 9.26 | 9.2 | 9.2 | 9.26 | 25 | 24300 | 223956 | 9.27 | 9.28 | 9.29 | 9.32 | 9.33 | 9.26 | 9.25 | 9.24 | 9.23 | 9.22 | 1400 | 6300 | 14800 | 3000 | 1100 | 1600 | 172300 | 700 | 200 | 3000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2 | 2019-01-02 09:31:00 | 000012.SZ | 3.99 | 4.04 | 3.99 | 3.99 | 4 | 39 | 125062 | 501100 | 4.01 | 4.02 | 4.03 | 4.04 | 4.05 | 4 | 3.99 | 3.98 | 3.96 | 3.95 | 5200 | 600 | 10495 | 445800 | 32075 | 69500 | 152238 | 34100 | 9800 | 40000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 3 | 2019-01-02 09:31:00 | 000016.SZ | 3.24 | 3.26 | 3.24 | 3.24 | 3.26 | 52 | 77000 | 249727 | 3.26 | 3.27 | 3.28 | 3.29 | 3.3 | 3.25 | 3.24 | 3.23 | 3.22 | 3.21 | 35100 | 21400 | 13700 | 35500 | 24500 | 99100 | 5800 | 13800 | 34900 | 22600 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 4 | 2019-01-02 09:31:00 | 000018.SZ | 2.12 | 2.15 | 2.15 | 2.14 | 2.15 | 121 | 674000 | 1.44844e+06 | 2.16 | 2.17 | 2.18 | 2.19 | 2.2 | 2.15 | 2.14 | 2.13 | 2.12 | 2.11 | 191800 | 193600 | 153400 | 110100 | 206000 | 22200 | 17300 | 178800 | 148300 | 85200 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DAI 内置多种算子/函数,参考 DAI函数文档。DAI是专为AI/量化场景优化的超高性能计算引擎,能充分利用现代CPU/GPU能力。
import dai
dai.query(""" SELECT date::DATE::DATETIME AS date, instrument, AVG(close) / LAST(close) AS factor FROM bigalpha_2026_stock_bar1m GROUP BY date::DATE, instrument ORDER BY date, instrument""", filters={"date": ["2023-01-01 00:00:00", "2023-02-01 23:59:59"]}, compression=True).df().head()| date | instrument | factor | |
|---|---|---|---|
| 0 | 2023-01-03 00:00:00 | 000006.SZ | 1.00064 |
| 1 | 2023-01-03 00:00:00 | 000011.SZ | 1.0023 |
| 2 | 2023-01-03 00:00:00 | 000012.SZ | 0.993469 |
| 3 | 2023-01-03 00:00:00 | 000016.SZ | 0.999046 |
| 4 | 2023-01-03 00:00:00 | 000019.SZ | 1.00017 |
DAI 数据引擎支持UDF(User-Defined Function,用户定义函数),指允许用户通过编写自定义函数来扩展算子。
import dai
# 定义计算因子的UDF - 带类型声明(推荐)def calculate_factor(instrument: str, prices: list) -> float: """计算因子:平均价格/最后价格""" if not prices: return None avg_price = sum(prices) / len(prices) last_price = prices[-1]| date | instrument | factor | |
|---|---|---|---|
| 0 | 2023-01-03 00:00:00 | 000006.SZ | 0.997372 |
| 1 | 2023-01-03 00:00:00 | 000011.SZ | 0.997007 |
| 2 | 2023-01-03 00:00:00 | 000012.SZ | 0.989028 |
| 3 | 2023-01-03 00:00:00 | 000016.SZ | 0.988163 |
| 4 | 2023-01-03 00:00:00 | 000019.SZ | 0.994797 |
DAI 数据引擎也支持将数据转换为 pd.DataFrame、pl.DataFrame、arrow 等格式的数据类型。
import dai
data = dai.query("SELECT date, instrument, close FROM bigalpha_2026_stock_bar1m", filters={"date": ["2023-01-01 00:00:00", "2023-02-01 23:59:59"]}, compression=True)
# 转为 pandas dataframe,然后在 pandas 继续计算df = data.df()
# 转为 polars dataframe,然后在 polars 继续计算,polars没有内置在 aistudio 中,可以自行安装 pip3 install polarsdf = data.pl()
# 转为 apache arrow,然后在 arrow 继续计算df = data.arrow()
# 更多参考 DAI 文档更多参考 DAI 文档:DAI文档
dai 与 pandas 等混合计算,可以在 dai 中高性能的使用 pandas、polars、arrow等数据(通过参数 bind_relations 绑定),并支持JOIN等操作。
import dai
data = dai.query("SELECT date, instrument, close FROM bigalpha_2026_stock_bar1m", filters={"date": ["2023-01-01 00:00:00", "2023-02-01 23:59:59"]})
df = data.df()
dai.query(""" SELECT date::DATE::DATETIME AS date, instrument AS instrument, AVG(close) AS avg_close FROM df GROUP BY date::DATE::DATETIME, instrument""", bind_relations={"df": df}).df()date::DATE 只取得 date 的日期部分,e.g. 2025-01-03 14:24:31::DATE 为 2025-01-03。注意:date 的类型是 TIMESTAMP,date::DATE 类型是 DATE,可能在部分比较时出现数据类型不一致问题date::DATE::DATETIME 可以这样再将数据类型转为 DATETIMEdate_trunc, time_bucketm_ 前缀的是时序算子,并且默认基于 GROUP BY instrument 计算,e.g. SELECT date, instrument, close / m_lag(close, 1) AS close_1 FROM bigalpha_2026_stock_bar1mc_ 前缀的是时序算子,并且默认基于 GROUP BY instrument 计算,e.g. SELECT date, instrument, close / m_lag(close, 1) AS close_1, c_rank(close_1) FROM bigalpha_2026_stock_bar1mcompression=True 参数可降低内存占用:dai.query("SELECT * FROM bigalpha_2026_stock_bar1m", filters={"date": ["2023-01-01 00:00:00", "2023-02-01 23:59:59"]}, compression=True).df()。数据量很大,可以开启该参数(设为 True)后,系统会自动将 instrument 列的字符串类型转换为 category 类型,显著降低内存占用。在 dai sql 中查询和计算 pandas category 类型,可能会遇到不兼容问题,可以尝试用 instrument::string 转会为字符串。DAI(DATA FOR AI)是BigQuant研发的高性能分布式数据平台
本文为 BigAlpha 2026 全球高校联赛 · 端到端模型赛道的合规与免责文件,与同名介绍文档配套使用。本规则中的"模型"特指参赛者按介绍文档"模型规范"章节构建的端到端深度学习模型,评估对象为该模型输出的截面分数文件。
参赛者须遵守以下基本原则;具体可识别的违规行为见第二章"反作弊与违规清单"。
在过往赛事中,部分参赛者会利用赛制设计的灰色地带提升排名。本章对可识别的违规行为进行明确列举,并说明检测机制与处理梯度,避免事后争议。
本节对应介绍文档"模型规范"章节的硬性约束,违反即视为不符合赛道定义。
Dataset.__getitem__ 中调用 talib、在前向传播中拼接预先离线计算的因子。主办方将通过以下机制进行违规检测,参赛者提交即视为同意接受:
| 变更类型 | 举例 | 提前通知量 |
|---|---|---|
| 重大变更 | 评分公式修改、提交规范调整、赛程顺延 | ≥ 48 小时 |
| 一般变更 | 公示信息字段调整、本地工具版本更新 | ≥ 24 小时 |
| 紧急修订 | 反作弊补丁、严重数据 / 平台 Bug 修复、安全漏洞响应 | 即时通知,事后补充说明 |
| 申诉类型 | 首次响应 | 处理结论 |
|---|---|---|
| 一般申诉(评估结果、公示信息) | 5 个工作日内 | 10 个工作日内 |
| 违规处理异议 | 48 小时内 | 7 个工作日内 |
| 紧急申诉(涉及截止时间、关键数据) | 24 小时内 | 与紧急修订一并处理 |
本赛事所有规则的最终解释权归 BigAlpha 2026 大赛组委会所有。规则中文版本与任何翻译版本存在歧义时,以中文版本为准。
承诺:报名即视为已阅读并同意本规则全部条款。如有疑问,请在报名前通过官方渠道咨询;报名后再以"未注意到某条规则"为由的申诉,组委会不予采纳。
官方模板与社区共享代码,可作为起点参考或克隆使用。
bq0qw5m5 上传于 2026-08-05
bq0qw5m5 上传于 2026-08-05
LanceWu 上传于 2026-08-03
bqdex272 上传于 2026-07-22
Transformer sequence ranker submission validation
bqg3l6tq 上传于 2026-07-04
BigAlpha E2E 原始分钟序列 Ridge baseline v4。仅使用官方 5m 原始量价与三档盘口字段,每个股票日取最后 5 根 bar,ridge alpha=0.005,不使用外部数据或预训练权重。本地使用 Jan->Feb 与 JanFeb->Mar rolling walk-forward 小正则邻域搜索,10/10 候选通过稳定性 gate;相比 v3 提升 IC_mean、多空 Sharpe 与 Stress 代理。
bqg3l6tq 上传于 2026-07-04
BigAlpha E2E 原始分钟序列 Ridge baseline v3。仅使用官方 5m 原始量价与三档盘口字段,每个股票日取最后 4 根 bar,ridge alpha=0.05,不使用外部数据或预训练权重。本地使用 Jan->Feb 与 JanFeb->Mar rolling walk-forward 邻域搜索,10/10 候选通过稳定性 gate;跨 v2/v3 rank-mean 选择本候选。
bqg3l6tq 上传于 2026-07-04
BigAlpha E2E 原始分钟序列 Ridge baseline。仅使用官方 5m 原始量价与三档盘口字段,每个股票日取最后 4 根 bar,ridge alpha=0.3,不使用外部数据或预训练权重。本地使用 Jan->Feb 与 JanFeb->Mar rolling walk-forward 选择,10 个候选中 8 个通过稳定性 gate,本候选综合 rank-mean 最优。