RSI 范围的计算方法(公式、输入和验证)

了解 RSI 范围的计算公式、输入参数和局限性。

RSI 范围的计算方法(公式、输入和验证)

在数学之前先理解概念

“RSI 范围”是一种表达相对强弱指数(RSI)当前值相对于其近期极值位置的方法。它不是仅将 RSI 作为一个单一数值使用,而是将当前 RSI 值映射到其近期最小值和最大值所形成的区间内。

要计算 RSI 范围,你需要:

  1. 使用选定的回看长度(即 RSI 周期)从价格数据中计算 RSI;
  2. 再取第二个回看窗口(即 RSI 范围窗口),找出该窗口内的 RSI 最小值和最大值;
  3. 将当前 RSI 转换为该 [最小值, 最大值] 区间内的归一化位置。

这保证了机制的一致性;只有你选择的参数会影响其行为。

机制:输入、参数和公式

第一步:从价格数据计算 RSI

RSI 通常使用周期长度 (n)(通常为 14)来定义。使用收盘价,RSI 基于该周期内的平均涨幅和平均跌幅。

一种常见的表达方式是:

  • 计算每一步的涨幅 (G) 和跌幅 (L)(当价格上涨时 (G) 为正;价格下跌时 (L) 为正);
  • 计算 RSI 周期 (n) 内的平均涨幅 (\overline{G}) 和平均跌幅 (\overline{L});
  • 然后: [ \text{RSI} = 100 \times \frac{\overline{G}}{\overline{G} + \overline{L}} ]

如果你的实现使用了不同的 RSI 平均方法(例如 Wilder 式平滑 vs. 简单平均),计算出的 RSI 序列可能不同,因此得出的 RSI 范围也会不同。

第二步:定义 RSI 范围窗口

选择第二个参数:(m),即 RSI 范围窗口长度。在每个时间点 (t),你回看 (m) 个周期并计算:

  • (\text{RSI}{\min} = \min(\text{RSI}{t-m+1}, \dots, \text{RSI}_t))
  • (\text{RSI}{\max} = \max(\text{RSI}{t-m+1}, \dots, \text{RSI}_t))

第三步:将当前 RSI 转换为归一化的“范围位置”

典型的 RSI 范围计算是对当前 RSI 进行最小-最大归一化: [ \text{RSI Range}t = 100 \times \frac{\text{RSI}t - \text{RSI}{\min}}{\text{RSI}{\max} - \text{RSI}_{\min}} ]

该值的解释如下:

  • 如果 (\text{RSI}_t) 等于回看窗口内的最小 RSI 值,则 RSI 范围为 0;
  • 如果 (\text{RSI}_t) 等于窗口内的最大 RSI 值,则 RSI 范围为 100;
  • 介于最小值和最大值之间的值将 RSI 按比例置于该区间内。

所需数据和假设

要计算数值,你必须具备:

  • 一致的价格序列(通常为收盘价);
  • 明确的时间步长(例如日线或小时线);
  • 两个参数:(n)(RSI 周期)和 (m)(RSI 范围窗口);
  • 以及一致的 RSI 方法(平滑/平均规则)。

如果这些要素在两个实现之间存在差异,即使面对相同的市场,RSI 范围序列也可能不同。

证据或示例:可自行验证的检查

以下是使用假设 RSI 值进行的简单、面向验证的示例。

使用 RSI 值的示例(跳过 RSI 计算)

假设在某个时间点 (t),你已计算出过去 (m=5) 个周期的 RSI 值:

  • (\text{RSI} = [42,\ 46,\ 40,\ 48,\ 45])

那么:

  • (\text{RSI}_{\min} = 40)
  • (\text{RSI}_{\max} = 48)
  • (\text{RSI}_t = 45)

应用公式: [ \text{RSI Range}_t = 100 \times \frac{45 - 40}{48 - 40} = 100 \times \frac{5}{8} = 62.5 ]

这告诉你如何在不猜测的情况下验证你的实现:当 RSI 处于最小值和最大值中间时,RSI 范围将落在 0 和 100 的正中间。

使用价格的示例(你仍需确保的事项)

如果你从价格开始,你的自我检查应确认:

  1. 你的 RSI 输出使用了相同的 RSI 平均方法和周期 (n);
  2. RSI 范围窗口 (m) 应用于 RSI 序列(而非价格);
  3. 你的最小值和最大值是基于恰好 (m) 个 RSI 观测值计算的。

一个常见的错误是意外使用了 (m) 个周期的价格极值(或使用了偏移一个周期的窗口),这会改变 (\text{RSI}{\min}) 和 (\text{RSI}{\max}),从而改变归一化值。

局限性和风险:可能出现的实质性问题

1) 除以零(或接近零的范围)

如果 (\text{RSI}{\max} = \text{RSI}{\min}),则分母 ((\text{RSI}{\max} - \text{RSI}{\min})) 变为零,公式无定义。

这种情况可能发生在整个回看窗口内 RSI 平坦,或由于舍入、数据问题或产生重复值的实现导致计算出的 RSI 值相同时。

实际影响:你的软件必须定义在这种情况下应如何处理(例如返回默认值或标记为未定义)。不同的选择会导致不同的绘图结果。

2) 对参数选择的敏感性

RSI 范围的行为强烈依赖于 (n)(RSI 周期)和 (m)(范围窗口)。较大的 (m) 使用更早的 RSI 极值,这会使归一化更稳定但响应性降低;较小的 (m) 使其更敏感。

因此,即使面对相同的价格序列,如果双方的参数或 RSI 方法不同,计算出的 RSI 范围值也可能不同。

3) RSI 平均方法的实现差异

实际上,RSI 并非唯一的计算方式。常见的 RSI 实现可能在以下方面存在差异:

  • 是否使用 Wilder 式平滑;
  • 使用简单移动平均;
  • 或其他平均约定。

即使两个实现使用相同的 (n),RSI 时间序列也可能略有不同,从而导致导出的 RSI 范围发生偏移。

4) 数据质量、时间步长和公司行为

RSI 和 RSI 范围的可靠性取决于其底层输入序列。实际问题包括:

  • 缺失的K线;
  • 时区或交易时间不一致;
  • 数据源差异。

这些问题可能导致人为的 RSI 波动,从而改变 (\text{RSI}{\min}) 和 (\text{RSI}{\max})。

验证和下一个应提出的问题

如何独立验证你的 RSI 范围

要验证一个计算出的 RSI 范围序列:

  1. 以完全相同的方式重新计算 RSI(相同的周期 (n),相同的平均方法);
  2. 对于选定的时间点 (t),列出最近的 (m) 个 RSI 值,并计算 (\text{RSI}{\min}) 和 (\text{RSI}{\max});
  3. 将 (\text{RSI}t)、(\text{RSI}{\min}) 和 (\text{RSI}_{\max}) 代入归一化公式;
  4. 确认结果与时间点 (t) 的指标输出一致。
外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。