RicardoSantos

MathProbabilityDistribution

Library "MathProbabilityDistribution"
Probability Distribution Functions.

name( idx ) Indexed names helper function.
  Parameters:
    idx: int, position in the range (0, 6).
  Returns: string, distribution name.
usage:
.name(1)
Notes:
(0) => 'StdNormal'
(1) => 'Normal'
(2) => 'Skew Normal'
(3) => 'Student T'
(4) => 'Skew Student T'
(5) => 'GED'
(6) => 'Skew GED'

zscore(position, mean, deviation) Z-score helper function for x calculation.
  Parameters:
    position: float, position.
    mean: float, mean.
    deviation: float, standard deviation.
  Returns: float, z-score.
usage:
.zscore(1.5, 2.0, 1.0)

std_normal(position) Standard Normal Distribution.
  Parameters:
    position: float, position.
  Returns: float, probability density.
usage:
.std_normal(0.6)

normal(position, mean, scale) Normal Distribution.
  Parameters:
    position: float, position in the distribution.
    mean: float, mean of the distribution, default=0.0 for standard distribution.
    scale: float, scale of the distribution, default=1.0 for standard distribution.
  Returns: float, probability density.
usage:
.normal(0.6)

skew_normal(position, skew, mean, scale) Skew Normal Distribution.
  Parameters:
    position: float, position in the distribution.
    skew: float, skewness of the distribution.
    mean: float, mean of the distribution, default=0.0 for standard distribution.
    scale: float, scale of the distribution, default=1.0 for standard distribution.
  Returns: float, probability density.
usage:
.skew_normal(0.8, -2.0)

ged(position, shape, mean, scale) Generalized Error Distribution.
  Parameters:
    position: float, position.
    shape: float, shape.
    mean: float, mean, default=0.0 for standard distribution.
    scale: float, scale, default=1.0 for standard distribution.
  Returns: float, probability.
usage:
.ged(0.8, -2.0)

skew_ged(position, shape, skew, mean, scale) Skew Generalized Error Distribution.
  Parameters:
    position: float, position.
    shape: float, shape.
    skew: float, skew.
    mean: float, mean, default=0.0 for standard distribution.
    scale: float, scale, default=1.0 for standard distribution.
  Returns: float, probability.
usage:
.skew_ged(0.8, 2.0, 1.0)

student_t(position, shape, mean, scale) Student-T Distribution.
  Parameters:
    position: float, position.
    shape: float, shape.
    mean: float, mean, default=0.0 for standard distribution.
    scale: float, scale, default=1.0 for standard distribution.
  Returns: float, probability.
usage:
.student_t(0.8, 2.0, 1.0)

skew_student_t(position, shape, skew, mean, scale) Skew Student-T Distribution.
  Parameters:
    position: float, position.
    shape: float, shape.
    skew: float, skew.
    mean: float, mean, default=0.0 for standard distribution.
    scale: float, scale, default=1.0 for standard distribution.
  Returns: float, probability.
usage:
.skew_student_t(0.8, 2.0, 1.0)

select(distribution, position, mean, scale, shape, skew, log) Conditional Distribution.
  Parameters:
    distribution: string, distribution name.
    position: float, position.
    mean: float, mean, default=0.0 for standard distribution.
    scale: float, scale, default=1.0 for standard distribution.
    shape: float, shape.
    skew: float, skew.
    log: bool, if true apply log() to the result.
  Returns: float, probability.
usage:
.select('StdNormal', __CYCLE4F__, log=true)

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.