Резерв по МСФО 9 — это не одна цифра в отчётности, а **цепочка суждений, каждое из которых
нужно уметь защитить**: почему инструмент отнесён к своей стадии, почему у него такая
вероятность дефолта, почему потери при дефолте именно такие, как распределены денежные
потоки по горизонту и как из них получилась приведённая величина.
Мы строим модель, в которой эта цепочка не спрятана в вычислительном коде, а разложена
по измерениям и мерам куба. Аудитор спрашивает «почему этот кредит во второй стадии» —
и получает ответ не в виде выгрузки, а прямо в модели: сработал количественный признак,
рейтинговый, качественный или заградительный, и видно, какой именно.
Отдельно про величину, которая ломает большинство подобных моделей. Показатели вроде
потерь при дефолте, вероятности дефолта и коэффициента дисконтирования **нельзя складывать
по портфелю**. Сумма долей — не доля. В нашей модели на каждом узле считается отношение
агрегатов, а не сумма отношений, и это проверяется приёмкой. Без этого портфельные потери
при дефолте показывали 5,9 вместо 0,4072 — величину, которая физически невозможна,
но выглядит как обычное число в отчёте.
Модель покрывает полный расчёт ожидаемых кредитных убытков на портфеле около **148 300
договоров и счетов, сгруппированных в 2 400 единиц оценки, на шести квартальных
отчётных датах, с EAD порядка 150 млрд ₽**.
Решение делает четыре вещи.
Первое — определяет стадию. Для каждой единицы независимо вычисляются четыре признака
значительного увеличения кредитного риска: количественный (относительный и абсолютный рост
вероятности дефолта к первоначальной), рейтинговый (падение на заданное число ступеней),
качественный (наблюдение, реструктуризация, нарушение ковенанта, отраслевая тревога)
и заградительный (просрочка свыше 30 дней). Отдельно определяется дефолт: просрочка свыше
90 дней, банкротство, признак невозможности погашения, проблемная реструктуризация.
Расчётная стадия сопоставляется с заявленной, и расхождение помечается флагом.
Второе — строит проекцию. По каждой единице, сценарию и горизонту рассчитываются
маргинальная вероятность дефолта, вероятность выживания, экспозиция на момент дефолта
с учётом коэффициента кредитной конверсии, потери при дефолте с учётом обеспечения,
приведение к отчётной дате и итоговая величина ожидаемых убытков. Горизонт — 46 точек:
нулевая, двадцать кварталов и двадцать пять годовых интервалов.
Третье — взвешивает сценарии. Три макросценария — базовый, благоприятный
и неблагоприятный — сводятся к взвешенной величине. Технический сценарий ACT хранит
фактическую экспозицию, чтобы суммирование по измерению сценариев не удваивало её.
Четвёртое — объясняет изменение за период. Куб движения резерва раскладывает изменение
между отчётными датами на выдачи, погашения, переводы между стадиями, изменение параметров
риска, изменение макросценариев, списания и возвраты.
| Бизнес-объект | Физический куб | Измерений | Мер | Бизнесовый смысл |
|---|---|---|---|---|
| Портфель на отчётную дату | ecl2_snapshot | 14 | 42 | Состояние каждой единицы: остатки, обеспечение, признаки риска, расчётная стадия |
| Проекция убытков | ecl2_projection | 14 | 45 | Разложение по сценариям и горизонтам: вероятности, экспозиция, потери, дисконт |
| Предпосылки модели | ecl2_assumption | 5 | 14 | Параметры сегмента: кривые вероятности дефолта, потери при дефолте, ставки |
| Движение резерва | ecl2_rollforward | 3 | 2 | Разложение изменения резерва между датами на причины |
Четырнадцать измерений куба портфеля отвечают на четырнадцать вопросов о кредите: когда,
кто, какой продукт, какой модельный сегмент, каким был рейтинг при выдаче и какой сейчас,
какая стадия, какая просрочка, какой остаточный срок, какое обеспечение, какая валюта,
какой регион, какая отрасль и — отдельным измерением — **по какой причине признано
значительное увеличение риска**.
Последнее измерение стоит выделить. Обычно причина перевода в стадию 2 живёт в комментарии
или в выгрузке. Здесь это полноценный разрез: можно спросить «сколько EAD переведено
во вторую стадию заградительным правилом по просрочке, а сколько — рейтинговым падением»
и получить ответ из модели.
| Шаг | Бизнесовый смысл |
|---|---|
| 1. Валовая балансовая стоимость | Основной долг плюс начисленные проценты минус неамортизированная комиссия. |
| 2. Экспозиция на отчётную дату | Валовая стоимость плюс неиспользованный лимит, умноженный на коэффициент кредитной конверсии. |
| 3. Признаки увеличения риска | Четыре независимых теста: относительный и абсолютный рост вероятности дефолта, падение рейтинга на ступени, качественные события, просрочка свыше порога. |
| 4. Признак дефолта | Просрочка свыше 90 дней, банкротство, невозможность погашения, проблемная реструктуризация — любой из них. |
| 5. Расчётная стадия | Дефолт → стадия 3; любой признак увеличения риска → стадия 2; иначе стадия 1. Сравнивается с заявленной, расхождение помечается. |
| 6. Кривая вероятности дефолта | По модельному сегменту и сценарию: кумулятивная вероятность по горизонтам, из неё — маргинальная и вероятность выживания. |
| 7. Экспозиция на момент дефолта | Амортизация остатка по горизонту плюс ожидаемая выборка лимита к моменту дефолта. |
| 8. Потери при дефолте | С учётом стоимости обеспечения, старших залогов, гарантий и сроков реализации; для необеспеченной части — сегментное значение. |
| 9. Дисконтирование | По эффективной процентной ставке инструмента к отчётной дате. |
| 10. Ожидаемые убытки по сценарию | Сумма по горизонтам: маргинальная вероятность × выживание × экспозиция × потери × дисконт. Горизонт ограничен: стадия 1 — 12 месяцев, стадии 2 и 3 — весь срок. |
| 11. Взвешивание сценариев | Сумма по трём сценариям с весами, дающими единицу. |
| 12. Движение за период | Разложение изменения резерва на выдачи, погашения, переводы, изменение параметров, изменение сценариев, списания. |
| Показатель | Бизнесовый смысл | Как ведёт себя при сведении |
|---|---|---|
gca | Валовая балансовая стоимость | Складывается. Денежная величина. |
ead_reporting | Экспозиция на отчётную дату | Складывается. Денежная величина. |
ecl | Ожидаемые кредитные убытки | Складывается. Денежная величина. |
lgd | Потери при дефолте, доля | Не складывается. На узле — отношение взвешенных по экспозиции величин. |
pd | Вероятность дефолта, доля | Не складывается. На узле — взвешенная по экспозиции. |
df | Коэффициент дисконтирования | Не складывается. На узле — взвешенный по экспозиции. |
coverage | Покрытие, ОКУ к экспозиции | Не складывается. На узле — отношение суммы ОКУ к сумме экспозиции. |
stage_mismatch_flag | Расхождение стадии | Признак на единице. |
stage_mismatch_count | Число расхождений | Складывается. Счётчик. |
Механика на платформе: для каждого неаддитивного показателя заведена вспомогательная мера
произведения — lgd_x_ead, pd_x_ead, df_x_ead, — которая складывается как обычная
денежная величина, и парное правило области aggregation, делящее сумму произведений
на сумму экспозиции. Знаменателем служит экспозиция технического сценария ACT: иначе она
утроилась бы, сложившись по трём макросценариям.
Без парного правила портфельные потери при дефолте на корне давали 5,9. Это сумма долей
двадцати четырёх сегментов. Величина не имеет смысла — доля не может превышать единицу, —
но в отчёте выглядит как обычное число и на глаз не отличается от правильного значения.
С правилом получается 0,4072.
Проверка, которая всегда проходит, ничего не проверяет. Поэтому в сборку встроены три
приёмочных затвора, и каждый сначала был доказательно провален — намеренно испорченной
моделью, — и только потом принят на исправной.
| Затвор | Что проверяет | Как доказано, что он работает |
|---|---|---|
| Соответствие узлов | Значение на каждом узле иерархии равно сведению своих листьев | На испорченной агрегации даёт расхождение, а не ноль |
| Неаддитивные показатели | Доли на узлах лежат в допустимом диапазоне и равны взвешенному значению | На модели без парных правил ловит те самые 5,9 |
| Полнота разреза | Запрос по каждому измерению даёт тот же итог, что и общий | На неполном VIEW ловит молчаливый ноль |
Третий затвор появился из свойства платформы, которое дороже всего обходится в эксплуатации:
неполный запрос не возвращает ошибку, он возвращает ноль. Если в разрезе перечислены
не все измерения куба, ответ приходит пустым, и это неотличимо от «данных действительно нет».
Ошибка запроса теперь засчитывается как расхождение, а не пропускается.
Первое — защищаемость перед аудитором. Каждое суждение имеет адрес в модели.
Причина отнесения к стадии — измерение, а не комментарий. Расхождение расчётной
и заявленной стадии — мера, а не выгрузка. Разложение убытков по горизонтам — разрез,
а не приложение к отчёту.
Второе — правильные величины в разрезах, а не только в итоге. Это не техническая
деталь. Класс дефекта «денежный итог верен, объясняющий разрез лжив» встретился в пяти
независимых моделях этой серии: портфельные потери при дефолте 590 % вместо 40,7 %,
доходность на капитал 144 % вместо 19,6 %, свод, складывающий балансы с потоками,
прогнозный баланс, не сходящийся на 4,4 % активов, групповой норматив достаточности
капитала, проходящий за счёт зачёта между лицами. Обычная приёмка этого не видит,
потому что сверяет заголовочные суммы. Здесь проверяется каждый значимый узел.
Третье — сценарный аппарат вместо пересчёта. Три макросценария живут в одной модели
как измерение. Смена весов не требует пересчёта портфеля: взвешенная величина —
это правило, а не выгрузка.
Четвёртое — объяснимое движение резерва. Вопрос «почему резерв вырос на столько»
получает ответ по составляющим: сколько дали новые выдачи, сколько — переводы между
стадиями, сколько — пересмотр макросценариев, сколько — изменение параметров риска.
Пятое — масштаб, который держится. Модель работает на портфеле из ста сорока восьми
тысяч договоров при 46 горизонтах и 4 сценариях. Это не демонстрационная выборка
из полутора сотен строк, а нагрузка, на которой видно поведение платформы.
Мы предлагаем не калькулятор резерва, а модель кредитного риска, в которой каждое
суждение имеет адрес.
Система принимает портфель на отчётную дату, параметры модельных сегментов и макросценарии.
Расчётное ядро определяет стадию по четырём независимым признакам увеличения риска
и признаку дефолта, строит проекцию убытков по 46 горизонтам и трём сценариям, дисконтирует
её по эффективной ставке и сводит к взвешенной величине. Отдельный контур раскладывает
изменение резерва между датами на выдачи, погашения, переводы, изменение параметров
и пересмотр сценариев.
Ключевое отличие от типовых реализаций — корректное поведение долей при сведении.
Вероятность дефолта, потери при дефолте и покрытие на любом узле иерархии считаются
как отношение агрегатов, а не как сумма отношений. Это проверяется приёмкой, которая
сначала была доказательно провалена на испорченной модели и только потом принята
на исправной.
Для бизнеса это означает резерв, который можно защитить: не «столько получилось»,
а «столько, и вот из чего это состоит на любом разрезе».