介绍
# Market Tracker Skill
此技能可帮助您获取以下标的的**最新报价**和**历史数据序列**: - 股票 / ETF / 指数(例如:AAPL, MSFT, ^GSPC, VOO) - 外汇对(例如:USD/ZAR, EURUSD, GBP-JPY) - 所选提供商支持的加密货币代码(尽力而为)
它针对以下场景进行了优化: - 快速查询“现在的价格是多少?” - 使用本地观察列表进行轻量级追踪 - 缓存以避免触发速率限制
## 何时使用 当用户询问以下问题时,请使用此技能: - “___的最新价格是多少?” - “追踪 ___ 和 ___ 并向我展示每日变化。” - “给我 ___ 的30天数据序列。” - “将美元兑换为南非兰特(或追踪 USD/ZAR)。” - “维护一个观察列表并总结其表现。”
## 提供商策略(重要) - **股票/ETF/指数** 默认:通过 `yfinance` 使用 Yahoo Finance(无需密钥,覆盖面广),但它属于非官方接口,可能会受到速率限制。 - **外汇** 默认:ExchangeRate-API 的 Open Access 端点(无需密钥,每日更新)。 - 如果用户需要高频数据或查询大量代码,建议后续添加付费提供商。
有关详细信息和代码格式,请参阅 `providers.md`。
---
# 快速开始(如何运行) 这些脚本旨在从终端运行。代理应: 1) 确保依赖项已安装 2) 运行脚本 3) 清晰地总结结果
安装: - `python -m venv .venv && source .venv/bin/activate`(或 Windows 等效命令) - `pip install -r requirements.txt`
## 命令
### 1) 最新报价(股票/ETF/指数) 示例: - `python scripts/market_quote.py AAPL` - `python scripts/market_quote.py ^GSPC` - `python scripts/market_quote.py VOO`
### 2) 最新汇率 示例: - `python scripts/market_quote.py USD/ZAR` - `python scripts/market_quote.py EURUSD` - `python scripts/market_quote.py GBP-JPY`
### 3) 历史数据序列(输出 CSV 到 stdout) 示例: - `python scripts/market_series.py AAPL --days 30` - `python scripts/market_series.py USD/ZAR --days 30`
### 4) 观察列表摘要(本地文件) - 添加代码:`python scripts/market_watchlist.py add AAPL MSFT USD/ZAR` - 删除:`python scripts/market_watchlist.py remove MSFT` - 显示摘要:`python scripts/market_watchlist.py summary`
---
# 输出要求(您应向用户返回的内容) - 报价:价格、涨跌幅百分比、时间戳/来源,以及任何注意事项(如“外汇每日更新”)。 - 数据序列:确认日期范围、数据点数量,并显示小规模预览(前几行和后几行)。 - 如果触发速率限制:解释发生的情况并使用退避策略重试,或建议降低请求频率。
---
# 安全性 / 正确性 - 除非提供商确实是实时的,否则绝不要声称“实时”。外汇 Open Access 数据每日更新。 - 始终缓存响应并对重复调用进行限流。 - 如果 Yahoo 阻止请求,建议使用付费提供商或增加缓存 TTL(生存时间)。