Operator: abs(x)
Description: Absolute value of x

Operator: add(x, y, filter = false)
Description: Add all inputs (at least 2 inputs required). If filter = true, filter all input NaN to 0 before adding

Operator: densify(x)
Description: Converts a grouping field of many buckets into lesser number of only available buckets so as to make working with grouping fields computationally efficient

Operator: divide(x, y)
Description: x / y

Operator: inverse(x)
Description: 1 / x

Operator: log(x)
Description: Natural logarithm. For example: Log(high/low) uses natural logarithm of high/low ratio as stock weights.

Operator: max(x, y, ..)
Description: Maximum value of all inputs. At least 2 inputs are required

Operator: min(x, y ..)
Description: Minimum value of all inputs. At least 2 inputs are required

Operator: multiply(x ,y, ... , filter=false)
Description: Multiply all inputs. At least 2 inputs are required. Filter sets the NaN values to 1

Operator: power(x, y)
Description: x ^ y

Operator: reverse(x)
Description: - x

Operator: sign(x)
Description: if input > 0, return 1; if input < 0, return -1; if input = 0, return 0; if input = NaN, return NaN;

Operator: signed_power(x, y)
Description: x raised to the power of y such that final result preserves sign of x

Operator: sqrt(x)
Description: Square root of x

Operator: subtract(x, y, filter=false)
Description: x-y. If filter = true, filter all input NaN to 0 before subtracting

Operator: and(input1, input2)
Description: Logical AND operator, returns true if both operands are true and returns false otherwise

Operator: if_else(input1, input2, input 3)
Description: If input1 is true then return input2 else return input3.

Operator: input1 < input2
Description: If input1 < input2 return true, else return false

Operator: input1 <= input2
Description: Returns true if input1 <= input2, return false otherwise

Operator: input1 == input2
Description: Returns true if both inputs are same and returns false otherwise

Operator: input1 > input2
Description: Logic comparison operators to compares two inputs

Operator: input1 >= input2
Description: Returns true if input1 >= input2, return false otherwise

Operator: input1!= input2
Description: Returns true if both inputs are NOT the same and returns false otherwise

Operator: is_nan(input)
Description: If (input == NaN) return 1 else return 0

Operator: not(x)
Description: Returns the logical negation of x. If x is true (1), it returns false (0), and if input is false (0), it returns true (1).

Operator: or(input1, input2)
Description: Logical OR operator returns true if either or both inputs are true and returns false otherwise

Operator: days_from_last_change(x)
Description: Amount of days since last change of x

Operator: hump(x, hump = 0.01)
Description: Limits amount and magnitude of changes in input (thus reducing turnover)

Operator: kth_element(x, d, k)
Description: Returns K-th value of input by looking through lookback days. This operator can be used to backfill missing data if k=1

Operator: last_diff_value(x, d)
Description: Returns last x value not equal to current x value from last d days

Operator: ts_arg_max(x, d)
Description: Returns the relative index of the max value in the time series for the past d days. If the current day has the max value for the past d days, it returns 0. If previous day has the max value for the past d days, it returns 1

Operator: ts_arg_min(x, d)
Description: Returns the relative index of the min value in the time series for the past d days; If the current day has the min value for the past d days, it returns 0; If previous day has the min value for the past d days, it returns 1.

Operator: ts_av_diff(x, d)
Description: Returns x - tsmean(x, d), but deals with NaNs carefully. That is NaNs are ignored during mean computation

Operator: ts_backfill(x,lookback = d, k=1, ignore="NAN")
Description: Backfill is the process of replacing the NAN or 0 values by a meaningful value (i.e., a first non-NaN value)

Operator: ts_corr(x, y, d)
Description: Returns correlation of x and y for the past d days

Operator: ts_count_nans(x ,d)
Description: Returns the number of NaN values in x for the past d days

Operator: ts_covariance(y, x, d)
Description: Returns covariance of y and x for the past d days

Operator: ts_decay_linear(x, d, dense = false)
Description: Returns the linear decay on x for the past d days. Dense parameter=false means operator works in sparse mode and we treat NaN as 0. In dense mode we do not.

Operator: ts_delay(x, d)
Description: Returns x value d days ago

Operator: ts_delta(x, d)
Description: Returns x - ts_delay(x, d)

Operator: ts_mean(x, d)
Description: Returns average value of x for the past d days.

Operator: ts_product(x, d)
Description: Returns product of x for the past d days

Operator: ts_quantile(x,d, driver="gaussian" )
Description: It calculates ts_rank and apply to its value an inverse cumulative density function from driver distribution. Possible values of driver (optional ) are "gaussian", "uniform", "cauchy" distribution where "gaussian" is the default.

Operator: ts_rank(x, d, constant = 0)
Description: Rank the values of x for each instrument over the past d days, then return the rank of the current value + constant. If not specified, by default, constant = 0.

Operator: ts_regression(y, x, d, lag = 0, rettype = 0)
Description: Returns various parameters related to regression function

Operator: ts_scale(x, d, constant = 0)
Description: Returns (x - ts_min(x, d)) / (ts_max(x, d) - ts_min(x, d)) + constant. This operator is similar to scale down operator but acts in time series space

Operator: ts_std_dev(x, d)
Description: Returns standard deviation of x for the past d days

Operator: ts_step(1)
Description: Returns days' counter

Operator: ts_sum(x, d)
Description: Sum values of x for the past d days.

Operator: ts_zscore(x, d)
Description: Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean: (x - tsmean(x,d)) / tsstddev(x,d). This operator may help reduce outliers and drawdown.

Operator: normalize(x, useStd = false, limit = 0.0)
Description: Calculates the mean value of all valid alpha values for a certain date, then subtracts that mean from each element

Operator: quantile(x, driver = gaussian, sigma = 1.0)
Description: Rank the raw vector, shift the ranked Alpha vector, apply distribution (gaussian, cauchy, uniform). If driver is uniform, it simply subtract each Alpha value with the mean of all Alpha values in the Alpha vector

Operator: rank(x, rate=2)
Description: Ranks the input among all the instruments and returns an equally distributed number between 0.0 and 1.0. For precise sort, use the rate as 0

Operator: scale(x, scale=1, longscale=1, shortscale=1)
Description: Scales input to booksize. We can also scale the long positions and short positions to separate scales by mentioning additional parameters to the operator

Operator: winsorize(x, std=4)
Description: Winsorizes x to make sure that all values in x are between the lower and upper limits, which are specified as multiple of std.

Operator: zscore(x)
Description: Z-score is a numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean

Operator: vec_avg(x)
Description: Taking mean of the vector field x

Operator: vec_sum(x)
Description: Sum of vector field x

Operator: bucket(rank(x), range="0, 1, 0.1" or buckets = "2,5,6,7,10")
Description: Convert float values into indexes for user-specified buckets. Bucket is useful for creating group values, which can be passed to GROUP as input

Operator: trade_when(x, y, z)
Description: Used in order to change Alpha values only under a specified condition and to hold Alpha values in other cases. It also allows to close Alpha positions (assign NaN values) under a specified condition

Operator: group_backfill(x, group, d, std = 4.0)
Description: If a certain value for a certain date and instrument is NaN, from the set of same group instruments, calculate winsorized mean of all non-NaN values over last d days

Operator: group_mean(x, weight, group)
Description: All elements in group equals to the mean

Operator: group_neutralize(x, group)
Description: Neutralizes Alpha against groups. These groups can be subindustry, industry, sector, country or a constant

Operator: group_rank(x, group)
Description: Each elements in a group is assigned the corresponding rank in this group

Operator: group_scale(x, group)
Description: Normalizes the values in a group to be between 0 and 1. (x - groupmin) / (groupmax - groupmin)

Operator: group_zscore(x, group)
Description: Calculates group Z-score - numerical measurement that describes a value's relationship to the mean of a group of values. Z-score is measured in terms of standard deviations from the mean. zscore = (data - mean) / stddev of x for each instrument within its group.