alpha-vantage – skill Dữ liệu & Khoa học cho agent AI
Truy cập dữ liệu tài chính toàn cầu hơn 20 năm: cổ phiếu, quyền chọn, forex, crypto, hàng hóa, chỉ số kinh tế và hơn 50 chỉ báo kỹ thuật.
Cài skill alpha-vantage bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/alpha-vantage-8d29a.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /alpha-vantage – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/alpha-vantage-8d29a.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $alpha-vantage – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/alpha-vantage-8d29a.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /alpha-vantage – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/alpha-vantage-8d29a.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /alpha-vantage – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Alpha Vantage — Financial Market Data
Access 20+ years of global financial data: equities, options, forex, crypto, commodities, economic indicators, and 50+ technical indicators.
API Key Setup (Required)
1. Get a free key at https://www.alphavantage.co/support/#api-key (premium plans available for higher rate limits)
2. Set as environment variable:
read -rsp "Alpha Vantage API key: " ALPHAVANTAGE_API_KEY
echo
export ALPHAVANTAGE_API_KEYInstallation
uv pip install requests pandasBase URL & Request Pattern
All requests go to:
https://www.alphavantage.co/query?function=FUNCTION_NAME&apikey=YOUR_KEY&...paramsimport requests
import os
API_KEY = os.environ.get("ALPHAVANTAGE_API_KEY")
BASE_URL = "https://www.alphavantage.co/query"
def av_get(function, **params):
if not API_KEY:
raise ValueError("Set ALPHAVANTAGE_API_KEY before requesting data")
if "apikey" in params or "function" in params:
raise ValueError("Reserved request parameters")
try:
response = requests.get(
BASE_URL, params={**params, "function": function, "apikey": API_KEY},
timeout=30,
)
except requests.RequestException:
raise RuntimeError("Alpha Vantage transport failure; request URL redacted") from None
# Avoid logging request URLs or raw HTTP exceptions: URLs contain the key.
if not response.ok:
raise RuntimeError(f"Alpha Vantage HTTP status {response.status_code}")
try:
data = response.json()
except ValueError:
raise RuntimeError("Alpha Vantage returned invalid JSON") from None
if not isinstance(data, dict):
raise RuntimeError("Alpha Vantage returned an unexpected response shape")
if any(key in data for key in ("Error Message", "Note", "Information")):
raise RuntimeError("API returned an error, quota, or entitlement message; inspect a redacted response")
return dataQuick Start Examples
# Stock quote (latest price)
quote = av_get("GLOBAL_QUOTE", symbol="AAPL")
price = quote["Global Quote"]["05. price"]
# Daily OHLCV
daily = av_get("TIME_SERIES_DAILY", symbol="AAPL", outputsize="compact")
ts = daily["Time Series (Daily)"]
# Company fundamentals
overview = av_get("OVERVIEW", symbol="AAPL")
print(overview["MarketCapitalization"], overview["PERatio"])
# Income statement
income = av_get("INCOME_STATEMENT", symbol="AAPL")
annual = income["annualReports"][0] # Most recent annual
# Crypto price
crypto = av_get("DIGITAL_CURRENCY_DAILY", symbol="BTC", market="USD")
# Economic indicator
gdp = av_get("REAL_GDP", interval="annual")
# Technical indicator
rsi = av_get("RSI", symbol="AAPL", interval="daily", time_period=14, series_type="close")API Categories
| Category | Key Functions |
|----------|--------------|
| Time Series (Stocks) | GLOBAL_QUOTE, TIME_SERIES_INTRADAY, TIME_SERIES_DAILY, TIME_SERIES_WEEKLY, TIME_SERIES_MONTHLY |
| Options | REALTIME_OPTIONS, HISTORICAL_OPTIONS |
| Alpha Intelligence | NEWS_SENTIMENT, EARNINGS_CALL_TRANSCRIPT, TOP_GAINERS_LOSERS, INSIDER_TRANSACTIONS, ANALYTICS_FIXED_WINDOW |
| Fundamentals | OVERVIEW, ETF_PROFILE, INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, EARNINGS, DIVIDENDS, SPLITS |
| Forex (FX) | CURRENCY_EXCHANGE_RATE, FX_INTRADAY, FX_DAILY, FX_WEEKLY, FX_MONTHLY |
| Crypto | CURRENCY_EXCHANGE_RATE, CRYPTO_INTRADAY, DIGITAL_CURRENCY_DAILY |
| Commodities | WTI (crude oil), BRENT, NATURAL_GAS, COPPER, WHEAT, CORN, COFFEE, ALL_COMMODITIES |
| Economic Indicators | REAL_GDP, TREASURY_YIELD, FEDERAL_FUNDS_RATE, CPI, INFLATION, UNEMPLOYMENT, NONFARM_PAYROLL |
| Technical Indicators | SMA, EMA, MACD, RSI, BBANDS, STOCH, ADX, ATR, OBV, VWAP, and 40+ more |
Common Parameters
| Parameter | Values | Notes |
|-----------|--------|-------|
| outputsize | compact / full | For applicable time-series endpoints; depth and entitlement vary |
| datatype | json / csv | Default: json |
| interval | 1min, 5min, 15min, 30min, 60min, daily, weekly, monthly | Depends on endpoint |
| adjusted | true / false | Adjust for splits/dividends |
Rate Limits
- Free tier: 25 requests/day (as of 2026)
- Premium plans: higher limits, real-time data, intraday access
- Quota or entitlement messages may arrive in JSON even with HTTP 200; check
NoteandInformationas well as HTTP status. - A short delay cannot satisfy a daily quota. Cache results, track the account request budget, and stop when exhausted. Verify current limits and endpoint entitlements in [official support](https://www.alphavantage.co/support/) and [API documentation](https://www.alphavantage.co/documentation/).
Error Handling
data = av_get("GLOBAL_QUOTE", symbol="AAPL")
# Check for API errors
if "Error Message" in data:
raise ValueError(f"API Error: {data['Error Message']}")
if "Note" in data:
print(f"Rate limit warning: {data['Note']}")
if "Information" in data:
print(f"API info: {data['Information']}")When to Use
Use this skill when tackling tasks related to its primary domain or functionality as described above.
Limitations
- Quotes may be end-of-day or delayed depending on entitlement. Report timestamps and adjustment basis; market-data retrieval is not investment advice. API responses and empty reports need schema checks before indexing.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Skill liên quan
- data-quality-frameworks – Triển khai kiểm tra chất lượng dữ liệu với Great Expectations, dbt tests và data…
- notion-meeting-intelligence – Chuẩn bị tài liệu họp với ngữ cảnh từ Notion và nghiên cứu từ Codex. Dùng khi thu thập…
- alumni-re-hire-tracker – Sổ đăng ký cựu nhân viên và tái tuyển dụng: vị trí cũ, ngày làm việc cuối cùng, điều…
- data-storytelling – Biến dữ liệu thành câu chuyện thuyết phục bằng trực quan hóa, bối cảnh và cấu trúc có…
- database-migration – Thực hiện migration cơ sở dữ liệu trên nhiều ORM và nền tảng, với chiến lược…
- notion-research-documentation – Nghiên cứu trên Notion và tổng hợp thành tài liệu có cấu trúc. Dùng khi thu thập thông…
- chroma – Cơ sở dữ liệu embedding cho RAG và tìm kiếm ngữ nghĩa.
- observability-and-instrumentation – Gắn công cụ đo lường (instrumentation) vào code để hành vi production có thể quan sát và…