def ta_ewma_covariance(df: Typing.PatchedPandas, convert_to='returns', alpha=0.97): data = df.copy() if convert_to == 'returns': data = df.pct_change() if convert_to == 'log-returns': data = _np.log(df) - _np.log(df.shift(1)) data.columns = data.columns.to_list() return data.ewm(com=alpha).cov()
def ta_mean_returns(df: Typing.PatchedPandas, period=20) -> _PANDAS: return _wcs(f"mean_return_{period}", df.pct_change().rolling(period).mean())
def ta_performance(df: Typing.PatchedPandas): delta = df.pct_change() + 1 return delta.cumprod()
def ta_returns(df: Typing.PatchedPandas, period=1): return _wcs("return", df.pct_change(periods=period))
def ta_returns(df: Typing.PatchedPandas): return _wcs("return", df.pct_change())