過去の CSV 株価データに 株式分割 情報を与えて更新する

Python のプログラム

import pandas as pd

# 株価データと分割情報のCSVファイルの読み込み
stock_data_csv = 'ticker225.csv'  # 株価データのCSVファイル
split_data_csv = 'stock_splits.csv'  # 分割情報のCSVファイル

stock_df = pd.read_csv(stock_data_csv)
split_df = pd.read_csv(split_data_csv)

# 分割情報を日付順にソート
split_df = split_df.sort_values(by=['Ticker', 'Date'])

# 株価データを分割日と分割比率に基づいて調整する関数
def adjust_prices(stock_df, split_df):
    for ticker in split_df['Ticker'].unique():
        ticker_splits = split_df[split_df['Ticker'] == ticker]
        for index, row in ticker_splits.iterrows():
            split_date = row['Date']
            split_ratio = row['Split_Ratio']
            stock_df.loc[(stock_df['Ticker'] == ticker) & (stock_df['Date'] < split_date), 'Close'] /= split_ratio

    return stock_df

# 株価データの調整
adjusted_stock_df = adjust_prices(stock_df, split_df)

# 調整後のデータの保存
adjusted_stock_csv = 'adjusted_stock_prices.csv'  # 調整後のCSVファイルのパスを指定してください
adjusted_stock_df.to_csv(adjusted_stock_csv, index=False)

print(f"調整後の株価データが {adjusted_stock_csv} に保存されました。")

株価データ

Date,Open,High,Low,Close,Adj Close,Volume,Ticker
2024-01-01,759,807.750,700,700,8888800,1000.T

分割情報

Ticker,Date,Split_Ratio
1000.T,2024-03-01,2
1000.T,2024-06-01,2

株式分割一覧 | iMarket(適時開示ネット)

Python,

Posted by eightban