tick转分时函数:极宽通用版

tick转分时:极宽通用版

这个函数超级好用,tick转任意分时都可以:1分钟、5分钟、日线 、月线

源码最早也是网络copy的,修改了一下,核心还是pd的resample函数,注意后面的ohlc子函数

dfk=df[‘price’].resample(ktim).ohlc()


def tick2x(df,ktim=’1min’):

”’
ktim,是时间频率参数,请参看pandas的resample重新采样函数
常见时间频率符号:
A, year
M, month
W, week
D, day
H, hour
T, minute
S,second
”’
#
df[‘time’]=pd.to_datetime(df[‘time’])
df=df.set_index(‘time’)
df=df.sort_index()
#
dfk=df[‘price’].resample(ktim).ohlc();dfk=dfk.dropna();
vol2=df[‘volume’].resample(ktim).sum();vol2=vol2.dropna();
df_vol2=pd.DataFrame(vol2,columns=[‘volume’])
amt2=df[‘amount’].resample(ktim).sum();amt2=amt2.dropna();
df_amt2=pd.DataFrame(amt2,columns=[‘amount’])
#
df2=dfk.merge(df_vol2,left_index=True,right_index=True)
df9=df2.merge(df_amt2,left_index=True,right_index=True);
#
xtims=df9.index.format(‘%Y-%m-%d %H:%M:%S’)
del(xtims[0])
df9[‘xtim’]=xtims # df9.index.__str__();# [str(df9.index)]
#
return df9

发表评论

电子邮件地址不会被公开。 必填项已用*标注