通过自然语言查询进行 A 股股票筛选,支持行情指标、技术形态、财务指标、行业概念等多条件组合筛选。返回符合条件的相关股票数据。当用户询问针对行情、财务数据、技术指标、行业概念等A股股票筛选相关问题时,必须使用此技能。
编程
buyback-screen
试用筛选A股(沪深北交所)最近发布回购公告(回购计划/预案)的上市公司,并按市盈率(PE-TTM)、 市净率、总市值、回购金额、用途、进度等条件过滤,输出清单表格。数据来自东方财富数据中心。 当用户提到"回购公告/回购预案/回购进展/筛选回购/回购名单/哪些公司最近回购"、 "回购+市盈率/PE/估值过滤"、"注销式回购"、"大额回购"、或"最近有哪些公司回购了" 等需求时,务必使用此技能,即使没有明确说"skill"。也适用于把回购公司按 PE≤X 进一步筛选、 按回购金额/用途/进度筛选、导出回购清单 CSV/TSV 等场景。
它能做什么
筛选A股(沪深北交所)最近发布回购公告(回购计划/预案)的上市公司,并按市盈率(PE-TTM)、 市净率、总市值、回购金额、用途、进度等条件过滤,输出清单表格。数据来自东方财富数据中心。 当用户提到"回购公告/回购预案/回购进展/筛选回购/回购名单/哪些公司最近回购"、 "回购+市盈率/PE/估值过滤"、"注销式回购"、"大额回购"、或"最近有哪些公司回购了" 等需求时,务必使用此技能,即使没有明确说"skill"。也适用于把回购公司按 PE≤X 进一步筛选、 按回购金额/用途/进度筛选、导出回购清单 CSV/TSV 等场景。
技能文档
A股回购公告筛选
它能做什么
给定一个时间窗口,拉取 A 股(沪深 + 北交所)在这期间发布过回购公告的上市公司, 自动联表获取滚动市盈率(PE-TTM)、市净率、现价、总市值,并支持按以下条件过滤:
- 市盈率上限 / 下限(
--max-pe/--min-pe) - 拟回购金额下限(
--min-amount-wan,单位万元) - 用途:员工持股/股权激励、注销减资、市值管理、可转债转股、其他(
--purpose) - 进度:预案 / 进展 / 完成(
--progress) - 只显示前 N 条(
--top)
快速开始
python "C:\Users\85446\.claude\skills\buyback-screen\scripts\screen_buybacks.py" \
--from 2026-07-27 --max-pe 15
- 窗口:默认回溯 14 天;用
--days N或--from YYYY-MM-DD指定。 - 输出:stdout 打印 markdown 表格,同时把明细写入
buyback_screen_<日期>.tsv(UTF-8)。 - 注意:Windows 控制台可能无法正常显示中文(会乱码),这是编码显示问题而非数据问题。 务必用 Read 工具读取生成的 TSV 文件,再把内容整理成清晰的 markdown 表格回复给用户。
完整用法
# 近30天所有回购公告
python .../screen_buybacks.py --days 30
# 近7天,拟回购5亿以上
python .../screen_buybacks.py --days 7 --min-amount-wan 50000
# 市盈率(TTM)<=15(正盈利),只看"注销减资"用途
python .../screen_buybacks.py --max-pe 15 --purpose 注销减资
# 只看新发预案(进度=001)
python .../screen_buybacks.py --progress 001
# 自定义输出文件
python .../screen_buybacks.py --days 30 --out 我的回购清单.tsv
所有参数:--days、--from、--max-pe、--min-pe、--include-loss、
--min-amount-wan、--purpose、--progress、--top、--out。
汇报时注意
- 亏损股要单列。PE(TTM)<0 的公司是亏损股,不要和低市盈率混在一起说"市盈率15以下"。 脚本会把亏损股单独打印在表格后面。
- 给用户突出价值点,不要只丢表格:
- 大额回购(金额占比、占市值比例)
- 注销式回购(注销减资,对股东最友好)的公司单独标注
- 回购价格上限显著高于现价的(说明公司认为低估,安全边际高)
- 低估值(PE 低)+ 回购的组合
- 如果用户没说窗口,先按默认 14 天出结果,再问是否要拉长。
- 用户可能随后追问某只股票(如"里面有XX吗"),可用下面"单只查询"的方法回答。
单只股票追问(可选)
用东方财富个股公告接口核验某只股票是否在近期发过回购公告(含进展类,这类在"回购计划" 列表里可能不占新行):
curl -s "https://np-anotice-stock.eastmoney.com/api/security/ann?sr=-1&page_size=50&page_index=1&ann_type=A&client_source=web&stock_list=000333"
返回的 list 里按 notice_date 找标题含"回购"的公告(如"关于以集中竞价交易方式回购A股股份进展公告")。
数据源与已知坑(重要)
- 回购计划:
RPTA_WEB_GETHGLIST_NEW,按DIM_DATE降序分页。DIM_DATE= 该条回购计划的记录/方案日期;REMARK里带真正的公告日期,格式2026.07.31公告(脚本已自动提取到"公告日"列)。- 进度码:
001预案、004/006进展、007完成、002审议、003股东大会。 - 金额字段
REPURAMOUNTLOWER/REPURAMOUNTLIMIT单位是元,脚本已换算成万元。 - 不要用
NOTICEDATE字段筛选——它含批量导入日期(例如某天对一大片股票同时打上 同一日期),不可靠。按DIM_DATE(方案日期)筛窗口即可。
- 估值:
RPT_VALUEANALYSIS_DET,用filter=(SECURITY_CODE in (...))一次查多只, 按TRADE_DATE降序取每只最近一条。字段:PE_TTM(滚动市盈率)、PB_MRQ(市净率)、CLOSE_PRICE、TOTAL_MARKET_CAP(元)。 - 板块从
SECUCODE后缀判断:.SH沪、.SZ深、.BJ北交所。 - 两个接口都是公开数据接口,加
User-Agent请求头即可,无需登录。
相关技能
Multi-market intelligent stock selection for A-share/HK/US stocks and ETFs. Use when user asks about stock analysis, market scanning, portfolio construction,...
基于SQL条件筛选A股股票,支持自定义条件组合、排序和数量限制。支持等于、大于、小于、区间范围、IN枚举、字段间比较等多种条件写法,支持AND/OR逻辑组合和括号嵌套。返回股票代码、名称、涨跌幅、CS强度、RPS相对强度、SCTR技术排名、所属板块、概念等详细数据。触发词:SQL选股、选股、股票筛选、技术筛选、量...
Quantitative analysis skill for the Chinese A-share market using Tushare Pro data and a holiday helper. Use when the user asks for stock screening, stock dia...
面向个人投资者的A股股票筛选工具。支持按基本面(PE/PB/ROE等)和 技术面(均线/RSI等)条件筛选股票。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。
通过行业估值、资金流向、涨跌幅、板块类型等多条件组合筛选市场板块。返回符合条件的相关板块数据。当用户询问板块筛选问题时,必须使用此技能。