跳转至

通达信中SMA等函数与注释说明不符的探究

通达信中SMA等函数与注释说明不符的探究

通达信解释: "SMA(X,N,M) X的N日加权M移动平均, M为权重,如Y=(XM+Y'(N-M))/N"

勘误: 这里的N日其实是 该股上市以来的所有日

通达信实际代码模仿实现(不相符)

n = 4  # 日
m = 3  # 权重
x = [11.2, 10.9, 11.07, 11.9, 11.03, 11.54]

# 初始值为上一周期的值, 第一天默认为当天的值
y = x[0]

# 注意这个x, 通达信会循环所有的x内的元素, 而不是 指定的 N 日 x[-N:]
for i in x:
    y = (m * i + (n - m) * y) / n

根据通达信注释实现的python代码

n = 4
m = 3
x = [11.2, 10.9, 11.07, 11.9, 11.03, 11.54]

# 初始值为上一周期的值, 第一天默认为当天的值
y = x[-n]

for i in x[-n:]:
    y = (m * i + (n - m) * y) / n