Основные типы

Рассмотрим основные типы (элементы), используемые в стандарте помимо общих блоков, присутствующих практически во всех сообщениях.

Events.model

Набор узлов Events.model присутствует в большинстве сообщений. Его элементами являются типы, описывающие различные бизнес-события: сделки, внесение изменений в сделки, завершение сделок, экспирация опционов и проч.

Ниже рассмотрим подробнее отдельные элементы из набора Events.model.

Trade

Данный тип используется для передачи информации об экономических параметрах сделки. Блок <trade> можно встретить в сообщениях <nonpublicExecutionReport>, <nonpublicExecutionReportRetracted>, <requestConfirmation>, <confirmationAgreed>, <confirmationDisputed>, <nonpublicExecutionReportException> и <eventStatusResponse>.

Блок <trade> имеет следующую структуру:

<!-- Описание сделки -->
<trade>
    <!-- Заголовок сделки -->
    <tradeHeader>
    ...
    </tradeHeader>

    <!-- Описание конкретного финансового инструмента, будет рассмотрено далее. -->
    <product>
    ...
    </product>

    <!-- Информация о соглашениях, в рамках которых совершается данная сделка. -->
    <documentation>
    ...
    </documentation>
</trade>
В заголовке передаётся общая информация о сторонах сделки.

TradeAmendmentContent

Тип элемента amendment набора узлов Events.model. Используется для передачи информации об изменениях в условиях сделки. Изменение условий сделки представляет согласованное двумя сторонами изменение одного или более условий сделки, предусматривающее не только изменение в номинальной сумме сделки и имеющее экономический эффект. Данное событие необходимо отличать от исправления ранее поданного сообщения о событии в отношении той же сделки.

<amendment>

    <!-- Идентификатор события. Опциональный элемент. -->
    <eventIdentifier></eventIdentifier>
    
    <!-- Сделка, в которую вносятся изменения. Изменения должны быть отражены внутри данного блока. -->
    <trade>...</trade>

    <!-- Дата, в которую изменение было согласовано. -->
    <agreementDate></agreementDate>

    <!-- Дата и время, в которые согласованное изменение условий исходного договора было принято. -->
    <executionDateTime></executionDateTime>

    <!-- Дата, с которой изменение вступило в силу. -->
    <effectiveDate></effectiveDate>

    <!-- Информация о платеже, связанном с изменениями в условиях сделки. -->
    <payment></payment>

    <!-- Информация о платеже, связанном с изменениями в условиях сделки. Элементов payment может быть произвольное число. -->
    <payment></payment>
</amendment>

Product

Абстрактный тип, от которого наследуются все типы, описывающие конкретные финансовые инструменты. Структура типа приводится ниже. Все поля являются опциональными, то есть их наличие необязательно для всех типов финансовых инструментов.

<product>
    <!-- Тип базового актива. -->
    <primaryAssetClass>ForeignExchange</primaryAssetClass>

    <!-- Уточнение типа базового актива, если требуется. -->
    <secondaryAssetClass></secondaryAssetClass>

    <!-- Тип производного инструмента. -->
    <productType>ForeignExchange:Forward</productType>

    <!-- Идентификатор инструмента. -->
    <productId>FXFWD</productId>
    <assetClass>ForeignExchange</assetClass>

    <!-- Тип опциона, являющегося частью другого дериватива. -->
    <embeddedOptionType>CancelableProvision</embeddedOptionType>
<product>

MasterAgreementTerms

Тип данного элемента является наследником абстрактного типа Product и также как и другие типы-наследники Product используется в составе блоков <trade>, <amendment>, <termination> и др.

Тип описывает условия генерального соглашения и передаётся в соответствующих сообщениях в блоках <trade>, <amendmant> и <termination>.

Ниже приводится описание структуры типа с комментариями:

 <!--Условия генерального соглашения.-->
    <!--Master Agreement Terms.-->
    <nsdext:masterAgreementTerms>
      <!--Тип генерального соглашения.-->
      <!--Master Agreement Type.-->
      <nsdext:masterAgreementType>RusDeriv</nsdext:masterAgreementType>
      <!--Версия формы генерального соглашения.-->
      <!--The version of the master agreement form.-->
      <nsdext:masterAgreementVersion>RusDeriv2011</nsdext:masterAgreementVersion>
    </nsdext:masterAgreementTerms>