新手入门
由hxgre创建,最终由hxgre 被浏览 6 用户
欢迎各位参加“蝶威杯2026年高频因子大赛”,预祝各位能取得佳绩!这是一篇入门贴,手把手教大家从0到1走完整个比赛流程。
本次比赛的目标是 聚焦3秒 snapshot 数据构建15分钟频率因子,禁止使用模型合成的方式构造因子。我们将流程尽可能简化,大家只需要关注编写因子代码的逻辑即可,其他步骤由平台方统一处理。
报名参赛
当比赛页面的“报名参赛”按钮变为“提交代码”后,恭喜您已经通过报名审核!如果要访问训练集数据,可以在“比赛→数据”标签页通过数据表链接访问相关数据。
蝶威空间
在正式进行比赛前,大家要理解一个叫做“空间”的概念。空间是 BigQuant 平台为一个团队(高校或私募)单独创建的独立空间,在该空间中,数据、算力、文档等一切内容都是和 BigQuant 主站或其他空间隔离的。
本次比赛,我们创办了“蝶威量化”的空间,数据和算力都已经部署在该空间上,因此参赛者需要进入该空间后才能获取对应的算力和数据权限。
- 蝶威量化的空间域名为:https://deepwin.bigquant.com/, 如果参赛者无法访问该链接,请及时与主办方反馈,我们会第一时间将您邀请进入空间。
- 本次比赛的数据为:https://deepwin.bigquant.com/data/datasources/cpt_dwc_2026_stock_hs300_snapshot,具体使用方法参考“比赛→数据“标签页下面的内容。
- 由于本次比赛使用的是 snapshot 数据,数据量较大,因此我们提供“4C/16G“、”8C/32G“、“16C/64G“的算力规格,大家请合理使用!如果遇到算力不足的情况,请及时与主办方反馈,我们会第一时间为大家扩充算力资源。
- 如何确定已经在“蝶威量化”空间下了?请通过网站域名是否带 deepwin 前缀判断,如果不在该空间下,可以通过左侧空间导航栏进行切换!
克隆模版
鉴于大家是第一次使用 BigQuant 平台,对平台操作不熟悉,主办方特意在“比赛→代码“页面放置了三个模版代码,分别用三种方式构造了一个订单薄压力因子,大家只需选择其中一个克隆到 蝶威量化 的开发环境,便可以进行因子开发。
模版代码
以下是模版代码的主函数,参赛者只需要关注 main() 函数的实现,请把所有代码都放在main函数中,包括但不限于:
- import python 第三方包
- 自己封装的函数
当您把代码提交上来后,平台会替换 datasource, start_date, end_date 三个变量并执行 main 函数生成测试集的因子数据,因此任何在 main 函数外的代码,都将视为无效代码,不会执行。
同时,本次比赛是构建15分钟频的因子,因此需要 date 列为包含时分秒指定格式的 datetime 格式。我们提供了多种方式供大家参考,若参赛者自行构建 date 列需保证格式正确,评估函数中会有相关的检查代码对因子数据进行检查。
最后,我们调用 M.eval_dwc.latest() 对您构建的因子数据进行检查、评分并画图。如果想要查看评估详细结果,可以通过访问返回值进行查询。返回值中有两个数据 _result 和 _detail:
- _result 中存放的得分数据,包括:sfa_sharp 是单因子分析中多空组合夏普值;backtest_excess 是单因子回测中16个截断时间的超额收益率的平均值;backtest_sharp 是单因子回测中16个截断时间的平均超额收益率的夏普值。
- _detail 中存放单因子回测的详细数据,key 为 截断时间点,分别为 [0945, 1000, 1015, …]。每个截断时间点中, portfolio 为投资组合的收益情况,trade 为交易成交情况。
提交因子
当您开发测试得到一个还不错的因子后,请返回比赛页面,点击“提交代码”按钮,选择对应的代码文件进行提交。提交后,您可以在”比赛→提交记录“中查看您的提交。
平台会定期执行新提交的代码文件,且在提交高峰期会存在排队的情况,因此提交后并不会立刻有分数,过程可能会持续数小时。若超过6小时还没有分数,请联系主办方,我们会第一时间处理相关问题。
另外,若提交的代码执行报错,将无法计算得分。为了防止数据泄露,我们不会把报错原因返回给您。若您需要知道具体情况,请联系主办方,我们会第一时间告知您报错问题。
社区活跃
我们致力打造活跃的赛事交流氛围,鼓励大家走出闭门造车的局限,让不同的投资思路与研究想法充分碰撞。欢迎各位将问题探讨、研究内容、代码成果分享至“比赛→代码“和”比赛→代码“中,以更多思想交锋,催生更多优质量化因子。