知行多空线指标接入选股与事件回测;大盘总览走 quicksync 统一入口;candles 批量 upsert 分批防 asyncpg 参数超限
This commit is contained in:
@@ -64,3 +64,13 @@ def ema2(close: pd.Series, span: int = 10) -> pd.Series:
|
||||
def avg_ma(close: pd.Series, periods: tuple[int, ...] = (10, 20, 30, 60)) -> pd.Series:
|
||||
"""知行多空线:(MA(M1)+MA(M2)+MA(M3)+MA(M4))/4。"""
|
||||
return sum(ma(close, p) for p in periods) / len(periods)
|
||||
|
||||
|
||||
def zhixing_dkx(close: pd.Series, m1: int = 14, m2: int = 28, m3: int = 57, m4: int = 114) -> pd.Series:
|
||||
"""知行多空线(通达信口径):(MA(M1)+MA(M2)+MA(M3)+MA(M4))/4,M1~M4 缺省 14/28/57/114。
|
||||
|
||||
MA 为严格窗口(窗口不满为 NaN,任一为空则多空线为空),与前端 zhixing.ts /
|
||||
通达信原公式一致(前 m4-1 根无值);区别于 avg_ma 的 min_periods=1 渐进口径。
|
||||
"""
|
||||
mas = [close.rolling(p, min_periods=p).mean() for p in (m1, m2, m3, m4)]
|
||||
return sum(mas) / len(mas)
|
||||
|
||||
Reference in New Issue
Block a user