※本記事には広告・アフィリエイトリンクが含まれます。掲載内容は筆者の調査・検証に基づき、読者の判断を助ける目的で作成しています。
結論から言うと:
- 最初はyfinanceで十分。
pip install yfinanceの1行でデータが取れる仕組みです - リアルタイム監視や自動発注まで使いたくなったら、楽天RSSかmoomooへ移行する流れです
- 自分の過去取引を振り返りたいならSBI CSVが向いています
📘 外部参考:moomoo OpenAPI(公式)
📘 外部参考:yfinance 公式GitHubリポジトリ / PyPIページ
Pythonで株価分析を始めるとき、最初に悩むのが「どこからデータを取得するか」だと思います。yfinanceは手軽ですが遅延があります。証券会社のAPIはリアルタイムですが設定が必要です。ということで、yfinance・楽天RSS・moomoo・SBI CSVの4つを実際に使った経験をもとに比較してみます。
📘 外部参考:Python 公式(ダウンロード) / Python 公式ドキュメント(日本語)
4つのデータ取得方法を比較
| ツール | 費用 | リアルタイム | 日本株 | Python連携 | 初心者向け |
|---|---|---|---|---|---|
| yfinance | 無料 | △(15分遅延) | ○ | ◎ | ◎ |
| 楽天RSS | 無料(口座要) | ◎(リアルタイム) | ◎ | ○ | △ |
| moomoo | 無料(口座要) | ◎(リアルタイム) | ◎ | ○ | ○ |
| SBI CSV | 無料(口座要) | ×(日次) | ◎ | ◎ | ◎ |
yfinance:まず最初に使うべき標準ツール
yfinanceはYahoo! Finance APIを通じて株価データを取得するPythonライブラリです。pip install yfinanceの1行でインストールでき、日本株・米国株・ETF・為替まで幅広く対応しています。データは15分ほど遅延していますが、分析やバックテストの学習には十分使えます。
📘 外部参考:Backtesting.py(公式ドキュメント) / Backtrader 公式
import yfinance as yf
# トヨタ自動車(日本株)
df = yf.download('7203.T', period='1y')
print(df.tail())
# Apple(米国株)
df_us = yf.download('AAPL', period='1y')
print(df_us.tail())
- インストール不要・コード1行でデータ取得
- 日本株はティッカー末尾に「.T」を付ける
- 過去データ取得は無制限(ただし遅延あり)
- APIレート制限があるため大量リクエストには注意
→ 詳しい使い方は「yfinanceのAPI制限(429エラー)を回避する安全な設計」を参考にしてください。
楽天証券 MarketSpeed II RSS:リアルタイム+発注ができる
📘 外部参考:楽天証券 MarketSpeed II RSS(公式)
楽天証券のMarketSpeed II RSSは、DDEまたはCOM連携でPythonからリアルタイムデータを取得できます。気配値・歩み値・板情報が取れて、発注機能も使える仕組みです。率直に言うと、セットアップはやや手間がかかります。ただ、設定さえ済めば安定して使えています。
- 楽天証券口座(無料)が必要
- Windows専用(MacやLinuxでは動作しない)
- リアルタイムの気配値・歩み値・板情報を取得可能
- 発注機能あり(自動売買への発展が可能)
- 詳細なセットアップが必要だが長期利用者が多い
→ セットアップ手順は「楽天証券 MarketSpeed II RSSをPythonで使う方法」を参考にしてください。
moomoo証券:高精度データ+APIが充実
moomoo証券(旧Futu証券)はfutu-apiというPython SDKを提供しており、リアルタイムの株価・財務データ・ニュース情報を取得できます。米国株・日本株・香港株に対応しており、データの品質が高いと感じています。口座開設は無料で、残高がなくてもデータ取得は使える仕組みです。
- futu-apiでリアルタイムデータ取得が可能
- 米国株・日本株・香港株に対応
- 財務データ・ニュース・板情報も取得可能
- Windowsでの動作が前提(Linux対応は要確認)
- 口座残高なしでもデータ取得は可能
→ 詳しい使い方は「moomoo証券の株価データをPythonで取得・分析する方法」を参考にしてください。
SBI証券 CSV:履歴データの整理・分析に向く
SBI証券からダウンロードできるCSVには、約定履歴・保有株一覧・損益履歴などが含まれています。リアルタイムには使えませんが、自分の過去の取引をpandasで分析するのに向いています。税金計算や損益管理ツールを作るときに実際に活用しています。
📘 外部参考:pandas User Guide(公式)
- SBI証券の約定履歴・損益データをPythonで分析可能
- リアルタイム取得は不可(手動ダウンロードが必要)
- pandasのread_csvで簡単に読み込める
- 税金計算・損益管理ツールを作るのに最適
→ 詳しい使い方は「SBI証券の約定履歴CSVをPythonで分析する」を参考にしてください。
目的別おすすめ:どれを使うべきか
| 目的 | おすすめ | 理由 |
|---|---|---|
| Pythonを始めたばかり・まず試したい | yfinance | インストール即利用・コード1行 |
| 日本株のリアルタイム監視・アラート | 楽天RSS | リアルタイム気配値が取得可能 |
| 米国株・日本株を高精度で分析したい | moomoo | futu-apiでAPIアクセスが容易 |
| 自分の取引記録を分析したい | SBI CSV | 約定履歴CSVをpandasで直接分析 |
| バックテストに使いたい | yfinance | 長期ヒストリカルデータが豊富 |
| 自動発注まで視野に入れたい | 楽天RSS or moomoo | 発注APIが使える |
個人的には、まずyfinanceで分析環境を作るのが一番コストが低いと思っています。「もっとリアルタイムに近いデータが欲しい」「発注まで自動化したい」という段階になってから、楽天RSSかmoomooに移行する流れがちょうどいいかと思います。
※当サイトの内容は投資判断を推奨するものではありません。掲載しているコード・分析例は学習・検証目的であり、実際の投資はご自身の責任で行ってください。

