株価予想AIの作り方 データ準備編 株価データの収集~その1
目次
株価予想AIのためのデータを準備しよう
株価予想AIを作るためのデータ準備編です。
データ準備として、過去の株価データの収集(その1)について解説します。
株価予想AIの作り方全般については、過去記事にまとめていますので、ご確認ください。
本記事でご紹介する内容は過去の株価データを収集する方法についてです。具体的には、過去の株価データを取得するために、以下の内容について説明します。
- プログラミング環境を準備する
- (過去の株価データを取得するための)プログラミングする
- プログラムを実行する
プログラムの簡単な解説については、株価データの収集(その2)として紹介する予定です。
プログラミング環境を準備する
株価予想AIのためのデータを用意するために、プログラムを使用します。
そのため、まずはプログラムを動かすための準備について説明します。
使用するプログラミング言語はpythonというものです。すでにpythonの実行環境をお持ちの方は、本節は飛ばしてください。
ここでは、python自体知らない・実行できる環境がない方向けに、簡単に環境構築について説明します。
pythonの実行環境をダウンロード
pythonの実行環境をインストールするために、まずは実行環境データをダウンロードしましょう。
pythonのダウンロードは、下記の公式ページから行えます。
まずは、上記公式ページにアクセスしてください。
上のような画面が表示されると思うので、画面上部の「Downloads」にマウスカーソルを合わせ、表示されたメニューから「Windows」を選択してください。(今回は、Windows向けの解説を行います)
Windows向けpythonのページが表示されるので、画面上部のStable Releasesにある「Windows x86-64 executable installer」をクリックします。
ダウンロードが開始されます。好きな場所に保存してください。特に指定しなければ、「ダウンロード」フォルダに保存されているはずです。
pythonの実行環境をインストール
ダウンロードが終わったらインストールを行います。
ダウンロードしたファイルをダブルクリックしてください。上記の例では、「python-3.8.6rc1-amd64.exe」(.exeが表示されていない場合もあります)をダブルクリックします。
ダブルクリックするとインストーラーが起動します。
まず、インストーラーの画面に表示される「Add Python 3.8 to PATH」にチェックマークを入れてください。
その後、「Install Now」をクリックします。あとは、画面に従って画面右下の「Install」もしくは「Next」ボタンをクリックしていくだけです。
画面に「Setup was successful」が表示されたら、画面右下の「Close」ボタンを押せば、インストールが完了です。
インストールされたことを確認
インストールが完了したら、正しくインストールされたか確認します。
確認のためには、コマンドプロンプトというものを起動します。
[Windows]ボタン + [R]ボタンを押してください。「ファイル名を指定して実行」という画面が表示されると思います。
「名前(O):」の入力ボックスに「cmd」と入力し [OK] ボタンを押してください。コマンドプロントが起動し、以下のような画面が表示されると思います。
コマンドプロンプトが起動したら、「python --version」と入力してください(python --versionと入力後、Enterボタンを押します)。
Python 3.8.6 のように表示されたら正しくインストールされています。
(もし、表示されないようでしたら、正しくインストールされていない可能性があります。アンインストール後、再度インストールを試してください)
以上で、プログラミング環境の準備は完了です。
プログラミングする
プログラミング環境の準備ができたら、次はプログラミングします。
プログラミングに抵抗ある方もいると思いますが、安心してください。必要なプログラムはすべて記載しますので、プログラミングの知識は不要です。
プログラムファイルの作成
まずは、プログラムを記載するためのファイルを作成します。
株価予想AIのファイルを置いておくためのフォルダを作ってください。好きなフォルダで構いません。
たとえば、「c:\work\ai」のようなフォルダを作成します。このフォルダを以降、作業フォルダと呼びます。
つぎに、作成した作業フォルダにプログラムを記載するためのファイルを作成します。こちらも好きなファイル名で問題ありません。たとえば、「getdata.py」のようなファイル名のファイルを作成してください。
プログラミング
ファイルが作成できたら、右クリックし「Edit with IDLE」を選択してください。以下のようなプログラムをするための画面が起動します。
つぎに、起動した画面に以下のコードをコピー&ペーストしてください。
import pandas as pd import pandas_datareader.data as web # stooqから指定された証券コードの株価データを取得 def get_stock_data(code): code_data = str(code) + '.JP' data = web.DataReader(code_data, 'stooq').dropna() data = data.sort_index() # 最新データがトップに出るので日付でソート return data # 指定された株価データをcsvとして出力 def save_csv(code, data): filename = './data/csv/' + str(code) + '.csv' data.to_csv(filename, sep=',') # main def main(): codes = [9997] #証券コードを指定する for code in codes: data = get_stock_data(code) save_csv(code, data) if __name__ == '__main__': main()
コピー&ペーストすると、以下のような画面になると思います。
コピー&ペーストが完了したら、上書き保存してください。
[Ctrl]ボタン + [s]ボタンで上書き保存できます。
これでプログラミングは完了です。
プログラムを実行する
プログラミングが完了したら、動かしてみましょう。
プログラムを動かしてみる
コマンドプロンプトを起動して、作業フォルダに移動します。
作業フォルダに移動するためには、コマンドプロンプトを起動後、
「cd 作業フォルダ名」と入力します。たとえば、作業フォルダが「c:\work\ai」である場合、「cd c:\work\ai」と入力してください。
その後、「python プログラムファイル名」と入力します。たとえば、プログラムファイル名が「getdata.py」であれば、「python getdata.py」と入力します。
これでプログラムが実行されるはずですが、どうでしょうか。おそらく、変なメッセージが表示されていると思います。
実は、上記のプログラムを動かすためには、もう少し準備が必要です。
あと少しですので、もう少し頑張りましょう。
コマンドプロンプトで、「pip install pandas」と入力してください。
プログラムに必要な追加情報のインストールが始まります。少し時間がかかるかもしれませんが、コマンドプロンプトに文字が入力できるようになるまで待ってください。
つぎに、「pip install pandas_datareader」と入力してください。同様に、プログラムに必要な追加情報がインストールされます。こちらも、少し時間がかかるかもしれませんが、コマンドプロンプトに文字が入力できるようになるまで待ってください。
最後に、プログラムで取得したデータを保存するためのフォルダを作ります。
コマンドプロンプトに「mkdir data\csv」と入力してください。
追加準備は以上で終了です。
それでは、もう一度プログラムを実行してみましょう。
「python getdata.py」と入力します。(プログラムファイル名がgetdata.pyでない方は、getdata.pyを作成したプログラムファイル名に変更してください。
こんどはどうでしょうか?何も表示されなければ正しく終了しています。
プログラム実行結果を確認する
プログラムの実行結果を確認してみましょう。
データ保存用に作成したフォルダを見てみます。作業用フォルダにdataフォルダが作成されていると思うので、開いてください。さらに、その中にcsvフォルダが作成されていると思うので開いてください。
なかにはcsvファイル(9997.csv)があると思います。このファイルがプログラムが取得した株価データになります。
csvファイルをダブルクリックで開いてみましょう。株価データが格納されていることがわかると思います。株価データのなかには、日付(Date)、始値(Open)、高値(High)、安値(Low)、終値(Close)、出来高(Volume)が入っています。
これで、プログラムを使って株価データを取得することができるようになりました。ただし、今回取得した株価データは、1つの銘柄だけです。(証券コード:9997の株価データを取得しています)
では、ほかの証券コードの株価を取得するためにはどうすればよいのか、については、次回の株価データの収集(その2)で紹介したいと思います。