SMA Source Code
class SMAIndicator(object):
"""
对比通达信,测试通过,实际使用可以四舍五入
"""
def __init__(self,
value: pd.Series,
N: int = 3,
M: int = 1,
):
self._value = value
self.N = N
self.M = M
self.r = self.M/self.N
self._run()
def _run(self):
self._value.iloc[0] = self._value.values[0]/self.r
self.sma = self._value.rolling(window=self._value.shape[0], min_periods=1).apply(
lambda x: (self.r * ((1-self.r) ** np.arange(0, len(x))[::-1]) * x).sum()
)
def SMA(self):
return pd.Series(self.sma, name='sma{}-{}'.format(self.N, self.M))
欢迎关注~ SandQuant 专注于全球金融数据和量化投资策略
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)