金叉和死叉是技术分析中常用的术语,用于判断股票价格趋势的转折点。
金叉指的是短期移动平均线(如5日均线)向上穿过长期移动平均线(如20日均线)的现象。这意味着短期价格趋势正在加速上升,可能会出现进一步上涨的趋势。因此,金叉通常被认为是一个买入信号。
死叉则是指短期移动平均线向下穿过长期移动平均线的现象。这意味着短期价格趋势正在加速下降,可能会出现进一步下跌的趋势。因此,死叉通常被认为是一个卖出信号。
计算金叉和死叉的方法是,首先计算出两个不同时间周期的移动平均线,然后比较它们的交叉情况。如果短期移动平均线向上穿过长期移动平均线,就形成了金叉;反之,如果短期移动平均线向下穿过长期移动平均线,就形成了死叉。
# 计算短期和长期移动平均线
short_ma = data['close'].rolling(window=5).mean()
long_ma = data['close'].rolling(window=20).mean()
# 判断金叉、死叉
signals = pd.Series(0, index=data.index)
signals[short_ma > long_ma] = 1 # 叉
signals[short_ma <long_ma] = -1 # 死叉
# 绘制K线图并标记金叉、死叉
ap = [mpf.make_addplot(short_ma, color='m'), # 紫色线条
mpf.make_addplot(long_ma, color='y'), # 黄色线条
mpf.make_addplot(signals, type='scatter', marker='^', color='r', markersize=25)
]
mpf.plot(data, type='candle', volume=True, mav=(5, 20), style=s, figratio=(20, 10), addplot=ap)