新手入门
由hxgre创建,最终由bq2m6n23 被浏览 8 用户
新手入门
欢迎参加 2026 年第二届“进益资本”杯量化因子挑战赛。
比赛包含“因子挖掘”和“端到端模型”两个赛道,均使用 A 股分钟行情与盘口数据,预测未来 30 分钟 VWAP 收益。两个赛道的报名、开发和评测流程相同,提交内容略有区别。
比赛相关操作均须在“进益资本”空间内完成:https://jinyicapital.bigquant.com/
一、报名参赛
进入比赛页面并提交报名。审核通过后:
- “报名参赛”按钮将变为“提交代码”;
- 平台会自动将您加入“进益资本”空间;
- 比赛数据权限将自动开通。
比赛数据位于数据平台的 /进益资本杯2026 目录,也可从“比赛 → 数据”查看数据说明和训练数据。
报名须知:
- 报名截止:2026 年 10 月 7 日 23:59:59;
- 每位选手只能加入一支队伍,建议每队 1~3 人;
- 参加最终决赛的队伍,须至少有一位清华大学在读学生。
二、选择赛道与模板
在“比赛 → 代码”中选择模板,并克隆到自己的开发环境。请勿直接修改公共模板。
| 赛道 | 模板 | 用途 |
|---|---|---|
| 因子挖掘 | demo_sql.ipynb |
使用 DAI SQL 计算因子,速度快、内存占用低,推荐优先使用 |
| 因子挖掘 | demo_udf.ipynb |
在 DAI 中运行自定义 Python 函数 |
| 因子挖掘 | demo_py.ipynb |
使用 pandas、NumPy 等工具计算,需注意内存占用 |
| 端到端模型 | Transformer_modelsave_train.ipynb |
训练模型并保存参数,训练代码需整理为 .py 文件 |
| 端到端模型 | Transformer_modelsave_predict.ipynb |
加载模型参数并执行推理 |
三、实现评测入口
提交中必须有且仅有一个 Notebook。平台会导入其中的 main 函数:
def main(datasources, start_date, end_date):
# 读取数据,计算因子或执行模型推理
return result
平台会传入:
datasources:数据源逻辑名与当前评测表名的映射;start_date:评测开始时间;end_date:评测结束时间。
可用的数据源逻辑名包括:
| 逻辑名 | 数据 |
|---|---|
bar1m |
1 分钟 K 线及盘口快照 |
bar5m |
5 分钟 K 线及盘口快照 |
bar15m |
15 分钟 K 线及盘口快照 |
bar30m |
30 分钟 K 线及盘口快照 |
通过逻辑名获取数据表,例如:
bar1m = datasources["bar1m"]
不要在 SQL 中硬编码物理表名,否则公榜和私榜切换数据集时可能评测失败。股票池可使用 cpt_jyc_2026_instruments。
因子或推理所需的包导入、自定义函数和参数配置,应放在 main() 内或随提交文件提供。调试、画图等非必要代码可放在:
if __name__ == "__main__":
# 本地调试代码
四、因子挖掘赛道要求
1. 输出格式
main() 必须返回仅包含以下三列的 DataFrame:
| date | instrument | factor |
|---|---|---|
| 2023-01-03 10:30:00 | 000001.SZ | 0.05 |
| 2023-01-03 10:30:00 | 000002.SZ | -0.12 |
date:平台约定的 30 分钟采样时点,精确到分钟;instrument:股票代码;factor:因子值,默认值越大代表预测的未来收益越高。
每天约有 8 个非重叠日内截面。不得输出集合竞价等特殊时段,也不得使用因子时点之后的数据。
返回前建议清理结果:
result = result.replace([np.inf, -np.inf], np.nan)
result = result.dropna(subset=["factor"])
result = result.drop_duplicates(["date", "instrument"])
return result[["date", "instrument", "factor"]]
2. 提交前检查
- 输出列必须且仅有
date、instrument、factor; - 时间均为合法的 30 分钟采样点,且无整段缺失;
- 每个评估时点的因子缺失率不高于 40%;
- 不含无穷值、非法数值或重复的
date + instrument; - 因子计算未使用未来数据;
- 结果已与比赛股票池对齐。
五、本地开发与验证
因子赛道开发数据范围为 2020—2024 年,股票池以中证 1000 指数历史成分股为基础。
分钟数据量较大,建议:
- 先用短时间区间调通,再扩大测试范围;
- 只查询必要字段,并使用
compression=True; - 优先使用 DAI SQL 完成筛选、聚合和时序计算;
- 滚动计算可向
start_date前多取数据,但只返回评测区间内结果; - 根据数据量选择 4C/16G 或更高配置。
因子计算完成后,可使用比赛评估模块检查:
from bigmodule import M
result = M.jyc_eval._latest(
factor_data=factor_data,
show=True,
)
平台会统一进行去极值、标准化和 BARRA 风格剔除,并综合评估 IC 均值、IC_IR、多空组合夏普比率、压力场景稳定性和换手率。
六、端到端模型数据下载
**申请与审核时间提醒:**数据下载申请自 2026 年 9 月 30 日起开放,并于当天集中处理一天。需要申请的同学请尽快提交材料。2026 年 10 月 1 日至 10 月 7 日国庆假期期间暂停处理,未处理完的申请将从 2026 年 10 月 8 日起继续处理。
端到端比赛提供本地化数据下载链接,需要完成身份核验并签署限制协议后,可申请下载数据到本地训练:
- 向比赛小助手发送本人学生卡照片和平台用户 ID;
- 签署并回传小助手发送的限制协议;
- 审核通过后,接收数据下载链接。
下载数据仅限本人或本队参赛使用,不得外传或用于其他用途。小助手添加二维码:
七、提交代码
开发完成后,在比赛页面点击“提交代码”。平台会切换至验证集并重新运行提交代码,不接受预先计算好的离线结果。
验证集在正式评测区间前额外提供一年历史数据,可用于滚动窗口、滞后项和序列模型计算;最终结果仍须限制在 start_date 至 end_date 内。
通用要求
- 提交中有且仅有一个 Notebook;
- Notebook 包含可调用的
main(datasources, start_date, end_date); - 所需脚本、配置和模型参数均已上传;
- 代码可在指定线上环境完整运行;
- 总运行时间不超过 3 小时;
- 评测环境无法访问外部网络。
不同赛道的提交内容
- 因子挖掘:通常提交包含
main()的 Notebook;如有需要,可附带.py、.json文件。 - 端到端模型:提交推理 Notebook、训练与推理代码、配置、随机种子和已训练模型参数。公榜评测仅加载模型参数进行推理,不会使用验证集重新训练。
参考 Transformer 模板时,可提交预测 Notebook、transformer_train.py 和 transformer_model.json。
提交后可在“比赛 → 提交记录”查看状态和成绩。评测需要排队,请勿短时间重复提交同一份代码。
若评测失败,请依次检查:
- 是否只提交了一个 Notebook;
- 是否通过
datasources获取数据表; - 脚本、配置和模型参数是否完整;
- 返回列、时间点和评测区间是否正确;
- 内存或运行时间是否超限。
八、公榜与私榜
| 数据集 | 用途 |
|---|---|
| 公榜训练集 | 开发、调试和研究,不产生公榜成绩 |
| 公榜验证集 | 统一重跑提交代码并展示公榜成绩 |
| 私榜数据集 | 最终样本外评估,决定最终排名 |
- 公榜提交截止:2026 年 10 月 29 日 23:59:59;
- 私榜候选选择截止:2026 年 10 月 30 日 23:59:59;
- 候选确认后,不得修改代码、参数、依赖或随机种子。
团队成员可分别提交,团队最终成绩取队内所有有效个人提交的最高分。建议提前完成运行验证和候选选择。
九、计算资源与辅助工具
计算资源
| 类型 | 配置 | 费用 |
|---|---|---|
| 免费 CPU | 4 核 / 16 GiB | 免费 |
| 免费 CPU | 8 核 / 32 GiB | 免费 |
| GPU | A100 80G × 1、32 VCPU、256 GiB | 600 宽币/小时 |
开赛时,每队组长可获得 5,000 宽币。如需追加,可联系赛事组委会说明用途。
Cowork AI
访问地址:https://jinyicapital.bigquant.com/cowork
Cowork 可辅助理解数据、修改代码和排查报错。开赛时每位选手可获得 100 积分,需要追加时可联系组委会。
使用 AI 生成或修改代码后,仍须自行检查数据口径、时序合规性和运行结果。
十、交流与答疑
可在“比赛 → 代码”和“比赛 → 讨论”中交流平台使用、数据理解和研究方法。分享资料或开源代码时请注明来源并遵守许可,不得传播受限数据、他人非公开代码、账号凭证等敏感信息。
如提交长时间无结果或无法定位错误,请通过比赛官方答疑渠道联系主办方。