分享一个提高回测速度的办法

Author: guigui17f, Created: 2018-06-24 19:39:39, Updated: 2018-08-14 17:11:15

刚才偶然发现的,一琢磨恍然大悟,这么简单的办法现在才想起来…… 简单的说就是,如果你的代码需要用库函数计算一些指标,而其实你只需要结果数组里最近的一两条数据,那么不要直接把原始K线数据传入函数,只需要取最近N条K线数据传入就可以了,比如用js计算移动平均的话就是 TA.MA(records.slice(-N)),需要倒数第二个移动平均数据的话就是 TA.MA(records.slice(-N-1))。 原理很简单,如果K线数据的长度是Length,那库函数就需要计算 Length-N+1 次指标,所以数据长度越短计算次数越少,速度自然就越快了。而指标的计算只跟最近N条数据有关,所以之前的那些数据可以安全地忽略掉。 当然N条也不是绝对的,有些指标的计算是跟最近N+1条数据有关,甚至有些指标的计算需要用到指标的上一个值,那就需要保留一两百条数据了。 这个发现确实比较小白,所以如果你已经知道了请选择忽略我……


More

香油哥哥 mark

小小梦 先mark

czgcool 收藏~