OPEN-SOURCE SCRIPT

Weighted Burg AR Spectral Estimate Extrapolation of Price [Loxx]

Updated
Weighted Burg AR Spectral Estimate Extrapolation of Price [Loxx] is an indicator that uses an autoregressive spectral estimation called the Weighted Burg Algorithm. This method is commonly used in speech modeling and speech prediction engines. This method also includes Levinson–Durbin algorithm. As was already discussed previously in the following indicator:

Levinson-Durbin Autocorrelation Extrapolation of Price [Loxx]
Levinson-Durbin Autocorrelation Extrapolation of Price [Loxx]


What is Levinson recursion or Levinson–Durbin recursion?
In many applications, the duration of an uninterrupted measurement of a time series is limited. However, it is often possible to obtain several separate segments of data. The estimation of an autoregressive model from this type of data is discussed. A straightforward approach is to take the average of models estimated from each segment separately. In this way, the variance of the estimated parameters is reduced. However, averaging does not reduce the bias in the estimate. With the Burg algorithm for segments, both the variance and the bias in the estimated parameters are reduced by fitting a single model to all segments simultaneously. As a result, the model estimated with the Burg algorithm for segments is more accurate than models obtained with averaging. The new weighted Burg algorithm for segments allows combining segments of different amplitudes.

The Burg algorithm estimates the AR parameters by determining reflection coefficients that minimize the sum of for-ward and backward residuals. The extension of the algorithm to segments is that the reflection coefficients are estimated by minimizing the sum of forward and backward residuals of all segments taken together. This means a single model is fitted to all segments in one time. This concept is also used for prediction error methods in system identification, where the input to the system is known, like in ARX modeling

Data inputs
Source Settings: -Loxx's Expanded Source Types. You typically use "open" since open has already closed on the current active bar
LastBar - bar where to start the prediction
PastBars - how many bars back to model
LPOrder - order of linear prediction model; 0 to 1
FutBars - how many bars you want to forward predict
BurgWin - weighing function index, rectangular, hamming, or parabolic

Things to know
  • Normally, a simple moving average is calculated on source data. I've expanded this to 38 different averaging methods using Loxx's Moving Avreages.
  • This indicator repaints


Included
  • Bar color muting


Further reading
Performance of the weighted burg methods of ar spectral estimation for pitch-synchronous analysis of voiced speech

The Burg algorithm for segments

Techniques for the Enhancement of Linear Predictive Speech Coding in Adverse Conditions

Related Indicators
Levinson-Durbin Autocorrelation Extrapolation of Price [Loxx]
Release Notes
Small error fix.
Release Notes
Small fix in the description. The emboldened title "What is Levinson recursion or Levinson–Durbin recursion?" should be "What is the Weighted Burg Autoregressive Spectral Estimate Extrapolation of Price?"
Release Notes
Fixed calculation error.
Release Notes
Changed plot to line and cleaned up coordinate drawing functions.
snapshot
Release Notes
Coordinate cleanup.
Release Notes
Updated drawing functions.
Release Notes
Increased lookback range to max of 2000 bars. Future bar draws are limited to math.min(array output calcs, FutBars) settings. All settings work now.. You'll need to adjust the settings if it shows an error that ran out of processing time or took too long to execute.
Release Notes
Fixed error and removed smoothing, it wasn't having the desired effect.
Release Notes
Removed unused inputs.
Release Notes
Updated lines calculation
durbinforecastforecastinglevinsonlevinsondurbinpredictionTrend Analysisweightedburg

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?


Public Telegram Group, t.me/algxtrading_public

VIP Membership Info: patreon.com/algxtrading/membership
Also on:

Disclaimer