бесплатно рефераты
 

Межбанковский клиринг

поддержки расчетов, достигаемый при чистом клиринге, когда валовой оплаты

нет: [pic]. Параметр [pic] – это мера спада потребности в средствах для

расчетов. Его можно определить эмпирически по результатам клиринга с циклом

в один день. Пусть, в этом случае, требуются для обеспечения расчетов

средства в размере [pic]. Тогда

[pic] (2.5)

Параметр [pic] характеризует импортную незамкнутость системы: если бы

пользователи клиринга были тесно связаны только между собой, то [pic]. Для

страны в целом – это средства оплаты экспорта-импорта и, значит, [pic]

можно определить из данных статистики, если клиринг охватывает всю

республику. Для группы банков – это обслуживание входа-выхода средств вне

этой группы. Экономия вследствие клиринговости равна:

[pic]

Доход от такой экономии пропорционален рыночной процентной ставке

[pic] и времени [pic].

Подсчитаем интегральный эффект от клиринга. Эффект - разность дохода

и убытка:

[pic] (2.6)

Оптимизация этой функции равносильна оптимизации следующей функции:

[pic] (2.7)

2.3. Решение задачи и его анализ

При каком-то значении [pic] экономия достигает максимума. Для

определения этого значения возьмем производную функции [pic] по [pic] и

приравняем ее к нулю. Вычисляем производную:

[pic]

[pic]

Теперь решаем уравнение:

[pic]

[pic]

[pic]

Для того, чтобы убедиться, что найденная точка является точкой

глобального максимума функции интегрального эффекта от применения клиринга

[pic], покажем, что эта функция является вогнутой (выпуклой вверх), для

чего исследуем знак второй производной функции [pic]:

[pic]

Окончательно получим:

[pic] (2.8)

или с учетом (5):

[pic] (2.9)

Модифицируем вид решения:

Пусть: k = K/V, т. е. k – дневная оборачиваемость средств в расчетах,

определяющая, сколько рублей дневного оборота обслуживает один рубль

сальдо.

е = O(l)/V, т.е. е – доля клиринговых отвлечений от валовых отвлечений

при однодневном цикле.

n = 1/е – уменьшение средств, обусловленное клирингом – эффективность

клиринга.

i = l/V, т.е. i – доля средств, обслуживающих в расчетах экспорт-

импорт системы. Тогда

[pic] (2.10)

Итак, [pic] выражена через:

1) k – дневную оборачиваемость средств в расчетах,

2) е – долю клиринговых отвлечений от валовых отвлечений при

однодневном цикле,

3) i – долю обслуживания импорта в расчетах.

Область возможного положительного эффекта от клиринга задается

отрезком времени от 0 до Т. Т есть корень уравнения [pic] или

[pic]

Далее ясно, что при заданной модели [pic] существует нижняя граница

для [pic], выше которой клиринг не дает никакого эффекта. Эту границу

определяет касательная к [pic] в начале координат. Прямые [pic], лежащие

выше касательной, не пересекаются с [pic] нигде, кроме начала координат.

Значит, для них кривая [pic] не имеет максимума не в начале координат.

Указанная граница для [pic] определится из условия

[pic],

отсюда

[pic] (2.11)

Рассмотрим также графическую интерпретацию решения (см. Рис 2.2.)

Рис.2.2. Графическая интерпретация решения.

И, наконец, подсчитаем потери от применения неоптимального лага:

Пусть dt - отклонение от [pic]. Возникающие потери, измеряемые в сальдовых

единицах, есть разность:

[pic].

Все рассуждения, приведенные выше касались одного отдельно взятого

банка, однако лаг клиринга устанавливается клиринговой палатой,

составленной из представителей всех банков-участников. Поэтому, лаг,

являющий оптимальным для одного банка, может быть далеким от такового для

остальных банков. Поэтому для учета интересов всех участников системы

предлагается следующая модель.

Пусть в клиринговой системе участвует n банков. Обозначим, как и

ранее [pic] – эффект от применения клиринга с лагом [pic] для i-го банка,

вычисляемый по формуле (2.6), [pic] – средства i-го банка, необходимые ему

для валовых взаиморасчетов (т.е. без клиринга). Тогда наиболее приемлемый

для всех участников лаг клиринга рекомендуется искать, решив следующую

задачу оптимизации:

[pic] (2.12)

т.е. максимизируется наименьший из удельных эффектов от применения клиринга

для всех банков-участников.

2.4. Статистическая оценка оптимального лага.

На основе статистической выборки, включающей в себя ежедневные данные

за четыре месяца, были получены следующие оценки вышеописанных параметров:

i*=0.05, k*=v*=0.42. Подставив оценочные значения в формулу (2.9), получим

следующую оценку оптимального лага клиринга t* =1,538372. Таким образом, на

основе вышеизложенной модели оптимизации лага клиринга можно утверждать,

что оптимальным в текущих условиях является лаг в полтора дня, т.е. 36

часов.

3. ППП «Система межбанковского клиринга»

3.1. Назначение и структура пакета

ППП «Система межбанковского клиринга» является практической

реализацией идеи автоматизации клирингового процесса. Пакет охватывает

автоматизацию как работы самой клиринговой палаты, так и работы банков-

участников клирингового сеанса. ППП содержит два функционально различных

программных модуля: «АРМ оператора клиринговой палаты» и «АРМ оператора

банка» и представляет собой программный продукт, построенный по схеме

«клиент-сервер». Сервером является модуль «АРМ оператора клиринговой

палаты», а клиентом – модуль «АРМ оператора банка». В системе всегда

действует один сервер и неограниченное количество клиентов. Модуль «АРМ

оператора клиринговой палаты» устанавливается на сервере клиринговой

палаты, а экземпляры модуля «АРМ оператора банка» – на серверах или рабочих

станциях банков-участников клирингового процесса, по одному на каждый банк.

ППП обеспечивает всю необходимую функциональность для работы клиринговой

палаты, однако для реального внедрения необходима существенная доработка в

области сохранения целостности данных и контроля доступа к ним. Однако эта

доработка может производиться независимо от существующего кода стандартными

средствами СУБД. Система взаимосвязанных таблиц данных сервера реализована

на базе СУБД Oracle 7.3.3 Server. Рекомендуемыми операционными системами

для этой СУБД являются SCO Unix версии 5.2 и выше либо Windows NT Server

версии 4.0 и выше. Клиентская часть реализована на базе СУБД Personal

Oracle 7.3.3. Удаленный доступ к серверу БД реализован с помощью

стандартного средства СУБД Oracle 7.3.3 – Oracle SQL* Net. Графический

пользовательский интерфейс обоих модулей реализован в RAD-среде разработки

приложений Borland Delphi 3.0 Client/Server для операционной системы

Windows 95 или Windows NT Workstation. Полный текст исходного кода ППП

«Система межбанковского клиринга» приведен в Приложении 1.

3.2. Модуль « АРМ оператора клиринговой палаты»

Модуль «АРМ оператора клиринговой палаты» устанавливается на сервере

клиринговой палаты и обеспечивает добавление и удаление банков-участников

клиринговой системы, прием, обработку платежных документов, проверку их на

наличие ошибок и проведение окончательных взаиморасчетов между банками-

членами клиринговой палаты. Кроме того, данный модуль инициирует начало

клирингового сеанса, ведет статистику платежей и закрывает сеанс по

истечению заданного срока. Работой модуля управляет один человек – оператор

клиринговой палаты, наделенный особыми полномочиями.

Главное окно модуля «АРМ оператора клиринговой палаты» выглядит

следующим образом:

Рис.3.1. Главное окно модуля «АРМ оператора клиринговой палаты».

Пункт меню «Банки» содержит подпункты «Просмотреть» для просмотра

списка текущих участников системы и удаления любого из них и

«Зарегистрировать нового участника» для добавления новых банков. Список

банков выглядит, как на Рис.3.2.

Рис.3.2. Окно со списком банков-членов клиринговой палаты.

При выборе подпункта «Регистрация нового участника» на экран

выводится диалоговое окно для ввода необходимой информации об участнике.

Его вид приведен на Рис.3.3.

Рис.3.3. Окно регистрации нового банка.

После выполнения регистрации на сервере новый банк-участник может

запускать на своей рабочей станции модуль «АРМ оператора банка» и входить в

систему указав необходимые имя пользователя и пароль.

Пункт меню «Сообщения» содержит один элемент – подпункт

«Просмотреть». При выборе этого подпункта на экран выводится диалоговое

окно следующего вида:

Рис. 3.4. Окно со списком полученных сообщений.

Основными функциями данного окна являются просмотр списка полученных

сообщений и подтверждение тех из них, которые удовлетворяют требованиям

клиринговой палаты.

Меню главного окна «Сеанс» содержит три подпункта «Начать сеанс»,

«Завершить сеанс» и «Показать текущие позиции» для инициализации

клирингового сеанса, его завершения и для просмотра текущих чистых позиций

соответственно.

3.2. Модуль « АРМ оператора банка»

Модуль «АРМ оператора клиринговой палаты» устанавливается на рабочих

станциях банков-участников системы взаимозачета и обеспечивает следующие

функции: подключение банка к текущему клиринговому сеансу, выход от сеанса,

отсылку платежных сообщений, а также подсчет и просмотр окончательной

чистой позиции банка. Работой модуля также управляет один человек –

оператор банка.

Главное окно модуля «АРМ оператора клиринговой палаты» выглядит

следующим образом:

Рис. 3.5. Главное окно модуля «АРМ оператора банка».

Данное окно содержит два основных пункта меню «Клиринговый сеанс» и

«Сообщения». Первый из них имеет два подпункта для входа в клиринговый

сеанс и выхода из него соответственно. Наиболее важным является пункт меню

«Сообщения». Он имеет подпункты «Отправить сообщение» и «Показать

сообщения». При выборе подпункта «Отправить сообщение» на экран выводится

диалоговое окно для ввода параметров сообщения. Его вид показан на Рис.

3.6.

Рис. 3.6. Диалоговое окно отправки платежного сообщения.

Выбор подпункта «Показать сообщения» приводит к выводу на экран

диалогового окна со списком сообщений, которые относятся к банку-владельцу

запущенной копии модуля. Можно выбрать для показа входящие платежи,

исходящие платежи или оба типа одновременно. Показываются лишь те

сообщения, которые были подтверждены клиринговой палатой в модуле «АРМ

оператора клиринговой палаты». Вид этого окна приведен на Рис. 3.7.

Рис 3.7. Окно со списком подтвержденных сообщений.

ЗАКЛЮЧЕНИЕ

В данном дипломном проекте освещены проблемы межбанковского клиринга

и методы их решения, приведены реальные модели клиринговых систем. Кроме

того, поставлена, математически сформулирована и решена проблема

оптимизации важнейшего параметра клирингового цикла – лага клиринга. На

основе реальных статистических данных получена статистическая оценка

искомого параметра. Также приводится математическая модель обобщения

полученных результатов для максимизации прибыли каждого из участников

клиринговой системы.

Существенной частью работы в дипломном проекте является разработка

пакета программных продуктов «Система межбанковского клиринга». Этот

программный продукт является попыткой комплексной автоматизации

клирингового процесса. Пакет полностью готов для тестового использования и

сбора статистической информации, планируется его доработка в областях

сохранности целостности данных, управления доступом и оптимизации

производительности до уровня реальной системы.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Березина М.П., Крупнов Ю.С. Межбанковские расчеты. – М.: АО

“Финстатинформ”, 1993.-142с.

2. Тосунян Г.А. Клиринг и межбанковские финансовые операции: основные

понятия и финансовые инструменты. – М.: “Дело”, 1994.-56с.

3. Тосунян Г.А. Операционные технологии межбанковского финансового рынка. –

М.: “Дело”, 1994.-122с.

4. Усоскин В.М. Современный коммерческий банк: управление и операции. – М.:

ИПЦ “Вазар-Ферро”, 1994.-320с.

5. Каллаур П.В. Осуществление межбанковских расчетов по прочим платежам //

Банкаўскі веснік – 1998. №1.

6. Жуков В.В. Модернизация платежной системы Беларуси // Банкаўскі веснік –

1997. №9. – С.3-6.

ПРИЛОЖЕНИЕ 1.

SQL-КОД ППП «СИСТЕМА МЕЖБАНКОВСКОГО КЛИРИНГА»

----------------------------------------------------

-- Модуль Banks

-- Содержимое :

-- 1. Sequence BankID_Seq

-- 2. Table Banks

----------------------------------------------------

PROMPT Creating sequence BankID_Seq...

-- Последовательность уникальных идентификаторов для банков-участников

CREATE SEQUENCE BankID_Seq

INCREMENT BY 1

START WITH 1

MAXVALUE 99999999

MINVALUE 1

NOCACHE

CYCLE;

PROMPT Creating table Banks...

-- Таблица банков, зарегистрированных в клиринговой палате

CREATE TABLE Banks

(

BankID Number(8) -- Индентификационный № банка

CONSTRAINT bankno_pk PRIMARY KEY,

BankName VARCHAR2(100) NOT NULL -- Наименование банка

CONSTRAINT bankname UNIQUE,

UserName VARCHAR(20) NOT NULL -- Имя пользователя для входа

CONSTRAINT username UNIQUE

);

-----------------------------------------------

-- Модуль BankState

-- Таблица состояния банков-участников в текущем сеансе

-----------------------------------------------

PROMPT Creating table BankState...

CREATE TABLE BankState

(

BankID NUMBER(8) -- Идентификатор банка

CONSTRAINT sessionbankid_fk REFERENCES Banks ON DELETE CASCADE,

BankStatus NUMBER(3) NOT NULL -- Статус банка в текущем сеансе

);

-----------------------------------------------

-- Пакет ClientUtils

-- Интерфейс модуля "АРМ оператора банка"

-----------------------------------------------

PROMPT Creating package ClientUtils...

CREATE OR REPLACE PACKAGE ClientUtils

AS

-- Возвращает флаг состояния текущей сессии

FUNCTION GetSessionStatus RETURN INT;

-- Процедура начала клирингового сеанса для банка-участника

FUNCTION StartBankSession(aBankID IN INT) RETURN INT;

-- Процедура завершения клирингового сеанса для банка-участника

PROCEDURE StopBankSession(aBankID IN INT);

-- Возвращает уникальный номер вызвавшего банка

FUNCTION GetOurID RETURN INT;

-- Возвращает окончательног сальдо банка

FUNCTION GetFinalSaldo(aBankID IN INT) RETURN INT;

-- Процедура отсылки в клиринговую палату платежа в "электронном" виде

PROCEDURE SendMessage(aSourceBankID IN INT,

aDebitBankID IN INT,

aCreditBankID IN INT,

aAmount IN INT);

END ClientUtils;

/

SHOW ERROR;

-----------------------------------------------

-- Пакет процедур для работы банков-клиентов клиринговой палаты

-----------------------------------------------

PROMPT Creating package body ClientUtils...

CREATE OR REPLACE PACKAGE BODY ClientUtils

AS

-- Функция возвращает флаг состояния текущей сессии

FUNCTION GetSessionStatus RETURN INT

IS

BEGIN

RETURN ServerUtils.SessionState;

END GetSessionStatus;

-- Процедура подключения банка к очередной сессии клиринговой палаты

-- Выполняется каждый рабочий день в определенное время после выполнения

-- на сервере КП процедуры инициализации клирингового сеанса

FUNCTION StartBankSession(aBankID IN INT) RETURN INT

IS

BEGIN

IF ServerUtils.SessionState = GlobalConst.cSessionActive THEN

UPDATE BankState

SET BankStatus = GlobalConst.cBankWork

WHERE BankID = aBankID;

END IF;

RETURN ServerUtils.SessionState;

END StartBankSession;

-- Процедура выхода банка из текущего клирингового сеанса

-- Выполняется кажый день в определенное время до закрытия сеанса

-- на сервере КП

PROCEDURE StopBankSession(aBankID IN INT)

IS

BEGIN

UPDATE BankState

SET BankStatus = GlobalConst.cBankStopWork

WHERE BankId = aBankID;

END StopBankSession;

-- Функция возвращает уникальный номер вызывающего банка

FUNCTION GetOurID RETURN INT

IS

Res INT;

BEGIN

SELECT BankID INTO Res FROM Banks

WHERE UserName = USER;

END GetOurID;

-- Функция возвращает чистую позицию банка по окончанию сеанса

FUNCTION GetFinalSaldo(aBankID IN INT) RETURN INT

IS

aSaldo INT;

BEGIN

BEGIN

SELECT DebitPos-CreditPos INTO aSaldo FROM Results

WHERE BankID = aBankID;

EXCEPTION

WHEN No_Data_Found THEN aSaldo := NULL;

END;

RETURN aSaldo;

END GetFinalSaldo;

-- Процедура отсылки на сервер КП "электронного" платежа

PROCEDURE SendMessage(aSourceBankID IN INT,

aDebitBankID IN INT,

aCreditBankID IN INT,

aAmount IN INT)

IS

aMsgID INT;

BEGIN

SELECT Msg_Seq.NextVal INTO aMsgID FROM Dual;

INSERT INTO Messages

VALUES (aMsgID, aSourceBankID, aDebitBankID,

aCreditBankID, aAmount, GlobalConst.cMsgNotProcessed);

END SendMessage;

END ClientUtils;

/

SHOW ERROR;

-----------------------------------------------

-- Пакет CommonUtils

-- Интерфейс общих подпрограмм

-----------------------------------------------

PROMPT Creating package CommonUtils...

CREATE OR REPLACE PACKAGE CommonUtils

AS

-- Возвращает уникальный номер банка по его имени

FUNCTION GetBankID(aBankName IN VARCHAR2) RETURN INT;

-- Возвращает текущее дебетовое сальдо

FUNCTION GetCurrentDebitSaldo(aBankID IN INT) RETURN INT;

-- Возвращает текущее кредитовое сальдо

FUNCTION GetCurrentCreditSaldo(aBankID IN INT) RETURN INT;

END CommonUtils;

/

SHOW ERROR;

-----------------------------------------------

-- Процедуры и функции общего пользования

-----------------------------------------------

PROMPT Creating package CommonUtils...

CREATE OR REPLACE PACKAGE BODY CommonUtils

AS

-- Возвращает уникальный идентификатор банка-участника по его имени

FUNCTION GetBankID(aBankName IN VARCHAR2) RETURN INT

IS

Res INT;

BEGIN

BEGIN

SELECT BankID INTO Res FROM Banks

WHERE BankName = aBankName;

EXCEPTION

WHEN No_Data_Found THEN Res := NULL;

END;

RETURN Res;

END GetBankID;

Страницы: 1, 2, 3, 4, 5


ИНТЕРЕСНОЕ



© 2009 Все права защищены.