均线交叉(金叉 / 死叉)
招牌均线交叉构件。把一条或多条均线接到单个输入口 —— 快慢按各线 window 自动判定(最小 = 快),全部均线返回用于绘图,对最快/最慢那对做交叉。Edge-first,无可调参数。
怎么用
- 把 2 条以上均线(如 SMA 20 / SMA 50 / SMA 200)接到单个输入口。
- 运行 —— 快慢按 window 自动判定。
signal(golden_cross / death_cross / none)驱动下游策略 / 风险构件;结果图画出全部均线并标注交叉点。
核心公式
cross_series[i] = sign(fast[i] − slow[i]) ∈ {−1, 0, +1} (warmup 为 None)
signal = 最近一次穿越:
<=0 → >0 : golden_cross
>=0 → <0 : death_cross
否则 : none
current = 最后一个非 None 符号假设与适用性
假设:输入是同一标的、共同区间上的均线,各带 window 以排序快慢;≥ 2 条可用序列。
适用:任意资产类别 / 频率;≥ 2 个观测。
不适用:手动指定快慢、单节点多对交叉。
已知局限
- 需 ≥ 2 条可用均线输入,否则
signal = none。 - 只交叉最小/最大 window 那对;中间线只画不交叉。
- 同 window 平局按连接顺序判定(提示)。
参考
Murphy (1999), Technical Analysis of the Financial Markets —— 均线交叉。
Golden 测试
tests/golden/fixtures/tier1/compute_crossover/ —— 1e-9 绝对、独立 numpy 参照、2026-05-25 passing。锁住符号约定、warmup None、≤0→>0 / ≥0→<0 边界、以及『最近一次穿越』(非首次)。
变更记录
- 1.0.0(2026-05-25)—— 初次 Active。单输入口重设计(原为双 series_fast/series_slow handle);快慢按 window 自动判定;补 golden。

