ApproximateGaussianSmoothing

This library provides a novel smoothing function for time-series data, serving as an alternative to SMA and EMA. Additionally, it provides some statistical processing, using moving averages as expected values in statistics.
'Approximate Gaussian Smoothing' (AGS) is designed to apply weights to time-series data that closely resemble Gaussian smoothing weights. it is easier to calculate than the similar ALMA.
In case AGS is used as a moving average, I named it 'Approximate Gaussian Weighted Moving Average' (AGWMA).
The formula is:
AGWMA = (EMA + EMA(EMA) + EMA(EMA(EMA)) + EMA(EMA(EMA(EMA)))) / 4
The EMA parameter alpha is 5 / (N + 4), using time period N (or length).
ma(src, length)
Calculate moving average using AGS (AGWMA).
Parameters:
src (float): Series of values to process.
length (simple int): Number of bars (length).
Returns: Moving average.
analyse(src, length)
Calculate mean and variance using AGS.
Parameters:
src (float): Series of values to process.
length (simple int): Number of bars (length).
Returns: Mean and variance.
analyse(dimensions, sources, length)
Calculate mean and variance covariance matrix using AGS.
Parameters:
dimensions (simple int): Dimensions of sources to process.
sources (array<float>): Series of values to process.
length (simple int): Number of bars (length).
Returns: Mean and variance covariance matrix.
trend(src, length)
Calculate intercept (LSMA) and slope using AGS.
Parameters:
src (float): Series of values to process.
length (simple int): Number of bars (length).
Returns: Intercept and slope.
更新:
trend(src, length)
Calculate trend statistics using AGS.
Parameters:
src (float): Series of values to process.
length (simple int): Number of bars (length).
Returns: Slope, intercept, correlation and RSS.
Add:
linreg(src1, src2, length)
Calculate linear regression using AGS.
Parameters:
src1 (float): Series of values to process.
src2 (float): Series of values to process.
length (simple int): Number of bars (length).
Returns: Slope, intercept and MSE.
correlation(src1, src2, length)
Calculate correlation using AGS.
Parameters:
src1 (float): Series of values to process.
src2 (float): Series of values to process.
length (simple int): Number of bars (length).
Returns: Correlation coefficient.
Delete:
trend(src, length)
Calculate trend statistics using AGS.
To get trend statistics, use the linreg method with bar_index as the first argument.
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
Declinazione di responsabilità
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.