Markethon · AI Financial 赛道细则(v4 正式版)
状态:统一正式规则;生效时间及历史成绩处理方式以主办方公告为准。
更新日期:2026-08-23
本稿保留现有赛制、评分权重和奖金安排,并补充回测覆盖、提交次数、股票池、统一参数、成交约束、回撤定义和异常成绩复核规则。
0. 本次修订要点
| 问题 | v4 处理方式 |
|---|---|
| 因子数量不足 | 每次天梯提交必须包含至少 10 个去重后的有效因子;少于 10 个不得入榜 |
| 有效净值只覆盖后段,年化收益被放大 | 强制固定五年有效覆盖;按完整固定区间计算收益、Sharpe 和 Alpha |
| 无限提交、按历史最高分排名 | 所有提交使用同一规则;提交限额;赛终奖金成绩使用最终留出复核 |
| 股票池可自定义 | 天梯使用主办方锁定的官方股票池,不允许按提交自选股票 |
| Benchmark 和回测参数不一致 | 天梯固定 Benchmark、做多做空、调仓、分组和窗口参数 |
| 文档与涨跌停实现不一致 | 明确采用官方每日涨跌停标记;数据不完整时不得静默回退并上榜 |
| 回撤持续时间定义含糊 | 统一使用“峰值到恢复”的最大水下持续时间;未恢复则计算到区间结束 |
| 指标截断后高分饱和 | 同时展示原始值和截断值;异常指标触发复核,不以极端值直接发奖 |
| 15 个窗口不代表 15 个独立样本 | 天梯固定不重叠测试窗口,并增加有效交易日和年度覆盖要求 |
一、赛道概览
| 项目 | 内容 |
|---|---|
| 赛道名称 | Markethon 卖客松 · AI Financial 赛道 |
| 主题 | AI 量化因子研究竞赛——用 AI Agent 写出能打的因子,唯一的评委是样本外表现 |
| 比赛时间 | 2026-08-17 至 2026-08-23(共 7 天) |
| 提交截止 | 2026-08-23(周日)15:00,当日闭幕式现场颁奖 |
| 参赛形式 | 个人参赛,全程免费 |
| 奖金池 | ¥10,000,按赛终排名分配 |
| 主办方 | 鸿鹄汇;赛道合作伙伴:涌现再造 |
参赛者可使用网页工作台、HTTP API 或 MCP 编写和评估因子。平台统一执行数据加载、因子计算、滚动回测和成绩保存。
二、数据与研究环境
- 行情数据:A 股全市场日线前复权数据,约 5545 只股票、约 1680 万行,覆盖 1990-12-19 至 2026-08-18。研究回测可以使用页面选择的股票池;勾选“提交成绩”后,服务端从远程内存池使用官方固定股票池做滚动回测,不受页面当前股票池选择影响;实际可用数量按数据交集审计,不要求恰好1000只。
- 可用字段:
$open、$high、$low、$close、$volume、$amount、$vwap。 - 基准因子库:158 个 Alpha158 因子,可用于对比和组合。
- 因子形式:一条 qlib 表达式,例如
$close / Ref($close, 20) - 1,支持时序和截面算子。因子必须通过因果性检查,不得使用未来数据。
天梯提交的 factor_count 按去重后、提交时通过表达式和因果性校验的因子名称计数,必须不少于 10 个;重复提交同一因子名称只计 1 个。训练期由平台从候选因子池中筛选子集,不改变提交因子数的统计口径。
- 计算资源:平台提供远程计算池(8 个并行 worker),所有选手在服务端统一执行。
天梯股票池必须由服务端按 official_universe_id 加载,并保存完整股票清单、数量和 SHA-256 哈希。提交成绩不允许使用自定义股票池;服务端只接受官方股票池版本。
三、参赛流程
- 注册登录:调用
POST /auth/register或网页注册,登录后使用 Bearer token。 - 加载数据:研究回测按页面选择加载;提交成绩时服务端从远程常驻内存池加载官方股票池和正式区间前 12 个月训练预热数据,并再次校验
official_universe_id、实际股票数量和 SHA-256。 - 定义因子:通过网页工作台、HTTP API 或 MCP 注册 qlib 表达式。
- 因子评估:平台输出 RankIC、ICIR、t 统计量和分层收益等研究指标。
- 回测验证:使用本细则统一参数运行并提交成绩;所有提交采用同一成绩口径。
- 成绩提交:使用固定统一参数运行滚动前推回测,提交时保存因子表达式哈希、参数哈希、股票池哈希和完整成绩元数据。其中必须包含去重后的
factor_count和完整因子名称清单。 - 因子数量校验:每次提交至少包含 10 个去重后的有效因子。
- 复核与排名:服务端先做资格校验,再按成绩进入天梯;奖金成绩还需通过表达式复核、过拟合核查和最终留出复核。
四、统一回测口径
4.1 固定回测区间与统一参数
天梯统一使用最近五个完整自然年口径:
- 起始日:2021-08-21;
- 截止日:2026-08-20;
- 允许因交易日对齐产生不超过 ±7 个自然日的显示偏差,但服务端以固定交易日历计算。
天梯参数统一如下,参赛者不能为提交成绩单独选择:
因子类别配额:正式天梯不得自定义 category_counts;该配额由服务端统一处理。网页类别配额仅用于研究回测,不会写入正式成绩口径。
| 参数 | 统一值 |
|---|---|
| 训练窗口 | 12 个月(不得少于 10 个月) |
| 测试窗口 | 3 个月 |
| 滚动步长 | 3 个月;测试窗口不重叠 |
| 因子选择 | legacy,按训练期绝对 ICIR 排序;如主办方改用 robust,须对所有选手统一公告 |
| 分组数 | 5 |
| 调仓周期 | 5 个交易日 |
| 模式 | 天梯统一采用多空模式,不另设其他模式混排 |
| 多头敞口 | 95% |
| 空头敞口 | 95% |
| Benchmark | 统一使用 IF(沪深 300 期指主连);如公告选择其他基准,必须全员统一 |
| 初始本金 | 人民币 1 亿元 |
| 提交因子数 | 不少于 10 个去重后的有效因子 |
不得根据提交结果选择 Benchmark、做多做空模式、分位数、调仓周期、窗口长度、权重收缩或筛选阈值;所有成绩提交均使用本节统一参数。
4.2 成交与交易成本
- 成交口径:T+1,信号次日成交(
execution_lag=1)。 - 股票买入成本:单边 0.05%。
- 股票卖出成本:单边 0.15%,含印花税。
- 单笔最低费用:5 元。
- 成交单位:A 股按 100 股整手取整。
- 多空期指代理腿:单边建仓或敞口变化成本 0.02%,不模拟真实换月。
4.3 涨跌停、成交量和冲击成本
天梯统一采用以下口径:
- 涨跌停:使用平台加载的官方每日涨跌停标记,并按实际成交价时点执行;
- 成交量约束:暂不模拟;
- 冲击成本:暂不模拟;
- 官方涨跌停数据缺失或覆盖不完整时,提交不得直接上榜。服务端不得将 Qlib 9.5% 回退结果作为有效成绩;如需回退,只能返回带有“回退、无资格”标记的研究结果,不能进入天梯。
交易结果必须保存 trade_limit_model、官方数据覆盖行数和回退行数,供复核查看。
4.4 滚动前推验证
每个测试窗口只能使用该窗口开始前的训练期数据选择因子、确定方向和确定权重。天梯要求:
- 至少 15 个不重叠的有效测试窗口;
- 测试窗口覆盖至少 5 个不同自然年度;
- 测试窗口总有效交易日不少于 1000 个;
- 任何单个测试窗口不得因因子缺失而被悄悄删除;缺失应计入无持仓/零收益,或使成绩不合格。
五、有效回测覆盖和净值计算
这是 v4 的强制资格条款。
5.1 有效覆盖要求
提交的策略净值必须覆盖固定回测区间,不得只从后段开始计算:
- 首个有效净值日期不得晚于统一起始日后 7 个自然日;
- 最后一个有效净值日期不得早于统一截止日前 7 个自然日;
- 有效交易日覆盖率不得低于固定交易日历的 95%;
- 有效交易日总数不得少于 1000 个;
- 任意连续缺失不得超过 20 个交易日;
- 因子因长回看窗口而在前几年没有有效值时,必须以零仓位/零收益补齐;不能只对有信号的后段年化。
覆盖率定义为:
coverage = 固定区间内存在有效净值或明确零仓位收益的交易日数
/ 固定区间交易日总数
数据清单日期、股票数量和窗口数量合格,但净值覆盖不合格的成绩,不具备天梯资格。
5.2 年化收益、Sharpe 和 Alpha
收益、波动和 Alpha 均使用固定五年区间的完整日度序列计算。没有持仓的日期按零收益计入,不得从序列中删除。
N_fixed = 固定回测区间内的交易日总数
AnnualReturn = (NAV_end / NAV_start) ** (252 / N_fixed) - 1
Sharpe 使用固定区间完整日收益序列的年化均值和年化波动计算。Alpha 使用统一 Benchmark、统一日期对齐和 rf=0 的 Jensen 口径计算。
六、天梯评分公式(v4 沿用 v3 权重)
为保持历史可读性,v4 暂沿用现有五项权重;但所有分项必须基于第五节的完整固定区间计算,并同时保存原始值和截断值。
z = 0.25 × (Sharpe / 1.5)
+ 0.25 × (AnnualReturn / 25%)
+ 0.20 × (Alpha / 20%)
- 0.15 × (MaxDrawdown / 20%)
- 0.15 × (DrawdownDuration / 126)
Score = 100 / (1 + exp(-z))
| 分项 | 权重 | 方向 | 标准化基准 | 截断范围 |
|---|---|---|---|---|
| 夏普比率 | 25% | 越高越好 | 1.5 | [-5, 5] |
| 年化收益 | 25% | 越高越好 | 25% | [-100%, 200%] |
| 年化 Alpha | 20% | 越高越好 | 20%,Jensen,rf=0 | [-100%, 200%] |
| 最大回撤 | 15% | 越小越好 | 20% 惩罚基准 | [0, 100%] |
| 最大水下持续时间 | 15% | 越短越好 | 126 个交易日 | [0, 1260] 个交易日 |
6.1 异常值复核
下列任一情况触发人工复核,但不自动认定违规:
- 原始 Sharpe > 5;
- 原始年化收益 > 200%;
- 原始 Alpha > 200%;
- 单日收益、单次调仓收益或持仓集中度明显异常;
- 成绩主要来自少量交易日、少量股票或单一市场阶段。
页面必须同时展示原始指标、截断后指标、有效交易日数、覆盖率、换手率、持仓集中度和交易约束模式,避免把接近饱和的分数误解为精确的绩效差距。
6.2 最大水下持续时间定义
最大水下持续时间定义为净值从历史峰值开始,直到重新回到该峰值所经过的交易日数。若截至固定回测区间结束仍未恢复,则计算至区间最后一个交易日。
该定义与“峰值到谷底天数”不同;不得使用峰值到谷底天数代替水下持续时间。
七、天梯资格校验
成绩进入天梯必须同时满足以下条件:
因子数量硬门槛:每次提交的 factor_count 必须不少于 10。计数对象为去重后、通过因果性/表达式校验的提交因子名称;重复名称或校验失败的名称不计入,训练期筛选出的子集不改变该计数。
- 有效测试窗口不少于 15 个,且不重叠;
- 使用主办方锁定的官方股票池,股票清单、数量和 SHA-256 哈希一致;
- 训练窗口不少于 10 个月,并使用天梯固定窗口参数;
- 提交因子数量不少于 10 个;按去重后、通过表达式和因果性校验的提交因子名称计数,所有成绩提交均受此限制;
- 初始本金为人民币 1 亿元;
- 回测区间为统一最近五年,允许不超过 ±7 个自然日的交易日对齐偏差;
- 有效净值覆盖率不少于 95%;
- 有效交易日不少于 1000 个,且测试覆盖至少 5 个自然年度;
- Benchmark、做多做空模式、调仓周期、分组数、敞口和交易成本符合统一参数;
- 因子表达式通过因果性审计,不使用未来数据、未来成分股或提交后才能获得的数据;
- 官方涨跌停数据覆盖完整,且没有使用未披露的回退成交规则;
- 保存并可复核因子表达式哈希、参数哈希、股票池哈希、净值曲线和交易约束元数据;
- 通过主办方的异常成绩、表达式和过拟合复核。
任一条件不满足,成绩记为 0 分并标注具体原因;历史成绩在读取时按当前生效规则复核。
八、提交、排名和复核
8.1 统一提交规则
- 不设置两套榜单或两套分数;
- 每次提交成绩都直接按照本细则的统一股票池、统一参数、统一回测区间和统一资格校验处理;
- 只有通过资格校验的提交才进入天梯,未通过的提交返回具体不合格原因,不产生有效排名。
8.2 提交次数
- 每个用户每天最多 30 次成绩提交;
- 每个用户整个赛期最多 100 次成绩提交;
- 完全相同的因子表达式、股票池和参数组合应使用幂等键去重;
- 重复提交相同表达式、股票池和参数应使用幂等键去重;任何方式都不得绕过提交次数限制。
8.3 最终留出复核
赛终奖金成绩以服务端保留的最终留出数据复核结果为准。留出数据的收益序列不对提交接口暴露;具体区间和发布方式由主办方在正式公告中说明。若暂时无法启用隐藏留出集,至少必须执行提交限额、完整元数据留存和赛终人工复核。
8.4 排名
- 每位选手按合规提交中的最高分进入天梯;
- 同分共享名次,同分时以提交时间较早者优先;
- 同一用户、同一队伍或同一实际控制人不得重复占用奖金名次;
- 天梯展示分数、原始和截断后的五项指标、覆盖率、有效交易日数、参数版本、股票池版本和净值曲线。
九、奖励
奖金池总额为 ¥10,000,按参赛队伍的赛终天梯排名发放:
| 名次 | 奖金 | 占比 |
|---|---|---|
| 第 1 名 | ¥4,000 | 40% |
| 第 2 名 | ¥2,500 | 25% |
| 第 3 名 | ¥1,500 | 15% |
| 第 4~5 名 | 各 ¥750 | 各 7.5% |
| 第 6~10 名 | 各 ¥100(参赛队伍满 10 队时) | 各 1% |
若实际参赛队伍数少于 10 队,第 6 名至最后一名平分剩余奖金;第 1 至第 5 名奖金不变。
补充规则:
- 并列名次时,相关队伍平分该名次及被占用后续名次的奖金总额。例如两队并列第 1,平分第 1、2 名奖金,即
(¥4,000 + ¥2,500) / 2 = ¥3,250,下一队从第 3 名起算。 - 获奖成绩须通过表达式复核、过拟合核查、资格校验和最终留出复核;不通过时名次顺延。
- 奖金在赛后 7 个工作日内发放,依法代扣代缴个人所得税。
- 白帽奖另设奖金 ¥1,000,由评委一致同意后发放。
- 冠军可获得合作伙伴提供的真实资金管理额度实盘跟投洽谈机会;该机会不构成收益承诺,可无条件放弃,不影响名次和奖金。
十、公平、合规与知识产权
- 全程免费,不收报名费、保证金或本金;任何以本赛道名义收费的行为均与主办方无关。
- 全程基于历史数据进行研究评估,不发生真实交易与资金往来,不构成投资建议。
- 天梯的区间、股票池、参数、成交约束和排名规则在生效公告后对全体选手一致适用。
- 主办方有权对异常成绩要求重新运行、提供表达式说明或补充审计材料;复核期间可暂缓奖金发放。
- 成绩公示后 12 小时内可提交书面申诉,申诉应附具体成绩编号和理由,由监督评审复核。
- 因子表达式、策略知识产权归参赛者本人;平台按用户隔离存储,赛中不向其他选手公开,不要求提交源代码。
十一、接口入口
| 方式 | 入口 |
|---|---|
| 网页工作台 | /app |
| 实时天梯 | /leaderboard |
| 接口文档 | /api-docs |
| HTTP API | POST /auth/register,注册后携带 Authorization: Bearer <token> |
| MCP | server/mcp_server.py(stdio,部署方本机启动)或服务端 /mcp |
十二、版本和过渡
- 本文为 v4 统一正式规则;生效时间、是否适用于已经提交的成绩,以及是否启用隐藏留出集,以主办方公告为准。
- 若 v4 在比赛期间生效,为保证公平,主办方应向所有选手同步发布生效时间、重新提交窗口和历史成绩处理方式。
- 在 v4 生效前,历史成绩不得以未公告的规则追溯扣分;在 v4 生效后,奖金成绩必须按 v4 的资格校验和复核条款处理。
- 如本文与赛前正式公告冲突,以主办方最新、明确且公开发布的公告为准。
本细则依据 factor-eval 平台现有代码、线上页面口径和本次规则审查结果整理。
