evtpooling contains the framework needed to improve tail risk forecasts
Project description
evtpooling contains the framework needed to improve tail risk forecasts through robust data cleaning, transformation, and loss return calculations. It provides flexible ETL utilities for handling time series stock data, validating completeness, transforming data, and calculating daily and weekly loss returns.
The ETL pipeline is now fully implemented and production-ready. The project structure, linting, formatting, and pre-commit tooling have been modernized using pyproject.toml and pre-commit, replacing legacy configs such as setup.cfg, tox.ini, and .travis.yml. The codebase adheres to a unified standard via Ruff, Black, and Mypy integration.
Features
Full ETL pipeline for financial time series data
Data validation with dtype checking
Missing data imputation by group means
Categorical cleaning and fuzzy matching for string variables
Daily percentage loss return calculations
Weekly loss return calculations with anchor logic
Visualization of VaR and tail index metrics
Visualization of loss return distributions
Common tail index testing
Flexible pivoting to generate wide-format datasets for downstream modeling
Clean architecture with separate transform and test modules
Centralized configuration in pyproject.toml
Pre-commit hooks for Ruff, Black, and formatting checks
GitHub Actions-compatible setup
Installation
You can install the released version from PyPI using:
pip install evtpooling
Or install directly from the source (development version):
git clone https://github.com/JTKimQF/evtpooling.git
cd evtpooling
pip install -e .
Usage Example
Example ETL usage:
from evtpooling import (
extract_file,
transform_data,
load_file,
etl_pipeline
)
# filepath = 'path/to/your/data.csv'
clean_df = etl_pipeline(filepath)
For further details check out the testing_script.py file
Documentation
Full documentation and function reference is available inside the code base (src/evtpooling/etl/transform.py).
License
MIT License
Copyright (c) 2025 J.T. Kim
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
Project details
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 evtpooling-0.2.1.tar.gz.
File metadata
- Download URL: evtpooling-0.2.1.tar.gz
- Upload date:
- Size: 30.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86dbbb767382569dd42d856c58d179faff1a4cc877ab7d3c9dfcd41ce5cbd509
|
|
| MD5 |
fbbcc80a94dfe491b0f44b0ec1515fa4
|
|
| BLAKE2b-256 |
463dd42341fd1a49f964eb34e5d1c8fd0e9d36a15660022f3644dc4e00fed6b5
|
File details
Details for the file evtpooling-0.2.1-py3-none-any.whl.
File metadata
- Download URL: evtpooling-0.2.1-py3-none-any.whl
- Upload date:
- Size: 22.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be1080b9acb316ca023bd4e953be2636e88f3c33866d42dc487945baf3eb24ba
|
|
| MD5 |
774504cd1d723c15454e43b429e4c13f
|
|
| BLAKE2b-256 |
99dd98dc5ad4276835616b8e246e4f9620beaa007873b242d75c14b992eb16d1
|