Factorium is a Polars-first factor research & backtesting toolkit.
- Data pipeline:
BinanceDataLoader+AggBar→ multi-symbol OHLCV panel in one line. - Factor engine:
Factorwith rich TS/CS/math ops and expression parsing. - Analysis:
FactorAnalyzer+FactorAnalysisResultfor IC, quantile returns, and plots. - Backtest:
VectorizedBacktester(exposed asfactorium.backtest.Backtester) with Polars-vectorized PnL. - Research workflow:
ResearchSession+FactorReportto tie everything into a notebook-friendly API.
For a Chinese introduction, see README_zh.md.
# Recommended
uv add factorium
# Or with pip
pip install factoriumDevelopment setup:
git clone https://github.com/novis10813/factorium.git
cd factorium
uv sync --devfrom factorium import ResearchSession
session = ResearchSession.from_parquet("data/btc_1h.parquet")
close = session.factor("close")
momentum = (close.ts_delta(20) / close.ts_shift(20)).cs_rank()
print(session.quick_report(momentum, periods=1))More complete guides live under docs/:
docs/getting-started/quickstart.mddocs/user-guide/bar.mddocs/user-guide/factor.mddocs/user-guide/analyzer.mddocs/user-guide/backtest.md
MIT – see LICENSE.