Skip to main content

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

evtpooling-0.2.1.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evtpooling-0.2.1-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

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

Hashes for evtpooling-0.2.1.tar.gz
Algorithm Hash digest
SHA256 86dbbb767382569dd42d856c58d179faff1a4cc877ab7d3c9dfcd41ce5cbd509
MD5 fbbcc80a94dfe491b0f44b0ec1515fa4
BLAKE2b-256 463dd42341fd1a49f964eb34e5d1c8fd0e9d36a15660022f3644dc4e00fed6b5

See more details on using hashes here.

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

Hashes for evtpooling-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 be1080b9acb316ca023bd4e953be2636e88f3c33866d42dc487945baf3eb24ba
MD5 774504cd1d723c15454e43b429e4c13f
BLAKE2b-256 99dd98dc5ad4276835616b8e246e4f9620beaa007873b242d75c14b992eb16d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page