はじめに
Python を使って,株価の値動きを分析したいと思った
いわゆる,テクニカル分析だ
まずはともあれ,株価データを取得する必要がある
Pandas Datareader を使って Yahoo の株価データを取得する
Pandas Datareader を使えば,Yahoo の株価データが簡単に取得できる
step01.py として,次のようなコードを書けば取得可能だ
- データ取得元: yahoo
- 取得範囲: 2020年11月1日から2021年11月1日まで
- 銘柄: トヨタ(コード: 7203)
step01.py
import pandas_datareader.data as pdr
def main():
df = pdr.DataReader('7203.T', 'yahoo', '2020-11-01', '2021-11-01');
print(df);
if __name__ == '__main__':
main();
コマンドラインから実行してみると,データが取得できていることがわかる
❯ python step01.py
High Low Open Close Volume Adj Close
Date
2020-11-02 1403.199951 1370.000000 1373.199951 1389.800049 28606000.0 1288.619629
2020-11-04 1410.800049 1395.199951 1404.800049 1395.199951 31390500.0 1293.626343
2020-11-05 1406.400024 1384.599976 1391.000000 1396.800049 28217000.0 1295.109985
2020-11-06 1430.400024 1403.000000 1414.000000 1403.800049 55464500.0 1301.600220
2020-11-09 1448.400024 1423.800049 1431.800049 1434.599976 39193000.0 1330.157959
... ... ... ... ... ... ...
2021-10-26 1992.500000 1965.000000 1974.000000 1980.000000 15149500.0 1980.000000
2021-10-27 2004.000000 1984.000000 1998.500000 2004.000000 14028900.0 2004.000000
2021-10-28 2013.000000 1974.000000 1987.500000 2000.000000 17683000.0 2000.000000
2021-10-29 2008.000000 1978.000000 1993.500000 2006.500000 18052200.0 2006.500000
2021-11-01 2050.000000 2022.000000 2028.000000 2050.000000 24547300.0 2050.000000
[245 rows x 6 columns]
おわりに
株価データは簡単に取得できることがわかった
しかし,step01.py のコードは実用性がない
具体的な問題点は次のようだ
- 銘柄がトヨタ固定
- 株価データ取得期間が固定
次回は,次のようなコードを書いてみよう
- トヨタ以外にも任意の銘柄の株価データが取得できるコード
- 株価データ取得期間が任意の期間で(例えば,6か月前から現在まで)取得できるコード