jdehorty

KernelFunctions

jdehorty Updated   
Library "KernelFunctions"
This library provides non-repainting kernel functions for Nadaraya-Watson estimator implementations. This allows for easy substitution/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. Compared to Moving Averages (which are really just simple kernels themselves), these kernel functions are more adaptive and afford the user an unprecedented degree of customization and flexibility.

rationalQuadratic(_src, _lookback, _relativeWeight, _startAtBar)
  Rational Quadratic Kernel - An infinite sum of Gaussian Kernels of different length scales.
  Parameters:
    _src: <float series> 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.
    _relativeWeight: <simple float> Relative weighting of time frames. Smaller values result 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> Bar index on which to start regression. The first bars of a chart are often highly volatile, and omitting these initial bars often leads to a better overall fit.
  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 series> 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> Bar index on which to start regression. The first bars of a chart are often highly volatile, and omitting these initial bars often leads to a better overall fit.
  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 that repeat themselves exactly.
  Parameters:
    _src: <float series> 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.
    _period: <simple int> The distance between repititions of the function.
    _startAtBar: <simple int> Bar index on which to start regression. The first bars of a chart are often highly volatile, and omitting these initial bars often leads to a better overall fit.
  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 series> 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.
    _period: <simple int> The distance between repititions of the function.
    _startAtBar: <simple int> Bar index on which to start regression. The first bars of a chart are often highly volatile, and omitting these initial bars often leads to a better overall fit.
  Returns: yhat <float series> The estimated values according to the Locally Periodic Kernel.
Release Notes:
v2

Updated:
Allow float for relativeWeight of the Rational Quadratic Kernel
rationalQuadratic(_src, _lookback, _relativeWeight, _startAtBar)
  Rational Quadratic Kernel - An infinite sum of Gaussian Kernels of different length scales.
  Parameters:
    _src: The source series.
    _lookback: The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars.
    _relativeWeight: 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: Bar index on which to start regression. The first bars of a chart are often highly volatile, and omission of these initial bars often leads to a better overall fit.
  Returns: yhat The estimated values according to the Rational Quadratic Kernel.

❤️ Patreon w/ Lorentzian Beta: www.patreon.com/jdehorty

🎥 Lorentzian Classification Tutorial: youtu.be/AdINVvnJfX4

🤖 Discord w/ Deep Forecast: discord.gg/djXT5sAPfQ

⏩ LinkedIn: www.linkedin.com/in/justin-dehorty
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.