平均真实波幅(Average True Range, ATR)是一种技术分析指标, 用于衡量金融市场中价格波动的幅度。它是由J. Welles Wilder Jr. 在1978年提出的, 主要用于识别市场的波动性和趋势强度。
ATR的计算基于以下三个步骤:
计算每个周期的真实波幅(True Range, TR)。TR是以下三个值中的最大值:
当前周期的最高价减去最低价。
当前周期的最高价减去前一周期的收盘价。
当前周期的最低价减去前一周期的收盘价。
计算TR的移动平均值。通常使用简单移动平均(SMA), 周期长度可以根据需要选择, 例如14天。
将移动平均值除以一个调整因子, 通常是2, 以得到平均真实波幅。
ATR的计算公式如下:
TR = max(high - low, abs(high - prev_close), abs(low - prev_close))
ATR = SMA(TR, n) / 2
其中, high是当前周期的最高价, low是当前周期的最低价, prev_close是前一周期的收盘价, SMA是简单移动平均, n是移动平均的周期长度。
ATR的主要用途包括:
衡量市场波动性:ATR值越高, 市场波动性越大; ATR值越低, 市场波动性越小。
设置止损和止盈水平:ATR可以帮助交易者确定合理的止损和止盈点位,以适应市场的波动性。
识别趋势强度:ATR可以与其他趋势指标结合使用, 以评估趋势的强度和可能的反转点。
在实际应用中, ATR通常与其他技术分析工具和指标一起使用, 以提高交易决策的准确性。
def stock_atr(stock_data, window=14):
stock_data['H-L'] = stock_data['high'] - stock_data['low']
stock_data['H-PC'] =