概要
Pythonを使って株価データを取得します。
取得元はStooq
からとし、pandas_datareader.stooq
を使うと日足データが得られます。
株価データの保存形式はCSVです。
ソースコード
重要なのは、GetStockPrice
の最後3行。
コマンドライン引数でデータ開始時刻と終了時刻は入力必須(YYYYMMDD形式)です。
オプションで銘柄と保存ファイルパスを指定してください。
downloadStooq.py
import argparse
import pandas_datareader.stooq as web
from datetime import datetime
def main():
args = Parse()
GetStockPrice(args)
return
def Parse():
"""
Get CommandLine Arguments
Note:
Input Date: YYYYMMDD
"""
parser = argparse.ArgumentParser()
parser.add_argument("start", type=str)
parser.add_argument("end", type=str)
parser.add_argument("-b", "--brand", type=str, default="TSLA")
parser.add_argument("-s", "--savePath", type=str, default="./stock.csv")
args = parser.parse_args()
return args
def GetStockPrice(args):
"""
Get Daily Stock Price Between $start and $end
Args:
args (argparse): CommandLine Arguments
"""
# str -> datetime
start = datetime.strptime(args.start, "%Y%m%d")
end = datetime.strptime(args.end, "%Y%m%d")
# データ読み込み&保存
data = web.StooqDailyReader(args.brand, start=start, end=end)
reader = data.read()
reader.to_csv(args.savePath)
return
if __name__ == "__main__":
main()
使い方(例)
bash
python downloadStooq.py 20210101 20210930 -b AAPL -s test.csv
詳細
GitHubに置いています。