starchild-ai-agent/official-skills

twelvedata

Stocks, forex, and commodities prices: real-time quotes and historical bars.

소스 보기
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Twelve Data

Stocks, forex, and commodities price data. Traditional markets only — not for crypto.

Script Usage

This skill ships a single exports.py with all functions. Call it from a bash block:

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

Available functions in 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. Read exports.py directly when you need exact signatures.

Function Reference (signatures)

All functions are in exports.py. Symbols use TwelveData format (e.g. AAPL, EUR/USD, XAU/USD). Use prepost=True for pre/post-market data on US stocks.

FunctionDescription
twelvedata_price(symbol, prepost=False)Current price for one symbol.
twelvedata_price_batch(symbols, prepost=False)Prices for multiple symbols (symbols = comma-separated string).
twelvedata_quote(symbol, prepost=False)Detailed quote: price, volume, 52w high/low, change %.
twelvedata_quote_batch(symbols, prepost=False)Detailed quotes for multiple symbols.
twelvedata_time_series(symbol, interval='1day', outputsize=30, start_date=None, end_date=None, prepost=False)OHLCV bars. interval = 1min/5min/15min/30min/1h/2h/4h/1day/1week/1month.
twelvedata_eod(symbol, date=None, prepost=False)End-of-day price for a date (default: latest).
twelvedata_search(query)Search symbols by name or ticker.
twelvedata_stocks(exchange=None, country=None)List supported stocks (filterable).
twelvedata_forex_pairs()List all supported forex pairs.
twelvedata_exchanges()List supported exchanges.

Keyword → Tool Lookup

User asks aboutToolNOT this
"AAPL 股价", "current price" (single)twelvedata_quoteNot twelvedata_price (less detail)
"just the price number"twelvedata_price
"多只股票对比" (2+ symbols)twelvedata_quote_batchNot multiple twelvedata_quote calls
"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")Not CoinGecko
"BTC price", any cryptoCoinGecko coin_price❌ Never twelvedata for crypto

TwelveData vs CoinGecko — Boundary

Asset classUseWhy
Stocks (AAPL, TSLA)TwelveDataCoinGecko has no stocks
Forex (EUR/USD)TwelveDataCoinGecko has no forex
Commodities (gold, oil)TwelveDataCoinGecko has no commodities
Crypto (BTC, ETH, SOL)CoinGeckoTwelveData crypto data is limited/unreliable

MISTAKES — Read Before Calling

❌ MISTAKE 1: Using TwelveData for crypto

User: "BTC 价格"
❌ WRONG: twelvedata_quote(symbol="BTC/USD")
✅ RIGHT: coin_price(ids="bitcoin")  ← CoinGecko

❌ MISTAKE 2: Calling quote individually for multiple stocks

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

❌ MISTAKE 3: Forex without slash

❌ WRONG: twelvedata_quote(symbol="EURUSD")
✅ RIGHT: twelvedata_quote(symbol="EUR/USD")  ← always slash format

Also: USD/CNH not USDCNH, GBP/JPY not GBPJPY.

❌ MISTAKE 4: Expecting bid/ask from 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)"

❌ MISTAKE 5: Wrong interval format

❌ WRONG: twelvedata_time_series(interval="1D")  ← uppercase
✅ RIGHT: twelvedata_time_series(interval="1day")

Valid: 1min, 5min, 15min, 30min, 1h, 2h, 4h, 8h, 1day, 1week, 1month

❌ MISTAKE 6: Using full output when compact suffices

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

Use full only when user explicitly needs deep history.

Symbol Reference

Commodities (verified)

AssetSymbol
GoldXAU/USD
SilverXAG/USD
PlatinumXPT/USD
PalladiumXPD/USD
Crude Oil (WTI)WTI/USD
Natural GasNG/USD

Popular Forex Pairs

PairSymbol
Euro / USDEUR/USD
GBP / USDGBP/USD
USD / JPYUSD/JPY
USD / CNHUSD/CNH

Use twelvedata_search to discover others.

Pre/Post-Market Data

twelvedata_quote(symbol="AAPL", prepost=true)
twelvedata_time_series(symbol="AAPL", interval="1min", prepost=true)

Returns premarket_change, premarket_change_percent, postmarket_change, postmarket_change_percent when available.

Output Sizes

  • compact — Last 30 data points (default, faster). Use for "最近走势".
  • full — Up to 5000 data points. Use for deep analysis / charting.

Proxy-Safe Usage

  1. Agent tool calls: Always prefer twelvedata_* tools (this skill).
  2. Platform code (skills/, tools/): use core.http_client.
  3. Workspace scripts (bash): Do NOT call TwelveData directly. Use skill tools.

Compound Queries

Stock Comparison

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

Macro Dashboard (stocks + forex + commodities)

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
같은 저장소의 Skills

더 많은 Skills

모든 Skills