TradingView
loxx
29 aug 2022 22:13

STD-Filtered, Gaussian-Kernel-Weighted Moving Average [Loxx] 

British Pound/U.S. DollarFXCM

Beskrivning

STD-Filtered, Gaussian-Kernel-Weighted Moving Average [Loxx] is a moving average that weights price by using a Gaussian kernel function to calculate data points. This indicator also allows for filtering both source input price and output signal using a standard deviation filter.

Purpose
This purpose of this indicator is to take the concept of Kernel estimation and apply it in a way where instead of predicting past values, the weighted function predicts the current bar value at each bar to create a moving average that is suitable for trading. Normally this method is used to create an array of past estimators to model past data but this method is not useful for trading as the past values will repaint. This moving average does NOT repaint, however you much allow signals to close on the current bar before taking the signal. You can compare this to Nadaraya-Watson Estimator [LUX] wherein they use Nadaraya-Watson estimator method with normalized kernel weighted function to model price.

What are Kernel Functions?
A kernel function is used as a weighing function to develop non-parametric regression model is discussed. In the beginning of the article, a brief discussion about properties of kernel functions and steps to build kernels around data points are presented.

Kernel Function
In non-parametric statistics, a kernel is a weighting function which satisfies the following properties.

  • A kernel function must be symmetrical. Mathematically this property can be expressed as K (-u) = K (+u). The symmetric property of kernel function enables its maximum value (max(K(u)) to lie in the middle of the curve.
  • The area under the curve of the function must be equal to one. Mathematically, this property is expressed as: integral −∞ + ∞ ∫ K(u)d(u) = 1
  • Value of kernel function can not be negative i.e. K(u) ≥ 0 for all −∞ < u < ∞.


Kernel Estimation
In this article, Gaussian kernel function is used to calculate kernels for the data points. The equation for Gaussian kernel is:

K(u) = (1 / sqrt(2pi)) * e^(-0.5 *(j / bw)^2)

Where xi is the observed data point. j is the value where kernel function is computed and bw is called the bandwidth. Bandwidth in kernel regression is called the smoothing parameter because it controls variance and bias in the output. The effect of bandwidth value on model prediction is discussed later in this article.

Included
*Loxx's Expanded Source types
*Signals
*Alerts
*Bar coloring

Versionsinformation

Updated inputs.

Versionsinformation

Corrected input error.
Kommentarer
BorsaPanda
Thanks. Very sophisticated indeed. Great work. I got few questions if I may. I tested in 5 minutes stock indices DAX, it did not seen great however I changed the candles to heikin Ashi and filter and signals started to make sense. Q1)Do we keep the secreen at japanese candles or bars but signals are created based on Heikin Ashi? Q2) How would you revise the settings, if you would, for low time frames?
Cheers.
loxx
@BorsaPanda, no no, dont change the candles, just change the source type. they way ive coded these is you never need to change the candles to HA, just change the source input to the HA you choose
Mer