# ilchen/eu_economic_data_analysis architecture

> Architecture diagram of the GitHub repository ilchen/eu_economic_data_analysis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ilchen/eu_economic_data_analysis
- Repository: https://github.com/ilchen/eu_economic_data_analysis

## Overview

This repository is a collection of runnable notebooks for visual economic and stock-market analysis, supported by reusable Python utilities. The principal workflow is to run a notebook, retrieve and analyze economic or market data, and present results; the README names Eurostat, ECB, OECD, and Yahoo Finance as data sources. Source excerpts show reusable curve, metric, plotting, currency-conversion, and correlation components, but do not show how individual notebooks call them. The README also describes quantitative-easing and labor-productivity analyses, but those notebook files are absent from the supplied tree.

Main entry points: [`HICP_and_ECB_Rates.ipynb`](https://github.com/ilchen/eu_economic_data_analysis/blob/main/HICP_and_ECB_Rates.ipynb) (Inflation and rates), [`Current_Riskfree_Rates_Eurozone.ipynb`](https://github.com/ilchen/eu_economic_data_analysis/blob/main/Current_Riskfree_Rates_Eurozone.ipynb) (Risk-free rates), [`stock_market/metrics.py`](https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/metrics.py) (Market metrics), [`stock_market/plots.py`](https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/plots.py) (Market plots)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_notebooks["Analysis notebooks"]
  node_inflation["Inflation and rates"]
  node_riskfree["Risk-free rates"]
  node_labor["Labor market"]
  node_money["Money supply"]
  node_gdp["GDP composition"]
  node_income["Income and savings"]
  node_aex["AEX analysis"]
  node_banks["Bank index analysis"]
end

subgraph group_market["Stock analysis"]
  node_metrics["Market metrics<br/>[metrics.py]"]
  node_marketplots["Market plots<br/>[plots.py]"]
  node_converter["Euro conversion"]
end

subgraph group_economic["Economic utilities"]
  node_correlation["Lag correlation<br/>[correlation.py]"]
  node_econplots["Economic plots<br/>[plotting.py]"]
  node_recession["Recession indicator<br/>[euro_area.py]"]
end

subgraph group_pricing["Yield pricing"]
  node_yieldcurve["Yield curves<br/>[curves.py]"]
end

node_analyst(("Notebook user"))
node_jupyter["Jupyter"]
node_eurostat["Eurostat"]
node_ecb["ECB"]
node_oecd["OECD"]
node_yahoo["Yahoo Finance"]

node_analyst -->|"runs notebooks"| node_jupyter
node_jupyter -->|"runs"| node_inflation
node_jupyter -->|"runs"| node_riskfree
node_jupyter -->|"runs"| node_labor
node_jupyter -->|"runs"| node_money
node_jupyter -->|"runs"| node_gdp
node_jupyter -->|"runs"| node_income
node_jupyter -->|"runs"| node_aex
node_jupyter -->|"runs"| node_banks
node_inflation -.->|"retrieves data"| node_eurostat
node_inflation -.->|"retrieves data"| node_ecb
node_inflation -.->|"retrieves data"| node_oecd
node_riskfree -.->|"retrieves data"| node_yahoo
node_converter -->|"uses constants"| node_metrics
node_marketplots -->|"uses metrics"| node_metrics

click node_inflation "https://github.com/ilchen/eu_economic_data_analysis/blob/main/HICP_and_ECB_Rates.ipynb"
click node_riskfree "https://github.com/ilchen/eu_economic_data_analysis/blob/main/Current_Riskfree_Rates_Eurozone.ipynb"
click node_labor "https://github.com/ilchen/eu_economic_data_analysis/blob/main/Unemployment_and_Participation_Rates_Eurozone.ipynb"
click node_money "https://github.com/ilchen/eu_economic_data_analysis/blob/main/Money_Supply_Eurozone.ipynb"
click node_gdp "https://github.com/ilchen/eu_economic_data_analysis/blob/main/GDP_Composition_Eurozone.ipynb"
click node_income "https://github.com/ilchen/eu_economic_data_analysis/blob/main/Disposable_Income_and_Savings_Eurozone.ipynb"
click node_aex "https://github.com/ilchen/eu_economic_data_analysis/blob/main/Stock_Market_NL.ipynb"
click node_banks "https://github.com/ilchen/eu_economic_data_analysis/blob/main/Stock_Market_Stoxx_Europe_Banks.ipynb"
click node_metrics "https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/metrics.py"
click node_marketplots "https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/plots.py"
click node_converter "https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/currency_converters.py"
click node_correlation "https://github.com/ilchen/eu_economic_data_analysis/blob/main/utils/correlation.py"
click node_econplots "https://github.com/ilchen/eu_economic_data_analysis/blob/main/utils/plotting.py"
click node_recession "https://github.com/ilchen/eu_economic_data_analysis/blob/main/utils/euro_area.py"
click node_yieldcurve "https://github.com/ilchen/eu_economic_data_analysis/blob/main/pricing/curves.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_inflation,node_riskfree,node_labor,node_money,node_gdp,node_income,node_aex,node_banks,node_analyst toneBlue
class node_metrics,node_marketplots,node_converter toneAmber
class node_correlation,node_econplots,node_recession toneMint
class node_yieldcurve toneRose
class node_jupyter,node_eurostat,node_ecb,node_oecd,node_yahoo toneIndigo
```

## Components

### Analysis notebooks

- [Inflation and rates](https://github.com/ilchen/eu_economic_data_analysis/blob/main/HICP_and_ECB_Rates.ipynb): `HICP_and_ECB_Rates.ipynb`
- [Risk-free rates](https://github.com/ilchen/eu_economic_data_analysis/blob/main/Current_Riskfree_Rates_Eurozone.ipynb): `Current_Riskfree_Rates_Eurozone.ipynb`
- [Labor market](https://github.com/ilchen/eu_economic_data_analysis/blob/main/Unemployment_and_Participation_Rates_Eurozone.ipynb): `Unemployment_and_Participation_Rates_Eurozone.ipynb`
- [Money supply](https://github.com/ilchen/eu_economic_data_analysis/blob/main/Money_Supply_Eurozone.ipynb): `Money_Supply_Eurozone.ipynb`
- [GDP composition](https://github.com/ilchen/eu_economic_data_analysis/blob/main/GDP_Composition_Eurozone.ipynb): `GDP_Composition_Eurozone.ipynb`
- [Income and savings](https://github.com/ilchen/eu_economic_data_analysis/blob/main/Disposable_Income_and_Savings_Eurozone.ipynb): `Disposable_Income_and_Savings_Eurozone.ipynb`
- [AEX analysis](https://github.com/ilchen/eu_economic_data_analysis/blob/main/Stock_Market_NL.ipynb): `Stock_Market_NL.ipynb`
- [Bank index analysis](https://github.com/ilchen/eu_economic_data_analysis/blob/main/Stock_Market_Stoxx_Europe_Banks.ipynb): `Stock_Market_Stoxx_Europe_Banks.ipynb`

### Stock analysis

- [Market metrics](https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/metrics.py): `stock_market/metrics.py`
- [Market plots](https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/plots.py): `stock_market/plots.py`
- [Euro conversion](https://github.com/ilchen/eu_economic_data_analysis/blob/main/stock_market/currency_converters.py): `stock_market/currency_converters.py`

### Economic utilities

- [Lag correlation](https://github.com/ilchen/eu_economic_data_analysis/blob/main/utils/correlation.py): `utils/correlation.py`
- [Economic plots](https://github.com/ilchen/eu_economic_data_analysis/blob/main/utils/plotting.py): `utils/plotting.py`
- [Recession indicator](https://github.com/ilchen/eu_economic_data_analysis/blob/main/utils/euro_area.py): `utils/euro_area.py`

### Yield pricing

- [Yield curves](https://github.com/ilchen/eu_economic_data_analysis/blob/main/pricing/curves.py): `pricing/curves.py`

### Other components

- **Notebook user**
- **Jupyter**
- **Eurostat**
- **ECB**
- **OECD**
- **Yahoo Finance**

## Connections

- Notebook user → Jupyter: runs notebooks (evidence: `README.md`)
- Jupyter → Inflation and rates: runs (evidence: `README.md`)
- Jupyter → Risk-free rates: runs (evidence: `README.md`)
- Jupyter → Labor market: runs (evidence: `README.md`)
- Jupyter → Money supply: runs (evidence: `README.md`)
- Jupyter → GDP composition: runs (evidence: `README.md`)
- Jupyter → Income and savings: runs (evidence: `README.md`)
- Jupyter → AEX analysis: runs (evidence: `README.md`)
- Jupyter → Bank index analysis: runs (evidence: `README.md`)
- Inflation and rates → Eurostat: retrieves data (evidence: `README.md`)
- Inflation and rates → ECB: retrieves data (evidence: `README.md`)
- Inflation and rates → OECD: retrieves data (evidence: `README.md`)
- Risk-free rates → Yahoo Finance: retrieves data (evidence: `README.md`)
- Euro conversion → Market metrics: uses constants (evidence: `stock_market/currency_converters.py`)
- Market plots → Market metrics: uses metrics (evidence: `stock_market/plots.py`)
