Machine Learning: Gaussian Process Regression [LuxAlgo]

LuxAlgo Wizard Updated   
We provide an implementation of the Gaussian Process Regression (GPR), a popular machine-learning method capable of estimating underlying trends in prices as well as forecasting them.

While this implementation is adapted to real-time usage, do remember that forecasting trends in the market is challenging, do not use this tool as a standalone for your trading decisions.


The main goal of our implementation of GPR is to forecast trends. The method is applied to a subset of the most recent prices, with the Training Window determining the size of this subset.

Two user settings controlling the trend estimate are available, Smooth and Sigma. Smooth determines the smoothness of our estimate, with higher values returning smoother results suitable for longer-term trend estimates.

Sigma controls the amplitude of the forecast, with values closer to 0 returning results with a higher amplitude. Do note that due to the calculation of the method, lower values of sigma can return errors with higher values of the training window.

🔹Updating Mechanisms

The script includes three methods to update a forecast. By default a forecast will not update for new bars (Lock Forecast).

The forecast can be re-estimated once the price reaches the end of the forecasting window when using the "Update Once Reached" method.

Finally "Continuously Update" will update the whole forecast on any new bar.

🔹Estimating Trends

Gaussian Process Regression can be used to estimate past underlying local trends in the price, allowing for a noise-free interpretation of trends.

This can be useful for performing descriptive analysis, such as highlighting patterns more easily.


  • Training Window: Number of most recent price observations used to fit the model
  • Forecasting Length: Forecasting horizon, determines how many bars in the future are forecasted.
  • Smooth: Controls the degree of smoothness of the model fit.
  • Sigma: Noise variance. Controls the amplitude of the forecast, lower values will make it more sensitive to outliers.
  • Update: Determines when the forecast is updated, by default the forecast is not updated for new bars.
Release Notes:
- Allows for greater training window
- Reduced matrix instability

Get access to our exclusive tools:

Join our 150k+ community:

All content provided by LuxAlgo is for informational & educational purposes only. Past performance does not guarantee future results.
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 a publication is governed by House Rules. You can favorite it to use it on a chart.


The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?