PINE LIBRARY

ApproximateGaussianSmoothing

Updated
Library "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.
Release Notes
v2

更新:
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.
Release Notes
v3
statistics

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer