比赛讨论

初赛入围答疑帖

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

组委会已完成数据清洗工作,现根据私榜排名公布入围总决赛的团队名单(详见附图)。

未进入决赛的同学若对成绩存有疑问,请尽快通过以下方式联系我们:

  • 在本帖留言
  • 直接与组委会沟通

组委会将及时回应并解答相关疑问。

由于 BigQuant 平台周末维护,我们将2025年11月24日至2025年11月25日为问题反馈阶段,请参赛者于25日24:00前与组委会进行沟通


疑问提交格式

请按以下格式提出疑问:

  • 问题
  • 用户名
  • 代码ID

具体格式参考下图:


如何获取私榜提交代码ID

提交记录中,已勾选的条目即为您提交至私榜的代码。如对该代码的私榜分数有疑问,请按以下步骤操作:

  1. 点击「查看文件ID」
  2. 复制提交记录的ID
  3. 将该ID附于疑问内容中,以便评委会老师查看源码


常见疑问解答

1. 分数为-2的原因

在代码审核过程中,我们发现部分参赛者的代码存在以下问题,导致运行失败,最终得分为-2:

  • 未定义变量或未导入必要的第三方包
  • 返回值非pandas.DataFrame类型(如返回tuple等)
  • 返回的因子数据全部为np.nan

2. 公榜/私榜分数较高但未入围

本次比赛中,不少参赛者采用建模方式构建因子。需特别注意:严禁使用测试数据集训练模型。我们给出了相关建模的模版代码,并在培训会中强调了建模流程,正确的建模方式为如下两种:

  • 在main函数中使用固定训练数据集:cpt_jyc_2025_stock_csi1000_bar1m 训练模型;
  • 若要实现滚动训练模型的效果,如平台代码模板 factor_machine_learning.ipynb 所示,从start_date向前取N天数据训练模型。

以上方式均可避免过拟合。但是,我们在人工审核代码时发现,有同学将获取的数据中拆分出一部分作为训练集,并用同一模型在该部分数据中预测因子值,虽预测效果可能较好,但不符合建模规范,无法证明模型的泛化能力

我们理解人工审核可能存在主观偏差,如有疑问欢迎在评论区提出


代码验证指南

本次比赛,训练集数据cpt_jyc_2025_stock_csi1000_bar1m的时间周期为2023-01-01至2024-12-31。提交代码至平台后,我们将:

  • 替换数据表名为cpt_jyc_2025_stock_csi1000_bar1m_test
  • 调整时间周期为2025-01-01 至2025-07-31
  • 运行因子分析,根据IC等指标进行排名

为便于大家验证代码及编写因子报告,现开放测试数据集,欢迎进行对比测试:

测试数据表链接https://bigquant.pro/data/datasources/cpt_jyc_2025_stock_csi1000_bar1m_test


如有其他问题,请随时留言,我们将尽快回复!

标签

数据清洗
评论
  • 问题:为什么我的私榜排名很高,但没有进入决赛名单?
  • 用户名:xxxx
  • 代码ID:6448dc9c-0c81-46c1-81b6-ca15be947ed1
  • 同学,您好!您这是内部测试代码,不参与最终决赛!如有问题,请联系组委会。
  • 问题:为什么我的私榜排名很高,但没有进入决赛名单?
  • 用户名:bq5b1nw7
  • 代码ID:89ed7de8-12c4-4d07-a3a7-c455be48d333
  • 和064410ec-8c7c-454f-93e9-d37300a39c76
  • 问题:我的代码得分很高但是没有进入决赛名单。初步了解了是未来数据泄漏的问题。但是,在我的代码中,已经做了时间序列的划分,防止时序泄漏:
  • dates_sorted = sorted(df_daily['date'].unique())
  • split_idx = int(len(dates_sorted) * 0.8)
  • split_date = dates_sorted[split_idx]
  • train_mask = df_daily['date'] <= split_date
  • test_mask = df_daily['date'] > split_date
  • 请问是这样的方法不可取吗?必须用上面的-pd.Timedelta的方法?
  • 我的理解可能是2023-2024的回测可以,但是到2015年11月10-15号到私榜计算得分中,不是实时计算所以会泄漏未来数据?我能否在之后修正这个问题,采用严格的实盘模拟方法,确保模型训练只使用历史数据。恳请考虑基于修正后策略的表现来评估我的决赛资格。
  • 用户名:bqsluy4i
  • 代码ID:5fb314a9-ef29-446a-844f-66c056c84a98
  • 同学,您好!看了您的代码,发现你在 AUTO_FLIP 时,利用未来收益率来调整当日因子方向,但是实际情况中,我们是无法获取未来收益率的。
{link}