一、国内金融市场数据利器#
1. Tushare#
Tushare は、中国の金融市場データを包括的に提供します。A 株、香港株、先物、ファンド、債券、外国為替など、さまざまな金融商品データをカバーしており、業界のビッグデータやデジタル通貨の市場情報も含まれています。Tushare の API はシンプルに設計されており、返されるデータは直接 Pandas DataFrame 形式で、後続の分析処理が容易です。一部の高度な機能にはポイントや VIP 権限が必要ですが、基本データはほとんどの研究ニーズを満たすことができます。
import tushare as ts
# Proインターフェースの初期化
pro = ts.pro_api('your_token_here')
# 上証指数の日次データを取得
df = pro.index_daily(ts_code='000001.SH', start_date='20200101', end_date='20230101')
print(df.head())
適用場景:A 株の量的分析、金融学術研究、マクロ経済分析。
2. AkShare#
AkShare は、完全にオープンソースで無料の金融データインターフェースライブラリで、データの更新が迅速で、カバー範囲が広いことで知られています。東方財富網や新浪財経など、複数の金融情報プラットフォームのデータソースを集約しており、株式、先物、オプション、ファンド、外国為替、債券、指数、暗号通貨など、さまざまな金融商品データをサポートしています。
import akshare as ak
# 上証指数の歴史的市場データを取得
stock_zh_index_daily_df = ak.stock_zh_index_daily(symbol="sh000001")
print(stock_zh_index_daily_df.head())
適用場景:高頻データのニーズ、多市場の総合分析、データサイエンスプロジェクト。
3. baostock#
baostock は、国内 A 株市場データの提供に特化しており、歴史的市場データ、財務データ、配当データなどを含みます。その利点は、完全に無料であり、データの質が高いことです。特に A 株分析に焦点を当てる量的トレーダーや研究者に適しています。
import baostock as bs
import pandas as pd
# システムにログイン
lg = bs.login()
# 貴州茅台の歴史データを取得
rs = bs.query_history_k_data_plus("sh.600519",
"date,open,high,low,close,volume",
start_date='2020-01-01',
end_date='2023-01-01')
# DataFrameに変換
data_list = []
while (rs.error_code == '0') & rs.next():
data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
# システムからログアウト
bs.logout()
適用場景:A 株の歴史データ分析、財務因子研究、量的戦略のバックテスト。
二、国際金融市場データポータル#
4. yfinance#
yfinance は、世界の株式市場データを取得するための第一選択ツールで、特に米国株データに特化しています。株式の歴史的価格(始値、高値、安値、終値、取引量)、リアルタイム価格、配当情報などを提供し、異なる時間粒度でのデータ取得をサポートしています。
import yfinance as yf
# アップル社の株式データを取得
apple = yf.Ticker("AAPL")
# 過去1年間の歴史データを取得
hist = apple.history(period="1y")
# 複数の株式データを取得
data = yf.download(['AAPL', 'MSFT', 'GOOG'],
start="2020-01-01",
end="2023-01-01")
適用場景:米国株分析、ポートフォリオ管理、国際企業研究。
5. pandas-datareader#
pandas エコシステムの重要な構成要素として、pandas-datareader は、Yahoo Finance、FRED、World Bank など、複数の金融データソースにアクセスするための統一 API を提供します。pandas とシームレスに統合されており、自動化されたデータ分析プロセスを構築するための理想的な選択肢です。
import pandas_datareader as pdr
from datetime import datetime
# アップル社の株式データを取得
start = datetime(2020, 1, 1)
end = datetime(2023, 1, 1)
aapl = pdr.get_data_yahoo('AAPL', start, end)
# 米国の失業率データを取得
unrate = pdr.get_data_fred('UNRATE', start, end)
適用場景:経済データ分析、データソースを跨ぐ研究、自動化レポート生成。
6. Alpha Vantage#
Alpha Vantage は、株式、ETF、外国為替、暗号通貨など、200,000 以上の金融商品をカバーするプロフェッショナルなグローバル金融市場データを提供します。その独自の利点は、内蔵されたさまざまなテクニカル分析指標があり、処理されたテクニカル指標データを直接取得できることです。
from alpha_vantage.timeseries import TimeSeries
# APIの初期化
ts = TimeSeries(key='YOUR_API_KEY', output_format='pandas')
# アップル社の日次データを取得
data, meta_data = ts.get_daily(symbol='AAPL', outputsize='full')
# テクニカル指標(RSIなど)を取得
from alpha_vantage.techindicators import TechIndicators
ti = TechIndicators(key='YOUR_API_KEY')
rsi_data, rsi_meta_data = ti.get_rsi(symbol='AAPL', interval='daily', time_period=14)
適用場景:量的戦略の開発、テクニカル分析、グローバル市場の監視。
7. quandl#
quandl は、世界中の取引所、中央銀行、政府機関などからの高品質な金融経済データを提供します。一部のデータセットは有料ですが、大量の無料で高価値なデータセットも利用可能です。
import quandl
# 米国のGDPデータを取得
gdp = quandl.get('FRED/GDP')
# 金の価格データを取得
gold = quandl.get('LBMA/GOLD')
適用場景:マクロ経済研究、ファンダメンタル分析、長期トレンド研究。
8. iexfinance#
iexfinance は、IEX Cloud プラットフォームへのアクセスを提供し、リアルタイムの株式データと企業のファンダメンタル情報を取得します。特にリアルタイムの取引データが必要なシナリオに適しており、高品質の株式市場データを提供します。
from iexfinance.stocks import Stock
# マイクロソフト社の株式データを取得
msft = Stock("MSFT", token="YOUR_API_KEY")
# 実時の株価を取得
quote = msft.get_quote()
# ファンダメンタルデータを取得
fundamentals = msft.get_fundamentals()
適用場景:リアルタイム取引システム、ファンダメンタル分析、ポートフォリオ監視。
三、専門分野データツール#
9. ccxt#
ccxt は、暗号通貨分野で最も包括的なインターフェースライブラリで、140 以上の暗号通貨取引所の API をサポートしています。市場データを取得するだけでなく、取引の実行もサポートしており、暗号通貨の量的取引に必須のツールです。
import ccxt
# Binance取引所の初期化
exchange = ccxt.binance({
'apiKey': 'YOUR_API_KEY',
'secret': 'YOUR_SECRET'
})
# BTC/USDTの市場データを取得
ticker = exchange.fetch_ticker('BTC/USDT')
# OHLCVデータを取得
ohlcv = exchange.fetch_ohlcv('BTC/USDT', '1d')
適用場景:暗号通貨取引、ブロックチェーン分析、デジタル資産ポートフォリオ管理。
10. fixer#
fixer は、170 以上の通貨のリアルタイムおよび歴史的為替レートデータを提供します。欧州中央銀行によってサポートされており、データの権威性が高く、外国為替取引や国際ビジネスに必須のツールです。
import requests
# 最新の為替レートを取得
response = requests.get('http://data.fixer.io/api/latest?access_key=YOUR_API_KEY&symbols=USD,CNY,EUR')
data = response.json()
# 歴史的為替レートを取得
hist_response = requests.get('http://data.fixer.io/api/2018-01-01?access_key=YOUR_API_KEY&symbols=USD,CNY')
適用場景:外国為替取引システム、国際企業の財務、国際旅行アプリ。
11. yahooquery#
yahooquery は、yfinance の強化された代替品で、財務諸表、オプションデータ、市場ニュースなど、より豊富なデータタイプを含む、より包括的な Yahoo Finance データアクセスを提供します。
from yahooquery import Ticker
# テスラ社のデータを取得
tsla = Ticker('TSLA')
# バランスシートを取得
balance_sheet = tsla.balance_sheet()
# オプションデータを取得
options = tsla.option_chain
適用場景:深いファンダメンタル分析、オプション戦略研究、企業財務分析。
12. eodh#
eodhd は、世界の株式、ETF、指数、外国為替データを提供し、主要な取引所をカバーしています。その特徴は、豊富な歴史データと経済指標を提供することで、グローバル市場分析に適しています。
from eodhd import APIClient
# クライアントの初期化
api = APIClient(api_key="YOUR_API_KEY")
# アップル社の歴史データを取得
aapl_hist = api.get_historical_data("AAPL.US", "d", start="2020-01-01")
# 配当データを取得
dividends = api.get_dividends("AAPL.US")
適用場景:グローバル資産配分、国際投資研究、配当戦略分析。
四、特色データツール#
13. investpy#
investpy は、新興市場の金融データを提供することに特化しており、特に主流のデータソースでは入手が難しい新興市場の株式データを提供します。Investing.com からデータを取得し、世界の株式、指数、ファンドなどをカバーしています。
import investpy
# ブラジルの株式データを取得
br_stocks = investpy.get_stocks(country='brazil')
# インドの指数の歴史データを取得
nifty_50 = investpy.get_index_historical_data(index='Nifty 50', country='india', from_date='01/01/2020', to_date='01/01/2023')
適用場景:新興市場研究、グローバル資産配分、発展途上国投資分析。
14. finnhub#
finnhub は、高品質なリアルタイム金融市場データを提供し、株式、外国為替、暗号通貨の実時価格を含みます。また、ニュースやソーシャルメディアの感情データも提供し、高頻度取引や感情分析に適しています。
import finnhub
# クライアントの初期化
finnhub_client = finnhub.Client(api_key="YOUR_API_KEY")
# 実時価格を取得
quote = finnhub_client.quote('AAPL')
# 企業ニュースを取得
news = finnhub_client.company_news('AAPL', _from="2023-01-01", to="2023-01-10")
適用場景:高頻取引、市場感情分析、イベント駆動戦略。
15. wrds#
wrds(Wharton Research Data Services)は、学術研究分野のゴールドスタンダードで、CRSP、Compustat などの専門データベースへのアクセスインターフェースを提供します。主に学術界を対象としていますが、専門的な金融研究にも強力なツールです。
import wrds
# データベースに接続
db = wrds.Connection()
# CRSP株式データを照会
crsp_data = db.get_table(library='crsp', table='dsf')
# Compustat財務データを照会
compustat = db.get_table(library='comp', table='funda')
適用場景:学術研究、専門的な金融分析、長期歴史データ研究。
金融データは、現代の投資世界の石油のようなものであり、Python インターフェースライブラリはそれを採掘し精製するためのツールです。適切なツールの組み合わせを選ぶことで、データの価値を最大化できます。
- 国内金融市場分析:Tushare+AkShare+baostock の組み合わせは、ほとんどのニーズをカバーできます;
- グローバル市場分析:yfinance+pandas-datareader+Alpha Vantage の組み合わせがより適しています;
- 暗号通貨取引分析:ccxt ツールがニーズを満たすことができます;
「無他、惟手熟尔」!必要な方はぜひご利用ください。