Systemicalpha

!=

systemic:core-neqLogicfunction1 cr

Inputs

NameTypeDescription
First ValuefloatarrayThe first numeric series for comparison.
Second ValuefloatarrayThe second numeric series for comparison.

Outputs

NameTypeDescription
NEQbooleanarrayThe element-wise inequality result.
Resulti={nullif Ai or Bi is nulltrueif Ai≠Bifalseif Ai=Bi\text{Result}_i = \begin{cases} \text{null} & \text{if } A_i \text{ or } B_i \text{ is null} \\ \text{true} & \text{if } A_i \neq B_i \\ \text{false} & \text{if } A_i = B_i \end{cases}

The Not Equal module performs element-wise inequality comparison between two data series, returning true when values differ and false when they match.

Value AValue BA ≠ B
100100false
100101true
50.550.5false
-1010true

Missing Data

If either input is missing (null) at a position — a data gap or a closed-market day — the comparison at that position is null. The module never fabricates a boolean: a one-sided gap is not a "values changed" signal, and two simultaneous gaps are not "values match" — both are simply unknown.

Value AValue BA ≠ B
100nullnull
null100null
nullnullnull

NEQ has no mathematically undefined cases beyond missing data: inequality is defined for every pair of real numbers, including infinities.

In live execution the module returns exactly one datapoint — the newest position — which is null when it cannot be determined.


Floating-Point Precision

⚠️ Critical: Floating-point numbers may have tiny precision differences that cause unexpected results.

ExpressionExpectedActual Result
0.1 + 0.2 != 0.3falsetrue

Why? Computers store decimals in binary, which can't perfectly represent all fractions. The value 0.1 + 0.2 is stored as 0.30000000000000004, making it technically "not equal" to 0.3.

Implication: NEQ may return true for values that are mathematically equal but differ due to floating-point representation.


Input Alignment

When inputs have different lengths or frequencies, Systemic automatically aligns them:

ScenarioBehavior
Different lengthsShorter series is padded by repeating its last value
Different frequenciesLower-frequency series is upsampled to match
Constant vs seriesConstant is broadcast to all time points

Practical Example

Change detection: Compare the current value to the previous value to detect when a signal has changed state. NEQ outputs true at the moment of transition. A data gap on either side produces null, never a false "changed" signal.


  • EQ — Equality comparison (opposite of NEQ)
  • GTR / LST — Greater than / Less than comparisons
  • NOT — Invert boolean results
© 2026 WanoLabs. All rights reservedAlpha build v0.1.5