Более сложный вариант получил название «обходного FIFO»
(bypass FIFO). Он заключается в том, что если система не может выполнить первый по очереди перевод из-за нехватки денег, то она попытается выполнить следующий перевод. Дальнейшим развитием этого подхода является принцип FAFO (first-available, first-out – «первый доступный, первый отправленный»). Если первый по порядку перевод не может быть выполнен, система осуществляет перебор всех последующих поручений в очереди и изымает тот, который можно оплатить исходя из имеющихся средств.В последние годы применяются все более сложные оптимизационные алгоритмы для оплаты задержанных поручений. В частности, разработаны программы, позволяющие осуществлять поиск в очередях участников расчетов таких наборов платежных поручений, которые являются взаимно погашающимися. Они затем урегулируются путем зачета, который может проводиться как в форме индивидуальных переводов, так и в форме погашения чистого сальдо.
Простейший вариант такого подхода – двусторонний взаимозачет
, когда система пытается осуществить взаимный зачет первого поручения в очереди банка «А» и первого поручения в очереди банка «Б». Более сложен «частичный двусторонний зачет» , когда система не ограничивается первыми поручениями, а составляет наборы взаимно погашающихся платежей для каждой пары участников. Такой подход применен в ряде систем – канадской LVTS, французской PNS, немецкой RTGS plus и ряде других.Например, в итальянской системе BI-REL, обновленной в 2003 г., оптимизационный механизм включается автоматически после поступления в систему каждого нового платежного поручения или изменения суммы денежных средств на расчетном счете участника. Поиск производится в двустороннем режиме по принципу one-for-many, то есть зачета одного платежного поручения против нескольких встречных поручений. Когда банк «А» направляет в систему новое платежное поручение в пользу банка «Б» система проверяет платежи в очереди банка «Б» на предмет использования их для зачета. Сначала погашается самый крупный платеж банка «Б», а затем другие, которые можно включить в эту платежную серию. Все отобранные в результате такой процедуры платежи урегулируются на валовой основе без неттинга.
Разработаны также алгоритмы «полного многостороннего» и «частичного многостороннего» зачета. «Полный многосторонний» зачет
напоминает расчетную процедуру в традиционных нетто-системах. Для каждого участника оптимизационный механизм рассчитывает его «виртуальную» чистую позицию путем суммирования всех входящих и всех исходящих платежей и определения чистого сальдо расчетов. Если условия работы системы позволяют погасить чистые дебетовые сальдо участников, полученные в ходе виртуального сопоставления платежей, то зачет будет реально произведен. Если же хоть одна позиция не может быть урегулирована из-за нехватки средств или по другой причине, весь многосторонний зачет будет отменен.В некоторых системах, например в RTGSplus, разрешен «частичный многосторонний» зачет
, когда для части платежных поручений, стоящих в очереди, подбирается подходящий набор платежей в очередях контрагентов, и они зачитываются в многостороннем порядке. Зачет при этом может происходить в течение рабочего дня в непрерывном режиме или через дискретные промежутки времени.Приведенные выше варианты зачета встречных платежей в системах RTGS служат примерами дизайна «гибридных» систем, о которых говорились выше, где перевод в реальном времени сочетается с неттингом для экономии ликвидности.