株のシステムトレードをしよう - 1から始める株自動取引システムの作り方

株式をコンピュータに売買させる仕組みを少しずつ作っていきます。できあがってから公開ではなく、書いたら途中でも記事として即掲載して、後から固定ページにして体裁を整える方式で進めていきます。

アイデアメモ - CSVに調整後終値を付与(終値調整比を付与)

前回の振り返り

前回は終値調整用比率を作ろうとして試行したが、うまくいかなかった。それとともに、どのように変更すれば実現できるかも合わせて記した。

how-to-make-stock-trading-system.dogwood008.com

今回の内容

前回のやり残しをカバーし、今回の内容で、終値調整用比率を作成する。

変更内容

heigou.py

下記のメソッドの定義と呼び出しを追加する。

# heigou.py

def adj_rates(df: pd.DataFrame) -> list:
    adj_rates_in_each_codes: dict = {}
    if sys.version_info.major == 3 and sys.version_info.minor >= 8:
        pass
        # 動作未検証:
        # return [adj_rates_in_each_codes[code] := adj_rates_in_each_codes.get(code, 1.0) / rate
        #         for code, rate in df[['銘柄コード', '併合比率(倍)']].values]
    else:
        def adj_rates(code: str, rate: float):
            adj_rates_in_each_codes[code] = adj_rates_in_each_codes.get(code, 1.0) / rate
            return adj_rates_in_each_codes[code]
        return [adj_rates(code, rate)
            for code, rate in df[['銘柄コード', '併合比率(倍)']].values]
        
df['終値調整比'] = adj_rates(df)

出力

df[df['銘柄コード'] == '1805']

「終値調整比」に値が代入されている
「終値調整比」に値が代入されている

次回

次回以降は株式併合と分割を1つの DataFrame にして、終値調整比を全ての株式に対して適用する。

(C) 2020 dogwood008 禁無断転載 不許複製 Reprinting, reproducing are prohibited.