PINE LIBRARY

GaussianDistribution

Aktualisiert
Library "GaussianDistribution"
This library defines a custom type `distr` representing a Gaussian (or other statistical) distribution.
It provides methods to calculate key statistical moments and scores, including mean, median, mode, standard deviation, variance, skewness, kurtosis, and Z-scores.
This library is useful for analyzing probability distributions in financial data.

Disclaimer:
I am not a mathematician, but I have implemented this library to the best of my understanding and capacity. Please be indulgent as I tried to translate statistical concepts into code as accurately as possible. Feedback, suggestions, and corrections are welcome to improve the reliability and robustness of this library.

mean(source, length)
  Calculate the mean (average) of the distribution
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
  Returns: Mean (μ)

stdev(source, length)
  Calculate the standard deviation (σ) of the distribution
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
  Returns: Standard deviation (σ)

skewness(source, length, mean, stdev)
  Calculate the skewness (γ₁) of the distribution
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
    mean (float): the mean (average) of the distribution
    stdev (float): the standard deviation (σ) of the distribution
return Skewness (γ₁)

skewness(source, length)
  Overloaded skewness to calculate from source and length
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
return Skewness (γ₁)

mode(mean, stdev, skewness)
  Estimate mode - Most frequent value in the distribution (approximation based on skewness)
  Parameters:
    mean (float): the mean (average) of the distribution
    stdev (float): the standard deviation (σ) of the distribution
    skewness (float): the skewness (γ₁) of the distribution
return Mode

mode(source, length)
  Overloaded mode to calculate from source and length
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
return Mode

median(mean, stdev, skewness)
  Estimate median - Middle value of the distribution (approximation)
  Parameters:
    mean (float): the mean (average) of the distribution
    stdev (float): the standard deviation (σ) of the distribution
    skewness (float): the skewness (γ₁) of the distribution
return Median

median(source, length)
  Overloaded median to calculate from source and length
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
return Median

variance(stdev)
  Calculate variance (σ²) - Square of the standard deviation
  Parameters:
    stdev (float): the standard deviation (σ) of the distribution
return Variance (σ²)

variance(source, length)
  Overloaded variance to calculate from source and length
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
return Variance (σ²)

kurtosis(source, length, mean, stdev)
  Calculate kurtosis (γ₂) - Degree of "tailedness" in the distribution
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
    mean (float): the mean (average) of the distribution
    stdev (float): the standard deviation (σ) of the distribution
return Kurtosis (γ₂)

kurtosis(source, length)
  Overloaded kurtosis to calculate from source and length
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
return Kurtosis (γ₂)

normal_score(source, mean, stdev)
  Calculate Z-score (standard score) assuming a normal distribution
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    mean (float): the mean (average) of the distribution
    stdev (float): the standard deviation (σ) of the distribution
return Z-Score

normal_score(source, length)
  Overloaded normal_score to calculate from source and length
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
return Z-Score

non_normal_score(source, mean, stdev, skewness, kurtosis)
  Calculate adjusted Z-score considering skewness and kurtosis
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    mean (float): the mean (average) of the distribution
    stdev (float): the standard deviation (σ) of the distribution
    skewness (float): the skewness (γ₁) of the distribution
    kurtosis (float): the "tailedness" in the distribution
return Z-Score

non_normal_score(source, length)
  Overloaded non_normal_score to calculate from source and length
  Parameters:
    source (float): Distribution source (typically a price or indicator series)
    length (int): Window length for the distribution (must be >= 30 for meaningful statistics)
return Z-Score

method init(this)
  Initialize all statistical fields of the `distr` type
  Namespace types: distr
  Parameters:
    this (distr)

method init(this, source, length)
  Overloaded initializer to set source and length
  Namespace types: distr
  Parameters:
    this (distr)
    source (float)
    length (int)

distr
  Custom type to represent a Gaussian distribution
  Fields:
    source (series float): Distribution source (typically a price or indicator series)
    length (series int): Window length for the distribution (must be >= 30 for meaningful statistics)
    mode (series float): Most frequent value in the distribution
    median (series float): Middle value separating the greater and lesser halves of the distribution
    mean (series float): μ (1st central moment) - Average of the distribution
    stdev (series float): σ or standard deviation (square root of the variance) - Measure of dispersion
    variance (series float): σ² (2nd central moment) - Squared standard deviation
    skewness (series float): γ₁ (3rd central moment) - Asymmetry of the distribution
    kurtosis (series float): γ₂ (4th central moment) - Degree of "tailedness" relative to a normal distribution
    normal_score (series float): Z-score assuming normal distribution
    non_normal_score (series float): Adjusted Z-score considering skewness and kurtosis
Versionshinweise
v2 Minor fixes
Versionshinweise
v3
gaussiandistributionKurtosis Indicatornon-normaldistributionnormaldistributionprobabilityskewnessstatisticalanalysisstatisticszscore

Pine Bibliothek

Ganz im Sinne von TradingView hat dieser Autor seinen/ihren Pine Code als Open-Source-Bibliothek veröffentlicht. Auf diese Weise können nun auch andere Pine-Programmierer aus unserer Community den Code verwenden. Vielen Dank an den Autor! Sie können diese Bibliothek privat oder in anderen Open-Source-Veröffentlichungen verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert.

Haftungsausschluss