累積和を最初時点の値を0と基準化する
やりたいこと
資産価格の推移を基準化するために、累積和リターンで比較するのはあるあるなこと
でも、開始時点を以下のようにずらすと、最初の時点がかわるようじゃこまってしまう
目標はずらすたびにこのように、開始時点を0としてくれるようにすること
参考サイト
NumPy配列ndarrayをタイル状に繰り返し並べるnp.tile | note.nkmk.me
コード
方針は以下の通り
元データの1行目を抽出
行数分繰り返し(
tile
)、引く用の行列作る元データ - 引く用の行列
「そんなん、累積和取る前の行列を、対象範囲でスライスすればいいじゃん」という話なんだが、その方法はかくかくしかじかでやめた
target0_ = pl_df.loc[start: end] # PL # 基準化 row = target0_.values # np.array standard_value = row[0, :] to_sub = np.tile(standard_value, reps = (len(row), 1)) new = row - to_sub target0 = pd.DataFrame(new, index = target0_.index, columns = target0_.columns)