FXの前日の高値と安値を格納する関数を作りたいです。
dfにはindex(時間)と高値(High)と安値(Low)が入っています。
以下のコードで一応動くことは動くのですが、ものすごく動作が遅いです。

早くする方法がもしあれば、ご教授願います。

def PDHL(df, high='High',low='Low'):
    x = pd.Series(0, index=df.index)
    y = pd.Series(10000, index=df.index)
    temphigh = df[high][1]
    templow = df[low][1]
    for i in range(2, len(x)):
        if df.index.day[i] != df.index.day[i-1]:
            x[i] = temphigh
            y[i] = templow
            temphigh = 0
            templow = 10000
        else:
            x[i] = x[i-1]
            y[i] = y[i-1]
        if df[high][i] > temphigh:
            temphigh = df[high][i]
        if df[low][i] < templow:
            templow = df[low][i]
    ret = pd.DataFrame({'1dhigh':x,'1dlow':y},columns=['1dhigh','1dlow'])
    return ret