Goal
Provide a lightweight market screener API for batch symbol evaluation without turning the library into a platform.
Why
Users need an operational path to evaluate many symbols/rules in one call using existing indicators/strategies.
Implementation prompt
Add a simple API such as:
screen(symbols, ruleFn, dataProvider, options)
evaluateBatch(dataset, ruleFn)
Requirements:
- Async-friendly data provider contract
- Deterministic rule evaluation order
- Structured results per symbol (
passed, score?, reason?)
Scope
- Library-side utility only (no UI, no scheduler, no orchestration service)
- Works with indicator and strategy outputs
- Optional concurrency controls and timeout policies
Acceptance criteria
- Users can run one rule across multiple symbols with a single function call
- Output schema is typed and stable
- README includes one screener example
- Tests cover provider failures, empty datasets, and deterministic ordering
Test plan
- Unit tests with mocked provider/rule functions
- Integration smoke test using synthetic OHLCV sets
- Performance sanity check for 100+ symbol batch
Goal
Provide a lightweight market screener API for batch symbol evaluation without turning the library into a platform.
Why
Users need an operational path to evaluate many symbols/rules in one call using existing indicators/strategies.
Implementation prompt
Add a simple API such as:
screen(symbols, ruleFn, dataProvider, options)evaluateBatch(dataset, ruleFn)Requirements:
passed,score?,reason?)Scope
Acceptance criteria
Test plan