Appearance

Personalize your experience

Mode
Accent Color
Direction
All Docs/QuaScript//
QuaScript logo

QuaScript Documentation

Language guide, engine API, 601 builtins and the preset library · v3.0.0-phase1

stat: statistics

Generated from the engine catalog by tools/gen-docs.mjs; do not edit.

stat.autocorr

script.qs
stat.autocorr(src, len, lag = 1) -> series

Autocorrelation at lag.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired
lagint1

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.autocorr" { overlay = true }

v = stat.autocorr(close, 20)
render.line(v, "stat.autocorr", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.beta

script.qs
stat.beta(a, b, len) -> series

Rolling beta of a against b.

ArgumentKindDefaultNotes
aseriesrequired
bseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.beta" { overlay = true }

v = stat.beta(close, ta.sma(close, 20), 20)
render.line(v, "stat.beta", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.corr

script.qs
stat.corr(a, b, len) -> series

Rolling Pearson correlation.

ArgumentKindDefaultNotes
aseriesrequired
bseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.corr" { overlay = true }

v = stat.corr(close, ta.sma(close, 20), 20)
render.line(v, "stat.corr", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.covar

script.qs
stat.covar(a, b, len) -> series

Rolling population covariance.

ArgumentKindDefaultNotes
aseriesrequired
bseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.covar" { overlay = true }

v = stat.covar(close, ta.sma(close, 20), 20)
render.line(v, "stat.covar", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.entropy

script.qs
stat.entropy(src, len, bins = 10) -> series

Normalised Shannon entropy of the value distribution (0 .. 1).

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired
binsint10

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.entropy" { overlay = true }

v = stat.entropy(close, 20)
render.line(v, "stat.entropy", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.fractal_dim

script.qs
stat.fractal_dim(src, len) -> series

Sevcik fractal dimension (1 = trend, 2 = noise).

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.fractal_dim" { overlay = true }

v = stat.fractal_dim(close, 20)
render.line(v, "stat.fractal_dim", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.hurst

script.qs
stat.hurst(src, len = 100) -> series

Hurst exponent by rescaled range (< 0.5 mean-reverting, > 0.5 trending).

ArgumentKindDefaultNotes
srcseriesrequired
lenint100

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.hurst" { overlay = true }

v = stat.hurst(close)
render.line(v, "stat.hurst", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.kurtosis

script.qs
stat.kurtosis(src, len) -> series

Excess kurtosis of the window.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.kurtosis" { overlay = true }

v = stat.kurtosis(close, 20)
render.line(v, "stat.kurtosis", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.linreg

script.qs
stat.linreg(src, len, offset = 0) -> (value, slope, intercept)

Least-squares line over the window: (value, slope, intercept).

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired
offsetint0

Returns 3 values: value, slope, intercept. Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.linreg" { overlay = true }

(v_value, v_slope, v_intercept) = stat.linreg(close, 20)
render.line(v_value, "value", color = color.sky.400, width = 2)
render.line(v_slope, "slope", color = color.amber.400, width = 2, pane = 1)
render.line(v_intercept, "intercept", color = color.violet.400, width = 2)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.mean_dev

script.qs
stat.mean_dev(src, len) -> series

Mean absolute deviation from the rolling mean.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.mean_dev" { overlay = true }

v = stat.mean_dev(close, 20)
render.line(v, "stat.mean_dev", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.mode

script.qs
stat.mode(src, len) -> series

Most frequent value of the window.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.mode" { overlay = true }

v = stat.mode(close, 20)
render.line(v, "stat.mode", color = color.sky.400, width = 2)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.percent_rank

script.qs
stat.percent_rank(src, len) -> series

Percent of the previous len-1 values that are <= src.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.percent_rank" { overlay = true }

v = stat.percent_rank(close, 20)
render.line(v, "stat.percent_rank", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.percentile

script.qs
stat.percentile(src, len, pct = 50) -> series

Rolling percentile with linear interpolation (pct = 50 is the median); na values in the window are skipped.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired
pctnum50

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.percentile" { overlay = true }

v = stat.percentile(close, 20)
render.line(v, "stat.percentile", color = color.sky.400, width = 2)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.r_squared

script.qs
stat.r_squared(src, len) -> series

R squared of a linear fit over the window.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.r_squared" { overlay = true }

v = stat.r_squared(close, 20)
render.line(v, "stat.r_squared", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.range

script.qs
stat.range(src, len) -> series

Highest minus lowest value of the window.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.range" { overlay = true }

v = stat.range(close, 20)
render.line(v, "stat.range", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.sharpe

script.qs
stat.sharpe(returns, len, periods = 252) -> series

Rolling annualised Sharpe ratio of a returns series.

ArgumentKindDefaultNotes
returnsseriesrequired
lenintrequired
periodsint252

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.sharpe" { overlay = true }

v = stat.sharpe(ta.change(close) / close[1], 20)
render.line(v, "stat.sharpe", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.skew

script.qs
stat.skew(src, len) -> series

Skewness of the window.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.skew" { overlay = true }

v = stat.skew(close, 20)
render.line(v, "stat.skew", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.stdev

script.qs
stat.stdev(src, len) -> series

Rolling population standard deviation.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.stdev" { overlay = true }

v = stat.stdev(close, 20)
render.line(v, "stat.stdev", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.sum

script.qs
stat.sum(src, len) -> series

Rolling sum.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.sum" { overlay = true }

v = stat.sum(close, 20)
render.line(v, "stat.sum", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.variance

script.qs
stat.variance(src, len) -> series

Rolling population variance.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.variance" { overlay = true }

v = stat.variance(close, 20)
render.line(v, "stat.variance", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

stat.zscore

script.qs
stat.zscore(src, len) -> series

(src - mean) / stdev over the window.

ArgumentKindDefaultNotes
srcseriesrequired
lenintrequired

Keeps state per call site.

QuaScriptengine result
Loading the engine result…
example.qs
analysis "stat.zscore" { overlay = true }

v = stat.zscore(close, 20)
render.line(v, "stat.zscore", color = color.sky.400, width = 2, pane = 1)
quatick-charts · QuaScript engine on synthetic 1-minute bars · drag to pan · scroll to zoom · Run executes the script on the engine (⌘/Ctrl+Enter while editing)

© 2026 Quatick Technologies. All rights reserved.