背景知識: データソースとAPI比較
データはクオンツ取引の基礎です。適切なデータソースを選択することは、戦略開発効率とライブ取引パフォーマンスに直接影響します。
1. 主要データソース概要
| データソース | タイプ | 価格 | レイテンシ | 使用ケース |
|---|---|---|---|---|
| Binance API | 暗号通貨 | 無料 | リアルタイム | 暗号通貨戦略 |
| Yahoo Finance | 株式/ETFs | 無料 | 15-20分 | 学習/バックテスト |
| Alpha Vantage | マルチアセット | 無料/有料 | 15分 | プロトタイピング |
| Polygon.io | 米国株 | $29-199/月 | リアルタイム | 米国株ライブ取引 |
| Alpaca Markets | 米国株 | 無料 | リアルタイム | 米国株取引 |
| Bloomberg | 全アセット | $2400+/月 | リアルタイム | 機関投資家 |
| Refinitiv | 全アセット | $1800+/月 | リアルタイム | 機関投資家 |
| Nasdaq Data Link | Alternative | カスタム価格 | 日次 | Factor研究 |
2. 無料データソース詳細
2.1 Binance API
長所:
- 完全無料、支払い不要
- リアルタイムデータ、最小レイテンシ
- WebSocketリアルタイムストリーミングサポート
- 完全な履歴データ(年単位の履歴)
- REST + WebSocketデュアルインターフェース
短所:
- 暗号通貨のみ
- Rate Limit: 1200リクエスト/分(REST)、接続ごとのサブスクリプション制限(WebSocket)
- 高ボラティリティ時にAPIが不安定になる可能性
Rate Limit処理:
import time
from binance.exceptions import BinanceAPIException
def fetch_with_retry(func, max_retries=3):
for attempt in range(max_retries):
try:
return func()
except BinanceAPIException as e:
if e.code == -1003: # Rate limit
time.sleep(60) # 1分待機
else:
raise
使用ケース: 暗号通貨戦略開発、24/7取引システム
2.2 Yahoo Finance (yfinance)
長所:
- 完全無料
- グローバル株式、ETFs、インデックスをカバー
- 豊富な履歴データ(数十年の履歴)
- 使いやすいPythonライブラリ
短所:
- 15-20分のデータ遅延
- 公式APIなし、Webスクレイピングに依存(ブロックされる可能性)
- データ品質は保証されない(時折エラー)
- Level-2データなし
使用例:
import yfinance as yf
# 株式データを取得
aapl = yf.Ticker("AAPL")
df = aapl.history(period="1y", interval="1d")
# バッチダウンロード
data = yf.download(["AAPL", "GOOGL", "MSFT"], period="1mo")
使用ケース: 学習、バックテスト、日次頻度戦略研究
2.3 Alpha Vantage
長所:
- 無料ティア利用可能(25リクエスト/日)
- 株式、外国為替、暗号通貨をカバー
- テクニカル指標APIを提供
- 公式サポート
短所:
- 無料ティアは厳しく制限(2024年時点で25コール/日のみ)
- 有料版は$49.99/月から
- 15分データ遅延
- 限定的な履歴深度
Rate Limit比較:
| ティア | 価格 | リクエスト制限 |
|---|---|---|
| 無料 | $0 | 25/日(厳しく制限) |
| Basic | $49.99/月 | 30/分 |
| Premium | $249.99/月 | 120/分 |
使用ケース: プロトタイピング、マルチアセット研究
2.4 Alpaca Markets
長所:
- 無料リアルタイム米国株データ
- データ + 取引API統合(別のデータサブスクリプション不要)
- WebSocketリアルタイムストリーミング
- Paper trading環境含まれる
- コミッションフリー株式取引
- Fractional sharesサポート
短所:
- 米国株のみ
- アカウント登録が必要
- 一部機能は資金提供アカウントが必要
使用例:
from alpaca.data import StockHistoricalDataClient
from alpaca.data.requests import StockBarsRequest
from alpaca.data.timeframe import TimeFrame
from datetime import datetime, timedelta
# クライアント初期化(無料ティアにはキー不要)
client = StockHistoricalDataClient()
# 履歴バーを取得
request = StockBarsRequest(
symbol_or_symbols=["AAPL", "MSFT"],
timeframe=TimeFrame.Day,
start=datetime.now() - timedelta(days=30)
)
bars = client.get_stock_bars(request)
使用ケース: 米国株戦略開発、Paper trading、同じAPIでライブ取引
3. 有料データソース詳細
3.1 Polygon.io
長所:
- 米国株リアルタイムデータ
- 履歴Tickデータ
- WebSocketリアルタイムストリーミング
- 合理的な価格(月$29から)
短所:
- 米国株のみ
- BasicティアはLevel-2なし
- 米国の支払い方法が必要
価格:
| ティア | 価格 | 機能 |
|---|---|---|
| Basic | $29/月 | 遅延データ + 履歴 |
| Developer | $79/月 | リアルタイムデータ |
| Premium | $199/月 | Level-2 + 全機能 |
3.2 Bloomberg Terminal
長所:
- 世界で最も包括的な金融データ
- リアルタイム + 履歴 + ニュース + リサーチ
- Level-2、Order bookデータ
- プロフェッショナル分析ツール
短所:
- 高価($2400+/月/ターミナル)
- 専用ハードウェアが必要
- 複雑なAPI使用
使用ケース: 機関投資家、プロクオンツチーム
3.3 Refinitiv (旧Thomson Reuters)
長所:
- グローバル市場カバレッジ
- 高品質Tickデータ
- 深い履歴データ
- 使いやすいEikon API
短所:
- 高価な価格
- 複雑な契約
使用ケース: 機関戦略、HFT
4. Alternative Data Sources
4.1 Nasdaq Data Link (旧Quandl)
非伝統的金融データを提供:
- 衛星画像データ
- センチメント分析データ
- マクロ経済データ
- サプライチェーンデータ
4.2 ニュースとセンチメントデータ
| ソース | タイプ | 目的 |
|---|---|---|
| NewsAPI | ニュース集約 | センチメント分析 |
| Twitter/X API | ソーシャルメディア | 市場センチメント |
| Reddit API | フォーラム | 個人投資家センチメント |
| SEC EDGAR | 規制届出 | ファンダメンタル分析 |
5. データソース選択デシジョンツリー
どのアセットクラスを取引していますか?
│
├─ 暗号通貨 → Binance API(無料、リアルタイム)
│
├─ 米国株
│ ├─ 学習/バックテスト → Yahoo Finance(無料)
│ ├─ プロトタイピング → Alpaca Markets(無料、リアルタイム)
│ ├─ データ + 取引統合 → Alpaca Markets(無料)
│ └─ プレミアムデータのみ → Polygon.io($29+/月)
│
├─ A株(中国)
│ ├─ 学習/バックテスト → Tushare / AKShare(無料)
│ └─ ライブ取引 → Broker API / Wind
│
└─ 機関ニーズ → Bloomberg / Refinitiv
6. 一般的な落とし穴
6.1 データ品質問題
- 欠損値: 休日、取引停止によるギャップ
- 外れ値: 未調整の分割、配当
- タイムゾーン問題: 異なる取引所タイムゾーン
6.2 サバイバーシップバイアス
無料データソースは通常、現在存在する株式のみを含み、上場廃止株式データを欠いています。
6.3 先読みバイアス
一部のデータソースの「履歴データ」には後の訂正(決算修正など)が含まれる可能性があります。
7. 実践的推奨事項
- 開始時: Yahoo Finance + Binance API(無料)
- プロトタイピング: Alpaca Markets(無料リアルタイムデータ + Paper trading)
- 米国株ライブ: Alpaca Markets(無料)またはPolygon.io($29+/月でプレミアム機能)
- 機関: Bloomberg / Refinitiv(包括的だが高価)
- 常に検証: 複数のデータソースを比較、データ品質をチェック
警告: IEX Cloudは2024年8月にパブリックAPIサービスを終了しました。IEX Cloudを使用するレガシーコードがある場合、Alpaca MarketsまたはPolygon.ioに移行してください。
核心原則: データ品質 > データ量。大量の問題のあるデータでモデルをトレーニングするより、少量の高品質データを使用する方が良いです。