stooqを使用して株価を取得しようと思っているのですが、
取得の際に、取得できるときとできないときがあり、その原因を教えていただけないでしょうか。
実行環境は以下の通りです。
Windows10
google colab
Python 3.7.13
株価を取得できるときとできないときのコードを記載させていただきます。
①取得できるとき
python
1# 取得できるとき。(1つのセルにすべて書いております。) 2!pip install pandas_datareader 3import pandas_datareader as web 4 5stockCode = 3926 6print(type(stockCode)) 7 8stockCode = str(stockCode) + '.JP' 9start = '2022-01-01' 10end = '2022-05-15' 11 12df_stock = web.DataReader(stockCode, data_source = 'stooq', start = start, end = end) 13df_stock.sort_index(inplace= True) 14df_stock
②取得できないとき。
python
1# 取得できないとき(セルを分ける) 2#(1つ目のセル) 3stockCode = 3926
python
1#(2つ目のセル) 2!pip install pandas_datareader 3import pandas_datareader as web 4 5print(type(stockCode)) 6 7stockCode = str(stockCode) + '.JP' 8start = '2022-01-01' 9end = '2022-05-15' 10 11df_stock = web.DataReader(stockCode, data_source = 'stooq', start = start, end = end) 12df_stock.sort_index(inplace= True) 13df_stock
①取得できるときと、②取得できないときの大きな違いは銘柄コードの指定をセルを分けてしているかどうかの違いです。
②取得できないときの場合は先に銘柄コードを指定し、それから株価を取得する処理をしております。
要点の取得できないときというのが、
②取得できないときのコードで、以下の順序でセルを実行させたときです。
- 1つ目のセルを実行。(銘柄コードの指定のみ)
- 2つ目のセルを実行。(株価取得の処理)
- もう一度2つ目のセルを実行。(株価取得の処理)
「2.」の段階では取得できた株価に応じてデータフレームも取得できます。
しかし、「3. 」のようにもう一度2つ目のセルを実行しますと No data となってしまい、データフレームに株価が表示されません。
②取得されないときのコードでもう一度新しく株価を取得しよう思ったら、1つ目のセルから実行しなくてはいけないのです。
どうして銘柄コードの指定のセルを実行せずに、株価取得の処理のセルだけ再度実行すると、取得できなくなるのでしょうか。
pythonへの理解を深めるという意味でも、稚拙な質問かと思いますが、教えていただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー