关于 twelvedata
这是一个以脚本模式获取 Twelve Data 市场数据的 Skill,覆盖股票、外汇和大宗商品,不用于加密货币;适合需要报价、价格、历史 OHLCV 序列或市场列表的 Agent 和脚本。
主要功能
- 01单项及批量价格或报价
- 02多时间间隔 OHLCV 序列
- 03每日收盘价
- 04搜索代码并列出支持的股票
- 05列出外汇货币对和交易所
- 06盘前及盘后数据选项
适用场景
- 01比较多只股票的报价
- 02查看股票近期或历史 K 线
- 03查询外汇货币对或大宗商品价格
- 04查找代码或支持的交易所
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ starchild-ai-agent/ official-skills --skill twelvedata安装后在 Claude Code 中输入/twelvedata确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
__init__.pyexports.pytools/__init__.pyclient.pyquote.pyreference_data.pytime_series.py详细介绍
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
# Single quote
print(twelvedata_quote(symbol="AAPL"))
# Time series (last 30 daily candles)
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 数据。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 与 CoinGecko 的适用范围
| 资产类别 | 使用 | 原因 |
|---|---|---|
| 股票(AAPL、TSLA) | TwelveData | CoinGecko 不提供股票数据 |
| 外汇(EUR/USD) | TwelveData | CoinGecko 不提供外汇数据 |
| 大宗商品(黄金、石油) | TwelveData | CoinGecko 不提供大宗商品数据 |
| 加密货币(BTC、ETH、SOL) | CoinGecko | TwelveData 的加密货币数据有限/不可靠 |
常见错误 — 调用前请阅读
❌ 错误 1:将 TwelveData 用于加密货币
User: "BTC 价格"
❌ WRONG: twelvedata_quote(symbol="BTC/USD")
✅ RIGHT: coin_price(ids="bitcoin") ← CoinGecko
❌ 错误 2:多只股票分别调用 quote
User: "AAPL MSFT GOOGL 现在什么价"
❌ WRONG: twelvedata_quote("AAPL"), twelvedata_quote("MSFT"), twelvedata_quote("GOOGL") ← 3 calls
✅ RIGHT: twelvedata_quote_batch(symbols=["AAPL", "MSFT", "GOOGL"]) ← 1 call, up to 120 symbols
❌ 错误 3:外汇代码中漏掉斜杠
❌ WRONG: twelvedata_quote(symbol="EURUSD")
✅ RIGHT: twelvedata_quote(symbol="EUR/USD") ← always slash format
另外:使用 USD/CNH,不要用 USDCNH;使用 GBP/JPY,不要用 GBPJPY。
❌ 错误 4:以为 quote 会返回买价/卖价
❌ WRONG: "EUR/USD bid: 1.0850, ask: 1.0852" ← quote only returns close
✅ RIGHT: "EUR/USD current price: 1.0851 (close/last price — bid/ask spread not available)"
❌ 错误 5:间隔格式错误
❌ WRONG: twelvedata_time_series(interval="1D") ← uppercase
✅ RIGHT: twelvedata_time_series(interval="1day")
有效值:1min、5min、15min、30min、1h、2h、4h、8h、1day、1week、1month
❌ 错误 6:精简输出足够时仍使用完整输出
User: "AAPL 最近走势"
❌ WRONG: twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="full") ← 5000 candles
✅ RIGHT: twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="compact") ← 30 candles
仅当用户明确需要深入历史数据时,才使用 full。
代码参考
大宗商品(已验证)
| 资产 | 代码 |
|---|---|
| 黄金 | XAU/USD |
| 白银 | XAG/USD |
| 铂金 | XPT/USD |
| 钯金 | XPD/USD |
| 原油(WTI) | WTI/USD |
| 天然气 | NG/USD |
常见外汇货币对
| 货币对 | 符号 |
|---|---|
| 欧元 / USD | EUR/USD |
| GBP / USD | GBP/USD |
| USD / JPY | USD/JPY |
| USD / CNH | 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") ← only for the one user cares most about
宏观市场看板(股票 + 外汇 + 大宗商品)
1. twelvedata_quote_batch(symbols=["SPY", "QQQ"]) → US indices
2. twelvedata_quote_batch(symbols=["EUR/USD", "USD/JPY"]) → Forex
3. twelvedata_quote(symbol="XAU/USD") → Gold