プログラミング言語 投資

日本株をpythonで処理してみる

メモ書き的なもの

yahoo_finance_api2を利用するのでインストール。
銘柄コードを網羅したいのでここからダウンロード。同じく日経平均のデータも。

import sys
import pandas as pd

import seaborn as sns
import matplotlib.pyplot as plt

from yahoo_finance_api2 import share
from yahoo_finance_api2.exceptions import YahooFinanceError

data_j = pd.read_csv('./data/data_j.csv',encoding='shift-jis')
nikkei225 = pd.read_csv('./data/data_j.csv',encoding='shift-jis')

codes = data_j['コード'].unique()

stock_info = None
for code in codes:
    sharedata = share.Share(f'{code}.T')
    symbol_data=None
    symbol_data = sharedata.get_historical(share.PERIOD_TYPE_YEAR,
                                         1,
                                         share.FREQUENCY_TYPE_DAY,
                                         1)
    tmp = pd.DataFrame(symbol_data)
    if len(tmp) >0 :
        tmp.loc[:,'code'] = code
        stock_info = pd.concat([stock_info,tmp],axis=0)

引数の説明

PERIOD_TYPE_YEAR , 1 ・・・ 取得する期間の単位と期間を示す。例では実行日付から1年前までを取ってくる。
              (DAY、WEEK、MONTHがあるらしい。)

FREQUENCY_TYPE_DAY , 1 ・・・ 取得するデータの頻度を示す。例では1日1レコードになるようにとってくる。
               (MINUTE、DAY、MONTH、YEARがあるらしい)

これを実行すると
 ・open(始値)
 ・high(高値)
 ・low (低値)
 ・close(終値)
 ・code(銘柄コード)
 ・datetime(日付)
が得られる。

-プログラミング言語, 投資,
-