はじめに
前回書いた株価データを取得するコードは問題があった
- 銘柄がトヨタ固定
- 株価データ取得期間が固定
今回は,前回のコードを次のように書きかえてみる
- トヨタ以外にも任意の銘柄の株価データが取得できるコード
複数銘柄の株価データを取得する
取得したい複数銘柄のコードをリストにして main 関数に渡してみる
ついでに銘柄名も渡してみる
if __name__ == '__main__':
codeList = ['7203', '7201', '7267'];
companyList = ['トヨタ', '日産', 'ホンダ'];
main(codeList, companyList);
main 関数は,コードと銘柄名のリストをもらい,
リストの要素数分の株価データ取得処理を行う
DataReader 関数を呼び出す際に,コードの最後に'.T'をつける
def main(codeList, companyList):
for code, company in zip(codeList, companyList):
df = pdr.DataReader(code + '.T', 'yahoo', '2020-11-01', '2021-11-01');
print(company, df.tail(1));
まとめると,次のようなコードになる
step02.py
import pandas_datareader.data as pdr
def main(codeList, companyList):
for code, company in zip(codeList, companyList):
df = pdr.DataReader(code + '.T', 'yahoo', '2020-11-01', '2021-11-01');
print(company, df.tail(1));
if __name__ == '__main__':
codeList = ['7203', '7201', '7267'];
companyList = ['トヨタ', '日産', 'ホンダ'];
main(codeList, companyList);
おわりに
株価データ取得期間が固定という問題は残ったままだが,
複数銘柄の株価データを取得することができた
しかし,新たに気になる問題が発生している
取得したい銘柄のコードをPythonコードの中に直に書いていることだ
取得する銘柄のコードは別ファイル(テキストやExcelファイルなど)で管理したい
次回は,次のようなコードを書いてみよう
- 株価データ取得期間が任意の期間で(例えば,6か月前から現在まで)取得できるコード
- 取得する銘柄コードをExcelファイルで用意し,Excelファイルを読み込み株価データが取得できるコード