前回の振り返り
前回は、調整後終値を計算するためにHTMLを解析してCSVを作成した。
how-to-make-stock-trading-system.dogwood008.com
今回の内容
今回は、「●株→●株」のような表記になっている 併合比率
カラムについて、「●倍」のように倍数表記に変更することで、プログラムから扱いやすいようにする。
今回の変更
heigou.py
の変更内容
# heigou.py -pd.DataFrame(csv) df = pd.DataFrame(csv, columns=csv.pop(0)) +def convert_to_ratio(nl: str): + before, after = nl.replace('株', '').split('→') # 「株」を取り除き、「→」で分割する + return float(after) / float(before) + +df['併合比率(倍)'] = df['併合比率'].apply(convert_to_ratio) +df
出力
これでは不十分
一見、この出力でうまくいったように見えるが、実はそうではない。試しに 1808
の銘柄コードをもつ長谷工コーポレーションで検索すると、過去に2回併合していることがわかる。
このとき、インデックス番号 873
の 2013/10/01
に効力が発生した併合は、併合比率自体は正しいが、「調整後終値を算出するために、終値にかけられる数」としては正しくない。その値は現在から見て 0.2 * 0.2 = 0.04
倍1になっているべきである。
次回はこれも正しく扱うように変更していく。
-
2013年以前に持っていた100株は、現在の株数に換算すると
100*0.04 = 4株
相当である。1回目の併合で100株→20株、2回目の併合で20株→4株である。ただし、2013年以前と現在では、当然ながら1株あたりの価値が異なる。↩