SMMA 实例详解
直接答案
SMMA(平滑移动平均线)的一个实例展示了如何通过前一个 SMMA 值和下一个价格观测值来计算新的 SMMA 值。由于 SMMA 是递归的,因此需要先设定一个初始 SMMA 值(一种假设),然后反复应用相同的计算规则。
机制与定义
SMMA 是一种用于平滑时间序列的移动平均线。“平滑”意味着每个新输出值部分反映新数据,同时保留早期数据的记忆。
SMMA 更新的一种常见表达方式为:
- 设平滑周期为 N。
- 设 Price[t] 为时间 t 的下一个输入(例如收盘价)。
- 设 SMMA[t] 为处理 Price[t] 后的 SMMA 值。
- 则:
- SMMA[t] = (SMMA[t−1] × (N−1) + Price[t]) / N
在任何实例中都必须明确的关键变量和假设:
- N(周期长度) 必须在计算前选定。
- 必须定义 输入序列(例如收盘价)。不同的输入会导致不同的结果。
- 必须定义 初始值 SMMA[0]。许多解释将其设为前 N 个观测值的平均值;其他则设为第一个价格。本文将明确说明我们的选择。
实证或实例(完整数值计算)
假设以下固定条件(以便独立验证数学过程):
- 平滑周期:N = 4。
- 输入序列:Price[t] 为假设的收盘价。
- 实例的初始假设:SMMA[3] 等于前 4 个价格的简单平均值(这是一种标准初始化方式)。
假设价格(时间 0 到 4):
- Price[0] = 10
- Price[1] = 12
- Price[2] = 11
- Price[3] = 13
- Price[4] = 14
步骤 1:在 t = 3 初始化 SMMA
Price[0] 到 Price[3] 的简单平均值:
- (10 + 12 + 11 + 13) / 4 = 46 / 4 = 11.5
因此:
- SMMA[3] = 11.5
步骤 2:计算 t = 4 时的下一个 SMMA 值
使用 N = 4 的更新规则:
- SMMA[4] = (SMMA[3] × (N−1) + Price[4]) / N
- SMMA[4] = (11.5 × 3 + 14) / 4
- SMMA[4] = (34.5 + 14) / 4
- SMMA[4] = 48.5 / 4 = 12.125
实例结果:
- 当 N = 4 且采用所述初始化方式时,SMMA 在下一次价格更新后从 11.5 变为 12.125。
机械理解方式(不将其视为独立交易信号):
- 新价格(14)提高了平均值,但由于前一个 SMMA 的 3/4 权重被保留,历史数据并未被完全替代。
局限性与风险(重大失效模式)
- 初始化选择影响早期值。如果 SMMA 初始化方式不同(例如将 SMMA[3] 设为 Price[3] 而非平均值),即使 N 和输入相同,SMMA 的早期路径也会不同。
- 输入定义至关重要。使用收盘价或其他价格序列会改变 Price[t],从而影响 SMMA 输出。
- 响应较慢。由于公式保留了前一个 SMMA 的 (N−1)/N 权重,突发变化对 SMMA 的影响是渐进的,可能滞后于快速行情。
- 无自动预测准确性。移动平均线是对历史数据的平滑处理,本身并不确认未来走势。
验证与后续问题
要独立验证该实例,请重新计算:
- 初始平均值(46/4 = 11.5)
- 下一步更新(11.5×3 + 14,再除以 4)
如果您希望查看不同的实例,请指定您偏好的假设(N 的值、输入序列以及 SMMA 的初始化方式),即可复现相同的计算步骤。