株式投資をしている人や経済動向を把握しておきたい人にとって、株価のチェックは大切な日課の1つになっているかもしれません。しかしそれを毎日続けるのは、かなりの手間ですよね?「何だか面倒だな」と感じてしまう人も多いはず。そんな時に、自動でリアルタイムに株価がチェックできれば便利だと思いませんか?そこで本記事では、Pythonというプログラミング言語を使って、株価をリアルタイムに取得する方法をご紹介いたします。ぜひ最後までご覧くださいね!
Pythonで株価を取得するメリットは?
まずは、Pythonを使って株価を取得することのメリットをいくつか挙げてみましょう。以下に挙げたメリットが欲しいと思う方は、ぜひ以降に紹介するPythonを使った株価のリアルタイム取得方法をお試しください。
Pythonで株価を取得するメリット:
- Pythonにはデータ取得や分析に必要な機能が非常に豊富なので、やりたいことを比較的簡単に実現しやすい
- データの収集や整形、保存・出力までの工程をすべて自動化することができる
- Pythonは多くのケースで利用されている人気の言語なので、Web上でサンプルコードや使い方に関する情報を見つけやすい
- 各種ライブラリは完全無料で利用できる
リアルタイムな株価を取得できるPythonのライブラリは何かあるの?
それではここで、Pythonで株価取得をする場合に利用できる代表的なライブラリをいくつかご紹介します。
Yfinance
Yfinanceとは、Yahoo! financeから株価情報などを取得するためのツールです。Pythonのライブラリとして、オープンソース化されています。
Alpha Vantage
Alpha Vantageとは、株価、為替レートなどの金融マーケットデータのAPIを提供するサービスです。API経由でリアルタイムに各種データをプ取得することができます。
Alpha Vantageには料金プランが複数用意されており、プランに応じて一定期間のAPIのリクエスト数に制限が設けられています。
pandas-datareader
pandas-datareaderとは、Web上に散らばっている色々な情報を、APIを介して手軽に取得することが出来るようになる便利なツールです。
pandasという名称がついている通り、Webページから取得した株価や為替レートなどの情報はpandas.DataFrame形式でとして出力できるので非常にわかりやすい点も特徴です。
Quandl
Quandlとは、金融や経済に関する様々なデータを提供してくれるサービスです。取得したデータをグラフで表示したり、CSVなどの特定のフォーマットで出力させることも可能となっています。
一部データは有料の法人アカウント向けとなっていますが、ほとんどのデータは無料で利用することができます。またデータを抽出するためのAPIも提供されているので、誰でもすぐに使い始めることが可能です。
IEX Cloud
IEX Cloudとは、株価などの各種金融データを収集することができるサービスです。無料のAPIキーが利用でき、データもリアルタイムに更新されるという特徴があります。
料金プランが複数用意されており、無料プランだとAPIキーによるデータ取得数に制限がある点に注意が必要です。
Pythonでリアルタイムな株価を取得する流れ・方法は?(サンプルコード付き)
さて、それではここからは、実際にPythonでリアルタイムな株価を取得する方法をご紹介していきます。今回は例として“yfinance”ライブラリを使用して解説していきたいと思います。
前準備:yfinanceのインストール
1.windowsでコマンドプロンプトを起動し、下記のコマンドを実行します。
pip install yfinance
2.後は、インストールが完了するまで少し待つだけです。
株価取得用のプログラムの作成
1.Windowsでテキストエディタを起動します。
2.下記のサンプルコードをコピペします。
今回のサンプルコードでは、株価の取得ターゲットをGoogle(銘柄コード:GOOGLE)としています。この銘柄コードを変更することで他の企業の株価も取得することができますよ。
3.テキストファイルを、◯◯.pyといった感じに、拡張子が“.py”となるように保存します。
サンプルコード:
作成したプログラムの実行
- コマンドプロンプトを立ち上げます。
- 先程作成したプログラムファイルのあるディレクトリへ移動します。
- 「Python ◯◯.py」といった感じに入力することで、作成したプログラムを実行することができます。
Pythonなしでリアルタイムな株価を取得するする方法はあるのか?
ここまでで「プログラミングするのって面倒…」と思った人もいるかもしれません。そこでここからは、プログラミング不要で株価情報を取得する方法をご紹介します。
Octoparseの自動検出機能で株価データを取得する
1.Octoparseの公式サイトにアクセスし、ツールをダウンロードします。インストールが完了したらツールを起動します。
2.Octoparseを起動し、検索ウィンドウからスクレイピングしたい株価が掲載されているWebページを入力します。
3.Webページが開いたら、「操作提案」上の「ウェブページのデータを自動検出」を選択します。
4.データプレビューで抽出したデータを確認し、「ワークフローを生成」を選択します。
Octoparseでスケジュール実行を設定しリアルタイムな株価データを取得する
1.Octoparseのダッシュボード画面を開き、設定したいタスクの右にある「もっと」をクリックして、「クラウド抽出」→「実行スケジュールを設定」へ進みます。
2.タスクを実行する頻度を設定します。実行の曜日や日時など細かく設定することができます。
3.設定が完了したら、画面右下の「スケジュール起動」をクリックすれば操作完了です。
4.後は、先に説明した株価データの取得を実行する際に、作成したスケジュールを指定すれば、スケジュールに従ってリアルタイムな株価データの取得が行われます。
まとめ
いかかでしょうか?Pythonでリアルタイムに株価データを取得する方法についてご紹介してきました。Pythonの一般的なライブラリを利用することで、誰でも自作で株価データ取得のプログラムを作成できるんでしたね。さらにプログラミングが苦手な方も、Octoparseというツールを活用することで、数クリックで簡単に、任意のスケジュールで株価データの取得を行うことができます。面倒なプログラミングは不要なので、ぜひこの機会にお試しくださいね!