TSRunningSum function
The TSRunningSum function computes a running sum over SMALLFLOAT or DOUBLE PRECISION values.
Syntax
TSRunningSum(value smallfloat,
num_values integer)
returns smallfloat;
TSRunningSum(value double precision,
num_values integer)
returns double precision;
- value
- The input value to include in the running sum.
- num_values
- The number of values to include in the running sum, k.
Description
A running sum is the sum of the last k values, where k is supplied by the user. If a value is NULL, the previous value is used.
This function runs over a fixed number of elements, not over a fixed length of time; therefore, it might not be appropriate for irregular time series.
This function is useful only when used within the Apply function.
Returns
A SMALLFLOAT or DOUBLE PRECISION running sum of the last k values.
Example
The following function calculates
the volume accumulation percentage. The columns represented
by a through e are: high, low, close, volume,
and number_of_days, respectively:
create function VAP(a float, b float,c float,d float, e int) returns int;
return cast(100 * TSRunningSum(d * ((c - b) - (a - c))/
(.0001 + a - b), e)/(.0001 + TSRunningSum(d,e)) as int);
end function;