
Rq Idea Generation
Generate a structured China A-share investment idea report from RiceQuant screening snapshots across value, growth, and quality lenses.
Overview
RQ Idea Generation is an agent skill for the Idea phase that turns RiceQuant JSON screening snapshots into a multi-strategy equity idea report with value, growth, and quality candidate tables.
Install
npx skills add https://github.com/ricequant/ricequant-skills --skill rq-idea-generationWhat is this skill?
- Markdown report template with placeholders for executive summary, universe facts, and three strategy sleeves (value, gro
- Data contract across stock_pool.json, instrument_meta.json, and latest_financials.json feeding build_screening_snapshot.
- Two-step pipeline: LLM fills summaries.* in idea_screening_snapshot.json then generate_report.py emits final Markdown
- Overlap and cross-validation section for names hitting multiple screens
- Risk, tracking, and appendix sections with explicit data-coverage facts
- Three parallel strategy sections: value, growth, and quality with separate fact blocks and candidate tables
- Default pipeline: build_screening_snapshot.py then generate_report.py after LLM fills summaries.*
Adoption & trust: 1 installs on skills.sh; 26 GitHub stars; 2/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You have a stock pool and financial JSON dumps but no consistent report that scores value, growth, and quality screens with cross-hit validation.
Who is it for?
Solo quant researchers using RiceQuant-style data folders who want templated idea memos in Chinese with explicit data contracts.
Skip if: Builders who need live trading execution, US-only equities without order_book_id conventions, or fully automated picks without human summary review.
When should I use this skill?
You have --data-dir JSON inputs (stock pool, instrument meta, latest financials) and need a dated investment creative Markdown report.
What do I get? / Deliverables
After the pipeline runs, you get a filled idea_screening_snapshot.json and a final Markdown investment creative report ready for committee review or deeper backtesting.
- idea_screening_snapshot.json with populated summaries
- Final Chinese Markdown investment idea report
Recommended Skills
Journey fit
Idea generation and universe screening happen before you commit capital or automate a full strategy—classic Idea-phase research. Builds metric scoreboards, sector tables, and candidate lists from financial snapshots—research output, not shipping code.
How it compares
Structured screening report skill with fixed JSON contracts—not a generic stock-picking chat prompt or a single-factor screener UI.
Common Questions / FAQ
Who is rq-idea-generation for?
Independent quant and indie PMs on RiceQuant workflows who document A-share screens before committing to strategy code or capital.
When should I use rq-idea-generation?
Use it in Idea → research when you have stock_pool.json and latest_financials.json ready and need a [[REPORT_DATE]] memo covering value, growth, quality, and overlap names.
Is rq-idea-generation safe to install?
It processes local financial JSON you supply; review Security Audits on this Prism page and treat market data paths as sensitive operational assets, not as investment advice.
SKILL.md
READMESKILL.md - Rq Idea Generation
# 投资创意生成报告 - 报告日期:[[REPORT_DATE]] - 筛选策略:`[[STRATEGY]]` ## 执行摘要 [[EXEC_SUMMARY]] ## 股票池与筛选框架 [[UNIVERSE_OVERVIEW]] ### 股票池覆盖 [[UNIVERSE_FACTS]] ### 最新财报季度分布 [[QUARTER_TABLE]] ### 行业分布 [[SECTOR_TABLE]] ## 指标看板 [[METRIC_SCOREBOARD]] [[METRIC_TABLE]] ## 价值策略候选 [[VALUE_SUMMARY]] ### 结构化事实 [[VALUE_FACTS]] ### 候选列表 [[VALUE_TABLE]] ## 成长策略候选 [[GROWTH_SUMMARY]] ### 结构化事实 [[GROWTH_FACTS]] ### 候选列表 [[GROWTH_TABLE]] ## 质量策略候选 [[QUALITY_SUMMARY]] ### 结构化事实 [[QUALITY_FACTS]] ### 候选列表 [[QUALITY_TABLE]] ## 候选组合与交叉验证 [[OVERLAP_SUMMARY]] ### 结构化事实 [[OVERLAP_FACTS]] ### 交叉命中名单 [[OVERLAP_TABLE]] ## 风险与跟踪重点 [[RISK_SUMMARY]] ### 结构化事实 [[RISK_FACTS]] ## 附录:口径说明 [[APPENDIX_SUMMARY]] ### 输入数据覆盖 [[APPENDIX_FACTS]] # idea-generation 数据契约 `idea-generation/scripts/build_screening_snapshot.py` 默认从 `--data-dir` 读取原始 JSON 文件,并生成 `idea_screening_snapshot.json`。当前 LLM 需先回写其中 `summaries.*`,再由 `idea-generation/scripts/generate_report.py` 生成最终 Markdown。 ## 1. `stock_pool.json` 允许格式: ```json [ { "order_book_id": "600519.XSHG" } ] ``` 或: ```json { "data": [ { "order_book_id": "600519.XSHG" } ] } ``` 最关键字段: - `order_book_id` 用途: - 定义筛选股票池 ## 2. `instrument_meta.json` 典型字段: - `order_book_id` - `symbol` - `display_name` - `sector_code_name` - `industry_name` 用途: - 补充公司名称和行业 / 板块信息 ## 3. `latest_financials.json` 典型字段: - `order_book_id` - `quarter` - `info_date` - `revenue` - `net_profit` - `total_assets` - `total_liabilities` 用途: - 为每只股票抽取最近一期财务快照 - 计算资产负债率 ## 4. `financials_history.json` 字段与 `latest_financials.json` 一致。 用途: - 查找同季度去年同期数据 - 计算营收同比、净利润同比 ## 5. `roe.json` 典型字段: - `order_book_id` - `date` - `return_on_equity_weighted_average` 用途: - 质量与价值筛选 ## 6. `market_cap.json` 典型字段: - `order_book_id` - `date` - `market_cap` 用途: - 候选排序与规模描述 ## 7. `pe_ratio.json` 典型字段: - `order_book_id` - `date` - `pe_ratio` 用途: - 价值筛选 ## 8. `pb_ratio.json` 典型字段: - `order_book_id` - `date` - `pb_ratio` 用途: - 价值筛选 ## 9. `web_search_findings.json` 该文件可选,仅用于量化筛选后的主题 / 政策 / 催化剂验证。 每条记录至少包含: - `query` - `source_name` - `source_type` - `title` - `url` - `published_at` - `retrieved_at` - `summary` - `why_relevant` - `confidence` - `finding_type` 推荐附加字段: - `subject` - `related_tickers` - `stance` 说明: - `generate_report.py` 不直接读取该文件;当前 LLM 应在回写 `idea_screening_snapshot.json -> summaries.*` 前读取它 - `web_search_findings.json` 不能替代财务、估值、股票池和排序主数据 - `source_type` / `confidence` 需遵守 [references/web_search.md](web_search.md) 的来源等级约束 ## 10. `idea_screening_snapshot.json` 这是 `build_screening_snapshot.py` 生成、并由当前 LLM 继续回写 summary 的核心中间文件。 关键结构: - `report_date` - `strategy` - `inputs.*` - `universe.stock_pool_size` - `universe.valid_financials` - `universe.valid_roe` - `universe.valid_pe` - `universe.valid_pb` - `universe.latest_quarters[]` - `universe.top_sectors[]` - `universe.median_metrics.*` - `strategies.value / growth / quality` - `strategies.*.enabled` - `strategies.*.candidate_count` - `strategies.*.display_count` - `strategies.*.thresholds.*` - `strategies.*.display_candidates[]` - `strategies.*.median_metrics.*` - `overlap.candidate_count` - `overlap.display_candidates[]` - `risk_flags.*` - `summaries.exec_summary` - `summaries.universe_overview` - `summaries.metric_scoreboard` - `summaries.value_section` - `summaries.growth_section` - `summaries.quality_section` - `summaries.overlap_section` - `summaries.risk_section` - `summaries.appendix` 说明: - `summaries.*` 初始应为空字符串,表示 Python 没有越界生成正文 - `summaries.*` 必须由当前 LLM 回写客户可读正文,不能只复制表格字段或写流程描述 - 若某策略未启用,相应 summary 也必须解释该章节的对照价值或后续用途 - `strategies.*.thresholds` 记录了本次实际使用的用户阈值,最终报告必须按这些阈值解释结果,不能自行改口径 ## 解析约定 - 所有文件都允许 `{"data": [...]}`、`{"data": {...}}`、`[...]`、`{...}` 四种包装方式 - `financial-indicator` 文件中的值字段不是统一 `value`,而是因子名本身 - 同一股票同一季度若存在多条财务记录,脚本会按 `info_date` 选择最新披露版本 - 缺失值不会抛异常,但报告中必须明确体现为“无数据 / 未启用 / 未验证” - 金额类字段最终报告中应按客户可读口径展示,例如市值与净利润使用“亿元” - 最终报告面向客户阅读:正文由当前 LLM 基于快照事实和可选 `web_search_findings.json` 生成,Python 只负责结构化数据与表格渲染 # Idea Generation Web Sear