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 |
||
|---|---|---|
| .. | ||
| analysis_runs | ||
| analytics | ||
| cadastre | ||
| chat | ||
| etl | ||
| exporters | ||
| forecasting | ||
| generative | ||
| llm | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||
| analytics_refresh.py | ||
| forecast_request_cache.py | ||
| insights.py | ||
| job_settings.py | ||
| objective_etl.py | ||
| objective_sync_config.py | ||
| own_projects.py | ||
| weather_cache.py | ||