def backtest(self, data_frame):
dfs = data_frame.groupby(pd.TimeGrouper(freq='D'))
# only choose trading days
dfs = [(d, df) for (d, df) in dfs if df.shape[0]]
if sys.version_info[0] < 3:
exit_dfs = [self._compute_daily_performance(daily_data)
for daily_data in dfs]
else:
exit_dfs = Parallel(n_jobs=-1, verbose=50)(
delayed(self._compute_daily_performance)(daily_data)
for daily_data in dfs)
return pd.concat(exit_dfs)
评论列表
文章目录