SkillAgentSearch skills...

Elvers

Multi-factor alpha research platform for systematic trading

Install / Use

/learn @quantbai/Elvers
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <img src="https://raw.githubusercontent.com/quantbai/elvers/main/assets/elvers.svg" alt="Elvers" width="500">

PyPI CI License Python 3.10+ Polars

</div>

Polars-native quantitative research platform. All computation executes as Rust-backed Polars expressions with no Python loops in the hot path.

Pre-1.0 development. API is stabilizing but may have breaking changes between minor versions. See CHANGELOG.md.

Pipeline

Elvers covers the full quantitative research workflow:

| Step | Module | Status | |------|--------|--------| | 1. Universe Selection | universe/ | Planned | | 2. Data Acquisition | data/providers/ | Planned | | 3. Data Storage | data/store.py | Planned | | 4. Factor Computation | ops/ | 72 operators | | 5. Factor Analysis | analysis/ | Planned | | 6. Multi-Factor Synthesis | synthesis/ | Planned | | 7. Portfolio Construction | portfolio/ | Planned | | 8. Backtesting | backtest/ | Planned | | 9. Risk Management | risk/ | Planned | | 10. Execution | execution/ | Planned | | 11. Post-Trade Analysis | execution/post_trade.py | Planned | | 12. Monitoring | monitor/ | Planned |

Design

  • Column-based. Factor stores a column name + Panel reference. All data lives in a single Panel DataFrame. Zero intermediate copies, zero hash joins. Same-expression memoization.
  • Balanced alignment. Panel guarantees every symbol shares the same timestamp index. Missing values are explicit nulls. Look-ahead bias is prevented by construction.
  • Single null semantics. NaN and Inf are converted to null on column creation. One missing-value type eliminates NaN-infection.

Installation

pip install elvers

Usage

from elvers import load, ts_rank, zscore, signal

panel = load()
close = panel["close"]
alpha = signal(zscore(ts_rank(close, 30)))

Operators

72 operators. All accept and return Factor.

Time-Series -- per-symbol rolling window:

ts_delay ts_delta ts_mean ts_sum ts_std_dev ts_min ts_max ts_median ts_rank ts_skewness ts_kurtosis ts_zscore ts_corr ts_covariance ts_product ts_step ts_decay_linear ts_decay_exp_window days_from_last_change ts_av_diff ts_scale ts_percentile ts_quantile ts_cv ts_autocorr ts_count_nans ts_backfill kth_element last_diff_value inst_tvr ts_delta_limit ts_regression trade_when

Cross-Sectional -- across symbols at each timestamp:

rank zscore mean median scale normalize quantile signal winsorize truncate left_tail right_tail

Neutralization and Group -- sector/industry control:

vector_neut regression_neut group_neutralize group_rank group_zscore group_scale group_normalize group_mean group_median group_backfill

Math -- element-wise transforms:

log sqrt sign power signed_power inverse s_log_1p maximum minimum where

Arithmetic:

add subtract multiply divide reverse densify bucket and standard operators (+ - * / ** abs)

Full specifications: OPERATORS.md

Development

pip install -e ".[dev]"
pytest tests/ -v
ruff check elvers/
pyright elvers/

See CONTRIBUTING.md for the contributor guide.

Related Skills

View on GitHub
GitHub Stars42
CategoryEducation
Updated12h ago
Forks1

Languages

Python

Security Score

90/100

Audited on Mar 29, 2026

No findings