Спецификация форматов отчетов
Отчеты, предоставляемые биржей
По окончании торгов биржа предоставляет участникам торгов следующие отчеты:
- Отчет о сделках
- Отчет о сделках с отложенным исполнением
- Отчет о состоянии торговых счетов
- Отчет о комиссионном вознаграждении биржи
- Отчет о сделках РЕПО
- Отчет о сделках ОВГЗ
Отчеты предоставляются по электронной почте и представляют собой документы, сформированные в соответствии с требованиями языка XML версии 1.0. Полная спецификация языка XML версии 1.0 приводится в документе Extensible Markup Language (XML) 1.0 (Second Edition), разработанном W3C и опубликованном в сети Интернет по адресу http://www.w3.org/TR/REC-xml.
В описаниях структуры полей для каждого типа сообщений:
- Символом "М" отмечены поля, наличие и заполнение которых в сообщении является обязательным;
- Символом "О" отмечены поля, наличие и заполнение которых в сообщении не является обязательным.
Структура XML документа
Ниже приводится краткое описание структуры XML документа версии 1.0.
Любой XML документ состоит из двух частей: Пролога и Корневого элемента.
Пролог XML документа
Пролог XML документа предназначен для описания глобальных параметров XML документа. Пролог может содержать несколько инструкций, каждая из которых начинается с последовательности символов "<?" и заканчивается последовательностью символов "?>".
В первой строке пролога всегда размещается объявление XML с указанием кодировки символов, используемых в документе.
Пример Пролога документа:
<?xml version="1.0" encoding="windows-1251"?>
Элементы XML документа
Документ XML всегда содержит единственный корневой элемент, который может включать в себя любое число других элементов. Начало любого элемента обозначается открывающим тегом, например <element1>. Конец элемента обозначается закрывающим тегом, например </element1>. Конец элемента также может обозначаться последовательностью "/>", в случае если данный элемент не содержит дочерних (вложенных) элементов.
Пример элемента:
<doc> пример элемента </doc>
Атрибуты элементов XML документа
Каждый элемент может содержать любое количество атрибутов. Атрибуты предназначены для передачи дополнительной информации об элементе. Атрибуты указываются внутри открывающего тега сразу после его названия в виде пар аттрибут1="значение1" аттрибут2="значение2". Значения атрибутов не должны содержать символы "<" (левая угловая скобка), ">" (правая угловая скобка), "&" (амперсанд), "‘" (апостроф) и """ (двойная кавычка). Данные символы кодируются последовательностями "<", ">", "&", "'", """, соответственно.
Пример атрибута:
<doc type="значение type" />
В данном примере элемент <doc> содержит атрибут type со значением "значение type".
Каждый элемент может содержать любое количество других элементов. Такие элементы называются дочерними элементами по отношению к данному элементу.
Пример дочернего элемента:
<doc type="test">
<fid> пример дочернего элемента </fid>
</doc>
Здесь <fid> является дочерним элементом элемента <doc>.
Для всех отчетов действуют два основных правила:
- Любой элемент может быть дочерним элементом любого другого.
Это правило позволяет группировать элементы отчетов в любой иерархии.
- Для каждого дочернего элемента действует правило:
Если в элементе значение атрибута не указано, то его значение соответствует значению атрибута, имеющего то же имя и указанного в элементе более высокого уровня.
Это правило позволяет не дублировать информацию во вложенных элементах.
Типы значений
Тип |
Описание |
Text |
Строковое значение, включая символы кириллицы |
Boolean |
Логическая переменная ("1" или "0") |
Numeric (n, m) |
Числа с десятичной точкой (если размер дробной части в описании атрибута элемента > 0) или числа без десятичной точки (если размер дробной части в описании атрибута элемента отсутствует или равен 0) n – размер целой части m – размер дробной части Если размер целой части не определен, указывается # |
Date |
Дата в формате: dd.mm.yyyy |
Time |
Время в формате: hh:mm:ss |
Datetime |
Дата и время в формате: dd.mm.yyyy hh:mm:ss |
Корневой элемент
В каждом отчете обязательно присутствует корневой элемент <Receiver>, который предназначен для определения получателя отчета, дат начала и окончания периода, за который сформирован отчет, даты и времени формирования отчета.
Элемент Receiver
M/O |
Атрибут |
Описание |
Тип |
M |
Id |
Код ТС участника клиринга, для которого сформирован отчет |
text |
M |
Name |
Наименование участника клиринга, для которого сформирован отчет |
text |
O |
DateFrom |
Дата начала периода, за который сформирован отчет |
date |
M |
DateTo |
Дата окончания периода, за который сформирован отчет, либо дата, за которую сформирован отчет, если DateFrom не задана |
date |
M |
DateRpt |
Дата и время формирования отчета |
datetime |
Корневой элемент <Receiver> содержит взаимосвязанный дочерний элемент <Report>, описывающий идентификатор, название и версию отчета.
Элемент Report
M/O |
Атрибут |
Описание |
Тип |
M |
Type |
Идентификатор отчета |
Text |
M |
Desc |
Название отчета |
Text |
M |
Ver |
Версия отчета |
Text |
Правила формирования значений определенных атрибутов элемента:
Атрибут "Type" может принимать следующие значения:
- "DAYCONTRACT_GTS" - Отчет о сделках;
- "DAYCONTRACT_TPN" - Отчет о сделках с отложенным исполнением;
- "DAYCONTRACT_REPO" – Отчет о сделках РЕПО;
- "DAYCONTRACT_G" - Отчет о сделках ОВГЗ.
- "DAYASSET" - Отчет о состоянии торговых счетов;
- "DAYFEE_TRD" - Отчет о комиссионном вознаграждении Биржи.