高效简单移动平均线的实现
1. 算法优化的考量
在进行算法实现时,算法的选择至关重要,选择高效的算法往往比高效地实现算法更为关键。当你已经选择了一个不错的算法并完成初步实现后,是否要投入时间进行优化是一个需要慎重考虑的问题。性能优化可能是一项成本高昂的活动,除非必要,否则不应轻易尝试。
若必须让实现变得更快,首先要确定多快才算足够快。例如,算法是需要从耗时数天缩短至数小时,还是要达到微秒级别的速度?这是绝对要求,还是在特定时间框架内尽力而为即可?此外,还需要考虑代码的可读性和可共享性,因为高性能的代码往往更难理解。如果开发的代码要并行执行,还会对可执行系统的类型施加诸多限制。
建议尽量减少优化的次数,以达到实现所需的运行速度为目标。具体过程如下:
1. 找到最重要的瓶颈。
2. 消除它(或至少降低其影响)。
3. 检查实现是否足够快,如果不够快,则重复上述步骤。
2. 简单移动平均线(SMA)算法
2.1 SMA 算法原理
简单移动平均线(SMA)是一种用于时间序列技术分析的常用工具,尤其在金融市场和交易中应用广泛。其核心思想是在每个时间点,通过回顾预定义数量的周期来计算平均值。例如,对于分钟级别的时间序列,计算 SMA(30) 意味着在每个观测点,取从该点开始前 30 分钟的观测值(即 30 个观测值),并将这 30 个观测值的平均值作为该时间点的 SMA(30) 值。
SMA 具有以下特性:
- 观测数量相同 :SMA 系列包含的观测数量与原始时间序列相同。
- 初始 NA 值
超级会员免费看
订阅专栏 解锁全文
1631

被折叠的 条评论
为什么被折叠?



