You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pine脚本(TradingView)中LINREG函数的内部计算逻辑是什么?

Pine Script linreg 函数最小二乘计算逻辑

前置说明

linreg是滚动计算函数,每根K线都会基于当前回溯窗口(共length个周期)的source序列,重新计算一次对应的斜率和截距。

计算步骤

1. 确定变量取值

  • 因变量y:取回溯窗口内的source序列,按时间从远到近排序为y₀, y₁, ..., y₍ₙ₋₁₎,其中n等于length参数值,yₙ₋₁为当前K线的source值
  • 自变量x:直接取周期序号,对应为x₀=0, x₁=1, ..., x₍ₙ₋₁₎=n-1,无需使用实际时间戳,属于金融指标线性回归的通用简化规则

2. 计算中间统计值

  • x的平均值:因x为0到n-1的连续整数,可直接简化为 x_mean = (n-1) / 2
  • y的平均值:回溯窗口内所有source值的算术平均 y_mean = (y₀ + y₁ + ... + yₙ₋₁) / n
  • 协方差求和项:sum_xy = Σ (xᵢ - x_mean) * (yᵢ - y_mean),i取值范围为0到n-1,即每个周期的x偏差与y偏差的乘积总和
  • x方差求和项:sum_x2 = Σ (xᵢ - x_mean)²,i取值范围为0到n-1,即每个周期x偏差的平方和,该值仅和length有关,可预计算复用

3. 计算斜率与截距

  • 斜率slope = 协方差求和项 / x方差求和项,即 slope = sum_xy / sum_x2
  • 截距intercept = y平均值 - 斜率 * x平均值,即 intercept = y_mean - slope * x_mean

4. 代入最终公式

得到斜率和截距后,直接代入公开公式即可算出linreg结果:
linreg = intercept + slope * (length - 1 - offset)

补充说明:offset取0时得到当前K线对应的线性回归预测值,offset取正整数时,结果为往前偏移对应周期的回归值,和Pine Script官方规则完全匹配。

内容的提问来源于stack exchange,提问作者Yogurtu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:36:03