Levinson-Durbin Autocorrelation Extrapolation of Price [Loxx]

loxx Premium Uppdaterad   
Levinson-Durbin Autocorrelation Extrapolation of Price is an indicator that uses the Levinson recursion or Levinson–Durbin recursion algorithm to predict price moves. This method is commonly used in speech modeling and prediction engines.

What is Levinson recursion or Levinson–Durbin recursion?
Is a linear algebra prediction analysis that is performed once per bar using the autocorrelation method with a within a specified asymmetric window. The autocorrelation coefficients of the window are computed and converted to LP coefficients using the Levinson algorithm. The LP coefficients are then transformed to line spectrum pairs for quantization and interpolation. The interpolated quantized and unquantized filters are converted back to the LP filter coefficients to construct the synthesis and weighting filters for each bar.

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

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

  • Bar color muting

Further reading
Implementing the Levinson-Durbin Algorithm on the StarCore™ SC140/SC1400 Cores

LevinsonDurbin_G729 Algorithm, Calculates LP coefficients from the autocorrelation coefficients. Intel® Integrated Performance Primitives for Intel® Architecture Reference Manual

Release Notes:
Changed plot to line and cleaned up coordinate drawing functions.
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
Release Notes:
I added the following comment to the code so folks can better understand what is going on here. You can see the original Levinson-Durbin Recursion algorithm in the commented out note.

// Original Levinson-Durbin algorithm used to implement Levinson recursion
// where a - coefficients of the model, p - order of the model.
// Here we need to find the autoregressive coefficients by solving directly
// our set of equations with n=2*p by the Levinson-Durbin method. Such method
// of prediction is called Prony Method; however, its disadvantage is the
// instability during the prediction of the future values of the series. That's
// why this method has not been included and instead we use a modified
// Levinson Recursion to calculate the prediction coefficients.
// I've included the origina method so one can compare the differences. You'll
// notice that both methods are very similar but the modified version gives the
// desired results. The difference is that the modified version calculates the
// coefficients a by decreasing the mean-root-square error on the training
// last n-p bars

Skript med en öppen källkod

I sann TradingView-anda har författaren publicerat detta skript med öppen källkod så att andra handlare kan förstå och verifiera det. Hatten av för författaren! Du kan använda det gratis men återanvändning av den här koden i en publikation regleras av våra ordningsregler. Du kan ange den som favorit för att använda den i ett diagram.

Frånsägelse av ansvar

Informationen och publikationerna är inte avsedda att vara, och utgör inte heller finansiella, investerings-, handels- eller andra typer av råd eller rekommendationer som tillhandahålls eller stöds av TradingView. Läs mer i Användarvillkoren.

Vill du använda det här skriptet i ett diagram?