abaquant.financial_math.corporate

Import path: abaquant.financial_math.corporate

Domain: Time-value, actuarial, fixed-income, corporate-finance, and portfolio mathematics.

Purpose

Corporate-finance valuation, CAPM, and discounted-cash-flow helpers.

When to use it

Use these functions for deterministic calculations where explicit cash-flow, rate, compounding, sign, and annualization conventions matter.

Public objects

  • function: capm_cost_of_equity — Compute the CAPM required return on equity.

  • function: weighted_average_cost_of_capital — Compute after-tax weighted average cost of capital.

  • function: dcf_valuation — Estimate enterprise and equity value from a deterministic discounted-cash-flow model.

  • function: dcf_sensitivity_matrix — Evaluate DCF output across terminal-growth and discount-rate scenarios.

  • function: beta_alpha_from_returns — Estimate beta and alpha from paired asset and market return series.

Detailed reference

Corporate-finance valuation, CAPM, and discounted-cash-flow helpers.

Purpose

The module implements elementary CAPM, WACC, DCF, sensitivity, and return-regression calculations.

Conventions

Rates and growth assumptions are decimal annual rates. Free cash flow, debt, and enterprise values use currency units. Beta and alpha follow the implemented return-regression convention.

Scope and limitations

DCF outputs depend directly on deterministic growth and discount-rate assumptions and are not forecasts.

References

[ 1 ] Markowitz, H. (1952), “Portfolio Selection”.

abaquant.financial_math.corporate.beta_alpha_from_returns(asset_returns, market_returns, risk_free_rate, trading_days=252)

Estimate beta and alpha from paired asset and market return series.

Parameters:
  • asset_returns (pd.Series) – Periodic return series for the asset.

  • market_returns (pd.Series) – Periodic return series for the market benchmark.

  • risk_free_rate (float) – Annual risk-free rate in decimal units.

  • trading_days (int, default=252) – Observations per year used to annualize regression statistics.

Returns:

Named outputs of the beta alpha from returns calculation.

Return type:

dict[str, float | pd.DataFrame]

abaquant.financial_math.corporate.capm_cost_of_equity(risk_free_rate, beta, market_return)

Compute the CAPM required return on equity.

Parameters:
  • risk_free_rate (float) – Annual risk-free rate in decimal units.

  • beta (float) – Model-specific beta parameter; consult the module convention.

  • market_return (float) – Expected market return in decimal annual units.

Returns:

Computed capm cost of equity as a scalar in the units implied by the input values.

Return type:

float

abaquant.financial_math.corporate.dcf_sensitivity_matrix(fcfs, terminal_growth_values, discount_rate_values, net_debt, shares_outstanding)

Evaluate DCF output across terminal-growth and discount-rate scenarios.

Parameters:
  • fcfs (list[float] | np.ndarray) – Free-cash-flow sequence in currency units for DCF sensitivity analysis.

  • terminal_growth_values (list[float] | np.ndarray) – Terminal-growth-rate grid in decimal annual units for DCF sensitivity analysis.

  • discount_rate_values (list[float] | np.ndarray) – Discount-rate grid in decimal annual units for DCF sensitivity analysis.

  • net_debt (float) – Net debt deducted from enterprise value, in currency units.

  • shares_outstanding (float) – Number of shares outstanding used to convert equity value to value per share.

Returns:

Tabular result with the index, column schema, units, and missing-value treatment defined by the module convention.

Return type:

pandas.DataFrame

abaquant.financial_math.corporate.dcf_valuation(fcf_base, projection_growth, terminal_growth, discount_rate, projection_years, net_debt, shares_outstanding)

Estimate enterprise and equity value from a deterministic discounted-cash-flow model.

Parameters:
  • fcf_base (float) – Base-period free cash flow in currency units.

  • projection_growth (float) – Forecast free-cash-flow growth rate in decimal annual units.

  • terminal_growth (float) – Perpetual terminal-growth rate in decimal annual units.

  • discount_rate (float) – Annual discount rate in decimal units.

  • projection_years (int) – Number of explicit free-cash-flow forecast years.

  • net_debt (float) – Net debt deducted from enterprise value, in currency units.

  • shares_outstanding (float) – Number of shares outstanding used to convert equity value to value per share.

Returns:

Named outputs of the dcf valuation calculation.

Return type:

dict[str, float | list[float] | pd.DataFrame]

abaquant.financial_math.corporate.weighted_average_cost_of_capital(cost_of_equity, equity_weight, cost_of_debt, tax_rate)

Compute after-tax weighted average cost of capital.

Parameters:
  • cost_of_equity (float) – Cost of equity in decimal annual units.

  • equity_weight (float) – Capital-structure equity weight, expressed as a fraction.

  • cost_of_debt (float) – Pre-tax cost of debt in decimal annual units.

  • tax_rate (float) – Corporate tax rate as a decimal fraction.

Returns:

Computed weighted average cost of capital as a scalar in the units implied by the input values.

Return type:

float