Walk the existing debt schedule to emit the equity holder's monthly cashflow ((1−LTC) share of outflows; residual inflow after debt service) and run the same DCF IRR + roi-proxy fallback over it. Degenerate cases (LTC≥1, no equity at risk) → 0.0 / proxy, never a fabricated return. Levered IRR можно выше или НИЖЕ проектной (отрицательный леверидж, если проект не покрывает стоимость долга 15%) — показываем честно, со знаком (Unicode «−»). Инвариант Σ equity_cf == net_profit_after_financing держится точно. Unlevered NPV/IRR/PBP и Σ cashflow == net_profit НЕ затронуты (levered чисто additive). Schema: additive levered_irr / levered_irr_is_proxy на FinancialModel (api-types.ts регенерён точной CI-цепочкой openapi-typescript+prettier). Frontend: строка «IRR на собственные средства» в finance-drawer кокпита + concept-каскаде (drawer-only — не раздуваем above-the-fold KPI), proxy/negative помечаются честно. Завершает паритет с Excel-эталоном «Авангардная 13» (IRR). Deep-review ✅ (equity-cashflow математика независимо перепроверена, инвариант, codegen byte-identical, blast radius contained). Refs #1881 |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| sentry.client.config.ts | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts | ||
| tsconfig.json | ||
| vitest-env.d.ts | ||
| vitest.config.ts | ||
| vitest.setup.ts | ||