- End-to-end Kedro project that ingests dummy datasets (clients, EOD balances, remuneration, account types), processes and aggregates deposits, and produces a simple country-level forecast using interest rates.
- A Streamlit dashboard renders the processed aggregates and forecast results with a custom theme and consistent styling.
- Modular, production-style Kedro pipelines with parameters.
- Forecasting at country level based on historical deposits and provided/observed interest rates (simple elasticity model).
- Streamlit dashboard with sidebar filters, sectioned charts, and consistent theme.
- Ruff-compliant code with docstrings and unit tests targeting 100% coverage for all node functions.
src/liquidity/: Source package, pipelines, and registry.conf/base/: Kedro catalog and parameters.data/: Dummy data (raw) and pipeline outputs.app/streamlit_app.py: Dashboard app..streamlit/config.toml: Theme config.tests/: Unit tests for nodes with full coverage.
-
Install dependencies (suggested):
- Create a virtual env, then:
pip install -e .orpip install -r requirements.txt(if you generate one). - Ensure Python >= 3.9.
- Create a virtual env, then:
-
Run the Kedro pipeline:
kedro run(from project root). Outputs will be written todata/08_reporting.
-
Launch the Streamlit app:
streamlit run app/streamlit_app.py
- Edit
conf/base/parameters.ymlto tweak forecast horizon and default average interest rate (per-country overrides supported).
- The forecasting logic uses a simple linear elasticity model on log-deposits vs. interest rate to keep dependencies light and code transparent. It’s suitable for showcasing workflow and structure.
- Replace dummy CSVs in
data/01_rawwith real datasets to run the project with your data.