股票公式函数嵌套算法如何优化?
例:COUNT(MA(CLOSE, 4)>OPEN, 5) > 3;
公式函数说明:
1. COUNT(关系表达式, 天数),说明:统计指定天数内共有多少天条件表达式的结果为真
2. MA(指标, 天数),说明:计算指定天数内指标的平均数
公式算法说明:
1. 进入函数COUNT体,有两个参数,第一个为MA(CLOSE, 4)>OPEN, 第二个为5,表示分别以5天倒取第一个参数的值,当前时间为12月4日。
2. 进入嵌套函数MA函数体,MA(CLOSE,4),表示计算从当前时间倒推来取最近4天的收盘价平均数,得到一个数a。
3. 判断 a > 当前时间的开盘价,结果存入到COUNT函数的结果列表中。
4. 如果当前时间未超过前5天, 则当前时间减1天,跳到步骤2继续执行。
5. 步骤2至4的循环结束后,统计COUNT函数结果列表中的“真”值个数,得到一个数b。
6. 返回 b > 3 的结果。
由于COUNT的天数为5,嵌套函数MA的参数为4,导致算法的时间复杂度为O(5^4),由于天数可以任意指定,所以复杂度不可控,请问如何才能将算法复杂度降到最低?