+ {confidence.rationale} +
+ )} ++ Факторы достоверности недоступны. +
+ )} ++ Прогноз по горизонтам недоступен. +
+ ); + } + + const rows = [...forecasts].sort( + (a, b) => a.horizon_months - b.horizon_months, + ); + + return ( +| Горизонт | +Индекс дефицита | ++ Мес. предложения + | +Прогноз спроса | ++ Прогноз предложения + | +Ставка | +
|---|---|---|---|---|---|
| {f.horizon_months} мес. | +
+ |
+ + {balanced ? "—" : fmtNum(f.months_of_inventory, 1)} + | ++ {Math.round(f.projected_demand_units).toLocaleString("ru")} + | ++ {Math.round(f.projected_supply_units).toLocaleString("ru")} + | +{fmtNum(f.rate_future, 2)}% | +
+ Сценарный прогноз недоступен. +
+ ); + } + + return ( ++ Индекс дефицита приведён на целевом горизонте {targetHorizon} мес. + Конверт ставки — путь ключевой ставки (% годовых) по горизонтам. +
++ {exec.verdict} +
+ )} + ++ {ADVISORY_DISCLAIMER} +
+