基于SQL条件筛选A股股票,支持自定义条件组合、排序和数量限制。支持等于、大于、小于、区间范围、IN枚举、字段间比较等多种条件写法,支持AND/OR逻辑组合和括号嵌套。返回股票代码、名称、涨跌幅、CS强度、RPS相对强度、SCTR技术排名、所属板块、概念等详细数据。触发词:SQL选股、选股、股票筛选、技术筛选、量...
---
name: xiapi-stock-sql-screener
description: '基于SQL条件筛选A股股票,支持自定义条件组合、排序和数量限制。支持等于、大于、小于、区间范围、IN枚举、字段间比较等多种条件写法,支持AND/OR逻辑组合和括号嵌套。返回股票代码、名称、涨跌幅、CS强度、RPS相对强度、SCTR技术排名、所属板块、概念等详细数据。触发词:SQL选股、选股、股票筛选、技术筛选、量化筛选、自定义筛选、条件选股。适用场景:自定义多条件组合筛选、量化策略选股、技术指标组合筛选、复杂逻辑条件筛选。不适用场景:个股深度基本面分析、财报研究、估值建模。'
---
# SQL 股票筛选器 Skill
基于 SQL 条件筛选 A 股股票,支持自定义条件组合、排序和数量限制,进行智能筛选和分析。
## Overview(功能概述)
使用大虾皮 API 的 SQL 查询功能,通过 SQL WHERE 条件语法筛选股票,支持复杂的逻辑组合和多维度排序,为量化选股提供灵活的数据支撑。
## When to Use(何时使用)
当用户需要以下功能时触发:
- 使用自定义 SQL 条件筛选股票
- 进行多条件组合筛选(如 RPS>70 AND SCTR>60)
- 按多个维度排序(如 ORDER BY rps_score DESC, sctr DESC)
- 进行量化策略选股和技术指标组合筛选
- 需要灵活的筛选条件和复杂逻辑组合
**具体触发词**:SQL选股、选股、股票筛选、技术筛选、量化筛选、自定义筛选、条件选股
## When Not to Use(何时不使用)
以下场景不应使用本 Skill:
- 个股深度基本面分析(财报、估值、商业模式研究)
- 长线投资标的价值评估
- 技术指标详细解读或教学
- 债券、基金、期货等其他品种分析
- 简单的单一形态筛选(应使用 xiapi-screener Skill)
## Process(流程主体)
### Step 0: 前期准备
**触发条件**:首次使用或 Token 未配置
**跳过条件**:Token 已配置且有效,确认已经配置了Token则跳过该步骤
**完成标准**:API 调用正常,无认证错误
**执行步骤**:
**步骤 0.1:检查 Token 配置状态**
```bash
npx daxiapi-cli@latest config get token
```
**步骤 0.2:如未配置,获取 Token**
1. 提示用户访问 [daxiapi.com](https://daxiapi.com) 个人主页
2. 开通 API Token 功能
3. 获取生成的 Token
**步骤 0.3:配置 Token**
```bash
# 方式一:通过 CLI 配置(推荐)
npx daxiapi-cli@latest config set token YOUR_TOKEN_FROM_DAXIAPI
# 方式二:设置环境变量
export DAXIAPI_TOKEN=YOUR_TOKEN_FROM_DAXIAPI
```
**步骤 0.4:验证配置**
```bash
npx daxiapi-cli@latest sql "date='2026-06-17' LIMIT 5"
```
如返回正常数据,则配置成功。
---
### Step 1: Agent 循环(获取+分析)
**目标**:获取符合用户 SQL 条件的股票并进行深入分析
**SQL 语法支持**:
**支持的运算符**:
| 运算符类型 | 运算符 | 说明 | 示例 |
| ---------- | ------ | ---- | ---- |
| 比较运算符 | `=` | 等于 | `date='2026-06-17'` |
| 比较运算符 | `!=` 或 `<>` | 不等于 | `isVCP!=1` |
| 比较运算符 | `>` | 大于 | `rps_score>70` |
| 比较运算符 | `<` | 小于 | `cs<15` |
| 比较运算符 | `>=` | 大于等于 | `sctr>=60` |
| 比较运算符 | `<=` | 小于等于 | `zdf<=5` |
| 区间运算符 | `in [...]` | 区间范围 | `cs in [0, 15]` |
| 枚举运算符 | `in (...)` | IN 枚举 | `stockId in ('000001', '600031')` |
| 字段比较 | 字段间比较 | 字段间比较 | `rps_score>sctr` |
| 逻辑运算符 | `AND` | 逻辑与 | `rps_score>70 AND sctr>60` |
| 逻辑运算符 | `OR` | 逻辑或 | `isVCP=1 OR isSOS=1` |
| 括号嵌套 | `()` | 括号嵌套 | `(rps_score>70 OR sctr>60) AND cs>0` |
**支持的排序**:
```sql
ORDER BY field1 ASC, field2 DESC
```
- `ASC`:升序(默认)
- `DESC`:降序
**支持的数量限制**:
```sql
LIMIT 10
```
**完整 SQL 示例**:
```sql
date='2026-06-17' AND rps_score>70 AND sctr>60 ORDER BY rps_score DESC LIMIT 20
```
**支持的查询字段**:
| 字段类别 | 字段名 | 说明 | 示例 |
| -------- | ------ | ---- | ---- |
| 日期字段 | `date` | 查询日期(必填) | `date='2026-06-17'` |
| 代码字段 | `stockId` | 股票代码 | `stockId='000001'` |
| 名称字段 | `name` | 股票名称(模糊查询) | `name like '平安'` |
| 涨跌幅 | `zdf` | 当日涨跌幅 | `zdf>3` |
| 涨跌幅 | `zdf_5d` | 5日涨跌幅 | `zdf_5d>10` |
| 涨跌幅 | `zdf_10d` | 10日涨跌幅 | `zdf_10d>15` |
| 涨跌幅 | `zdf_20d` | 20日涨跌幅 | `zdf_20d>20` |
| 强度指标 | `cs` | CS强度值 | `cs>0` |
| 强度指标 | `rps_score` | RPS相对强度 | `rps_score>70` |
| 强度指标 | `sctr` | SCTR技术排名 | `sctr>60` |
| 强度指标 | `sm` | SM强度 | `sm>5` |
| 强度指标 | `ml` | ML强度 | `ml>3` |
| 技术形态 | `isVCP` | 是否VCP形态 | `isVCP=1` |
| 技术形态 | `isSOS` | 是否SOS形态 | `isSOS=1` |
| 技术形态 | `isSpring` | 是否Spring形态 | `isSpring=1` |
| 技术形态 | `isNewHigh` | 是否新高 | `isNewHigh=1` |
| 价格字段 | `close` | 收盘价 | `close>10` |
**日期限制**:
- 只支持查询最近 10 天内的股票数据
- `date` 字段为必填条件
- 建议使用最近一个交易日的日期
**循环流程**:
**每次循环包含**:
1. **获取数据**
- 执行 CLI 命令:`npx daxiapi-cli@latest sql "<condition>"`
- 检查数据完整性(股票名称、代码、涨跌幅、强度指标等)
- 处理异常情况
2. **分析数据**
- 统计股票所属板块分布
- 按强度指标(RPS/SCTR/CS)排序
- 分析涨跌幅持续性(5/10/20 日)
- 识别核心概念题材
- 标记潜在风险点
**灵活性**:
- ✅ 可根据用户需求自定义 SQL 条件
- ✅ 可根据数据质量调整分析深度
- ✅ 可结合多个条件进行复杂筛选
- ✅ 支持多维度排序和数量限制
**完成标准**:
- SQL 筛选数据已获取
- 板块分布统计完成
- 强度排序已完成
- 关键发现已记录
---
### Step 2: 汇总报告
**目标**:整合分析结果,生成结构化报告
**执行步骤**:
1. **整理发现**:汇总 SQL 筛选数据和统计结果
2. **提炼结论**:识别最强标的和热点板块
3. **生成报告**:按照模版格式化输出
**报告要求**:
- ✅ 结论先行(推荐标的和核心结论)
- ✅ 数据支撑(引用具体指标)
- ✅ 逻辑清晰(因果明确)
- ✅ 格式规范
- ✅ 必填项完整:核心结论、关键数据、分析维度、投资建议、免责声明
- ✅ 选填项按需输出:后续关注点、风险提示
**完成标准**:
- 报告包含所有必填部分
- 数据引用准确
- 结论有理有据
## Report Template(报告模版)
### SQL 股票筛选分析报告
**报告日期**:[YYYY-MM-DD]
**筛选条件**:[SQL 条件]
**数据截止**:[YYYY-MM-DD] 收盘(必填具体交易日)
---
#### 一、核心结论(必填)
[一句话总结筛选结果和核心推荐,不超过 50 字]
#### 二、关键数据(必填)
| 指标 | 数值 | 说明 |
| ---------------- | ------ | -------------------- |
| 筛选股票总数 | [值] | 符合条件的股票数量 |
| 最强板块 | [板块] | 股票分布最多的板块 |
| 平均涨幅 | [值]% | 筛选股票平均涨幅 |
| 平均 RPS | [值] | 筛选股票平均 RPS 值 |
#### 三、分析维度(必填)
**维度1:股票清单**
| 股票名称 | 代码 | 涨幅 | RPS | SCTR | CS | 所属板块 | 核心概念 |
| -------- | ---- | ---- | --- | ---- | -- | -------- | -------- |
| [名称] | [代码] | [%] | [值] | [值] | [值] | [板块] | [概念] |
**维度2:板块分布**
| 板块名称 | 股票数量 | 占比 | 代表股票 |
| -------- | -------- | ------ | -------- |
| [板块1] | [数量] | [%] | [股票] |
| [板块2] | [数量] | [%] | [股票] |
**维度3:强度分析**
- 数据来源:`npx daxiapi-cli@latest sql "<condition>"`
- 最强标的:[股票名称],RPS=[值],SCTR=[值]
- 强度趋势:[强度变化描述]
- 数据支撑:[引用具体数据]
#### 四、投资建议(必填)
[根据筛选结果给出的关注建议,注意避免绝对化表述]
#### 五、后续关注点(可选,精简输出)
- [需要持续跟踪的形态演变]
- [可能出现的买卖信号]
#### 六、风险提示(可选,精简输出)
- 筛选条件失效风险:技术指标可能失效,需设置止损
- 市场环境变化:系统性风险可能影响个股表现
- 流动性风险:小盘股可能存在流动性不足
- 本分析仅供参考,不构成投资建议
---
#### 七、免责声明(必填)
本报告使用大虾皮(daxiapi.com)数据 + AI 生成,仅供参考,不构成投资建议。
## Quality Checks(质量检查)
### Red Flags(危险信号)
| 危险信号 | 说明 | 处理方式 |
| --------------- | ---------------------- | -------------------------- |
| 🔴 数据缺失 | SQL 筛选数据无法获取 | 明确说明,建议稍后重试 |
| 🔴 数据过期 | 数据非当日更新 | 提醒用户数据时效性 |
| 🔴 绝对化表述 | 使用"一定涨"等词汇 | 改为"可能"、"大概率" |
| 🔴 免责声明缺失 | 未包含免责声明 | 强制补充免责声明 |
| 🔴 风险提示缺失 | 未提示筛选风险 | 强制补充风险提示 |
| 🔴 SQL 语法错误 | SQL 条件解析失败 | 提示正确的 SQL 语法 |
### Verification(验证要求)
**必须验证**:
- [ ] 包含核心结论
- [ ] 包含关键数据(股票数量、板块分布等)
- [ ] 包含分析维度(股票清单、板块分布、强度分析)
- [ ] 包含免责声明
- [ ] 数据来源已标注
- [ ] 风险提示已包含
- [ ] SQL 条件已正确解析
## Common Pitfalls(常见陷阱)
| 陷阱 | 说明 | 避免方法 |
| -------------- | -------------------------- | -------------------------- |
| SQL 语法错误 | SQL 条件写法不正确 | 参考支持的语法和示例 |
| 日期缺失 | 未指定 date 条件 | 必须包含 date='YYYY-MM-DD' |
| 日期超限 | 查询超过 10 天的数据 | 只查询最近 10 天内的数据 |
| 绝对化表述 | 使用"肯定涨"等表述 | 改为"可能"、"大概率" |
| 忽视风险提示 | 只讲机会不讲风险 | 强制补充风险提示 |
| 过度预测 | 预测股价走势 | 改为情景分析或概率判断 |
| 数据时效忽视 | 使用非当日数据做判断 | 明确标注数据更新时间 |
## Gotchas(避坑案例)
- **401 认证失败(Token 缺失或失效)**
- 错误表现:`401 Unauthorized` 或 `Authentication failed`
- 修复动作:执行 `npx daxiapi-cli@latest config get token` 检查配置;若为空或失效,执行 `npx daxiapi-cli@latest config set token YOUR_TOKEN_FROM_DAXIAPI` 重新配置
- **SQL 解析失败**
- 错误表现:`SQL 解析失败: xxx`
- 修复动作:检查 SQL 语法,参考支持的运算符和字段列表
- **日期条件缺失**
- 错误表现:`必须指定 date 条件`
- 修复动作:添加 `date='YYYY-MM-DD'` 条件
- **日期超限**
- 错误表现:`只支持查询最近 10 天内的数据`
- 修复动作:使用最近 10 天内的日期
- **空数据返回(无符合条件的股票)**
- 错误表现:返回空数组或无数据
- 修复动作:向用户说明当前市场无符合该条件的股票,建议调整筛选条件
- **429 请求频率超限**
- 错误表现:`429 Too Many Requests`
- 修复动作:等待 30-60 秒后重试
## Key Principles(重要原则)
1. **SQL 语法正确性**:确保 SQL 条件语法正确
2. **日期必填**:必须包含 date 条件
3. **日期限制**:只查询最近 10 天内的数据
4. **结论先行**:开头即给出筛选结果和核心推荐
5. **风险提示**:筛选条件存在失效风险,必须提示
6. **中性表述**:不使用绝对化词汇
7. **数据支撑**:所有结论引用具体数据
8. **免责声明**:所有报告必须包含免责声明
## Error Handling(错误处理)
### 常见错误
| 错误码 | 说明 | 处理方式 |
| ------ | ---------------- | ----------------- |
| 401 | 认证失败 | 检查 Token 配置 |
| 400 | SQL 解析失败 | 检查 SQL 语法 |
| 400 | 日期条件缺失 | 添加 date 条件 |
| 400 | 日期超限 | 使用最近 10 天日期 |
| 429 | 请求频率超限 | 等待后重试 |
| 500 | 服务器错误 | 稍后重试 |
### 错误报告格式
```markdown
## ⚠️ 分析过程中遇到问题
**错误类型**:[错误类型]
**错误描述**:[具体描述]
**建议**:[解决方案]
```
## References
详细文档请参考:
- [SQL 语法说明](references/sql-syntax.md)
- [字段列表](references/field-list.md)
- [常用查询示例](references/query-examples.md)
- [CLI 命令参考](../daxiapi/references/api-reference.md)
don't have the plugin yet? install it then click "run inline in claude" again.