stock-watchlist
概览
这个 Skill 用于处理三类任务:
- 按中文名、代码或带市场前缀的符号查询股票。
- 返回实时价格和常用基础字段,例如涨跌幅、开高低、昨收、市值、PE、PB、换手率。
- 用 Markdown 文档维护自选列表,并按持仓成本和数量汇总盈亏。
当前脚本使用公开可访问的东财搜索与行情接口。这样可以稳定支持“中文名检索 + 实时行情”,避免当前公开雪球搜索接口的风控限制。
工作流
1. 单只或多只股票查询
优先调用 scripts/stock_watchlist.py quote ...。
支持这些输入形态:
- 中文名,例如
贵州茅台、腾讯。 - 裸代码,例如
600519、00700、TSLA。 - 带前缀代码,例如
SH600519、SZ000001、HK00700。
示例:
python scripts/stock_watchlist.py quote 贵州茅台 HK00700 TSLA
脚本输出 JSON。读取结果后,用中文向用户总结最重要的字段,不要把整段 JSON 原样抄回去,除非用户明确要求。
2. 遇到简称或歧义先搜索
对短中文名或明显存在歧义的输入,先调用 search 再决定是否直接报价。
典型例子:
腾讯可能扩散到腾讯控股、腾讯音乐、相关指数或板块。平安可能对应银行、保险、ETF 或指数。
示例:
python scripts/stock_watchlist.py search 腾讯
处理规则:
- 如果第一候选明显符合用户意图,可以直接继续
quote。 - 如果前几项都合理,先把前 3 个候选简要列给用户,再继续。
3. 用 Markdown 管理自选列表
先初始化 Markdown 模板:
python scripts/stock_watchlist.py watchlist init --file /path/to/watchlist.md
模板位于 assets/watchlist-template.md。
Markdown 文档必须保留这两个标记:
<!-- stock-watchlist:start --><!-- stock-watchlist:end -->
脚本只会回写标记之间的表格,其它正文会保留。
4. 自选列表维护动作
新增或更新一行:
python scripts/stock_watchlist.py watchlist add \
--file /path/to/watchlist.md \
--query 贵州茅台 \
--cost-price 1395 \
--quantity 100 \
--note core
删除一行:
python scripts/stock_watchlist.py watchlist remove \
--file /path/to/watchlist.md \
--query SH600519
把手工编辑过的 query 统一解析成规范符号:
python scripts/stock_watchlist.py watchlist sync --file /path/to/watchlist.md
查询整个自选列表并计算汇总:
python scripts/stock_watchlist.py watchlist quote --file /path/to/watchlist.md
Watchlist 约束
表格必须包含这些列:
querysymbolquote_idnamecost_pricequantitynote
字段含义:
query:原始查询词,适合手工维护,例如中文名或代码。symbol:规范代码,例如SH600519、HK00700、TSLA。quote_id:行情接口使用的内部标识,保留后可以减少再次搜索。cost_price:可选,留空则不计算该行盈亏。quantity:可选,留空则不计算该行盈亏。
建议:
- 手工改完
query后执行一次watchlist sync。 - 不要删除表头,也不要删掉标记行。
- 如果只想保留观察列表,不关心成本,可以只维护
query/symbol/quote_id/name/note。
输出要求
脚本返回 JSON 后,按场景组织最终回答:
- 单只股票:优先总结
name/symbol/current_price/change_percent/open_price/high_price/low_price/previous_close/total_market_cap/pe_ttm/pb。 - 多只股票:按股票分组,避免混成一段。
- 自选列表:先给组合汇总,再列重点持仓。
如果用户明确要“基本信息”,默认至少包含:
- 当前价
- 涨跌额
- 涨跌幅
- 今开
- 最高
- 最低
- 昨收
- 总市值
- PE(TTM)
- PB
资源
- 主脚本:scripts/stock_watchlist.py
- Markdown 模板:assets/watchlist-template.md