01

Data Sources

This project aggregates data from multiple public and proprietary sources to build a comprehensive view of the private credit market:

  • PitchBook & LCD: Deal-level transaction data including size, leverage, pricing, and sector tags
  • Federal Reserve (FRED): Macroeconomic series — Fed Funds Rate, CPI, 10Y Treasury, credit spreads
  • SEC EDGAR: Fund-level disclosures, Form D filings, BDC financial statements
  • Cambridge Associates: Benchmark fund performance data (IRR, DPI, TVPI) by vintage year
  • Bloomberg / TRACE: Secondary market pricing and spread data for leveraged loan comparisons
02

Data Pipeline

All data processing, analysis, and chart production is built in R. The workflow for each volume is as follows:

Ingestion

Public data series are pulled via the fredr package (FRED API) and quantmod (equity/ETF prices). Supplementary data from fund disclosures and industry reports is manually structured into R data frames.

Cleaning & Normalization

Data is cleaned and reshaped using dplyr and tidyr — handling missing periods, normalizing date formats, and reconciling metrics across sources (e.g., unifying default rate definitions across Fitch, Proskauer, Lincoln, and Cliffwater).

Analysis & Visualization

Charts are produced using ggplot2 with a consistent dark theme (black/orange palette). Each volume's R script outputs a set of publication-quality PNGs deployed directly to the site.

Live Monitoring

A local R Shiny dashboard refreshes every 5 minutes, pulling live FRED data and BDC/ETF prices via quantmod::getQuote() — tracking HY/IG spreads, the yield curve, BDC P/NAV, and alt manager performance in real time.

03

Modeling Assumptions

  • Leverage multiples are calculated as Total Debt / LTM EBITDA unless otherwise noted
  • Interest Coverage Ratio (ICR) = LTM EBITDA / Total Annual Interest Expense
  • Deal volume figures represent new originations only; refinancings and amendments are excluded unless specified
  • Fund IRRs are net of fees and carried interest as reported; vintage year defined as year of first capital call
  • Spreads are expressed in basis points above SOFR (post-2023) or LIBOR (pre-2023), with appropriate transition adjustments applied
04

Limitations & Caveats

This analysis is conducted independently and has inherent limitations:

  • Private market data is inherently incomplete — a significant share of transactions are not publicly disclosed
  • Self-reported fund performance data may be subject to survivorship bias
  • Sector classifications vary across data providers and have been manually reconciled where possible
  • This analysis is for informational and educational purposes only and does not constitute investment advice
05

Tools & Technologies

R 4.5Core analysis language
ggplot2Chart production (all PNGs)
dplyr / tidyrData manipulation
fredrFRED API — live macro data
quantmodBDC & ETF price data
R ShinyLocal live dashboard
openxlsxExcel report generation
GitHub PagesHosting & deployment