BigQuant 练习赛

比赛时间: -

新手启航:开启你的AI量化之旅。从一个入门练习题开始。

主办方:BigQuant

比赛介绍

## 赛事简介 欢迎来到 BigQuant AI 量化平台! 这里,可能是你开启 **AI 与量化投资** 探索之旅的起点。我们为你设计的“新手启航练习赛”,旨在用一系列精心挑战,为你揭开 AI 赋能量化投资的神秘面纱。 在本次的**第一关**中,你的任务非常明确:**计算出给定任意一段时间的 A 股市场的总成交金额。** 这不仅是一次简单的计算,更是一场关于**精准与极速**的挑战。你将亲身体验 BigQuant DAI 数据引擎的强大性能,并通过你的智慧,让代码的运行速度突破极限,迈出成为未来 **AI Quant** 的第一步。 准备好了吗?让我们开始第一次实战演练! ## 挑战任务 **精准且快速地计算出给定任意一段时间的 A 股市场的总成交金额。** 我们为你提供了一个基础代码模板作为参考,但性能并非最佳。你的挑战分为两步: 1. **确保结果精准:** 完成代码,保证能算出正确的总成交金额。 2. **追求极致速度:** 优化代码,让计算的执行耗时尽可能短。 ## 如何参与 1. **克隆模板:** 在[代码页](https://bigquant.com/square/competition/8e11d1cd-17ee-4082-b101-fdd565ca2b9e?activeKey=code),我们提供了一个包含数据读取和计算框架的 Notebook 代码模板,实现里面的 `main` 函数。克隆这个代码到 AIStudio 开始编写代码。AIStudio 是 BigQuant 提供的Cloud IDE。 2. **完成代码:** 在 AIStudio 里完成代码并运行验证。 3. **提交代码:** 在本[比赛页](https://bigquant.com/square/competition/8e11d1cd-17ee-4082-b101-fdd565ca2b9e)点击提交代码,选择前面编写的代码文件提交。 4. **查看排名:** 系统将自动运行你的代码,并根据结果和耗时进行评分。你可以在[排行榜](https://https://bigquant.com/square/competition/8e11d1cd-17ee-4082-b101-fdd565ca2b9e?activeKey=leaderboard)查看排名。可以多次提交,在[提交记录](https://bigquant.com/square/competition/8e11d1cd-17ee-4082-b101-fdd565ca2b9e?activeKey=submissions)里查看每次提交分数。排行榜以最优分数排名。 5. **组队参赛:** 你可以在[团队](https://bigquant.com/square/competition/8e11d1cd-17ee-4082-b101-fdd565ca2b9e?activeKey=team)里邀请小伙伴们来组队打榜,所有团队成员的最优分数作为团队分数。 ## 评估方式 本次练习赛采用全新的动态评分机制,精准衡量你的代码质量: 1. **结果准确性 (及格线)** * 计算结果为浮点数,与实际值误差比例 < 0.000001。 * **若结果错误,最终得分为 -100 分。** 2. **代码性能 (决定高度)** * 在结果正确的前提下,你的最终得分将根据代码的\*\*运行时间(秒)\*\*通过以下公式计算: * **最终得分 = 1 - 运行时间 (秒)** 这意味着,代码运行得越快,你的得分就越接近 1 分的理论上限。例如: * 若运行耗时 0.1 秒,得分为 `1 - 0.1 = 0.9` 分。 * 若运行耗时 0.7 秒,得分为 `1 - 0.7 = 0.3` 分。 ## 赛事奖励 * **通关认证:成功计算出正确答案**,即可点亮你的个人主页专属 **新手启航** 徽章。 * **宽币奖励:** 完成本关后,联系 小Q企业微信 领取 500 宽币。 * **排行榜荣誉:** 你的最高分将被记录在“新手启航赛排行榜”上,与所有新用户一较高下。 ## 竞赛规则 * 本赛事为个人练习赛,旨在帮助新用户熟悉平台,请独立完成。 * 你可以随时重复提交,系统将只记录你的历史最高分。 * 祝你探索愉快!

奖金&奖项

¥10000

500 宽币 新手启航徽章 排行榜荣誉

比赛数据

## 数据集 ### **`A股后复权日行情(cn_stock_bar1d)`** [A股后复权日行情(cn_stock_bar1d)](https://bigquant.com/data/datasources/cn_stock_bar1d) 该表记录了股票市场中各证券的日行情数据,特别采用后复权价格来展示。主要字段包含累计后复权因子、开高低收、昨收盘价、成交笔数、换手率、涨跌停价等。后复权处理是为了消除因股票分红、配股、转增股本等原因引起的价格变动,从而更真实地反映股票的价值变化。其中 (date, instrument) 即 股票代码、日期构成主键。 | 字段 | 字段类型 | 字段描述 | | --- | --- | --- | | **date** | timestamp\[ns\] | 日期 | | **instrument** | string | 证券代码 | | adjust\_factor | double | 累计后复权因子 | | amount | double | 成交金额 | | change\_ratio | double | 涨跌幅(后复权) | | close | double | 收盘价(后复权) | | deal\_number | int32 | 成交笔数 | | high | double | 最高价(后复权) | | low | double | 最低价(后复权) | | lower\_limit | double | 跌停价 | | name | string | 证券简称 | | open | double | 开盘价(后复权) | | pre\_close | double | 昨收盘价(后复权) | | turn | double | 换手率 | | upper\_limit | double | 涨停价 | | volume | int64 | 成交量 | ### 更多数据表 BigQuant平台提供了股票、期货、期权、基金、债券、另类等全市场多维度多频率数据,更多数据参加[**BigQuant数据平台**](https://bigquant.com/data/home)。 ## 数据API - DAI ### DAI文档 DAI (Data for AI) 是BigQuant研发的高性能分布式数据平台,对BigQuant数据提供了简单、统一、高性能的访问。DAI已经预装在BigQuant的[AIStudio](https://bigquant.com/aistudio?target=true)中,无需额外安装。[DAI 文档](https://bigquant.com/wiki/doc/PLSbc1SbZX) ### DAI数据访问示例 #### 数据查询 ``` import dai df = dai.query( "SELECT date, instrument, close FROM cn_stock_bar1d WHERE amount IS NOT NULL", filters={"date": ["2024-01-01", "2024-12-31"]} ).df() print(df) ``` 说明: - 首先导入 dai 包 - dai.query 是用于数据查询/计算最常用的接口 - 支持标准SQL - filters 里一般用于日期等过滤,[开始日期, 结束日期],也可以放到 sql 中 - .df() 把结果转为 pandas DataFrame用于后续计算 - 速度 > 1000万行/秒 #### 数据计算 DAI 内置多种算子/函数,参考 [DAI函数文档](https://bigquant.com/wiki/doc/Rceb2JQBdS)。DAI专门为AI/量化场景优化的超高性能计算引擎,能充分利用现代CPU/GPU能力。 **时序算子** ``` import dai # 为每只股票每天计算当日收益率,m_ 开始的一般是时序算子 df = dai.query( "SELECT date, instrument, close / m_lag(close, 1) AS return_1 FROM cn_stock_bar1d", filters={"date": ["2024-01-01", "2024-12-31"]} ).df() print(df) ``` **截面算子+嵌套** ``` import dai # 为每只股票每天计算当日收益率排名,c_ 开始的一般是截面算子,窗口函数等需要用 `QUALIFY` 过滤 df = dai.query( """ SELECT c_rank(close / m_lag(close, 1)) AS rank_return_1, date, instrument FROM cn_stock_bar1d QUALIFY rank_return_1 IS NOT NULL """, filters={"date": ["2024-01-01", "2024-12-31"]} ).df() print(df) ``` **更多** 更多参考 [DAI 文档](https://bigquant.com/wiki/doc/PLSbc1SbZX)

比赛规则

## 赛事目标 用 BigQuant DAI 数据引擎,精准且快速地算出任意给定时间段全年沪深 A 股总成交金额(单位:人民币元)。结果正确是及格线,速度决定排名。 ## 面向人群 * 首次注册 BigQuant 的新用户(老用户亦可参加,但不计入新人榜)。 * 每人可​**无限次提交**​,系统只保留​**历史最高分**​。 * 支持​**组队**​,团队成绩取​**成员最高分**​。 ## 数据与算力 * 需要的数据表:cn_stock_bar1d(A 股日线行情),若需要使用到其他字段, 详情请见[**数据平台**](https://bigquant.com/data/home)。 * 允许使用平台内任何公开数据,但不得上传外部数据。 * 计算资源:AIStudio 单核 4 G 内存,限时 60 s;超时强制终止,视为 0 分。 * 评测机器固定规格,确保公平。 ## 提交格式 提交格式可参考`代码`选项卡。 ## 评分公式 | 维度 | 说明 | 说明 | |---|---|---| | 准确性 | 与标准答案完全一致 | 及格线,不过直接 **-100** | | 性能 | 在结果正确前提下:得分 = **1 − 运行时间(秒)** | 理论上限 1 分,最小 0 分 | ## 合规与诚信 * 禁止多开小号、恶意刷榜,系统会对比代码指纹与运行行为,一经核实封号并清空成绩。 * 允许参考社区公开技巧,但​**直接复制他人源码提交视为作弊**​。