前回の振り返り
前回は終値調整用比率を作ろうとして試行したが、うまくいかなかった。それとともに、どのように変更すれば実現できるかも合わせて記した。
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 にして、終値調整比を全ての株式に対して適用する。