Skip to content

Wickra ScreenerScan thousands. One condition tree.

Parallel multi-symbol screening over 514 streaming indicators. A screen is a JSON condition tree โ€” data, not code โ€” deterministic and byte-identical across ten languages.

Wickra Screener

The screen is JSON, not code โ€‹

A scan is a ScanSpec: a universe, a condition tree, and an optional rank and limit. Expressions are constants, price fields or indicators; conditions compare, cross or aggregate them.

json
{
  "universe": ["AAA", "BBB", "CCC"],
  "condition": {
    "type": "all",
    "conditions": [
      { "type": "cmp",
        "left":  { "kind": "indicator", "name": "Rsi", "params": [14] },
        "op":    "lt",
        "right": { "kind": "const", "value": 30.0 } },
      { "type": "cmp",
        "left":  { "kind": "indicator", "name": "Ema", "params": [7] },
        "op":    "crosses_above",
        "right": { "kind": "indicator", "name": "Ema", "params": [19] } }
    ]
  },
  "rank": { "by": { "kind": "indicator", "name": "Roc", "params": [10] }, "desc": true },
  "limit": 25
}

Install โ€‹

The same screen from every language โ€” native Rust, Python, Node.js and WASM, plus a C ABI for C, C++, C#, Go, Java and R.

pip install wickra-screener

Run it from any language โ€‹

Construct a Screener from the JSON spec, then drive it with command(json) -> json. Every binding returns the same bytes.

import json
from wickra_screener import Screener

spec = json.dumps({
    "universe": ["AAA", "BBB"],
    "condition": {
        "type": "cmp",
        "left": {"kind": "indicator", "name": "Rsi", "params": [14]},
        "op": "lt",
        "right": {"kind": "const", "value": 30.0},
    },
})

screener = Screener(spec)
response = screener.command(json.dumps({"cmd": "scan", "data": data}))
report = json.loads(response)
for match in report["matches"]:
    print("matched:", match["symbol"])

Built on the Wickra core โ€‹

Wickra Screener is part of the Wickra ecosystem. Every condition draws on the 514 O(1) streaming indicators of wickra-core, so a screen sees exactly the same numbers a backtest or a live chart would.

Wickra Screener is a software library, not a trading system, and comes with no warranty โ€” use at your own risk.