文章 "在Python中使用Numba对交易策略进行快速测试"

 

新文章 在Python中使用Numba对交易策略进行快速测试已发布:

本文实现了一个快速策略测试器,它使用Numba对机器学习模型进行快速策略测试。它的速度比纯 Python 策略回测器快 50 倍。作者推荐使用该库来加速数学计算,尤其是那些涉及循环的计算。

在开发基于机器学习的交易算法时,能够正确且快速地评估其在历史数据上的交易结果,这一点非常重要。如果我们只是在少数情况下使用回测器,例如在大型时间周期上或历史数据深度较小的情况下,那么 Python 回测器是完全适用的。然而,如果任务涉及多次测试和高频策略,那么像 Python 这样的解释型语言可能就太慢了。

假设我们对某些脚本的执行速度不满意,但又不想放弃我们熟悉的 Python 开发环境。这时,Numba 就派上了用场,它能将原生 Python 代码即时转换并编译成快速的机器码。这种代码的执行速度,其速度便可以与 C 语言和 FORTRAN 等编程语言的代码执行速度相媲美。

>


作者:Maxim Dmitrievsky

 
我不明白文章中所说的测试仪是什么?
 

本文未涉及在 Python 中使用 Numba 的主题,几乎没有代码说明。这篇文章的目标读者是初学者吗?- 那么不啃代码他们就不会理解。Python 专家?- 他们不需要,他们已经知道如何加快计算速度了。

文章的第二部分也并非一帆风顺。文章给出了一个只有两个参数、步长非常粗的优化示例,并对完全搜索和优化算法进行了比较,同时声称速度提高了 2 倍之多。其代价是什么?- 没有解释。通过减少对目标函数 test_model_func 计算的调用次数?- 但在 AO 的情况下,这种访问次数并没有显示出来。事实上,由于任务的空间非常小,与在该任务中进行全面搜索相比,有可能获得 400 倍的提速,只需生成 一次随机数 即可,但要进行多次测试,并在文章中给出测试的最佳结果。总的来说,所有的实验原则都被违反了。

 
这篇文章是写给交易者的,不是写给理论家的。我知道网站上有更多关于交易以外话题的文章,所以这不是趋势。
 
fxsaber #:
我不明白文章中所说的测试器是什么?
显然,Tester 是一个脚本,用于测试经过训练的报价历史上的 MO:)
 
Maxim Dmitrievsky #:
显然,测试器是用于在历史报价上测试训练有素的操作方法的脚本:)

测试器向 TS 输入价格数据和交易环境(当前订单),并从 TS 接收交易信号。

如果我理解正确的话,对您来说一切都有些不同。

 
fxsaber #:

如果我理解正确,测试仪向 TS 输入价格数据+交易环境(当前订单),并从 TS 接收交易信号。

如果我理解正确的话,您的情况有些不同。

价格数据 + MO 预测的每个观察结果(买入、卖出)的交易方向。

也就是说,TS 不是在测试仪内部执行的,交易方向是事先计算并知道的。

 
Maxim Dmitrievsky #:

也就是说,测试仪内的 TS 并不执行,交易方向是事先计算并已知的。

明白了。另一个概念。

 
fxsaber #:

明白了。概念不同。

你能运行文章中的脚本吗?在开箱即用模式下,文章中没有一个脚本能正常运行。
 
Andrey Dik #:
你运行了文章中的脚本吗?在开箱即用模式下,文章中的脚本没有一个运行无误。

我没有。

 
显然,这就是你在不懂编程语言的情况下尝试编程的感觉。有意识地试图诋毁这篇文章还没有成功。需要更多法力:)