SKILL.md
readonly只读
name
twelvedata
description
股票、外汇和商品价格:实时报价和历史K线。 用于查询传统市场价格(例如AAPL报价、EUR/USD图表、黄金价格、SPY历史数据)。不适用于加密货币。
version
2.0.4
Twelve Data
股票、外汇和商品价格数据。仅限传统市场——不适用于加密货币。
脚本用法
本技能提供一个包含所有函数的 exports.py 文件。通过 bash 块调用:
python3 - <<'EOF'
import sys, json
sys.path.insert(0, "/data/workspace/skills/twelvedata")
from exports import twelvedata_price, twelvedata_quote, twelvedata_time_series
# 单个报价
print(twelvedata_quote(symbol="AAPL"))
# 时间序列(最近30根日K线)
series = twelvedata_time_series(symbol="AAPL", interval="1day", outputsize=30)
print(json.dumps(series.get("values", [])[:3], indent=2))
EOF
exports.py 中的可用函数:twelvedata_price, twelvedata_quote,
twelvedata_time_series, twelvedata_eod, twelvedata_quote_batch,
twelvedata_price_batch, twelvedata_search, twelvedata_stocks,
twelvedata_forex_pairs, twelvedata_exchanges。需要精确签名时直接阅读 exports.py。
函数参考(签名)
所有函数位于 exports.py 中。符号使用 TwelveData 格式(例如 AAPL、
EUR/USD、XAU/USD)。使用 prepost=True 获取美股盘前/盘后数据。
| 函数 | 描述 |
|---|---|
twelvedata_price(symbol, prepost=False) |
单个符号的当前价格。 |
twelvedata_price_batch(symbols, prepost=False) |
多个符号的价格(symbols 为逗号分隔字符串)。 |
twelvedata_quote(symbol, prepost=False) |
详细报价:价格、成交量、52周高低、涨跌幅。 |
twelvedata_quote_batch(symbols, prepost=False) |
多个符号的详细报价。 |
twelvedata_time_series(symbol, interval='1day', outputsize=30, start_date=None, end_date=None, prepost=False) |
OHLCV K线。interval 可选 1min/5min/15min/30min/1h/2h/4h/1day/1week/1month。 |
twelvedata_eod(symbol, date=None, prepost=False) |
指定日期的收盘价(默认最新)。 |
twelvedata_search(query) |
按名称或代码搜索符号。 |
twelvedata_stocks(exchange=None, country=None) |
列出支持的股票(可筛选)。 |
twelvedata_forex_pairs() |
列出所有支持的外汇对。 |
twelvedata_exchanges() |
列出支持的交易所。 |
关键词 → 工具查找
| 用户询问 | 工具 | 不要用这个 |
|---|---|---|
| "AAPL 股价", "current price" (单个) | twelvedata_quote |
不要用 twelvedata_price(信息较少) |
| "只要价格数字" | twelvedata_price |
— |
| "多只股票对比" (2个以上) | twelvedata_quote_batch |
不要多次调用 twelvedata_quote |
| "K线", "历史数据", "time series" | twelvedata_time_series |
— |
| "收盘价" | twelvedata_eod |
— |
| "找股票代码" | twelvedata_search |
— |
| "NASDAQ 有哪些股票" | twelvedata_stocks |
— |
| "汇率", "EUR/USD" | twelvedata_quote(symbol="EUR/USD") |
— |
| "外汇对列表" | twelvedata_forex_pairs |
— |
| "金价", "oil price" | twelvedata_quote(symbol="XAU/USD") |
不要用 CoinGecko |
| "BTC price", 任何加密货币 | CoinGecko coin_price |
❌ 加密货币绝不用 twelvedata |
TwelveData vs CoinGecko — 边界
| 资产类别 | 使用 | 原因 |
|---|---|---|
| 股票 (AAPL, TSLA) | TwelveData | CoinGecko 没有股票 |
| 外汇 (EUR/USD) | TwelveData | CoinGecko 没有外汇 |
| 商品 (黄金、原油) | TwelveData | CoinGecko 没有商品 |
| 加密货币 (BTC, ETH, SOL) | CoinGecko | TwelveData 加密货币数据有限/不可靠 |
常见错误 — 调用前请阅读
❌ 错误1:用 TwelveData 查询加密货币
用户: "BTC 价格"
❌ 错误: twelvedata_quote(symbol="BTC/USD")
✅ 正确: coin_price(ids="bitcoin") ← CoinGecko
❌ 错误2:对多只股票分别调用 quote
用户: "AAPL MSFT GOOGL 现在什么价"
❌ 错误: twelvedata_quote("AAPL"), twelvedata_quote("MSFT"), twelvedata_quote("GOOGL") ← 3次调用
✅ 正确: twelvedata_quote_batch(symbols=["AAPL", "MSFT", "GOOGL"]) ← 1次调用,最多120个符号
❌ 错误3:外汇缺少斜杠
❌ 错误: twelvedata_quote(symbol="EURUSD")
✅ 正确: twelvedata_quote(symbol="EUR/USD") ← 始终使用斜杠格式
同样:USD/CNH 而非 USDCNH,GBP/JPY 而非 GBPJPY。
❌ 错误4:期望 quote 返回买卖价
❌ 错误: "EUR/USD 买入价: 1.0850, 卖出价: 1.0852" ← quote 只返回收盘价
✅ 正确: "EUR/USD 当前价格: 1.0851(收盘价/最新价 — 买卖价差不可用)"
❌ 错误5:错误的间隔格式
❌ 错误: twelvedata_time_series(interval="1D") ← 大写
✅ 正确: twelvedata_time_series(interval="1day")
有效值:1min, 5min, 15min, 30min, 1h, 2h, 4h, 8h, 1day, 1week, 1month
❌ 错误6:当 compact 足够时使用 full
用户: "AAPL 最近走势"
❌ 错误: twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="full") ← 5000根K线
✅ 正确: twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="compact") ← 30根K线
仅当用户明确需要深度历史时才使用 full。
符号参考
商品(已验证)
| 资产 | 符号 |
|---|---|
| 黄金 | XAU/USD |
| 白银 | XAG/USD |
| 铂金 | XPT/USD |
| 钯金 | XPD/USD |
| 原油 (WTI) | WTI/USD |
| 天然气 | NG/USD |
热门外汇对
| 货币对 | 符号 |
|---|---|
| 欧元/美元 | EUR/USD |
| 英镑/美元 | GBP/USD |
| 美元/日元 | USD/JPY |
| 美元/离岸人民币 | USD/CNH |
使用 twelvedata_search 发现其他符号。
盘前/盘后数据
twelvedata_quote(symbol="AAPL", prepost=true)
twelvedata_time_series(symbol="AAPL", interval="1min", prepost=true)
可用时返回 premarket_change, premarket_change_percent, postmarket_change, postmarket_change_percent。
输出大小
compact— 最近30个数据点(默认,更快)。用于“最近走势”。full— 最多5000个数据点。用于深度分析/绘图。
代理安全使用
- Agent 工具调用:始终优先使用
twelvedata_*工具(本技能)。 - 平台代码 (
skills/,tools/):使用core.http_client。 - 工作区脚本 (
bash):不要直接调用 TwelveData。使用技能工具。
复合查询
股票比较
1. twelvedata_quote_batch(symbols=["AAPL", "MSFT", "GOOGL", "TSLA"])
2. twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="compact") ← 仅对用户最关心的那只股票
宏观仪表盘(股票 + 外汇 + 商品)
1. twelvedata_quote_batch(symbols=["SPY", "QQQ"]) → 美国指数
2. twelvedata_quote_batch(symbols=["EUR/USD", "USD/JPY"]) → 外汇
3. twelvedata_quote(symbol="XAU/USD") → 黄金






