回测系统有很多不少采用事件驱动的方法,每个新来的数据都是一个新的事件,模仿事件驱动的思想,写了一个小的python代码,但是非常慢,直接放弃。应该参考下别人的代码怎么写,学习下。
import pandas as pd import numpy as np import matplotlib.pyplot as plt import random #读取数据 data=pd.read_csv('C:/Users/Administrator/Desktop/rb000.csv',encoding='gbk') data=data.iloc[::,:7] data.columns=['time','oepn','high','low','close','amt','opi'] #计算数据 df=pd.DataFrame(columns=['time','oepn','high','low','close','amt','opi']) for index, row in data.iterrows(): #df[index]=row #df=pd.concat([df,row],) #df=pd.concat([df,list(row)],axis=0,ignore_index=True) df=pd.merge(df,pd.DataFrame(row).T,how='outer') print (len(df))