Editors' picksOPEN-SOURCE SCRIPT

Moving Regression Prediction Bands

Updated
Introducing the Moving Regression Prediction Bands indicator.

Here I aimed to combine the principles of traditional band indicators (such as Bollinger Bands), regression channel and outlier detection methods. Its upper and lower bands define an interval in which the current price was expected to fall with a prescribed probability, as predicted by the previous-step result of the local polynomial regression (for the original Moving Regression script, see link below).

Moving Regression


Algorithm
1. At every time step, the script performs local polynomial regression of the sample data within the lookback window specified by the Length input parameter.
2. The fitted polynomial is used to construct the Moving Regression time series as well as to extrapolate data, that is, to predict the next data point (MRPrediction).
3. The accuracy of local interpolation is estimated by means of the root-mean-square error (RMSE), that is, the deviation between the fitted polynomial and the observed values.
4. The MRPrediction and RMSE values calculated for the previous bar are then used to build the upper and lower bands, which I define as follows:

Upper Band = MRPrediction_prev + Multiplier*(RMSE_prev)
Lower Band = MRPrediction_prev - Multiplier*(RMSE_prev)

Here the Multiplier is a user-defined parameter that should be interpreted as a quantile in the standard normal distribution (the default value of 2.0 roughly corresponds to the 95% prediction interval).

To visualize the central line, the script offers the following options:
  • Previous-Period MR Prediction: MRPrediction_prev time series from the above equation.
  • MR: Conventional Moving Regression time series.
  • Ribbon: “Previous-Period MR Prediction” and “MR” curves plotted together and colored according to their relative value (green if MR > Previous MR Prediction; red otherwise).


Usage
My original idea was to use the band breakouts as potential trading signals. For example, the price crossing above the upper band is a bullish signal, being a potential sign that price is gaining momentum and is out of a previously predicted trend. The exit signal could be the crossing under the lower band or under the central line.
However, be aware that it is an experimental indicator, so you might fin some better strategies.

Feel free to play around!
Release Notes
added alerts conditions on Upper Band breakout, Lower Band breakdown and Central Line crossing (in both directions)

See also a simple strategy illustrating the use of this indicator:
Moving Regression Band Breakout strategy
Release Notes
  • Upon request, several more alert conditions are introduced:
    - changing the color of the MR curve from red to green (for details on how the color is determined, see the main description),
    - changing the color of the MR curve from green to red,
    - price crossing above the lower band,
    - price crossing below the upper band.
  • The code is translated into Pine Script v.5.
Linear RegressionMoving Averagesregressionregression-trend-channelVolatility

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?


DISCLAIMER: I am not a financial advisor, and my scripts are for educational purposes only. Any trades you make are at your own risk.

Disclaimer