alpha-vantage について
alpha-vantageは、Alpha Vantage APIで世界の金融市場データを取得するスキルです。価格、企業情報、経済指標を調べる開発者や分析者向けで、株式、外国為替、暗号資産、商品、テクニカル指標を扱い、APIキーが必要です。
主な機能
- 01株価と時系列データの取得
- 02オプションと企業基本情報へのアクセス
- 03外国為替・暗号資産データの照会
- 04商品・経済指標の取得
- 0550種類以上のテクニカル指標の計算
活用シーン
- 01最新株価と日次価格の取得
- 02企業財務諸表や配当の確認
- 03為替レートや暗号資産の履歴照会
- 04経済指標・テクニカル指標の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill alpha-vantageインストール後、Claude Code で/alpha-vantageを入力して読み込まれたか確認します。
詳細
Alpha Vantage — 金融市場データ
株式、オプション、外国為替、暗号資産、コモディティ、経済指標、50 種類以上のテクニカル指標など、20 年以上にわたる世界の金融データにアクセスできます。
API キーの設定(必須)
- https://www.alphavantage.co/support/#api-key で無料のキーを取得します(より高いレート制限が必要な場合は、プレミアムプランをご利用いただけます)
- 環境変数として設定します:
read -rsp "Alpha Vantage API key: " ALPHAVANTAGE_API_KEY
echo
export ALPHAVANTAGE_API_KEY
インストール
uv pip install requests pandas
ベース URL とリクエストパターン
すべてのリクエストの送信先:
https://www.alphavantage.co/query?function=FUNCTION_NAME&apikey=YOUR_KEY&...params
import requests
import os
API_KEY = os.environ.get("ALPHAVANTAGE_API_KEY")
BASE_URL = "https://www.alphavantage.co/query"
def av_get(function, **params):
response = requests.get(BASE_URL, params={"function": function, "apikey": API_KEY, **params})
return response.json()
クイックスタートの例
# 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 カテゴリ
| カテゴリ | 主な関数 |
|---|---|
| 時系列(株式) | GLOBAL_QUOTE, TIME_SERIES_INTRADAY, TIME_SERIES_DAILY, TIME_SERIES_WEEKLY, TIME_SERIES_MONTHLY |
| オプション | REALTIME_OPTIONS, HISTORICAL_OPTIONS |
| Alpha Intelligence | NEWS_SENTIMENT, EARNINGS_CALL_TRANSCRIPT, TOP_GAINERS_LOSERS, INSIDER_TRANSACTIONS, ANALYTICS_FIXED_WINDOW |
| ファンダメンタルズ | OVERVIEW, ETF_PROFILE, INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, EARNINGS, DIVIDENDS, SPLITS |
| 外国為替(FX) | CURRENCY_EXCHANGE_RATE, FX_INTRADAY, FX_DAILY, FX_WEEKLY, FX_MONTHLY |
| 暗号資産 | CURRENCY_EXCHANGE_RATE, CRYPTO_INTRADAY, DIGITAL_CURRENCY_DAILY |
| コモディティ | GOLD(WTI スポット), BRENT, NATURAL_GAS, COPPER, WHEAT, CORN, COFFEE, ALL_COMMODITIES |
| 経済指標 | REAL_GDP, TREASURY_YIELD, FEDERAL_FUNDS_RATE, CPI, INFLATION, UNEMPLOYMENT, NONFARM_PAYROLL |
| テクニカル指標 | SMA, EMA, MACD, RSI, BBANDS, STOCH, ADX, ATR, OBV, VWAP など、40 種類以上 |
一般的なパラメーター
| パラメーター | 値 | 備考 |
|---|---|---|
outputsize | compact / full | compact = 直近 100 データポイント、full = 20 年以上 |
datatype | json / csv | デフォルト:json |
interval | 1min, 5min, 15min, 30min, 60min, daily, weekly, monthly | エンドポイントによって異なります |
adjusted | true / false | 株式分割・配当を調整します |
レート制限
- 無料プラン:1 日あたり 25 リクエスト(2026 年時点)
- プレミアムプラン:より高い上限、リアルタイムデータ、日中データへのアクセス
- HTTP 429 = レート制限超過
- 複数のシンボルを処理する場合は、リクエストの間隔を空けてください
import time
# Add delay to avoid rate limits
time.sleep(0.5) # 0.5s between requests on free tier
エラー処理
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']}")
使用する場合
上記で説明されている主要なドメインや機能に関連するタスクに取り組むときに、このスキルを使用してください。
制限事項
- タスクが上記の説明の範囲に明確に合致する場合にのみ、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。
コメント
Markdown 対応