布林带和RSI的计算方法

了解布林带和RSI如何通过公式和输入参数进行计算。

布林带和RSI的计算方法

直接答案:公式、参数和数据输入

布林带和RSI都是从单一时间序列(通常是收盘价)计算得出的:

  • 布林带中轨周围创建一个上轨下轨。中轨通常是移动平均线;轨道之间的距离来自回溯周期内价格的标准差
  • RSI(相对强弱指数) 是一种振荡器,通过比较回溯周期内的平均涨幅平均跌幅来总结近期动量,然后将结果映射为0到100之间的数值。

只要拥有(1)按时间排序的一系列价格数据,以及(2)选定的参数(回溯周期长度,对于布林带还包括移动平均类型和标准差倍数),就可以计算这两个指标。

机制:每个指标所需的数据及其计算方式

布林带:定义和逐步计算

假设你有一个时间序列 $P_t$(常见输入为收盘价),并选择以下参数:

  • $n$:回溯周期长度(周期数)
  • $k$:标准差倍数(用于轨道宽度)
  • $\text{MA}$:用于中轨的移动平均方法(通常为简单移动平均SMA)

对于每个具有足够历史数据的时间点 $t$(即 $t$ 至少有 $n$ 个先前观测值):

  1. 中轨(基准) [ \text{MB}t = \text{MA}(P{t-n+1},\dots,P_t) ] 若使用SMA,则: [ \text{MB}t = \frac{1}{n}\sum{i=0}^{n-1} P_{t-i} ]

  2. 窗口内的标准差 [ \sigma_t = \text{stdev}(P_{t-n+1},\dots,P_t) ] 标准差基于同一窗口内价格偏离均值的程度计算。

  3. 上轨和下轨 [ \text{Upper}_t = \text{MB}_t + k,\sigma_t ] [ \text{Lower}_t = \text{MB}_t - k,\sigma_t ]

关键数据要求:布林带始终使用相同的价格序列。若从收盘价改为最高/最低价(或改变采样频率),$\text{MB}_t$ 和 $\sigma_t$ 会变化,因此轨道也会变化。

RSI:定义和逐步计算

RSI使用价格变动,并区分上涨和下跌。

假设使用相同的价格序列 $P_t$,并选择:

  • $n$:回溯周期长度

计算单周期价格变化: [ \Delta_t = P_t - P_{t-1} ] 然后计算涨幅跌幅: [ \text{Gain}_t = \max(\Delta_t, 0) ] [ \text{Loss}_t = \max(-\Delta_t, 0) ]

实际应用中有多种平滑方法。独立验证的关键是:使用与你对比工具相同的平均方法

一种常见方法是先计算前 $n$ 个周期的平均涨幅和平均跌幅,然后进行平滑处理(通常类似于Wilder方法)。概念上:

  1. 平均涨幅(或平滑序列) [ \text{AvgGain}_t \approx \text{过去 } n \text{ 个周期的涨幅平均值(采用所选平滑方式)} ]

  2. 平均损失 [ \text{AvgLoss}_t \approx \text{过去 } n \text{ 个周期的损失平均值(采用所选平滑方式)} ]

  3. 相对强度 [ \text{RS}_t = \frac{\text{AvgGain}_t}{\text{AvgLoss}_t} ]

  4. RSI变换 到0–100范围 [ \text{RSI}_t = 100 - \frac{100}{1+\text{RS}_t} ]

处理边界情况:如果 $\text{AvgLoss}_t = 0$,则 $\text{RS}_t$ 变得非常大;某些实现返回接近100的RSI值。如果 $\text{AvgGain}_t = 0$,RSI趋向于0。不同平台对这些除法的处理方式不同,因此精确数值结果可能有所差异。

证据或示例:从小数据集中重新计算数值

以下是一个具体、可验证的小型示例结构。(数字仅为演示方法;关键是计算流程。)

假设你有6个有序价格 $P_1$ 到 $P_6$。

布林带示例流程

选择 $n=3$,$k=2$,并使用SMA作为移动平均。

  • 对于 $t=3$:
    • 计算 $\text{MB}_3$ 为 $P_1,P_2,P_3$ 的均值。
    • 计算 $\sigma_3$ 为 $P_1,P_2,P_3$ 的标准差。
    • 然后 $\text{Upper}_3=\text{MB}_3+2\sigma_3$,$\text{Lower}_3=\text{MB}_3-2\sigma_3$。
  • 对 $t=4,5,6$ 重复上述步骤,使用滚动窗口 $(P_2,P_3,P_4)$ 等。

RSI示例流程

选择 $n=3$。

  • 计算 $t=2..6$ 的变化量 $\Delta_t=P_t-P_{t-1}$。
  • 将每个 $\Delta_t$ 转换为 $\text{Gain}_t$ 和 $\text{Loss}_t$。
  • 对于第一个RSI输出,计算前 $n$ 个有效周期的平均涨幅和平均损失(例如,与 $t=2..4$ 相关,具体取决于实现的索引方式)。
  • 计算 $\text{RS}=\frac{\text{AvgGain}}{\text{AvgLoss}}$,然后 $\text{RSI}=100-\frac{100}{1+\text{RS}}$。

为何这是“证据”:如果你对相同有序数据使用相同公式、参数和平滑选择,应能复现相同的指标轨迹。若无法复现,通常是因为参数设置、价格输入或RSI平滑方式不同。

局限性和失效模式:可能出现的问题及原因

参数和输入敏感性

两个指标都是其输入的确定性函数,但输入本身是人为选择的

  • 价格序列选择:使用收盘价或其他价格会影响数值。
  • 回溯周期长度:改变 $n$ 会影响响应速度。
  • 布林带移动平均类型和倍数:不同的 $\text{MA}$ 类型或 $k$ 值会改变轨道宽度。
  • RSI平滑方式:即使 $n$ 相同,不同的平滑方法也可能产生不同的RSI曲线。

RSI除零和近零稳定性问题

RSI依赖于比率。当平均损失为零(或接近零)时,RSI趋近上限;当平均收益为零时,趋近下限。微小的数值差异(例如,实现如何处理精确零值)可能导致明显的RSI差异。

市场状态转变和波动率激增

指标并不“知道”未来行为。布林带根据近期波动率自动扩缩,而RSI在持续极端行情中可能长时间处于极值区域。在市场状态转变(持续趋势变化或波动率突变)期间,历史关系可能不再具有参考价值。

数据和计算对齐问题

独立验证可能因实际问题而非指标缺陷而失败:

  • 构建 $P_t$ 时存在不一致的时区或交易时段边界
  • 采样频率不同
  • 缺失数据点或因公司行为调整价格导致序列定义变化

验证或下一步问题:如何自行检查计算

要独立验证布林带和RSI的计算:

  1. 固定输入序列:明确 $P_t$ 的定义(例如,未调整收盘价、已调整收盘价),并保持顺序一致。
  2. 固定参数:记录 $n$、$k$、布林带移动平均类型,以及RSI的平均/平滑方法。
外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。