mcpField
F
financial-analysis-stock-screening

financial-analysis-stock-screening

github.com/pionex-official数据与数据库5143 次安装14 周前更新
代码仓库

关于 financial-analysis-stock-screening

面向分析师和投资者的量化选股 Skill。它通过网页搜索发现候选股票,并使用 SEC EDGAR 与 Yahoo Finance 数据,按成长、价值和质量筛选及排名。

主要功能

  1. 01通过网页搜索发现候选股
  2. 02成长、价值和质量评分
  3. 03按投资风格计算综合排名
  4. 04营收、利润率和市盈率筛选
  5. 05输出排名结果与注意事项

适用场景

  1. 01筛选行业或投资主题股票
  2. 02按成长、价值或质量为股票排名
  3. 03依据财务阈值筛选候选股

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pionex-official/pionex-skills --skill financial-analysis-stock-screening

安装后在 Claude Code 中输入/financial-analysis-stock-screening确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

run.sh
scripts/
get_fundamentals.py
get_quote.py
get_screen.py

详细介绍

股票筛选

采用综合评分的量化股票筛选工具。通过网页搜索发现候选股票,按阈值筛选,依据增长、估值和质量维度评分,并返回按排名排列且具有实际参考价值的精选股票。数据来源包括 SEC EDGAR(财务数据)、Yahoo Finance(市场数据)和网页搜索(发现股票范围)。

重要:此技能必须运行 bash run.sh 才能生成评分。你必须执行该脚本并使用其 JSON 输出——不得跳过脚本或手动计算指标。脚本会返回增长、估值和质量评分(0-100)及综合排名,这些必须出现在输出中。

设置

无需依赖项。所有脚本仅使用 Python 标准库。

工作流

第 1 步 — 明确筛选条件

运行任何脚本之前,先了解:

  • 范围:行业、主题还是广泛市场?
  • 风格:增长型(营收/收益高速增长)、价值型(估值倍数低)还是质量型(利润率高)?
  • 阈值:例如“营收增长 >20%”“P/E 低于 25x”“利润率 >30%”

如果用户的要求比较模糊,例如“帮我找些好的科技股”,默认采用增长型风格,并说明这一假设。如果澄清后用户仍未明确(没有指定风格或阈值),默认采用增长 + 质量:先按营收增长排名,再以净利润率作为平分判定依据。明确说明这一点,以便用户调整。

第 2 步 — 建立候选股票范围

使用网页搜索确定相关股票范围:

  • top [sector] stocks by market cap [year]
  • [theme] stocks list [year](例如“AI stocks list 2026”)
  • S&P 500 [sector] constituents

常见股票范围参考:

主题示例代码
美股七巨头AAPL、MSFT、GOOGL、AMZN、NVDA、META、TSLA
半导体NVDA、AMD、INTC、AVGO、QCOM、TXN、MRVL、MU
AI 概念股NVDA、MSFT、GOOGL、META、AMZN、CRM、PLTR、SNOW
电动汽车/清洁能源TSLA、RIVN、LCID、NIO、ENPH、FSLR、PLUG

这些仅为参考示例——请务必通过网页搜索核实当年的最新情况,因为指数成分股和主题分类会随时间变化。

运行筛选工具前,将范围缩小到最多 10 个代码。说明排除了哪些代码以及原因。

第 3 步 — 运行筛选工具

务必运行筛选脚本——不要手动计算评分或筛选。该脚本会生成标准化评分、排名和筛选结果,这些必须用于第 4 步。

bash run.sh <SYM1> <SYM2> ... <SYM10> --style <growth|value|quality>
# With filters:
bash run.sh <SYMS> --style growth --min-growth 10 --min-margin 15 --max-pe 40

评分系统:

每家公司在三个维度上的评分均为 0-100:

  • 增长评分(营收增长占 60% + 净利润增长占 40%)
  • 估值评分(P/E 占 50% + P/S 占 50%——估值倍数越低,评分越高)
  • 质量评分(净利润率占 50% + 营业利润率占 50%)

综合评分按风格加权:

  • growth:增长占 50% + 质量占 30% + 估值占 20%
  • value:估值占 50% + 质量占 30% + 增长占 20%
  • quality:质量占 50% + 增长占 30% + 估值占 20%

阈值筛选(可选):

  • --min-growth N:排除营收增长 < N% 的公司
  • --min-margin N:排除净利润率 < N% 的公司
  • --max-pe N:排除 P/E > Nx 的公司
第 4 步 — 展示排名结果

直接使用 get_screen.py 的 JSON 输出——按原样展示 scores、rank 和 filtered_out 字段。不要自行编造评分系统(不使用星级评分,也不采用基于 PEG 的排名)。脚本生成的综合评分是权威排名依据。

首先给出筛选摘要:

Screen: [Style] — [Sector/Theme]
Universe: [N] candidates → [M] passed filters
Ranked by: composite score ([style] weighted)

然后给出排名表(按综合评分排序):

排名代码营收营收增长净利润率P/E增长估值质量综合评分
1NVDA$130B+114%55.8%35.8x98.242.189.584.7
2META$162B+22%35.6%25.4x72.168.372.071.2

然后给出 Top 3 精选:

1. [TICKER] — [One-line thesis]  (Composite: XX.X)
   [Why it ranks highest — which scores drive the result]
   [Key risk or caveat]

排除项(如有):

Excluded: [TICKER] (rev growth 5.2% < 10% threshold)
第 5 步 — 深入分析(如用户需要)

对于优选标的,使用历史趋势进行验证:

bash run.sh <SYMBOL> --style quality  # re-run with single symbol for detail

检查:该指标是随时间持续改善,还是仅发生了一次?

也可以使用 comps-analysis 技能,将优选标的与同行业公司进行比较,以完成全面的统计基准分析。


输出格式

按以下顺序排列各部分:

  1. 筛选摘要框
  2. 带评分的排名表
  3. 排名前 3 的标的及其投资论点
  4. 已筛除/排除的标的(如有)
  5. 注意事项

结尾请列出注意事项:

  • 评分仅适用于该同行业公司组内的相对比较——添加或移除公司都会改变所有评分
  • 筛选结果是候选标的,而非结论——每个优选标的都需要进一步验证
  • SEC 数据按年度提供(10-K);可能未反映近期季度变化

格式规则

  • 营收:使用 B 或 M,例如 “$416B”
  • 利润率和增长率:保留一位小数,例如 “26.9%”、“+15.7%”
  • 倍数:保留一位小数,例如 “28.4x”
  • 评分:保留一位小数,例如 “84.7”

局限性

  • 相对评分:评分仅在所筛选的群组内有意义,不代表绝对水平
  • 无实时价格数据:市盈率和市销率取决于 Yahoo Finance 的数据可用性
  • 仅限美国股票:SEC EDGAR 涵盖在美国上市的股票
  • 年度数据:默认使用 10-K;可能未反映季度变化
  • 无股息数据:对于收益型筛选,股息收益率必须通过网络搜索获取

评论

支持 Markdown