FXの前日の高値と安値を格納する関数を早く動かしたい
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