2016 - 2024

感恩一路有你

python有什么用 用Python做策略回测,耗时很长,有什么加速办法?

浏览量:2061 时间:2021-03-16 10:06:23 作者:admin

用Python做策略回测,耗时很长,有什么加速办法?

用Python做策略回溯测试需要很长时间。加速方法是什么

少用点,尽量用numpy/panda的矢量化方法。

与其使用自己的Python方法,不如看看numpy/panda是否有现成的函数。

numpy有几个加速包,例如numexpr。

安装Intel MKL。

最后,我们可以说关键部分是用C/C实现的

如果您无法避免Python的for,建议使用numba来加速。理想情况下,它可以达到与numpy矢量化相同的速度。

Python语言其实很慢,为什么机器学习这种快速算法步骤通常还是用呢?

对于那些使用了多种开发语言(Java、C#、nodejs、Erlang)然后转用Python进行机器学习的人,我想谈谈我的看法。

首先,Python真的很慢吗?我的回答是真的。非常慢。for循环比CPP慢两个数量级。

那么为什么要使用Python呢?如果我们遍历超过一亿个数据,两个数量级的差异是不可接受的。但是,如果我们使用Python来执行顶层逻辑并阻塞数以亿计的数据,Python只会循环十几次,剩下的就留给CPU和GPU了。所以两个数量级无关紧要?一毫秒和100毫秒在整个系统中并不重要。

Python最大的优点是它可以非常优雅地将数据抛出到高效的C、CUDA中进行计算。Numpy、panda、numba这些优秀的开源库可以非常方便高效地处理海量数据,借助ZMQ、cell等还可以做分布式计算,gevent借助epoll系统IO优化。因此,它不需要花费太多的精力就可以优雅高效地完成海量数据处理和机器学习任务。这就是Python如此流行的原因。

好好想想。同样的性能,代码只有CPP或Java的三分之一或更少,不是很吸引人吗?

python有什么用 numba加速for循环 python引入jit

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。