这篇文章主要讲解了“python如何使用cProfile针对回测进行性能分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python如何使用cProfile针对回测进行性能分析”吧!
安装
不用安装,python一般自带都有的,
使用
使用方法有几个,我是直接输出。就是把回测代码放在一个方法里面,比如runBackTesting()里面。然后再main方法按照下面代码跑,这里是按照累计时间排序的。提示,最好注释掉Matplot图像输出,因为交互的时间也是统计的。
if __name__ == '__main__': cProfile.run("runBackTesting()", sort="cumulative")
性能分析结果
如下图所示
第一行 是总共调用function次数,和总运行时间次数
下面列的说明
ncalls:表示函数调用的次数;
tottime:表示指定函数的总的运行时间,除掉函数中调用子函数的运行时间;
percall:(第一个percall)等于 tottime/ncalls;
cumtime:表示该函数及其所有子函数的调用运行的时间,即函数开始调用到返回的时间;
percall:(第二个percall)即函数运行一次的平均时间,等于 cumtime/ncalls;
filename:lineno(function):每个函数调用的具体信息;前面是文件名,第几行,后面是方法名,有些方法比如max,min这些就没有文件名了。
感谢各位的阅读,以上就是“python如何使用cProfile针对回测进行性能分析”的内容了,经过本文的学习后,相信大家对python如何使用cProfile针对回测进行性能分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!