R-Squared 指标:公式、参数与读法

R 平方报告最近 N 个收盘价的方差中,能被一条随时间变化的直线解释的比例,刻度为 0 到 1。它描述线性趋势对窗口的拟合程度,而不是趋势指向哪个方向。

Senzoukria · 指标 · Updated September 2026


R-Squared 动量, 显示在图表下方的独立面板中.

R-Squared 测量的是什么

它是线性回归斜率所绘制的同一条最小二乘拟合线的决定系数,所以两者本就应该一起阅读:这个指标给出拟合质量,斜率给出方向和陡峭程度。无论窗口是上涨还是下跌,0.9 的读数看起来完全一样。当窗口方差为零——每个收盘价都相同——没有任何可供直线解释的东西,指标不返回值,而不是返回 0 或 1。结果在上端被截断为 1,否则在完全笔直的窗口上,浮点舍入可能使其超出。默认周期为 20 根K线。

公式:代码中的实现

这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:

Coefficient de détermination de la MÊME régression : R² = Sxy² / (Sxx · Syy) ∈ [0, 1] Part de la variance des closes expliquée par le temps — la QUALITÉ de la tendance, pas son sens (0.9 se lit pareil en hausse et en baisse ; le sens se lit sur `linreg-slope`). Syy = 0 (fenêtre plate → VARIANCE NULLE) → null, jamais 0 ni 1 : sans variance à expliquer, R² n'existe pas. Borné dur à 1 (arrondi f64 sur une droite parfaite). Défaut N=20.

如何解读

  • 高数值表示窗口内的收盘价沿一条直线排列;结合斜率的符号才能知道这条路径是上升还是下降。
  • R 平方上升描述的是窗口变得更加线性,这既可能发生在价格上涨时,也可能发生在下跌时。
  • 低数值并不表示没有波动——它表示直线不能很好地描述这个窗口,这既包括横盘震荡,也包括急速的 V 形反转。
  • 高 R 平方配合接近零的斜率,描述的是非常有序的横向漂移,而不是趋势。
  • 要结合窗口长度判断读数:在最小周期 2 时,一条直线穿过两个点,按构造数值就是 1,短窗口的读数也会接近这个值。

参数与默认值

周期默认 20,可设 2 到 500;如果要与线性回归斜率配对阅读,周期必须与之相同。短窗口经常产生高数值,说服力很弱;长窗口让高读数成为关于窗口结构的更有力陈述。

R-Squared — 应用中可调的参数及其默认值。
参数类型默认值取值范围
Periodnumber202 – 500

它无法显示的内容

R 平方只检验直线。一条平滑加速的曲线,或一段被一次大跳空打断的平坦走势,都可能得分很高,而在图表上看起来完全不像一段直线上涨。它与量级无关,所以从不说明走势有多大——一个 tick 的漂移和一百点的行情都可能得分超过 0.9。它只使用收盘价,完全忽略成交量和订单流,也不说明拟合线是否会延续。短周期是主要陷阱:只有少数几个点时,高分几乎是算术上必然的。

浏览全部指标

其他语言版本

Frequently asked questions

R 平方在价格图表上衡量什么?
它衡量最近 N 个收盘价的变化中,有多少能被一条相对时间拟合的直线解释,取值 0 到 1。它衡量的是线性程度,而不是方向或幅度——同一个数值既可以描述上涨的窗口,也可以描述下跌的窗口。
R 平方高就意味着趋势强吗?
它意味着趋势有序。一个窗口可能几乎完美地拟合一条直线,却只移动了几个 tick,得分很高但并不是一段有意义的走势。要把它和回归斜率放在一起看,斜率提供 R 平方有意省略的方向和陡峭程度。
为什么走平的窗口没有 R 平方数值?
决定系数要除以收盘价的方差。当窗口内每个收盘价都相同时,方差为零,没有任何变化可供直线解释,比值无定义。指标不给出数值,而不是报告 0 或 1,因为两者都会是虚构的读数。

Keep reading