Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A股量化选股/股票筛选器。当用户说"选股"、"筛选"、"量化选股"、"stock screen"、"找机会"、"什么股票值得关注"、"帮我选几只股票"、"符合XX条件的股票"时触发。支持多因子筛选(PE/PB/ROE/净利润增速/北向资金等)、行业板块筛选、自定义条件组合。通过 cn-stock-data 获取全市场数据进行量化筛选,输出候选股票列表。支持投资建议书风格(formal)和个人备选池风格(brief)。不适用于个股深度分析(用 a-share-earnings-analysis)或可比公司估值对标(用 a-share-comps)。
.claude/skills/aifinlab-a-share-stock-screen/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -22% | 0% |
bashSCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts" # 全市场实时行情(含市值、PE、换手率等) python "$SCRIPTS/cn_stock_data.py" quote --code [逗号分隔的代码列表] # 个股财务指标 python "$SCRIPTS/cn_stock_data.py" finance --code [CODE] # 北向资金 python "$SCRIPTS/cn_stock_data.py" north_flow # 资金流向 python "$SCRIPTS/cn_stock_data.py" fund_flow --code [CODE]
使用 scripts/screen_engine.py 进行批量筛选:
bashpython $SKILLS_ROOT/a-share-stock-screen/scripts/screen_engine.py \ --min-roe 15 --max-pe 30 --min-profit-growth 20 --top 20
如果用户给出了明确条件(如"PE < 20 且 ROE > 15%"),直接使用。 如果用户给出模糊需求(如"帮我选几只好股票"),使用默认策略:
默认多因子策略(参见 references/default-factors.md):
用户也可以选择预设策略:
运行 screen_engine.py 或通过 cn-stock-data 逐步获取数据:
注意:全市场筛选数据量大,优先使用 screen_engine.py 脚本批量处理。 如果脚本不可用,可分批次通过 cn-stock-data 获取重点行业数据。
对筛选出的 Top 10-20 只股票:
根据风格要求输出:
用户可以要求对列表中任一只做深度分析,此时转交 a-share-earnings-analysis skill。
| 维度 | formal(投资建议书) | brief(个人备选池) | |------|-------------------|--------------------| | 篇幅 | 3-5 页 | 1 页 | | 策略说明 | 详述筛选方法论和因子选择理由 | 一句话策略说明 | | 对比表 | 完整(10+ 列指标) | 精简(5-6 列关键指标) | | 个股概要 | 每只 3-5 句 | 每只 1 句 | | 免责声明 | 需要 | 不需要 |
| 代码 | 名称 | 行业 | 市值(亿) | PE(TTM) | PB | ROE(%) | 净利润YoY(%) | 毛利率(%) | 评分 |
| 资产负债率(%) | 经营现金流/利润 | 北向持仓变化 | 近30日涨跌幅(%) |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 22,261 | 11,030 | -50% | 1 | 1 | 0% | 3,519 | 1,275 | -64% | 0 | 0 | — |
case-02 | fail→fail | 16,094 | 7,163 | -55% | 1 | 1 | 0% | 2,329 | 1,280 | -45% | 0 | 0 | — |
case-03 | fail→fail | 55,151 | 44,946 | -19% | 1 | 1 | 0% | 8,268 | 1,517 | -82% | 0 | 0 | — |
case-04 | pass→pass | 12,307 | 3,249 | -74% | 1 | 1 | 0% | 2,041 | 1,518 | -26% | 0 | 0 | — |
case-05 | fail→pass | 12,359 | 3,512 | -72% | 1 | 1 | 0% | 1,924 | 1,459 | -24% | 0 | 0 | — |
case-06 | fail→pass | 15,774 | 11,625 | -26% | 1 | 1 | 0% | 2,424 | 2,525 | +4% | 0 | 0 | — |
case-07 | pass→pass | 20,411 | 13,770 | -33% | 1 | 1 | 0% | 2,933 | 3,274 | +12% | 0 | 0 | — |
case-23 | fail→fail | 16,528 | 6,086 | -63% | 1 | 1 | 0% | 2,704 | 1,323 | -51% | 0 | 0 | — |
case-08 | fail→pass | 13,170 | 4,181 | -68% | 1 | 1 | 0% | 2,077 | 1,465 | -29% | 0 | 0 | — |
case-09 | pass→pass | 19,054 | 8,072 | -58% | 1 | 1 | 0% | 3,357 | 2,398 | -29% | 0 | 0 | — |
case-10 | pass→fail | 14,962 | 7,694 | -49% | 1 | 1 | 0% | 2,597 | 1,354 | -48% | 0 | 0 | — |
case-11 | pass→pass | 18,605 | 4,959 | -73% | 1 | 1 | 0% | 2,640 | 1,744 | -34% | 0 | 0 | — |
case-12 | pass→pass | 13,095 | 2,672 | -80% | 1 | 1 | 0% | 1,835 | 1,387 | -24% | 0 | 0 | — |
case-13 | fail→pass | 15,928 | 3,162 | -80% | 1 | 1 | 0% | 1,321 | 1,375 | +4% | 0 | 0 | — |
case-14 | fail→pass | 12,813 | 3,383 | -74% | 1 | 1 | 0% | 1,958 | 1,531 | -22% | 0 | 0 | — |
case-15 | fail→pass | 10,131 | 2,827 | -72% | 1 | 1 | 0% | 1,734 | 1,371 | -21% | 0 | 0 | — |
case-16 | fail→pass | 9,373 | 4,048 | -57% | 1 | 1 | 0% | 1,663 | 1,572 | -5% | 0 | 0 | — |
case-17 | fail→pass | 10,647 | 3,524 | -67% | 1 | 1 | 0% | 1,693 | 1,391 | -18% | 0 | 0 | — |
case-18 | fail→pass | 11,053 | 3,066 | -72% | 1 | 1 | 0% | 1,507 | 1,449 | -4% | 0 | 0 | — |
case-19 | fail→fail | 14,305 | 2,926 | -80% | 1 | 1 | 0% | 1,945 | 1,382 | -29% | 0 | 0 | — |
case-20 | fail→fail | 10,628 | 3,109 | -71% | 1 | 1 | 0% | 1,651 | 1,364 | -17% | 0 | 0 | — |
case-21 | fail→fail | 29,271 | 6,231 | -79% | 1 | 1 | 0% | 4,537 | 1,350 | -70% | 0 | 0 | — |
case-22 | pass→fail | 3,871 | 10,445 | +170% | 1 | 1 | 0% | 516 | 1,541 | +199% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 16 counted toward the lift figure. The other 7 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +30 percentage points is the difference between those two pass rates over the 16 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.