RSI 策略是如何计算的

RSI 计算参数输入限制验证。

RSI 策略是如何计算的

直接答案

RSI(相对强弱指数)通过价格的时间序列进行计算,将每个周期的涨跌转化为两个运行平均值——在选定的回溯窗口内的平均涨幅和平均跌幅。这两个平均值被转换为相对强度比率,然后映射为 0 到 100 之间的振荡器值。

机制与定义

RSI 试图衡量什么

RSI 旨在表达近期价格上涨相对于近期价格下跌的强度。为此,它需要逐周期的价格变化(例如,每个周期的收盘价到收盘价变化)。每个周期的变化被拆分为:

  • 涨幅:相对于前一周期的上涨,若变化为负则为 0。
  • 跌幅:相对于前一周期的下跌,以正数表示,若变化为正则为 0。

核心要素(输入)

要一致地计算 RSI,你必须具备:

  1. 一个定义频率的价格序列(例如,每根K线一个值)。RSI 不是“魔法数字”;它是根据你提供的序列计算得出的。
  2. 回溯窗口长度 (N),在许多图表环境中通常为 14 个周期。
  3. 平均涨幅和平均跌幅的平滑方法(这是不同 RSI 实现之间差异的主要来源)。
  4. 初始平均值的约定(初始化),因为最早的 RSI 值取决于平均值的起始方式。

广泛使用的 RSI 公式结构

RSI 使用以下中间值:

  • 平均涨幅 在回溯窗口内
  • 平均跌幅 在回溯窗口内
  • 相对强度 (RS) = (平均涨幅)/(平均跌幅)

然后 RSI 被映射为:

  • RSI = 100 − (100 / (1 + RS))

这种结构意味着当平均涨幅远超平均跌幅时,RSI 值较高;当平均跌幅远超平均涨幅时,RSI 值较低。

Wilder 平滑法(常见变体)

许多平台使用 Wilder 平滑法来逐周期更新平均值。在这种方法中,如果你已有前一周期的平均涨幅和平均跌幅,则使用当前涨幅/跌幅和前一平均值来更新它们。

总体而言,更新遵循以下模式:

  • 新的平均涨幅是 前一平均涨幅当前涨幅 的混合,权重由回溯窗口决定。
  • 新的平均跌幅是 前一平均跌幅当前跌幅 的混合,权重由回溯窗口决定。

具体的算术更新取决于实现方式,但核心思想相同:它对涨幅和跌幅进行平滑处理,而不是每一步都从头重新计算简单平均值。

“RSI 策略”与计算的关系

“RSI 策略”可以指任何使用 RSI 值的规则集(例如,基于 RSI 高于或低于某个阈值的条件,或 RSI 穿越某一水平)。重要的是要区分:

  • 计算:RSI 从价格数据、N 值以及平滑/初始化选择中确定性地计算得出。
  • 策略逻辑:任何交易规则对 RSI 值进行解释。相同的 RSI 计算可用于多种不同的决策规则。

如果你想独立验证 RSI,请专注于计算步骤,并确保你匹配数据源或软件所使用的精确 RSI 设置。

证据或示例(含明确假设)

示例设置与假设

由于不同的 RSI 实现可能有所不同,本示例明确说明其假设:

  • 我们使用 逐周期的收盘价到收盘价价格序列
  • 我们选择 回溯窗口 N = 14
  • 我们使用 概念上与 Wilder 风格平滑一致的平滑方法
  • 我们使用以下方式计算涨跌:涨幅 = max(变化, 0),跌幅 = max(-变化, 0)。

可复现的逐步结构

  1. 计算变化:change[t] = price[t] − price[t−1]。
  2. 拆分为涨幅和跌幅
    • gain[t] = max(change[t], 0)
    • loss[t] = max(−change[t], 0)
  3. 在有足够的周期覆盖 N 时初始化平均涨幅和平均跌幅
    • 一种常见的初始化方法是对前 N 个涨幅和前 N 个跌幅取简单平均。
  4. 使用所选平滑方法在每个新周期更新平均值
  5. 计算 RS:RS = averageGain / averageLoss。
  6. 转换为 RSI:RSI = 100 − (100 / (1 + RS))。

需检查的关键边界情况

如果平均跌幅变为 0,则 RS 在不同实现中可能未定义或趋于无穷大。许多 RSI 实现通过将 RSI 值设为极值来处理这种情况(例如,当平均窗口内无损失时,RSI 为 100)。当你验证 RSI 输出时,请确认你的工具如何处理平均跌幅为零的情况(同样,当平均涨幅为 0 时会发生什么)。

限制与风险(可能出现的问题)

1) 初始化与早期值

序列起始处的 RSI 值取决于初始化。不同平台可能:

  • 对第一个 averageGain/averageLoss 使用简单平均,
  • 使用不同的预热方法,
  • 或选择不同的方式初始化平滑过程。

这意味着即使后期值趋同,早期 RSI 值也可能不同。

2) 变体差异(平滑与输入定义)

即使使用相同的 N,RSI 也可能因实现方式不同而有所差异,包括:

  • 平滑方法(Wilder 风格 vs 简单平均 vs 其他方法),
  • 输入是收盘价、典型价格还是其他价格字段,
  • 周期的定义方式(时间框架对齐、缺失K线)。

因此,“RSI 值”只有在指定了确切的计算变体和确切的输入序列后才明确定义。

3) 数据依赖性与非预测性

RSI 是历史价格变化的转换结果。历史转换不能保证 RSI 未来的行为表现,相同的 RSI 值也不意味着单一结果。此外,成本和执行细节(不属于 RSI 计算的一部分)可能主导任何实际结果。

4) 验证可能因设置不匹配而失败

一种常见错误是假设默认 RSI 设置符合你需要复现的内容。要独立验证,你必须匹配:

  • 确切的 N 值,
  • 平滑/平均方法和初始化方式,
  • 使用的价格序列,
  • 以及边界情况的处理方式。

验证与下一个问题

如何独立验证你的 RSI 计算

要验证任何系统的 RSI 值,请使用相同的输入和设置重新计算 RSI:

  1. 导出或重建工具所用的相同价格序列。
  2. 精确匹配 N 值。
  3. 匹配平滑/平均方法和初始化方式。
  4. 重新计算涨跌拆分,然后计算平均涨幅/平均跌幅,再计算 RS,最后计算 RSI 映射。
  5. 与工具的 RSI 输出进行多点比较,尤其是在预热期之后。

如果数值不一致,原因通常是平滑变体、初始化或输入价格定义存在差异。

外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。