PINE LIBRARY

NormalDistributionFunctions

Updated
Library "NormalDistributionFunctions"
The NormalDistributionFunctions library encompasses a comprehensive suite of statistical tools for financial market analysis. It provides functions to calculate essential statistical measures such as mean, standard deviation, skewness, and kurtosis, alongside advanced functionalities for computing the probability density function (PDF), cumulative distribution function (CDF), Z-score, and confidence intervals. This library is designed to assist in the assessment of market volatility, distribution characteristics of asset returns, and risk management calculations, making it an invaluable resource for traders and financial analysts.

meanAndStdDev(source, length)
  Calculates and returns the mean and standard deviation for a given data series over a specified period.
  Parameters:
    source (float): float: The data series to analyze.
    length (int): int: The lookback period for the calculation.
  Returns: Returns an array where the first element is the mean and the second element is the standard deviation of the data series for the given period.

skewness(source, mean, stdDev, length)
  Calculates and returns skewness for a given data series over a specified period.
  Parameters:
    source (float): float: The data series to analyze.
    mean (float): float: The mean of the distribution.
    stdDev (float): float: The standard deviation of the distribution.
    length (int): int: The lookback period for the calculation.
  Returns: Returns skewness value

kurtosis(source, mean, stdDev, length)
  Calculates and returns kurtosis for a given data series over a specified period.
  Parameters:
    source (float): float: The data series to analyze.
    mean (float): float: The mean of the distribution.
    stdDev (float): float: The standard deviation of the distribution.
    length (int): int: The lookback period for the calculation.
  Returns: Returns kurtosis value

pdf(x, mean, stdDev)
  pdf: Calculates the probability density function for a given value within a normal distribution.
  Parameters:
    x (float): float: The value to evaluate the PDF at.
    mean (float): float: The mean of the distribution.
    stdDev (float): float: The standard deviation of the distribution.
  Returns: Returns the probability density function value for x.

cdf(x, mean, stdDev)
  cdf: Calculates the cumulative distribution function for a given value within a normal distribution.
  Parameters:
    x (float): float: The value to evaluate the CDF at.
    mean (float): float: The mean of the distribution.
    stdDev (float): float: The standard deviation of the distribution.
  Returns: Returns the cumulative distribution function value for x.

confidenceInterval(mean, stdDev, size, confidenceLevel)
  Calculates the confidence interval for a data series mean.
  Parameters:
    mean (float): float: The mean of the data series.
    stdDev (float): float: The standard deviation of the data series.
    size (int): int: The sample size.
    confidenceLevel (float): float: The confidence level (e.g., 0.95 for 95% confidence).
  Returns: Returns the lower and upper bounds of the confidence interval.
Release Notes
v2

Added:
meanAndStdDevFiltered(condition, source, size)
  Calculates average and standard deviation for filtered discontinuous data based on a condition.
  Parameters:
    condition (bool): (bool): A boolean condition to filter data for inclusion.
    source (float): (float): The data point to consider for inclusion based on the condition.
    size (int): (int): The maximum size of the data array; older data points are removed if exceeded.
  Returns: : A tuple containing the average and standard deviation of the filtered data set.

calculateZScoreRange(mean, stdDev, zScore)
  Calculates and returns the lower and upper bounds of a range based on the mean, standard deviation, and z-score.
  Parameters:
    mean (float): (float): The mean of the distribution.
    stdDev (float): (float): The standard deviation of the distribution.
    zScore (float): (float): The z-score representing the number of standard deviations from the mean.
  Returns: Returns an array where the first element is the lower bound and the second element is the upper bound of the range.

Updated:
meanAndStdDev(source, length)
  Calculates and returns the mean and standard deviation for a given data series over a specified period.
  Parameters:
    source (float): (float): The data series to analyze.
    length (int): (int): The lookback period for the calculation.
  Returns: Returns an array where the first element is the mean and the second element is the standard deviation of the data series for the given period.

skewness(source, mean, stdDev, length)
  Calculates and returns skewness for a given data series over a specified period.
  Parameters:
    source (float): (float): The data series to analyze.
    mean (float): (float): The mean of the distribution.
    stdDev (float): (float): The standard deviation of the distribution.
    length (int): (int): The lookback period for the calculation.
  Returns: Returns skewness value

kurtosis(source, mean, stdDev, length)
  Calculates and returns kurtosis for a given data series over a specified period.
  Parameters:
    source (float): (float): The data series to analyze.
    mean (float): (float): The mean of the distribution.
    stdDev (float): (float): The standard deviation of the distribution.
    length (int): (int): The lookback period for the calculation.
  Returns: Returns kurtosis value

pdf(x, mean, stdDev)
  pdf: Calculates the probability density function for a given value within a normal distribution.
  Parameters:
    x (float): (float): The value to evaluate the PDF at.
    mean (float): (float): The mean of the distribution.
    stdDev (float): (float): The standard deviation of the distribution.
  Returns: Returns the probability density function value for x.

cdf(x, mean, stdDev)
  cdf: Calculates the cumulative distribution function for a given value within a normal distribution.
  Parameters:
    x (float): (float): The value to evaluate the CDF at.
    mean (float): (float): The mean of the distribution.
    stdDev (float): (float): The standard deviation of the distribution.
  Returns: Returns the cumulative distribution function value for x.

confidenceInterval(mean, stdDev, size, confidenceLevel)
  Calculates the confidence interval for a data series mean.
  Parameters:
    mean (float): (float): The mean of the data series.
    stdDev (float): (float): The standard deviation of the data series.
    size (int): (int): The sample size.
    confidenceLevel (float): (float): The confidence level (e.g., 0.95 for 95% confidence).
  Returns: Returns the lower and upper bounds of the confidence interval.
Release Notes
v3

Added:
zScore(x, mean, stdDev)
  zScore: Calculates the Z-score for a given value.
  Parameters:
    x (float): (float): The value to calculate the Z-score for.
    mean (float): (float): The mean of the data series.
    stdDev (float): (float): The standard deviation of the data series.
  Returns: Returns the Z-score of x.
confidence_intervalKurtosis IndicatormeannormaldistributionprobabilitydensityfunctionskewnessstatisticsStandard Deviation (Volatility)zscore

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.


Also on:

Disclaimer