智能选股技能
基于自然语言的智能选股工具,类似同花顺问财。支持行情查询、动态选股、用户认证、Level2数据、交易下单。
外部依赖声明
本技能依赖以下外部 API 服务:
| 服务 | 地址 | 用途 | 认证 |
|---|---|---|---|
| Stockboot API | https://api.stockbot.me | 股票行情查询、动态选股、用户认证、交易 | 部分接口需要 Token |
隐私与数据安全
- 数据流向:仅向 Stockboot API 发送请求
- 数据类型:股票代码、选股条件、用户认证信息
- 传输安全:所有请求使用 HTTPS 加密传输
- Token 存储:建议在会话中使用,不要持久化存储
自托管选项
本技能的 API 服务可自行部署。如需自托管,请参考:
- 后端源码:私有仓库
- 部署后修改环境变量
STOCKBOOT_API_URL指向您的服务地址
环境配置
默认 API 地址:https://api.stockbot.me
可通过环境变量自定义:
export STOCKBOOT_API_URL="https://your-server/api"
一、用户认证接口 (/auth)
1.1 用户登录
- 接口:
POST ${STOCKBOOT_API_URL}/auth/login - 说明: 用户登录,返回 Token 和账户列表
- Body:
{"username": "xxx", "password": "xxx"} - 返回字段:
userInfo: 用户信息(vipLevel, role, phone, nickname, vipExpireTime)accounts: 账户列表(id, accountName, brokerType, brokerAccount, availableBalance 等)token: JWT Token(有效期7天)refreshToken: 刷新 Token(有效期14天)
- 示例:
curl -X POST "${STOCKBOOT_API_URL}/auth/login" \ -H "Content-Type: application/json" \ -d '{"username": "18680859800", "password": "abcd1234"}' - VIP等级说明:
- vipLevel=0: 普通用户,仅基础行情
- vipLevel=1: VIP用户,Level2数据
- vipLevel=2: 超级VIP,Level2数据 + 交易功能
1.2 用户注册
- 接口:
POST ${STOCKBOOT_API_URL}/auth/register - 说明: 用户注册(需要短信验证码)
- Body:
{"phone": "xxx", "password": "xxx", "confirmPassword": "xxx", "code": "xxx"} - 示例:
curl -X POST "${STOCKBOOT_API_URL}/auth/register" \ -H "Content-Type: application/json" \ -d '{"phone": "13800138000", "password": "test123", "confirmPassword": "test123", "code": "123456"}'
1.3 发送验证码
- 接口:
POST ${STOCKBOOT_API_URL}/auth/sms/send - 说明: 发送短信验证码(用于注册/登录)
- Body:
{"phone": "xxx", "type": "register/login"} - 示例:
curl -X POST "${STOCKBOOT_API_URL}/auth/sms/send" \ -H "Content-Type: application/json" \ -d '{"phone": "13800138000", "type": "register"}'
1.4 刷新 Token
- 接口:
POST ${STOCKBOOT_API_URL}/auth/refresh - 说明: 使用 refreshToken 刷新 access token
- Header:
Authorization: Bearer ${refreshToken} - 示例:
curl -X POST "${STOCKBOOT_API_URL}/auth/refresh" \ -H "Authorization: Bearer ${refreshToken}"
1.5 退出登录
- 接口:
POST ${STOCKBOOT_API_URL}/auth/logout - 说明: 退出登录,Token失效
- Header:
Authorization: Bearer ${token} - 示例:
curl -X POST "${STOCKBOOT_API_URL}/auth/logout" \ -H "Authorization: Bearer ${token}"
二、行情接口 (/quote)
注意: 带 Token 访问行情接口会返回 Level2 数据(VIP功能)
2.1 获取单只股票行情
- 接口:
GET ${STOCKBOOT_API_URL}/quote/{stockCode} - 说明: 获取股票实时行情,包括五档买卖
- Header: 无需认证(普通行情);带 Token 返回 Level2 数据
- 示例:
# 普通行情 curl "${STOCKBOOT_API_URL}/quote/600519" # Level2 数据(需要 Token) curl "${STOCKBOOT_API_URL}/quote/600519" \ -H "Authorization: Bearer ${token}" - 返回字段:
- 基础字段: stockCode, stockName, currentPrice, changeRate, volume, amount, 五档买卖等
- Level2 字段 (VIP):
mainNetInflow: 大单净额(主力净额,单位:元)mainNetInflowRate: 大单净量占比(主力净量占比,百分比)
2.2 批量获取股票行情
- 接口:
POST ${STOCKBOOT_API_URL}/quote/batch - 说明: 批量获取多只股票实时行情(优化传输格式)
- Body:
["600519", "000001", "300750"] - Header: 带 Token 返回 Level2 数据
- 示例:
# 普通行情 curl -X POST "${STOCKBOOT_API_URL}/quote/batch" \ -H "Content-Type: application/json" \ -d '["600519", "000001", "300750"]' # Level2 数据 curl -X POST "${STOCKBOOT_API_URL}/quote/batch" \ -H "Authorization: Bearer ${token}" \ -H "Content-Type: application/json" \ -d '["600519", "000001", "300750"]' - 返回字段: fields(字段名数组,含 mainNetInflow、mainNetInflowRate), items(数据二维数组)
2.3 搜索股票
- 接口:
POST ${STOCKBOOT_API_URL}/quote/search - 说明: 根据股票代码、简称或名称搜索股票
- Body:
{"keyword": "xxx"} - 示例:
curl -X POST "${STOCKBOOT_API_URL}/quote/search" \ -H "Content-Type: application/json" \ -d '{"keyword": "茅台"}'
2.4 获取分时数据
- 接口:
GET ${STOCKBOOT_API_URL}/quote/minute/{stockCode}?tradeDate=xxx - 说明: 获取股票分时行情数据,不指定日期则获取当天
- 示例:
curl "${STOCKBOOT_API_URL}/quote/minute/600519" - 返回字段: time, volume, amount, avgPrice, cumulativeAvgPrice, changeRate, close
2.5 获取分时数据(优化传输)
- 接口:
GET ${STOCKBOOT_API_URL}/quote/minute/{stockCode}/optimized?tradeDate=xxx - 说明: 获取分时数据,字段名和数据分离,减少网络传输量
2.6 获取集合竞价数据
- 接口:
GET ${STOCKBOOT_API_URL}/quote/call-auction/{stockCode}?tradeDate=xxx - 说明: 获取早盘集合竞价数据(9:15-9:25)
- 示例:
curl "${STOCKBOOT_API_URL}/quote/call-auction/600519" - 返回字段: time, price, bid1-5, ask1-5, bidSize1-5, askSize1-5, volume, amount
2.7 获取集合竞价数据(优化传输)
- 接口:
GET ${STOCKBOOT_API_URL}/quote/call-auction/{stockCode}/optimized?tradeDate=xxx
2.8 获取股票基础数据
- 接口:
GET ${STOCKBOOT_API_URL}/quote/basic-data/{stockCode} - 说明: 获取融资融券、次新、市盈率、市净率、板块、概念等基础数据
- 示例:
curl "${STOCKBOOT_API_URL}/quote/basic-data/600519"
2.9 获取历史K线数据
- 接口:
GET ${STOCKBOOT_API_URL}/quote/kline/{stockCode}?interval=D&startDate=xxx&endDate=xxx&appendToday=false - 参数:
interval: K线周期 (D=日, W=周, M=月, Q=季, Y=年)startDate: 开始日期endDate: 结束日期appendToday: 是否包含今天
- 示例:
curl "${STOCKBOOT_API_URL}/quote/kline/600519?interval=D&appendToday=true"
2.10 获取历史K线数据(优化传输)
- 接口:
GET ${STOCKBOOT_API_URL}/quote/kline/{stockCode}/optimized
三、账户接口 (/account)
需要 Token 认证
3.1 获取账户列表
- 接口:
GET ${STOCKBOOT_API_URL}/account/list - 说明: 获取用户绑定的所有交易账户
- Header:
Authorization: Bearer ${token} - 示例:
curl "${STOCKBOOT_API_URL}/account/list" \ -H "Authorization: Bearer ${token}" - 返回字段:
id: 账户IDaccountName: 账户名称brokerType: 券商类型(0=东方财富, 7=国金证券)brokerTypeName: 券商名称brokerAccount: 券商账号isCreditAccount: 是否信用账户availableBalance: 可用余额totalAssets: 总资产positionValue: 持仓市值todayProfit: 今日盈亏deviceOnline: 设备在线状态isPrimary: 是否主账户status: 账户状态(1=正常)
四、交易接口 (/trade)
需要 Token 认证 + VIP等级 >= 2
4.1 下单
- 接口:
POST ${STOCKBOOT_API_URL}/trade/order - 说明: 买入或卖出股票
- Header:
Authorization: Bearer ${token} - Body:
{ "accountId": 1001, // 账户ID(从账户列表获取) "stockCode": "600666", // 股票代码 "stockName": "奥瑞德", // 股票名称 "price": 6.00, // 价格(市价单可忽略) "quantity": 100, // 数量(股) "orderType": 0, // 0=买入, 1=卖出 "priceType": "LIMIT" // LIMIT=限价, MARKET=市价 } - 示例:
# 限价买入 curl -X POST "${STOCKBOOT_API_URL}/trade/order" \ -H "Authorization: Bearer ${token}" \ -H "Content-Type: application/json" \ -d '{"accountId":1001,"stockCode":"600666","stockName":"奥瑞德","price":6.00,"quantity":100,"orderType":0,"priceType":"LIMIT"}' # 市价卖出 curl -X POST "${STOCKBOOT_API_URL}/trade/order" \ -H "Authorization: Bearer ${token}" \ -H "Content-Type: application/json" \ -d '{"accountId":1001,"stockCode":"600666","stockName":"奥瑞德","quantity":100,"orderType":1,"priceType":"MARKET"}' - 返回字段:
id: 订单IDstatus: 状态(5=失败,其他状态待补充)errorMessage: 错误信息(如"委托价格超过跌停价格")
五、动态选股接口 (/dynamic-select)
- 接口:
POST ${STOCKBOOT_API_URL}/dynamic-select/execute - 说明: 使用自然语言选股
- Body:
{"sentence": "选股条件"} - 示例:
curl -X POST "${STOCKBOOT_API_URL}/dynamic-select/execute" \ -H "Content-Type: application/json" \ -d '{"sentence": "涨停"}'
六、动态选股查询语法
当用户提出选股需求时,将自然语言转换为查询条件。
支持的查询模式
-
涨跌停类:
涨停/跌停涨幅大于8%未涨停非ST非一字涨停非ST
-
涨幅类:
涨幅大于5%/涨幅小于-3%连续3天上涨前5日平均涨幅大于20%
-
财务指标:
市盈率小于20/市净率小于2流通市值小于50亿
-
组合条件 (分号分隔):
涨幅大于5%;非ST前5日平均涨幅大于20%;前10日涨停次数大于1连续5日净买入且主力净流入占比大于10%非ST
-
排除条件:
非ST/非新股
七、使用流程
7.1 基础行情(无需登录)
# 查询股票行情
curl "${STOCKBOOT_API_URL}/quote/600519"
# 动态选股
curl -X POST "${STOCKBOOT_API_URL}/dynamic-select/execute" \
-H "Content-Type: application/json" \
-d '{"sentence": "涨停"}'
7.2 VIP 用户(Level2数据)
# 1. 登录获取 Token
RESPONSE=$(curl -s -X POST "${STOCKBOOT_API_URL}/auth/login" \
-H "Content-Type: application/json" \
-d '{"username":"18680859800","password":"abcd1234"}')
TOKEN=$(echo $RESPONSE | jq -r '.data.token')
# 2. 获取 Level2 数据
curl "${STOCKBOOT_API_URL}/quote/600519" \
-H "Authorization: Bearer $TOKEN"
# 返回: mainNetInflow(主力净额), mainNetInflowRate(主力净量占比)
7.3 超级VIP(交易功能)
# 1. 登录
TOKEN=$(...)
# 2. 获取账户列表
curl "${STOCKBOOT_API_URL}/account/list" \
-H "Authorization: Bearer $TOKEN"
# 3. 下单交易
curl -X POST "${STOCKBOOT_API_URL}/trade/order" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"accountId":1001,"stockCode":"600666","stockName":"奥瑞德","price":6.00,"quantity":100,"orderType":0,"priceType":"LIMIT"}'
八、示例对话
用户: 帮我找今天涨停的股票
助手: 调用 /dynamic-select/execute 查询"涨停",返回涨停股票列表
用户: 查询茅台的行情,我要看主力净额
助手: 需要先登录获取 Token,然后调用 /quote/600519 带 Authorization header,返回包含 mainNetInflow 的数据
用户: 我要买入奥瑞德100股,价格6元 助手:
- 确认用户已登录且有交易权限
- 获取账户列表确认 accountId
- 调用
/trade/order下单
用户: 市盈率低的小盘股有哪些?
助手: 调用 /dynamic-select/execute 查询"市盈率小于20;流通市值小于50亿"
九、错误处理
| 错误码 | 说明 | 处理建议 |
|---|---|---|
| 9001 | 参数错误 | 检查请求参数格式 |
| 403 | 未授权/Token失效 | 重新登录获取 Token |
| 500 | 系统异常 | 稍后重试或联系管理员 |
十、更新日志
v2.0.0 (2026-04-20)
- ✨ 新增用户认证接口(登录、注册、验证码、刷新Token、退出)
- ✨ 新增 Level2 数据支持(主力净额、主力净量)- VIP功能
- ✨ 新增账户接口(获取账户列表)
- ✨ 新增交易接口(下单买入/卖出)- 超级VIP功能
- 📝 完善接口文档和使用示例
v1.5.1 (2026-03-21)
- 基础行情查询
- 动态选股功能