Skip to content
Back to skills

Westock Tool

BSecurity

条件选股/策略选股/标签选股工具 - 当用户需要按条件筛选股票、使用预置策略选股或按标签分类查看股票时使用。条件选股支持按价格、市盈率、市净率、ROE、涨跌幅、成交量、市值、资金流向等指标筛选,覆盖沪深/港股/美股;策略选股提供40+预置策略(基本面/K线形态/技术指标/均线布林),一键获取策略信号股票;标签选股提供70+预定义分类标签(股东属性/风险/估值/资产结构/上市时间/价格市值等),按标签快速获取股票列表。策略选股和标签选股仅支持A股。注意:本工具只做"选股筛选",查询个股详情请用 westock-data;查询"新股/次新股"标签分类股票请用本工具的 label 命令

  • 417 stars
  • 0 votes
  • 0 copies
  • 22 views
  • Added September 8, 2026
documentationgobashnode

Works with

  • cli

Security analysis

B75/100
  • criticalPipes output to a shell interpreter

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add infometa/workbuddyskills --skill westock-tool --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Westock Tool?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Westock Tool
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/infometa-westock-tool-workbuddyskills/badge)](https://www.skillsdirectory.com/skills/infometa-westock-tool-workbuddyskills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: westock-tool
description: 条件选股/策略选股/标签选股工具 - 当用户需要按条件筛选股票、使用预置策略选股或按标签分类查看股票时使用。条件选股支持按价格、市盈率、市净率、ROE、涨跌幅、成交量、市值、资金流向等指标筛选,覆盖沪深/港股/美股;策略选股提供40+预置策略(基本面/K线形态/技术指标/均线布林),一键获取策略信号股票;标签选股提供70+预定义分类标签(股东属性/风险/估值/资产结构/上市时间/价格市值等),按标签快速获取股票列表。策略选股和标签选股仅支持A股。注意:本工具只做"选股筛选",查询个股详情请用 westock-data;查询"新股/次新股"标签分类股票请用本工具的 label 命令
---

# WeStock Tool

**作用**:提供三种选股方式——条件选股(自定义表达式筛选)、策略选股(40+预置策略一键获取信号股票)和标签选股(70+预定义分类标签快速获取股票列表)。

> **工具分工说明**:
> - **westock-tool**(本工具):**筛选/选股** — "找出满足条件的股票列表"、"用MACD金叉策略选股"、"央企有哪些"、"破净股有哪些"、"新股有哪些"、"次新股有哪些"
> - **westock-data**:**查询个股详情** — "查某只股票的行情/K线/财务/资金等数据"、"查新股日历(ipo)"、**"查板块/概念成份股"**(如"华为概念股"、"AI概念股"→ 用 `westock-data sector --search` 查询,不属于选股)
> - **westock-portfolio**:**用户自选股查询** — "查看我的自选股列表"(当用户说"我的自选股"、"自选股有哪些"时使用)
>
> ⚠️ **命令路由原则**:
> - **`strategy` 命令**:当用户提到**策略名称**(如"MACD金叉策略"、"早晨之星")时使用,返回该策略信号股票列表
> - **`filter --preset` 命令**:当用户需要**预设条件快速筛选**(如"低PE股"、"高股息股"、"MACD金叉信号")时使用,属于 filter 的快捷方式
> - **`label` 命令**:当用户提到**分类标签**(如"央企"、"国企"、"ST股"、"新股"、"次新股")时使用
> - **`filter` 表达式**:当用户描述**自定义条件**(如"PE<20且ROE>15")时使用
> - **❌ 概念股查询不属于本工具**:当用户问"XX概念有哪些股票"(如"华为概念股"、"AI概念股"),请用 `westock-data sector --search <关键词>` 查询

**数据源**:腾讯自选股选股数据接口 | **条件选股**:A股、港股、美股 | **策略选股**:仅A股 | **标签选股**:仅A股

---

## 已知限制速查

| 限制项 | 说明 |
|--------|------|
| 市场覆盖 | 沪深A股、港股、美股;**不支持北交所** |
| 市值单位差异 | 沪深 `TotalMV` 单位为**元**,港股/美股为**亿元**,构建条件时注意换算 |
| 港股/美股字段名 | 估值字段名与沪深不同(见常用字段速查),**切勿混用** |
| PE/PB 负值 | 亏损股 PE/PB 为负,筛选时必须排除负值,如 `PE_TTM > 0` |
| 港股特殊字段 | `PsTtm`/`PcfTtm` 仅选股查询支持,快照查询返回 0 |
| 预设函数市场 | 港股必须加 `--market hk`,美股必须加 `--market us` |
| 策略选股市场 | `strategy` 命令**仅支持 A 股**,不支持港股/美股 |
| 标签选股市场 | `label` 命令**仅支持 A 股**,不支持港股/美股 |


### ⚠️ 常见错误

| 错误写法 | 正确写法 | 说明 |
|---------|---------|------|
| `PE_TTM < 20 & ROE_TTM > 15` | `intersect([PE_TTM > 0, PE_TTM < 20, ROETTM > 15])` | 多条件AND必须用`intersect()`,不支持`&`/`&&` |
| `PE_TTM < 20 AND ROETTM > 15` | `intersect([PE_TTM > 0, PE_TTM < 20, ROETTM > 15])` | 同上,不支持`AND`关键字 |

---

## 条件选股(filter)

```bash
# 基本用法
westock-tool filter "ClosePrice >= 100"
westock-tool filter "ClosePrice >= 100" --date 2026-03-12
westock-tool filter "ClosePrice >= 100" --date 2026-03-12 --limit 20

# AND 组合条件
westock-tool filter "intersect([PE_TTM > 0, PE_TTM < 20, ROETTM > 15])"

# OR 组合条件
westock-tool filter "union([ChangePCT > 5, Chg5D > 10])"

# 指定排序(按 ROE 降序)
westock-tool filter "intersect([PE_TTM > 0, PE_TTM < 15, ROETTM > 15])" --date 2026-03-12 --limit 20 --orderby ROETTM:desc

# 港股选股(--market hk)
westock-tool filter "intersect([PeTTM > 0, PeTTM < 10, DivTTM > 5])" --market hk

# 美股选股(--market us)
westock-tool filter "intersect([PeTTM > 0, PeTTM < 30, TotalMV > 1000])" --market us

# 按板块筛选(--universe,板块代码通过 westock-data search <关键词> --sector 获取)
westock-tool filter "intersect([PE_TTM > 0, PE_TTM < 20])" --date 2026-03-12 --limit 20 --universe 11010001

# 输出原始 JSON
westock-tool filter "ClosePrice >= 100" --raw
```

**参数说明**:

| 参数 | 是否必选 | 说明 |
|------|---------|------|
| 表达式 | ✅ | 选股表达式,详见下方「表达式语法」 |
| `--date` | 可选 | `YYYY-MM-DD`,默认今天 |
| `--limit` | 可选 | 最大返回数量,默认 20 |
| `--orderby` | 可选 | 排序,格式 `字段:asc` 或 `字段:desc`,默认 `desc` |
| `--market` | 可选 | `hk`=港股,`us`=美股,不指定默认沪深 |
| `--universe` | 可选 | 概念板块代码,限定选股范围;通过 `westock-data search <关键词> --sector` 获取板块代码 |
| `--raw` | 可选 | 输出原始 JSON 而非 Markdown 表格 |

**返回格式**:

输出 Markdown 表格,每行一只股票,列含股票代码、名称、收盘价、涨跌幅及表达式涉及的指标字段:

```
共 156 只符合条件,当前显示 20 只

| code | name | ClosePrice | ChangePCT | PE_TTM | ROETTM |
|------|------|------------|-----------|--------|--------|
| sh600519 | 贵州茅台 | 1690.00 | 1.25 | 28.50 | 32.15 |
| sz000001 | 平安银行 | 12.50 | -0.32 | 5.80 | 16.20 |
```

### 预设选股函数

> ⚠️ **`filter --preset` 与 `strategy` 的区别**:
> - `filter --preset` 是 **filter 命令的快捷方式**,用预设条件表达式筛选,输出含指标列的 Markdown 表格
> - `strategy` 是**独立的策略选股命令**,从预置策略列表中获取信号股票,输出仅含 code/name 的表格
> - 两者语义等价但**命令路径不同**:如 MACD 金叉,用 `filter --preset MACDGoldenCross` 或 `strategy macd_golden` 均可,但不可混用参数格式

```bash
# 使用预设函数(--preset)
westock-tool filter --preset MACDGoldenCross --date 2026-03-24 --limit 30
westock-tool filter --preset LowPE --date 2026-03-12 --limit 20
westock-tool filter --preset HighDividend --date 2026-03-12 --limit 20 --market hk

# 查看所有可用预设函数名称列表
westock-tool filter --list-presets
```

**参数说明**:同 filter 命令,额外增加 `--preset <函数名>` 指定预设函数。

> ⚠️ 预设函数的参数均为内置默认值,不支持通过 CLI 传入自定义参数。如需自定义条件,请使用 filter 表达式语法。

**完整预设函数列表(含默认参数)参见 [references/ai_usage_guide.md](./references/ai_usage_guide.md)**

### 表达式语法

| 语法 | 说明 | 示例 |
|------|------|------|
| `字段 比较符 值` | 单条件 | `ClosePrice >= 100` |
| `intersect([条件1, 条件2, ...])` | **AND 组合(必须使用)** | `intersect([ClosePrice >= 100, PE_TTM < 20])` |
| `union([条件1, 条件2, ...])` | OR 组合 | `union([ChangePCT > 5, Chg5D > 10])` |

> **⚠️ 重要**:多条件 AND 组合**必须使用 `intersect([...])`**,不支持 `&`、`&&`、`AND` 等符号或关键字。

---

## 策略选股(strategy)

```bash
# 查看所有可用策略
westock-tool strategy --list

# 单个策略查询(默认今天)
westock-tool strategy macd_golden
westock-tool strategy macd_golden --date 2026-04-10

# 多个策略同时查询(按 code 分别返回结果)
westock-tool strategy high_dividend,pb_roe --date 2026-04-10

# 限制返回数量
westock-tool strategy high_dividend --date 2026-04-10 --limit 10

# 分页查询(从第 20 条开始取 10 条)
westock-tool strategy morning_star --limit 10 --offset 20

# 日期区间查询(仅支持单个策略,⚠️ 查多天趋势时必须用 --start/--end,不要用 --date 多次调用)
westock-tool strategy macd_golden --start 2026-04-01 --end 2026-04-10
```

**参数说明**:

| 参数 | 是否必选 | 说明 |
|------|---------|------|
| 策略名称 | ✅ | 策略代码(短名或自定义 listcode),多个用逗号分隔 |
| `--date` | 可选 | `YYYY-MM-DD`,默认今天 |
| `--start` | 可选 | 区间查询起始日期 `YYYY-MM-DD`(需配合 `--end`,**查多天趋势时必须用此参数**) |
| `--end` | 可选 | 区间查询结束日期 `YYYY-MM-DD`(需配合 `--start`) |
| `--limit` | 可选 | 返回数量,默认 20 |
| `--offset` | 可选 | 偏移量,默认 0(用于翻页) |
| `--list` | 可选 | 列出所有可用策略 |

> **自定义 code**:除了内置短名,也支持直接传入任意 listcode 字符串。新增的策略 code 即使不在内置列表中也可直接使用,无需更新工具代码。可通过 `--list` 获取最新可用策略列表。

**返回格式**:

```
策略: MACD金叉 (macd_golden) | 日期: 2026-04-10 | 共 35 只,显示 20 只

| code | name |
|------|------|
| sh600519 | 贵州茅台 |
| sz000001 | 平安银行 |
```

> 通过 `westock-tool strategy --list` 获取完整策略列表。

**完整策略列表参见 [references/ai_usage_guide.md](./references/ai_usage_guide.md)**

---

## 标签选股(label)

> ⚠️ **何时使用 `label`**:当用户问"央企有哪些"、"ST股有哪些"、"新股有哪些"、"次新股"等**分类标签**问题时,使用 `label` 命令

通过预定义标签分类快速获取符合条件的股票列表,无需手写表达式。

```bash
# 查看所有可用标签
westock-tool label --list

# 按分组查看标签
westock-tool label --list 股东属性
westock-tool label --list 风险标签

# 单个标签查询(默认今天)
westock-tool label shareholder_central_state
westock-tool label shareholder_central_state --date 2026-04-10

# 多个标签同时查询(按 code 分别返回结果,非取交集)
westock-tool label shareholder_central_state,shareholder_local_state --date 2026-04-10

# 限制返回数量
westock-tool label risk_st --date 2026-04-10 --limit 50

# 分页查询(从第 20 条开始取 10 条)
westock-tool label marketcap_up10000 --limit 10 --offset 20

# 日期区间查询(仅支持单个标签,⚠️ 查多天趋势时必须用 --start/--end,不要用 --date 多次调用)
westock-tool label shareholder_central_state --start 2026-04-01 --end 2026-04-10
```

**参数说明**:

| 参数 | 是否必选 | 说明 |
|------|---------|------|
| 标签名称 | ✅ | 标签代码(短名或自定义 listcode),多个用逗号分隔 |
| `--date` | 可选 | `YYYY-MM-DD`,默认今天 |
| `--start` | 可选 | 区间查询起始日期 `YYYY-MM-DD`(需配合 `--end`,**查多天趋势时必须用此参数**) |
| `--end` | 可选 | 区间查询结束日期 `YYYY-MM-DD`(需配合 `--start`) |
| `--limit` | 可选 | 返回数量,默认 20 |
| `--offset` | 可选 | 偏移量,默认 0(用于翻页) |
| `--list` | 可选 | 列出所有可用标签,可接分组名筛选 |

> **多标签查询**:传入多个标签时,每个标签**分别返回**各自的股票列表,不做交集。如需交集,可在获取结果后自行比对。

> **自定义 code**:除了内置短名,也支持直接传入任意 listcode 字符串。新增的标签 code 即使不在内置列表中也可直接使用,无需更新工具代码。可通过 `--list` 获取最新可用标签列表。

**返回格式**:

```
标签: 央企公司 (shareholder_central_state) | 日期: 2026-04-10 | 共 128 只,显示 20 只

| code | name |
|------|------|
| sh601398 | 工商银行 |
| sh601857 | 中国石油 |
```

> 通过 `westock-tool label --list` 获取完整标签列表,`--list <分组名>` 可按分组筛选。

**完整标签列表参见 [references/ai_usage_guide.md](./references/ai_usage_guide.md)**

---

## 使用规范

- ✅ 使用 `westock-tool` CLI 命令执行选股查询,命令输出 Markdown 表格,AI 直接从表格读取数据
- ✅ 查询结果应转为表格或可读格式展示,禁止直接输出原始 JSON
- ❌ 不创建临时脚本文件,不将数据分析逻辑写成独立脚本
- ⚠️ **港股必须指定 `--market hk`,美股必须指定 `--market us`**
- ⚠️ 筛选 PE/PB 时排除负值(亏损股),如 `intersect([PE_TTM > 0, PE_TTM < 20])`
- ⚠️ 沪深和港股/美股的估值字段名不同,切勿混用
- ⚠️ **市值单位**:沪深 `TotalMV` 单位为"元",港股/美股为"亿元",构建条件时注意换算

---

## 股票代码格式

| 市场 | 格式 | 示例 |
|------|------|------|
| 沪市/科创板 | sh + 6位数字 | `sh600519`、`sh688981` |
| 深市 | sz + 6位数字 | `sz000001` |
| 北交所 | bj + 6位数字 | `bj430047` |
| 港股 | hk + 5位数字 | `hk00700` |
| 美股 | us + 代码 | `usAAPL` |

---

## 常用字段速查

> ⚠️ 沪深 `TotalMV` 单位为"元",港股/美股为"亿元"

| 类别 | 沪深(HS) | 港股(HK) | 美股(US) |
|------|----------|----------|----------|
| 市盈率TTM | PE_TTM | PeTTM | PeTTM |
| 市净率 | PB | PbLF | PbLF |
| 股息率TTM | DividendRatioTTM | DivTTM | DivTTM |
| 市销率TTM | PS_TTM | PsTTM ⚠️ | - |
| 市现率TTM | PCF_TTM | PcfTTM ⚠️ | - |
| 收盘价 | ClosePrice | ClosePrice | ClosePrice |
| 涨跌幅 | ChangePCT | ChangePCT | ChangePCT |
| 总市值 | TotalMV (元) | TotalMV (亿元) | TotalMV (亿元) |
| 换手率 | TurnoverRate | TurnoverRate | TurnoverRate |
| ROE(TTM) | ROETTM | RoeWeighted | ROE |
| 主力净流入 | MainNetFlow | MainNetFlow | - |

> ⚠️ 港股 PsTTM/PcfTTM 仅选股查询支持,快照查询返回 0

**完整字段速查表(含行情、财务、技术指标等全部字段)参见 [references/fields-guide.md](./references/fields-guide.md)**

**详细返回格式、分析模板参见 [references/ai_usage_guide_workbuddy.md](./references/ai_usage_guide_workbuddy.md)**

---

## 常见场景速查

```
【命令选择】
- 策略名称(MACD金叉、早晨之星等)→ strategy
- 分类标签(央企、ST股、新股等)→ label
- 自定义条件(PE<20且ROE>15)→ filter 表达式
- 预设函数(低估值、高股息等)→ filter --preset

【典型示例】
strategy macd_golden                         # MACD金叉策略
strategy morning_star                        # 早晨之星形态
label shareholder_central_state              # 央企股票
label risk_st                                # ST股
label listeddate_5days                       # 新股(5日内)
filter "intersect([PE_TTM > 0, PE_TTM < 15, ROETTM > 15])" --orderby ROETTM:desc  # 低估值蓝筹
filter "intersect([PB > 0, PB < 1])"         # 破净股
filter --preset HighDividend --market hk     # 港股高股息
```

**更多场景示例参见 [references/scenarios-guide.md](./references/scenarios-guide.md)**

---

## 重要声明

> ⚠️ **重要声明**:
>
> 1. 本技能仅提供客观市场数据的筛选与展示服务,所有返回数据均来源于公开市场信息,不含任何主观分析、投资评级或交易建议。
> 2. 本技能不构成证券投资咨询服务,使用本技能获取的数据不应作为投资决策的唯一依据。
> 3. 数据可能存在延迟,具体延迟时间因数据类型和市场而异,请以交易所官方数据为准。
> 4. 投资有风险,决策需谨慎。如需专业投资建议,请咨询持牌证券投资顾问机构。

**数据来源**:腾讯自选股数据接口

**数据更新频率**:

| 数据类型 | 更新频率 |
|----------|----------|
| 条件选股 | 每日收盘后更新 |
| 策略选股 | 每日收盘后更新 |
| 标签选股 | 跟随财报/公告等基础数据更新 |

---

## 附录:环境安装

**环境要求**:Node.js >= v18

Files in this skill

  • SKILL.md15.9 KB
  • package.json300 B
  • references/ai_usage_guide.md21.4 KB
  • references/fields-guide.md19.7 KB
  • references/scenarios-guide.md6.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in documentation →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.