Solid financial ETL, analytics and utils with support to global markets.
Project description
stpstone 
stpstone (short for stepping stone) is a Python framework designed for ingesting, processing, and analyzing structured and unstructured financial data. It provides tools for ETL (Extract, Transform, Load), quantitative analysis, and derivatives pricing, optimized for financial market applications.
โจ Key Features
๐ Data Extraction
๐ง๐ท Brazilian Markets (B3)
Equities & Derivatives
- BOVESPA Cash Equities
- Futures/Options Metadata
- Consolidated Trades
- After-Market Trading
- Futures Closing Adjustments
- Historical Volatility (Sigma)
- BMF Interest Rates
- Trading Hours & Sessions
- Securities Registry
- Volume Analytics
- Warranty Information
Fixed Income
- ANBIMA 550 Bonds
- ANBIMA Indexes
- ANBIMA Index Data
- Brazilian Corporate Bonds
- Sovereign Debt Pricing
- ANBIMA Theoretical Portfolios
- ANBIMA Site Information
Macroeconomic Data
- Central Bank Data (BCB Olinda)
- FX Rates (PTAX)
- Economic Time Series (SGS BCB)
- IBGE Statistics (SIDRA)
- B3 Financial Indicators
- ANBIMA PMI Forecasts
- Investing.com Brazil Data
- Yahoo Finance Brazil Rates
- Yahoo Finance Other Data
Registries & Regulatory
- CVM Securities Data
- CVM Web Data
- CVM Direct Data
- B3 Trading Securities
- ANBIMA Funds Data
- ANBIMA Debentures Data
- Brazilian Banks Registry
- Mais Retorno Instruments
- Investment Funds Bylaws
- Tax Records (IRS Brazil)
๐บ๐ธ US Markets
Equities & ETFs
Macroeconomic Data
๐ Worldwide Markets
Cryptocurrencies
Global Markets
Global Fixed Income
Credit Ratings & Risk
๐ Data Transformation
Data Cleaning
Data Standardization
Data Validation
๐ฅ Data Loading
Database Connectors
Cloud Storage
๐ Analytics
Quantitative Analysis
- Financial Mathematics
- Statistical Inference
- Statistical Description
- Portfolio Allocation
- Regression Analysis
- Classification Models
- Probability Distributions
- Linear Algebra
- Calculus Operations
- Interpolation Methods
- Root Finding
- Sequences Analysis
- Statistical Charts
- Fit Assessment
- Josephus Problem Solver
Performance Metrics
Pricing Models
Risk Management
Computer Arithmetic
โ๏ธ Utilities
Microsoft Office Integration
- Excel Automation
- Outlook Email Handling
- Windows OS Utilities
- OneDrive Cloud Storage
- Command Line Tools
Data Parsers
Structured Data
- JSON/YAML Parsing
- YAML Configuration
- XML/HTML Parsing
- HTML Processing
- LXML Processing
- DataFrame Processing
Unstructured Data
Data Structure Parsers
- Array Processing
- Dictionary Operations
- List Processing
- String Operations
- Number Processing
- Object Handling
Specialized Formats
Data Pipelines
- Parallel Processing
- Asynchronous Workflows
- Streaming Data Flows
- Conditional Execution
- Logging Integration
- Generic Pipeline
- Multiprocessing Helper
Network Operations
Calendar & Date Utilities
Geographic Data
Data Providers
Trading & Automation
Communication & Notifications
Other Utilities
- Airflow Plugins
- Database Logging
- Log Creation
- Initial Setup
- Data Conversions
- Security & Cryptography
- System Drive Management
- LLM Integration
๐๏ธ Data Structures & Algorithms
Queue Implementations
Stack Implementations
Tree Structures
๐ Getting Started
Prerequisites:
- Python ^3.12
Optional:
-
Pyenv: Installation Guide
-
Makefile (below are some benefits of usage)
Category Example Targets Benefit Package Lifecycle build_package_pypi_org,clean_distAutomated PyPI publishing Git Workflows git_pull_force,gh_protect_mainEnforces branch policies CI/CD gh_actions_local_testsLocal pipeline validation Code Generation ingestion_concrete_creatorFactory pattern automation Dev Environment vscode_setupConsistent IDE setup -
Makefile Installation Options for Windows:
- 1: MinGW
- 2: Chocolatey: Windows Package Manager
- 2.1.: Chocolatey Make
-
Makefile Installation for MacOS:
- 1: Homebrew: MacOS Package Manager
- 1.1: Homebrew Make
-
Makefile Installation for Ubuntu: Preinstalled, no action needed
Installation Guide:
-
Option 1: Pip Install (Recommended) ๐ Available on PyPI
#!/bin/bash pip install stpstone -
Option 2: Build from Source
#!/bin/bash git clone https://github.com/guilhermegor/stpstone.git cd stpstone pyenv install 3.12.8 pyenv local 3.12.8 poetry install --no-root poetry shell -
Setting Up Make (Optional for Build Automation)
Platform Instructions Windows Install via MinGW
1. Download MinGW installer
2. Selectmingw32-makeduring installation
3. AddC:\MinGW\binto PATH
4.mingw32-make --versionMacOS Pre-installed or via Xcode CLI tools: xcode-select --installLinux Install via package manager: sudo apt-get install build-essential -
Python Kernel Versioning (Pyenv): pyenv instructions to installation
๐งช Running Tests
Execute unit and integration tests:
#!/bin/bash
poetry run python -m unittest discover -s tests/unit -p "*.py" -v
poetry run python -m unittest discover -s tests/integration -p "*.py" -v
๐ Project Structure
stpstone/
โ
โโโ ๐ .github/
โ โโโ ๐ workflows/ # GitHub Actions CI/CD pipelines
โ โโโ ๐ CODEOWNERS # Code ownership definitions
โ โโโ ๐ PULL_REQUEST_TEMPLATE.md # PR template
โ
โโโ ๐ .vscode/ # VSCode configuration
โ โโโ โ๏ธ settings.json # Editor preferences and extensions
โ
โโโ ๐ cli/ # Command Line Interface components
โ
โโโ ๐ data/ # Data storage and management
โ
โโโ ๐ docs/ # Project documentation
โ
โโโ ๐ examples/ # Example implementations
โ
โโโ ๐ img/ # Visual assets
โ
โโโ ๐ stpstone/ # Core Python package
โ โโโ ๐ _config/ # Configuration management
โ โโโ ๐ analysis/ # Analytical components
โ โโโ ๐ dsa/ # Data structures & algorithms
โ โโโ ๐ ingestion/ # Data ingestion pipelines
โ โโโ ๐ transformations/ # Data transformation logic
โ โโโ ๐ utils/ # Shared utilities
โ โโโ ๐ __init__.py # Package initialization
โ
โโโ ๐ tests/ # Test suites
โ โโโ ๐ unit/ # Unit tests
โ โโโ ๐ integration/ # Integration tests
โ โโโ ๐ performance/ # Performance benchmarking
โ
โโโ ๐ .gitignore # Git ignore patterns
โโโ โ๏ธ .pre-commit-config.yaml # Pre-commit hook configurations
โโโ ๏ฟฝ .python-version # Pyenv version specification
โโโ ๐ LICENSE # MIT License file
โโโ โ๏ธ Makefile # Automation tasks
โโโ ๐ฆ poetry.lock # Exact dependency versions
โโโ โ๏ธ pyproject.toml # Project metadata and dependencies
โโโ ๐ README.md # Project overview
โโโ ๐ฆ requirements.txt # Production dependencies
โโโ ๐ง requirements-dev.txt # Development dependencies
โโโ ๐ป requirements-venv.txt # Virtual environment setup
๐จโ๐ป Authors
๐ License
This project is licensed under the MIT License - see LICENSE for details.
๐ Acknowledgments
-
Inspired by open-source financial libraries and tools
-
This documentation follows a structure inspired by PurpleBooth's README-Template.md.
-
Special thanks to Python community
๐ Useful Links
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 stpstone-2.0.19.tar.gz.
File metadata
- Download URL: stpstone-2.0.19.tar.gz
- Upload date:
- Size: 315.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.8 Linux/6.11.0-1015-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
968e43305766297b54443da73434b2ff67243eda255a92d2380528e1f0d8a6d4
|
|
| MD5 |
ff1261656c4c7e518788671cafffc1e5
|
|
| BLAKE2b-256 |
492d7a25f3846eb73cb5abb3dfeca829171f41b57f5dd8ca6d70b43a9c64350f
|
File details
Details for the file stpstone-2.0.19-py3-none-any.whl.
File metadata
- Download URL: stpstone-2.0.19-py3-none-any.whl
- Upload date:
- Size: 458.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.8 Linux/6.11.0-1015-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3e2dcaa6e0202a8bd68fa12ed8014d922e7d58623302179983f2d211145d223
|
|
| MD5 |
f75f2cf01cbc0496ad3a9e3b48f2074f
|
|
| BLAKE2b-256 |
10f6939d6cb13ac14e2e7e8e5c063df31dffed51c6ce2fcfdd47e7e3ab993667
|