FRED Economic Data
The FRED (Federal Reserve Economic Data) module provides access to macroeconomic time series from the Federal Reserve Bank of St. Louis for Babylon’s simulation systems.
Overview
FRED is integrated into Babylon to provide:
Real wage calculations: CPI and nominal hourly earnings
Reserve army metrics: National, state, and industry unemployment rates
Fiscal indicators: Federal debt and M2 money supply
Imperial bribe data: PPP-adjusted GDP per capita
All data is stored in data/duckdb/marxist-data-3NF.duckdb (the normalized 3NF
database) alongside Census, QCEW, Trade, and Productivity data.
Setup
Register for a FRED API key at https://fredaccount.stlouisfed.org/apikeys
Set the environment variable:
export FRED_API_KEY=your_key_here
Load the data:
mise run data:fred
Series Catalog
National Series (8)
Series ID |
Description |
Marxian Use |
|---|---|---|
CPIAUCSL |
Consumer Price Index |
Real wage calculation (adjusts nominal wages for inflation) |
AHETPI |
Average Hourly Earnings |
Nominal wage input for variable capital (v) |
UNRATE |
Unemployment Rate |
Reserve army of labor proxy |
GFDEBTN |
Federal Debt |
Fiscal trilemma modeling |
GINIALLRF |
Gini Index |
Class tension initialization |
M2SL |
M2 Money Stock |
Fictitious capital proxy |
PPPTTLUSA618NUPN |
PPP over GDP (lags 2-3 years) |
Unequal exchange calculation |
RGDPCHUSA625NUPN |
PPP GDP/Capita (lags 2-3 years) |
Imperial bribe / superwages |
State Unemployment (51)
State-level unemployment rates for all 50 states plus DC using the LAUST
series pattern: LAUST{FIPS}0000000000003A
Example: LAUST120000000000003A for Florida (FIPS 12)
Industry Unemployment (8)
Major sector unemployment rates that join with QCEW NAICS codes:
Construction (NAICS 23)
Manufacturing (NAICS 31-33)
Transportation & Utilities (NAICS 48-49)
Information (NAICS 51)
Financial Activities (NAICS 52-53)
Professional & Business Services (NAICS 54-56)
Education & Health Services (NAICS 61-62)
Leisure & Hospitality (NAICS 71-72)
Usage
Command Line
# Load all FRED data for 2022 (default)
mise run data:fred
Python API
from babylon.data.fred.loader_3nf import FredLoader
from babylon.data.loader_base import LoaderConfig
from babylon.data.reference.database import get_normalized_session_factory
from babylon.data.reference.schema import (
FactFredNational,
DimFredSeries,
DimTime,
)
# Load FRED data for 1990-2024
config = LoaderConfig(fred_start_year=1990, fred_end_year=2024)
loader = FredLoader(config)
session_factory = get_normalized_session_factory()
with session_factory() as session:
stats = loader.load(session, reset=True)
print(f"Loaded {stats.facts_loaded['fact_fred_national']} national records")
# Query CPI data
with session_factory() as session:
cpi = (
session.query(FactFredNational, DimTime)
.join(DimFredSeries, FactFredNational.series_id == DimFredSeries.series_id)
.join(DimTime, FactFredNational.time_id == DimTime.time_id)
.filter(DimFredSeries.series_code == "CPIAUCSL")
.order_by(DimTime.year, DimTime.month)
.all()
)
for fact, time in cpi:
print(f"{time.year}-{time.month:02d}: {fact.value}")
SQL Queries
Calculate Real Wages
SELECT
f_wage.value / (f_cpi.value / 100) as real_hourly_wage,
f_wage.date
FROM fred_national f_wage
JOIN fred_series s_wage ON f_wage.series_id = s_wage.id
JOIN fred_national f_cpi ON f_wage.date = f_cpi.date
JOIN fred_series s_cpi ON f_cpi.series_id = s_cpi.id
WHERE s_wage.series_id = 'AHETPI'
AND s_cpi.series_id = 'CPIAUCSL'
AND f_wage.year = 2022;
Join State Unemployment with QCEW Employment
SELECT
fs.name as state,
fu.unemployment_rate,
SUM(qa.employment) as total_employment
FROM fred_state_unemployment fu
JOIN fred_states fs ON fu.state_id = fs.id
JOIN qcew_areas qa ON qa.area_fips LIKE fs.fips_code || '%'
WHERE fu.year = 2022
GROUP BY fs.name;
Database Schema
Dimension Tables
- fred_series
Metadata for each time series (series_id, title, units, frequency)
- fred_states
US states with FIPS codes for state-level joins
- fred_industries
Industry sectors with NAICS codes for QCEW joins
Fact Tables
- fred_national
National series observations (value, date, year, month, quarter)
- fred_state_unemployment
State-level unemployment rates by month
- fred_industry_unemployment
Industry-level unemployment rates by month
See Also
Census Data Analysis for Babylon - Census Bureau ACS data
babylon.data.fred- API reference