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 配置状态
npx daxiapi-cli@latest config get token
步骤 0.2:如未配置,获取 Token
- 提示用户访问 daxiapi.com 个人主页
- 开通 API Token 功能
- 获取生成的 Token
步骤 0.3:配置 Token
# 方式一:通过 CLI 配置(推荐)
npx daxiapi-cli@latest config set token YOUR_TOKEN_FROM_DAXIAPI
# 方式二:设置环境变量
export DAXIAPI_TOKEN=YOUR_TOKEN_FROM_DAXIAPI
步骤 0.4:验证配置
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 |
支持的排序:
ORDER BY field1 ASC, field2 DESC
ASC:升序(默认)DESC:降序
支持的数量限制:
LIMIT 10
完整 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字段为必填条件- 建议使用最近一个交易日的日期
循环流程:
每次循环包含:
-
获取数据
- 执行 CLI 命令:
npx daxiapi-cli@latest sql "<condition>" - 检查数据完整性(股票名称、代码、涨跌幅、强度指标等)
- 处理异常情况
- 执行 CLI 命令:
-
分析数据
- 统计股票所属板块分布
- 按强度指标(RPS/SCTR/CS)排序
- 分析涨跌幅持续性(5/10/20 日)
- 识别核心概念题材
- 标记潜在风险点
灵活性:
- ✅ 可根据用户需求自定义 SQL 条件
- ✅ 可根据数据质量调整分析深度
- ✅ 可结合多个条件进行复杂筛选
- ✅ 支持多维度排序和数量限制
完成标准:
- SQL 筛选数据已获取
- 板块分布统计完成
- 强度排序已完成
- 关键发现已记录
Step 2: 汇总报告
目标:整合分析结果,生成结构化报告
执行步骤:
- 整理发现:汇总 SQL 筛选数据和统计结果
- 提炼结论:识别最强标的和热点板块
- 生成报告:按照模版格式化输出
报告要求:
- ✅ 结论先行(推荐标的和核心结论)
- ✅ 数据支撑(引用具体指标)
- ✅ 逻辑清晰(因果明确)
- ✅ 格式规范
- ✅ 必填项完整:核心结论、关键数据、分析维度、投资建议、免责声明
- ✅ 选填项按需输出:后续关注点、风险提示
完成标准:
- 报告包含所有必填部分
- 数据引用准确
- 结论有理有据
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(重要原则)
- SQL 语法正确性:确保 SQL 条件语法正确
- 日期必填:必须包含 date 条件
- 日期限制:只查询最近 10 天内的数据
- 结论先行:开头即给出筛选结果和核心推荐
- 风险提示:筛选条件存在失效风险,必须提示
- 中性表述:不使用绝对化词汇
- 数据支撑:所有结论引用具体数据
- 免责声明:所有报告必须包含免责声明
Error Handling(错误处理)
常见错误
| 错误码 | 说明 | 处理方式 | | ------ | ---------------- | ----------------- | | 401 | 认证失败 | 检查 Token 配置 | | 400 | SQL 解析失败 | 检查 SQL 语法 | | 400 | 日期条件缺失 | 添加 date 条件 | | 400 | 日期超限 | 使用最近 10 天日期 | | 429 | 请求频率超限 | 等待后重试 | | 500 | 服务器错误 | 稍后重试 |
错误报告格式
## ⚠️ 分析过程中遇到问题
**错误类型**:[错误类型]
**错误描述**:[具体描述]
**建议**:[解决方案]
References
详细文档请参考:
微信扫一扫