MACD Source Code
class MACDIndicator(object):
def __init__(self,
close: pd.Series,
short: int = 12,
long: int = 26,
mid: int = 9,
):
self._close = close.copy()
self._length = self._close.__len__()
self._short = short
self._long = long
self._mid = mid
self._run()
def _run(self):
self._sema = EMAIndicator(self._close, self._short).EMA()
self._lema = EMAIndicator(self._close, self._long).EMA()
self._dif = self._sema - self._lema
self._dea = EMAIndicator(self._dif, self._mid).EMA()
self._macd = 2 * (self._dif - self._dea)
def sema(self):
return pd.Series(self._sema, name='sema')
def lema(self):
return pd.Series(self._lema, name='lema')
def dif(self):
return pd.Series(self._dif, name='dif')
def dea(self):
return pd.Series(self._dea, name='dea')
def macd(self):
return pd.Series(self._macd, name='macd')
欢迎关注~ SandQuant 专注于全球金融数据和量化投资策略