GoemonYae

Kernels

GoemonYae Updated   
©2024, GoemonYae; copied from @jdehorty's "KernelFunctions" on 2024-03-09 to ensure future dependency compatibility. Will also add more functions to this script.


Library "KernelFunctions"
This library provides non-repainting kernel functions for Nadaraya-Watson estimator implementations. This allows for easy substition/comparison of different kernel functions for one another in indicators. Furthermore, kernels can easily be combined with other kernels to create newer, more customized kernels.

rationalQuadratic(_src, _lookback, _relativeWeight, startAtBar)
  Rational Quadratic Kernel - An infinite sum of Gaussian Kernels of different length scales.
  Parameters:
    _src (float): <float series> The source series.
    _lookback (simple int): <simple int> The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
    _relativeWeight (simple float): <simple float> Relative weighting of time frames. Smaller values resut in a more stretched out curve and larger values will result in a more wiggly curve. As this value approaches zero, the longer time frames will exert more influence on the estimation. As this value approaches infinity, the behavior of the Rational Quadratic Kernel will become identical to the Gaussian kernel.
    startAtBar (simple int)
  Returns: yhat <float series> The estimated values according to the Rational Quadratic Kernel.

gaussian(_src, _lookback, startAtBar)
  Gaussian Kernel - A weighted average of the source series. The weights are determined by the Radial Basis Function (RBF).
  Parameters:
    _src (float): <float series> The source series.
    _lookback (simple int): <simple int> The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
    startAtBar (simple int)
  Returns: yhat <float series> The estimated values according to the Gaussian Kernel.

periodic(_src, _lookback, _period, startAtBar)
  Periodic Kernel - The periodic kernel (derived by David Mackay) allows one to model functions which repeat themselves exactly.
  Parameters:
    _src (float): <float series> The source series.
    _lookback (simple int): <simple int> The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
    _period (simple int): <simple int> The distance between repititions of the function.
    startAtBar (simple int)
  Returns: yhat <float series> The estimated values according to the Periodic Kernel.

locallyPeriodic(_src, _lookback, _period, startAtBar)
  Locally Periodic Kernel - The locally periodic kernel is a periodic function that slowly varies with time. It is the product of the Periodic Kernel and the Gaussian Kernel.
  Parameters:
    _src (float): <float series> The source series.
    _lookback (simple int): <simple int> The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
    _period (simple int): <simple int> The distance between repititions of the function.
    startAtBar (simple int)
  Returns: yhat <float series> The estimated values according to the Locally Periodic Kernel.
Release Notes:
v2

Added:
exponential(_src, _lookback, startAtBar)
  Exponential Kernel - A weighted average of the source series with exponential decay.
  Parameters:
    _src (float): The source series.
    _lookback (simple int): The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
    startAtBar (simple int)
  Returns: yhat The estimated values according to the Exponential Kernel.

linear(_src, _lookback, _startAtBar)
  Linear Weighting Kernel - Applies a linearly decreasing weight to past values.
  Parameters:
    _src (float): The source series.
    _lookback (simple int): The number of bars used for the estimation.
    _startAtBar (simple int): Starting bar index for the calculation to mitigate volatility.
  Returns: yhat The weighted average of the past values with linearly decreasing weights.

sigmoid(_src, _lookback, _alpha, _c, startAtBar)
  Sigmoid Kernel - Models non-linear phenomena with an S-shaped curve, similar to neural network activation functions.
  Parameters:
    _src (float): The source series.
    _lookback (simple int): The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
    _alpha (simple float): The slope parameter of the sigmoid function, controlling the steepness of the curve.
    _c (simple float): The intercept parameter of the sigmoid function, adjusting the midpoint of the S-shaped curve relative to the lookback window.
    startAtBar (simple int)
  Returns: yhat The estimated values according to the Sigmoid Kernel.

🌸 ----- GoemonYae Trading System (GYTS) ----- 🌸
💬 Discord Server: discord.gg/ssSn4aAXdn
👔 personal LinkedIn: www.linkedin.com/in/arthur-nazarian
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

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.