A powerful quantitative factor cleaning and analysis library
Project description
AlphaPurify
AlphaPurify is a high-performance quantitative factor analysis and purification toolkit designed for institutional-grade research workflows.
It provides a fully modular, vectorized, and multiprocessing-enabled framework for factor cleaning, evaluation, exposure decomposition, and portfolio attribution — built on a modern Polars-based architecture for large-scale cross-sectional datasets.
🚀 Key Features
-
⚡ High Performance
- Nearly fully vectorized architecture powered by Polars
- Optimized for large-scale cross-sectional panel data
- Memory-efficient structural safeguards
-
🧩 Fully Modular Design
- Each module can be used independently
- Seamlessly integrated into custom research pipelines
- Minimal coupling between components
-
📊 Comprehensive Factor Research Engine
- Cross-sectional IC analysis
- Horizon autocorrelation
- Quantile portfolio backtesting
- Turnover measurement
- Industry-level attribution
- Long–short, long-only, and short-only evaluation
-
🧪 Advanced Factor Cleaning Toolkit
- 40+ preprocessing techniques
- Robust winsorization
- Regression-based neutralization
- Polynomial & robust regression options
- Advanced standardization methods
-
📈 Exposure & Return Attribution
- Systematic exposure decomposition
- Residual alpha estimation
- Cumulative attribution curves
- Interactive Plotly visualizations
-
🕒 Frequency-Agnostic
- Supports intraday, daily, weekly, and high-frequency datasets
- No structural modifications required
-
🛡 Look-Ahead Bias Protection
- Forward return construction safeguards
- Rebalancing alignment protection
- Parameter-level anti-leakage controls
📦 Installation
pip install alphapurify
## 📊 Example Workflow
from alphapurify import AlphaPurifier, FactorAnalyzer
# Load your DataFrame
df = ...
# Clean factor
cleaned = (
AlphaPurifier(df, factor_col="alpha")
.winsorize(method="mad")
.neutralize(neutralizer_cols=["size", "industry"])
.standardize(method="zscore")
.to_result()
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alphapurify-0.1.0.tar.gz.
File metadata
- Download URL: alphapurify-0.1.0.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8a16bc55226d75662852103020dc71de58219e0b8db5cc66f2ca938cd80924b
|
|
| MD5 |
191142b9d0cd32cb15b03337708c4643
|
|
| BLAKE2b-256 |
69b74e90174452068e32b9d66602fd917f632c2f34da10e5586ffa0f63913945
|
File details
Details for the file alphapurify-0.1.0-py3-none-any.whl.
File metadata
- Download URL: alphapurify-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eee9ef74965062c1696a573183c76282f78a4b1bee5a710f79911149fcef450
|
|
| MD5 |
dbb6c07066f55af24de63411c62d2077
|
|
| BLAKE2b-256 |
cb8ccd9e3ee360b21e35d1caa9aa8765e44f2c1d49f5be854c00f698df5f8ba0
|