cf_compute_levered: Equity cash flows and metrics in the presence of debt

View source: R/dcf.R

cf_compute_leveredR Documentation

Equity cash flows and metrics in the presence of debt

Description

Computes equity cash flows over t = 0..N from an unlevered Discounted Cash Flow (DCF) and an annual debt schedule, then derives equity IRR and equity NPV. The convention is that free_cash_flow includes the acquisition at t = 0 as a negative flow and includes operating free cash flows for t >= 1. Sale proceeds are booked at t = N via sale_proceeds.

Usage

cf_compute_levered(dcf_res, debt_sched, cfg)

Arguments

dcf_res

list. Result of dcf_calculate(). Must contain:

  • inputs with at least acq_price, disc_rate, exit_yield,

  • cashflows with at least year, free_cash_flow, sale_proceeds, net_operating_income.

debt_sched

data.frame or tibble. Debt schedule (output of debt_built_schedule()). Minimal columns: year, payment, interest, amortization, outstanding_debt. Years must be compatible with dcf_res$cashflows$year.

cfg

list. Financing parameters. Must contain ltv_init. Optional: arrangement_fee_pct (default 0) and capitalized_fees (default TRUE).

Value

A list with:

  • equity_cf: numeric vector of equity cash flows,

  • metrics: list with irr_equity, npv_equity, equity_0, loan_draw_0,

  • full: dcf_res$cashflows enriched by add_credit_ratios().

Examples

dcf <- dcf_calculate(
  acq_price = 1e7, entry_yield = 0.05, exit_yield = 0.055,
  horizon_years = 10, disc_rate = 0.07
)
sch <- debt_built_schedule(
  principal = 6e6, rate_annual = 0.045, maturity = 5, type = "bullet"
)
out <- cf_compute_levered(
  dcf_res = dcf,
  debt_sched = sch,
  cfg = list(ltv_init = 0.6, arrangement_fee_pct = 0, capitalized_fees = TRUE)
)
stopifnot(is.numeric(out$metrics$irr_equity) || is.na(out$metrics$irr_equity))
stopifnot(is.numeric(out$equity_cf))

cre.dcf documentation built on April 10, 2026, 5:08 p.m.