自分でマーケットの様子を管理する場合や、マーケットレポートを作成する場合、まだ自動トレードBOTの作成などでも、非常に便利に使えます。
もちろん無料版で利用できる範囲がありますので、ご自身のニーズに合ったものを選んでください。
1. Alpha Vantage
- Alpha Vantageは、金融データ(株価、為替、仮想通貨など)を提供するAPIサービスです。
- 無料プランでは、APIリクエストの回数に制限がありますが、基本的なデータ取得には十分です。
- 日次、週次、月次の株価データが取得可能。
- テクニカルインジケーターや経済指標もサポート。
利用方法:
- Alpha Vantageのウェブサイトで無料のAPIキーを取得します。
- 以下のPython基本コードでデータを取得できます。
import requests
api_key = 'YOUR_ALPHA_VANTAGE_API_KEY'
symbol = 'AAPL' # 取得したい株のシンボル
url = f'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol={symbol}&apikey={api_key}'
response = requests.get(url)
data = response.json()
print(data)
Alpha Vantageは、日本の株式市場(例えば、日経平均株価など)のデータを提供しています。東京証券取引所(TSE)のシンボルも利用可能です。
import requests
api_key = 'YOUR_ALPHA_VANTAGE_API_KEY'
symbol = '6758.T' # Sony Corporation (Tokyo)
url = f'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol={symbol}&apikey={api_key}'
response = requests.get(url)
data = response.json()
print(data)
また、外国為替(FX)のリアルタイムデータを提供しています。
主要通貨ペアだけでなく、マイナー通貨ペアのデータも取得可能です。
import requests
api_key = 'YOUR_ALPHA_VANTAGE_API_KEY'
# FXデータ(USD/JPY)の取得
fx_symbol = 'USD/JPY'
fx_url = f'https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=USD&to_currency=JPY&apikey={api_key}'
response_fx = requests.get(fx_url)
fx_data = response_fx.json()
print(fx_data)
# 暗号通貨データ(BTC/USD)の取得
crypto_symbol = 'BTC'
crypto_url = f'https://www.alphavantage.co/query?function=DIGITAL_CURRENCY_DAILY&symbol={crypto_symbol}&market=USD&apikey={api_key}'
response_crypto = requests.get(crypto_url)
crypto_data = response_crypto.json()
print(crypto_data)
2. Finnhub
- Finnhubは、リアルタイムの株価データ、ニュース、企業の基本情報などを提供するAPIサービスです。
- 無料プランでも一定のAPIコールが可能です。
- リアルタイムデータの取得が可能。
- 経済カレンダー、ニュース、社会的センチメントなど、多岐にわたるデータが取得可能。
利用方法:
- Finnhubのウェブサイトで無料のAPIキーを取得します。
- 以下のPython基本コードでデータを取得できます。
import requests
api_key = 'YOUR_FINNHUB_API_KEY'
symbol = 'AAPL'
url = f'https://finnhub.io/api/v1/quote?symbol={symbol}&token={api_key}'
response = requests.get(url)
data = response.json()
print(data)
Finnhubも日本の市場データを提供しています。証券コードと市場を指定することで、東京証券取引所のデータを取得できます。
import requests
api_key = 'YOUR_FINNHUB_API_KEY'
symbol = '6758.T' # Sony Corporation (Tokyo)
url = f'https://finnhub.io/api/v1/quote?symbol={symbol}&token={api_key}'
response = requests.get(url)
data = response.json()
print(data)
リアルタイムのFXデータを提供しています。
主要通貨ペアのスプレッド情報も取得できます。
import requests
api_key = 'YOUR_FINNHUB_API_KEY'
# FXデータ(USD/JPY)の取得
fx_symbol = 'OANDA:USD_JPY'
fx_url = f'https://finnhub.io/api/v1/forex/rates?base=USD&token={api_key}'
response_fx = requests.get(fx_url)
fx_data = response_fx.json()
print(fx_data)
# 暗号通貨データ(BTC/USD)の取得
crypto_symbol = 'BINANCE:BTCUSDT'
crypto_url = f'https://finnhub.io/api/v1/crypto/candle?symbol={crypto_symbol}&resolution=1&count=1&token={api_key}'
response_crypto = requests.get(crypto_url)
crypto_data = response_crypto.json()
print(crypto_data)
3. IEX Cloud
- IEX Cloudは、金融市場のデータを提供するAPIサービスです。
- 無料プランではいくつかの基本的なデータが取得できます。
- 株価データだけでなく、ニュースや市場の統計情報も取得可能。
- リアルタイムでないデータも提供。
利用方法:
- IEX Cloudのウェブサイトで無料のAPIキーを取得します。
- 以下のPython基本コードでデータを取得できます。
import requests
api_key = 'YOUR_IEX_CLOUD_API_KEY'
symbol = 'AAPL'
url = f'https://cloud.iexapis.com/stable/stock/{symbol}/quote?token={api_key}'
response = requests.get(url)
data = response.json()
print(data)
IEX Cloudは主に米国市場のデータに特化しており、日本市場のデータ提供は限定的です。
そのため、日本の個別株式データを取得するには他のサービスを使う方が良いでしょう。
4. Yahoo Finance API(RapidAPIを使用)
- Yahoo Financeのデータを提供するAPIが、RapidAPIを通じて利用可能です。
- 無料プランでも一定数のリクエストが可能。
- 幅広い金融データの取得が可能。
- 歴史的な株価データやリアルタイムデータも取得可能。
利用方法:
- RapidAPIのウェブサイトでアカウントを作成し、Yahoo Finance APIにアクセスします。
- RapidAPIから提供されるAPIキーを使用してデータを取得します。
import requests
url = "https://apidojo-yahoo-finance-v1.p.rapidapi.com/market/get-summary"
querystring = {"region":"US"}
headers = {
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
"X-RapidAPI-Host": "apidojo-yahoo-finance-v1.p.rapidapi.com"
}
response = requests.get(url, headers=headers, params=querystring)
data = response.json()
print(data)
まとめ
- Alpha Vantage と Finnhub は、FXと暗号通貨の両方のデータを提供しています。特にFinnhubはリアルタイムデータに強みがあります。
- IEX Cloud は暗号通貨に対応していますが、FXデータの提供は少ないです。
- Yahoo Finance API は、RapidAPIを介してFXと暗号通貨の両方のデータを取得でき、広範なデータを提供します。
これらのAPIサービスを使用することで、無料で株価データを取得することができます。
どのサービスも無料プランがあり、一定のAPIリクエスト数が可能ですが、使用制限があることもあります。
APIキーの取得後、提供したコードを使ってテストを行い、最も使いやすいものを選んでください。
APIを利用する際には、各サービスのドキュメントを確認して、適切な利用方法や制限について理解することが重要です。