diff --git a/examples/CtaBacktesting/runOptimization.py b/examples/CtaBacktesting/runOptimization.py index 81a01f28..32b19f01 100644 --- a/examples/CtaBacktesting/runOptimization.py +++ b/examples/CtaBacktesting/runOptimization.py @@ -48,6 +48,7 @@ if __name__ == '__main__': #engine.runOptimization(AtrRsiStrategy, setting) # 多进程优化,耗时:89秒 - engine.runParallelOptimization(AtrRsiStrategy, setting) + result = engine.runParallelOptimization(AtrRsiStrategy, setting) + engine.outputOptimizeResult(result) print(u'耗时:%s' %(time.time()-start)) \ No newline at end of file diff --git a/vnpy/trader/app/ctaStrategy/ctaBacktesting.py b/vnpy/trader/app/ctaStrategy/ctaBacktesting.py index cf06b61e..fc86d441 100644 --- a/vnpy/trader/app/ctaStrategy/ctaBacktesting.py +++ b/vnpy/trader/app/ctaStrategy/ctaBacktesting.py @@ -921,12 +921,8 @@ class BacktestingEngine(object): # 显示结果 resultList.sort(reverse=True, key=lambda result:result[1]) - self.output('-' * 30) - self.output(u'优化结果:') - for result in resultList: - self.output(u'参数:%s,目标:%s' %(result[0], result[1])) - return resultList - + return self.outputOptimizeResult(resultList) + #---------------------------------------------------------------------- def runParallelOptimization(self, strategyClass, optimizationSetting): """并行优化参数""" @@ -954,11 +950,13 @@ class BacktestingEngine(object): # 显示结果 resultList = [res.get() for res in l] resultList.sort(reverse=True, key=lambda result:result[1]) + return resultList + + def outputOptimizeResult(self, resultList): self.output('-' * 30) self.output(u'优化结果:') for result in resultList: - self.output(u'参数:%s,目标:%s' %(result[0], result[1])) - + self.output(u'参数:%s,目标:%s' % (result[0], result[1])) return resultList #---------------------------------------------------------------------- @@ -1379,4 +1377,4 @@ def optimize(strategyClass, setting, targetName, except KeyError: targetValue = 0 return (str(setting), targetValue, d) - \ No newline at end of file +