;;;;;;;;;;;;;;;;;
Введение
Такие задачи, как создание депозитарных сетей, автоматизация учета брокер-дилеров и многие другие требует создание учетных систем, совместно учитывающих права и взаимные обязательства (на финансовые инструменты) для множества лиц, вступающих в отношения реестродержания, номинального держания, ответственного хранения, кредитования, ведения счетов и др. друг с другом в довольно прихотливых сочетаниях.
Традиционный бухгалтерский учет не совсем удобен для моделирования подобных систем, так как любая содержательная операция при этом нетривиальным образом распадается на множество независимых проводок по балансу каждого из участвующих лиц, и в конечном счете довольно трудно понять, сколько кто кому и почему должен. При этом нам надо уметь компактно и эффективно описывать
- систему прав и взаимных обязательств
- проводки, изменяющие взаимные обязательства
- операции типа клиринга и взаимозачета
Для этого удобно иметь все эти взаимоотношения в единой системе, не распадающейся на учеты отдельных лиц.
Практически такая задача перед автором встала при проектировании системы учета для брокерской конторе, которая де-факто состоит из множества юридических лиц, вступающих в сложные отношения друг с другом, со своими клиентами и местами хранения бумаг (реестрами и депозитариями). В попытках ее решения и был разработан описанный ниже формализм, получивший название ТЕОРИЯ ОТНОШЕНИЙ ХРАНЕНИЯ.
Учетный мир
Будем рассматривать следующую ситуацию:
- Мы рассматриваем учет одного финансового инструмента
- В круг рассмотрения входят ВСЕ субъекты расчетов (замкнутость)
- В процессе расчетов количество финструментов не меняется - т.е. не происходит эмиссий (закон сохранения)
С нашей точки зрения каждое лицо может выступать в двух функциях:
Владелец (собственник)
Хранитель (держатель, должник)
Права и взаимные обязательства, состояние которых будем называть Учетным миром W, описываются множеством отношений хранения
- четверок вида
W= {(K,R,A,N)}
где
К - владелец
R - хранитель
A - описатель счета
N - мощность отношения (количество финансовых инструментов)
Эта четверка интерпретируется следующим образом:
K имеет на счете A у R N инструментов или
R должен K N инструментов, и держит их в месте A.
Для каждой тройки (K,R,A) существует единственное отношение хранения, и его мощность будем обозначать N(k,r,a). Иногда будет встречаться запись вида N(k,,a). Опущенные позиции в ней подразумевают суммирование.
Учетный мир должен быть сбалансирован, т.е. для любого K должно выполняться N(k,,) = N(,k,)
Множество участвующих лиц расширим еще одним значением - SELF (сам), которое может фигурировать как в позиции владельца, так и хранителя.
(SELF,R,a,N) означает, что у R есть сумма N, которую он никому не должен - собственные средства.
(K,SELF,a,N) означает, что у K есть сумма N, которую он хранит сам.
Легко видеть, что баланс по SELF также соблюдается, т.е.
N(SELF,,) = N(,,SELF)Это утверждение интерпретируется следующим образом: чьих-то собственных средств в системе всегда столько же, как и средств, где-то в ней хранящихся.
Описатель счета A может выполнять несколько функций, отличающихся в зависимости от вида четверки.
- В четверках вида (K,self,A) A играет роль места хранения (например, сейф N1).
- Для собственных средств (self,R,A) счет позволяет разделить их на некоторые части, которые должны учитываться отдельно (например, прибыль, резервный фонд и др.).
- В отношениях вида (K,R,A) описатель счета нужен для разделения разных обязательств одного хранителя по отношению к одному владельцу. т.е. счет имеет смысл правового статуса средств, хранящихся у R (например, расчетный счет, депозит, залог и др.)
Набор описателей счетов специфичен для каждой описываемой области. Как правило, большинство отношений описываются безымянным счетом, характеризующим основной тип отношений хранителя и владельца.
Там, где описатель счета несущественен, мы будем его опускать и записывать отношения хранения не четверками, а тройками, имея в виду безымянный счет.
Например, учетный мир сразу после эмиссии описывается тройкой отношений хранения:
(SELF,E,Ae,M) - эмитент - владелец всех своих акций (пока).
(R,SELF,M) - глобальный сертификат (или пачка в сейфе) у депозитария или договор с реестродержателем.
(E,R,Ae,M) - реестродержатель хранит акции эмитента
где Е - эмитент
R - реестродержатель
M - объем эмиссии
Ae - эмиссионный счет (отделен от счета выкупленных акций)
Рассматривая соотношение этой модели с традиционным бухгалтерским учетом, легко видеть, что отношения вида (K,SELF..) - это активные счета для K, (SELF,K..) - пассивные счета для K, а (K,R..) - это счета, активные для K, и пассивные для R.
Возможность появления отрицательных остатков (отношений отрицательной мощности) зависит от типа отношения и интерпретации. Образование задолженностей по собственным средствам (SELF,K,A) возможно всегда.
Задолженности по собственному хранению (R,SELF,A), как правило, невозможны.
В отношениях вида (K,R,A) возможность появления отрицательного остатка овердрафта) определяется интерпретацией этих отношений. Вообще говоря, этого можно не допускать, создавая в этом случае обратное отношение
(R, K,A), отражающее задолженность R перед K.
Транзакции
Состояние учетного мира изменяется транзакциями. Будем называть элементарной транзакцией четверку вида
t(k,r,a,n).
Результат применения транзакции - изменение мощности соответствующего отношения хранения на n - мощность элементарной транзакции.
Сложная транзакция (в дальнейшем - просто транзакция) представляет собой набор элементарных транзакций
T( (k1,r1,a1,n1)
(k2,r2,a2,n2)
... )
Результат применения транзакции T будем обозначать T(W).
Будем называть транзакцию полной, если она обладает следующими свойствами:
1. После ее применения баланс в учетном мире сохраняется
2. N(SELF,,) (количество инструментов в мире) остается неизменным (закон сохранения)
Как легко видеть, для того, чтобы баланс сохранялся, необходимо и достаточно, чтобы для любого участника расчетов, принимющего участие в транзакции, сумма элементарных транзакций, где он входит в позиции хранителя, должна совпадать с суммой транзакций, где он входит в позиции собственника.
Приведем примеры записи некоторых содержательных транзакций. Иногда в дальнейшем знак n будет выноситься перед записью элементарных транзакций. Легко увидеть, что все они полные, т.е. сбалансированные и соблюдают закон сохранения.
1. K1 перечисляет N принадлежащих ему рублей со своего счета A1 в банке B в пользу K2 на расчетный счет A2 опять же в банке B.
( - (K1,B,A1,N) - убывают средства K1 с его счета в банке
- (SELF,K1,,N) - убывают собственные средства K1
+ (K2,B,A2,N) - прибывают срества на счет K2 в банке B
+ (SELF,K2,,N) ) - прибывают собственные средства K2
2. То же самое, банки разные, но общаются через один РКЦ
( - (K1,B1,A1,N) - убывают средства K1 с его счета в банке
- (SELF,K1,,N) - убывают собственные средства K1
+ (K2,B2,A2,N) - прибывают срества на счет K2 в банке B
+ (SELF,K2,,N) ) - прибывают собственные средства K2
- (B1,РКЦ,, N) - уменьшается остаток B1 на его корр. счете в РКЦ
+ (B2,РКЦ,,N) - увеличивается остаток B2 на его корр. счете в РКЦ
)
Если РКЦ не входит в круг рассмотрения, то мы считаем, что банки хранят деньги ``у себя'', и последние две элементарные транзакции выглядели бы как
- (B1,SELF, N) - уменьшаются активы B1
+ (B2,SELF,,N) - увеличиваются активы B2
Если у B1 есть корреспонентский счет в B2 с достаточным остатком на нем, то банки могли бы расчитаться через него
-(B1,B2,,n) - уменьшается остаток на кор. счете B1 у B2
3. Банк кредитует своего клиента, перечисляя средства на его расчетный счет
( + (K,B,,N) - увеличивается остаток на расчетном счете
+ (B,K,''Кредит'',N) ) - появляется (увеличивается) задоленность клиента перед банком с уточнением ``Кредит''.
4. Сдача кассы в банк
( -(K, SELF, КАССА,N) - уменьшается остаток в кассе К
+(К,B,,N) - увеличивается остаток на расчетом счете +(B,SELF,КАССА,N) - увеличиается остаток в кассе банка
)
5. Перечисление K2 от K1 с учетом денег в пути - есть два варианта.
5.1. До момента перечисления деньги остаются в собственности и хранении отправителя, но переводяся на специальный субсчет.
резервирование суммы
( - (SELF,K1,,N),
+ (SELF,K1, ``деньги в пути'',N)
)
перечисление
( - SELF,K1, ``деньги в пути'',N)
- (K1,SELF,,N))
+ (SELF,K2,,N)
+ (K2,SELF,,N)
)
5.2. До момента перечисления деньги остаются в хранении отправителя, но считаются собственностью получателя
резервирование суммы
( - (SELF,K1,,N),
+ (K2,K1, "деньги в пути",N)
+ (SELF,K2, ,N)
)
перечисление
(
- (K2,K1, ``деньги в пути'',N)
- (K1,SELF,,N))
+ (K2,SELF,,N)
)
Расширение модели - много инструментов, незамкнутый мир
Расширим наш мир наличием нескольких типов инструментов Это особого усложнения не вносит - отношения хранения и тразакции дополняются указанием инструмента, расширяясь тем самым до пятерок до пятерок. Баланс мира и транзакций должен соблюдаться отдельно по каждому финструменту.
Снимем предположение о замкнутости мира - т.е. будем считать, что есть участники расчетов, которые нам неизвестны (или неинтересны). Это автоматически нарушает закон сохранения - поступление суммы от ``внешнего'' источника меняет количество инструментов этого вида в учетном мире.
Преобразование транзакций
Очевидно, что над транзакциями можно ввести ряд операций и преобразований.
Будем называть транзакции T1 и T2 эквивалентными, если
T1(W)=T2(W)
Сложением транзакций будем называть их последовательное применение.
(T1+T2)(W) = T2(T1(W)).
Легко видеть, что сложение сводится к объединению множеств элементарных транзакций.
Очевидно, что и наоборот - одну транзакцию можно разложить на несколько. Приведем некоторые примеры преобразования транзакций.
(r,r,a,0)= ()
(к,r,a,n)+(k,r,a,m) = (k,r,a,n+m) (суммирование)
Соответственно, существует простой метод упрощения транзакции - сгруппировать ее по каждой тройке (k,r,a), и просуммировать.
Возможность некоторых полезных преобразований зависит от интерпретации - например, взаимозачета обязательств:
(k,r,n)+(r,k,m) -> (r,k,m-n) если m-n > 0 (взаимозачет)
-> (k,r,n-m) ecли n-m > 0
(k,r,n) <-> (K,r,n)+(k,K,n) (передача обязательства или ``перевод стрелок'')
Технику преобразования транзакций можно использовать в разных целях - например, для описания процесса клиринга. Клиринг при этом понимается как операция над транзакциями.
В течение некоторого периода времени все транзакции, которые должны быть склирингованны, накапливаются, объединяясь в одну большую транзакцию. Затем для каждой элементарной транзакции производится ее преобразование (передача обязательств на клиринговый центр), и получившаяся транзакция T упрощается. В результате для каждого участника расчетов получается его нетто-обязательство.
Достаточно легко в данном формализме описываются такие процессы, как маршрутизация проводок (определение того, где и какие поводки должны быть выполнены) и при меж-(банковских, депозитарных и др.) переводах и другие подобные процессы.
Цепочки хранения
Для построения реальных учетных систем в данной идеологии полезно уметь оперировать примитивами более высокого уровня, чем элементарные транзакции. Таким примитивом является операция списания/зачисления по цепочке хранения.
Цепочкой хранения будем называть последовательность
S=A1/K1/A12/K2/A23/K3/...Kn/An/, где
Ki - это некоторый участник расчетов, Aij - описатели счетов.
Операция по цепочке описывается как (S, n) , и раскрывается в следующую транзакцию
( (Self, K1, A1, n),
(K1,K2,A12,n),
(K2,K3,A23,n),
...
(Kn, Self, An,n)
)
легко видеть, что такая транзакция сбалансирована. Легко так же показать, что любая разумная транзакция может быть построена, как некоторое количество операций по цепочкам. Более того, почти все разумные транзакции очень естественно описываются в таком виде.
1. Эмиссия: ( Ae/E/Ae/R//, +N), где E- эмитент, R-реестродержатель, Ae-эмиссионный счет
2. K1 перечисляет со своего расчетного счета a1 в банке B1 в пользу K2 на расчетный счет a2 опять же в банке B1
( /K1/a1/B1//, -N)
( /K2/a2/B1//, -N)
3. То же самое, но банки разные, и общаются через один РКЦ
( /K1/a1/B1/кс1/РКЦ//, -N)
( /K2/a2/B2/кс2/РКЦ//, -N)
На этом примере уже явно проявляются преимущество от работы с цепочками - сложность описания по сравнению с предыдущим примером практически не возросла.
4. Клиент Cl оффшорного брокера OB продает бумаги с поставкой из депозитария DEPO, где у российского брокера RB счет номинального держания. При этом номинальное держание брокера мы рассматриваем как отдельное лицо (баланс) - RBN(omenee).
(/Cl//OB//RBN//DEPO//, -N),
5 Клиент Cl1 оффорного брокера OB продает бумаги клиенту Cl2 российского брокера. При этом не важно, где они в конечном счете хранятся, так как они не выходят из номинального держания российского брокера.
(/Cl1//OB//RBN//, -N),
(/Cl2//RBN//, +N),
Раскрыв операции по цепочкам в элементарные транзакции, мы увидим, что там появятся взаимно уничтожающиеся транзакции, которые устраняются на этапе анализа транзакции, и не порождают лишнего движения.
Заключение
Естественно, действительность несколько сложнее, чем описано в настоящей статье, но приведенная модель дает хорошую базу для построения реальных учетных систем. В частности, данная модель была использована и хорошо показала себя при реализации конкретной информационной системы.
Автору представляется, что данный формализм может сыграть для учетных систем роль, аналогичную роли реляционного исчисления применительно к базам данных - путем ввода строгой и компактной нотации и формального доказательного аппарата формализовать многие интуитивно очевидные вещи, и дать методологию для размышления и реализации.
(
опубликовано 06.05.2001)
|