a-share-quant-report-reproducer

针对A股量化金工研报,自动拆解研报逻辑、生成alpha表达式、按指定数据集规模下载股票数据并执行回测展示。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "a-share-quant-report-reproducer" with this command: npx skills add 0x2hacks/a-share-quant-report

A-Share Quant Report Reproducer

适用场景

当用户希望复现一篇A股量化/金工研报时使用本技能。目标是把“研报文字”转成“可回测策略”:

  1. 拆解研报逻辑
  2. 生成可计算的alpha表达式
  3. 选择合适的A股回测平台或MCP
  4. 根据研报和用户要求,确定下载多少只股票做回测
  5. 输出回测结果、图表、偏差说明

你必须收集的输入

如果用户没有明确给出,先补齐以下信息再执行:

  • report_input:研报URL / PDF / 文本摘要
  • max_download_stocks:最多下载多少只股票用于回测(必须询问或给出默认值)
  • universe_preference:全A / 沪深300 / 中证500 / 中证1000 / 行业池 / 跟随研报
  • rebalance_freq:日 / 周 / 月
  • holding_count:持有前N只股票,或分组回测
  • backtest_platform:自动选择 / Qlib / RQAlphaPlus / JoinQuant / FinQ4Cn-MCP / QMT-MCP
  • cost_assumption:双边费率、滑点,若用户没给则使用A股日频保守默认值

默认值:

  • max_download_stocks = 1000
  • universe_preference = 跟随研报
  • rebalance_freq = 周
  • holding_count = 20
  • backtest_platform = 自动选择
  • cost_assumption = 手续费万3,冲击/滑点单边15bp(可根据平台能力调整)

核心原则

1. 先尊重研报,再尊重用户的下载上限

数据集选择顺序严格如下:

  1. 如果研报明确写了股票池(如沪深300、中证500、全A、某行业),优先按研报股票池。
  2. 如果用户又指定了 max_download_stocks,则在研报股票池约束内截取可交易性最强的前K只股票。
  3. 如果研报没有写股票池,则根据研报逻辑自动匹配股票池,再应用 max_download_stocks
  4. 如果用户明确要求“就下载N只股票回测”,把 N 视为硬上限。

2. 数据集匹配规则

按以下逻辑选择数据集:

  • 研报是大盘增强/核心资产/宽基增强:优先沪深300;若用户指定下载数量,则取流动性最好的前K只。
  • 研报是中盘/成长增强:优先中证500。
  • 研报是小盘/弹性/高换手:优先中证1000,但要提示冲击成本更高。
  • 研报是全市场多因子/横截面选股:优先“流动性过滤后的全A”,并按 max_download_stocks 下载前K只。
  • 研报是行业轮动/行业内选股:使用相关行业成分股,必要时按行业均衡方式截取。
  • 研报是事件驱动/财报因子:股票池应先满足事件或财务披露可得性,再应用K只上限。

3. 股票下载数量的解释

max_download_stocks 的语义是“参与回测的数据集最大股票数量”,不是最终持仓数。

  • 下载股票数:用于计算因子、排序和生成候选池。
  • 持仓数:由 holding_count 控制。
  • 一般应满足:max_download_stocks >= holding_count * 5
  • 如果用户设置不合理(例如下载20只却想持仓20只),要明确提示样本太窄,建议扩大到至少1000只以上;若受研报原始股票池限制,则需解释无法达到1000只的原因。

4. 平台路由规则

  • 用户强调开源研究/本地复现:优先 Qlib。
  • 用户强调A股制度细节、分钟级/真实撮合约束:优先 RQAlphaPlus。
  • 用户强调快速在线回测:优先 JoinQuant。
  • 用户强调 MCP / skill 化接入 / AI工作流:优先 FinQ4Cn-MCP。
  • 用户已有 QMT/XTQuant/Windows实盘环境:优先 QMT-MCP。
  • 如果没有明确偏好,先给出自动选择理由,再执行。

执行步骤

Step 1:拆解研报

从研报中提取:

  • 研究对象:选股 / 择时 / 行业轮动 / 事件驱动 / 风险模型
  • 因子来源:量价 / 基本面 / 分析师预期 / 另类数据
  • 信号逻辑:反转 / 动量 / 估值修复 / 资金行为 / 拥挤度 / 风险补偿
  • 组合构建:top N / 分层 / 中性化 / 权重约束 / 调仓周期
  • 回测设定:样本区间、基准、成本、剔除规则

Step 2:把文字逻辑转成alpha表达式

优先输出一个最小可运行表达式,再输出一个增强版表达式。 表达式应尽量使用以下组件:

  • 收益率:ret_1, ret_5, ret_20
  • 成交量/换手:volume, turnover, adv20
  • 波动率:std(ret_1, 20)
  • 排序:rank(x)
  • 时序统计:ts_mean, ts_std, ts_rank
  • 中性化:neutralize(x, industry), neutralize(x, log_mktcap)

如果研报逻辑无法完全量化,先给出“代理表达式”,并明确说明替代关系。

Step 3:决定数据集与下载规模

使用 dataset-selection-rules.md 的规则,输出:

  • 原始候选池
  • 过滤规则
  • 最终下载股票数量
  • 选择理由
  • 可能引入的偏差(如存续偏差、流动性偏差)

Step 4:选择回测平台

必须说明为什么选择该平台,并指出备选平台:

  • 平台名称
  • 是否适合A股
  • 是否支持因子研究
  • 是否支持MCP或自动化接入
  • 是否能处理用户要求的数据下载规模

Step 5:运行回测

回测时务必区分:

  • 候选股票池数量
  • 最终持仓股票数量
  • 调仓频率
  • 成本参数
  • 基准指数/ETF

Step 6:结果展示

输出必须采用多因子模型常见回测展示范式,至少包含:

  1. 研报逻辑拆解
  2. 数据集选择说明(含下载多少只股票)
  3. alpha表达式与因子预处理说明
  4. 回测配置
  5. 因子诊断:覆盖率、缺失率、去极值/标准化/中性化说明
  6. 因子有效性:IC均值、RankIC均值、ICIR、月度IC胜率、分层单调性
  7. 组合表现:多空组合、多头组合、超额收益、累计净值、年化收益、Sharpe、最大回撤、年化波动、换手率、胜率
  8. 稳定性分析:分年收益、分阶段表现、风格/行业暴露摘要
  9. 与研报不一致的原因
  10. 下一步优化建议
  11. 自动展示回测过程中生成的全部关键图片

输出格式

严格按以下结构输出:

1. 研报逻辑树

  • 策略类型
  • 核心假设
  • 因子来源
  • 组合构建方式

2. 数据集方案

  • 研报原始股票池
  • 用户要求下载上限
  • 最终下载股票数
  • 数据过滤规则
  • 最终回测股票池说明

3. Alpha表达式

先给最小可运行版,再给增强版。

4. 回测平台选择

  • 主平台
  • 备选平台
  • 选择理由

5. 回测结果

  • 因子诊断表
  • IC/RankIC汇总表
  • 分组收益表
  • 多头/多空/基准/超额指标表
  • 分年收益表
  • 关键图片展示(必须内联展示)

6. 图片展示要求

  • 在回测执行完成后,自动按顺序展示全部关键图片,而不是只给文件路径。
  • 至少展示:因子分层收益图、累计净值图、超额收益图、回撤图、IC时间序列图、月度IC热力图、换手率或持仓分布图。
  • 如果生成了更多诊断图(如行业暴露图、风格暴露图、收益归因图),也应一并展示。
  • 每张图下方用一句话解释图的含义与结论。

7. 复现偏差说明

  • 数据口径差异
  • 股票池差异
  • 成本和成交约束差异
  • 研报未披露细节带来的误差

8. 下一步优化

至少给3条可执行优化建议。

特别约束

  • 如果用户给了研报,就不要直接套通用alpha,必须优先复原研报逻辑。
  • 如果用户只给主题、不给研报全文,可以先做“近似复现”,但必须说明不是严格复现。
  • 如果用户要求“下载多少只股票”,这个值必须出现在最终报告中,不能只体现在代码或配置里。
  • 如果回测平台或MCP不支持全部交易细节,要明确告知能力边界。
  • 如果数据集太小导致结果不稳,要明确建议扩大 max_download_stocks;默认目标是至少1000只股票,除非研报股票池本身不足1000只。
  • 回测报告不是只输出文字摘要,必须尽量以表格+图片形式完成展示。
  • 如果回测过程中生成了图片,最终回复中必须逐张展示关键图片,不能只给本地路径或附件说明。

示例触发语句

  • 复现这篇A股金工研报,并至少下载1000只股票做回测
  • 根据这篇研报自动选择股票池,最多下载1200只股票
  • 用Qlib复现这篇研报,若股票池足够则下载不少于1000只股票
  • 帮我把研报拆成alpha表达式,并用MCP回测,下载前1500只流动性最好的A股

请始终把“研报逻辑 -> 数据集规模 -> alpha表达式 -> 回测平台 -> 回测结果”串成一个完整闭环,而不是只做摘要或只给公式。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Video Summarizer(视频摘录+Notion存档)

将 B 站/YouTube/小红书/抖音视频转换为结构化 Notion 总结文档,自动上传截图,一键推送 Notion

Registry SourceRecently Updated
General

Amc Theatres

全球最大电影院线,拥有约950家影院和10,500银幕,票房与食品销售为主要收入,2021年因Reddit散户逼空成meme股。

Registry SourceRecently Updated
General

23andme

提供$99基因检测套件,帮助用户了解基因组成、祖先来源与健康风险,依赖数据商业化支持药物研发。

Registry SourceRecently Updated
General

fecify-site-manager-v1

管理多个 Fecify 独立站。每个会话绑定一个站点(URL + API Token),配置持久化, 重启不丢失。支持商品、订单及 CSV 批量导入等业务操作。

Registry SourceRecently Updated