Дидактические материалы сервисных функций рабочих мест MICEX Trade Currency Содержание

advertisement
Дидактические материалы
сервисных функций рабочих мест MICEX Trade Currency
Содержание
Сервисные функции, реализуемые на рабочем месте................................................................2
Пример реализации на терминале ММВБ MICEX Trade Currency ..........................................3
Вычисление доступного объема заявки ..................................................................................3
Расчет обеспечения и торгового лимита, необходимых для проведения планируемых
операций по покупке и продаже валюты ................................................................................6
Информация для самостоятельного расчета ТЛ и ЕЛ без использования функций
библиотеки .....................................................................................................................................8
Информация, получаемая из торговой системы и необходимая для расчетов Единого и
Торгового лимитов ....................................................................................................................8
Функция расчета Торгового лимита ......................................................................................10
Функция расчета Единого лимита .........................................................................................10
Сервисные функции, реализуемые на рабочем месте
Предусматривается реализация следующих сервисных функций:
Функция «Вычисление доступного объема заявки» - позволяет непосредственно в форме
ввода заявки получить информацию о максимальном количестве лотов, которое может
быть указано в заявке, в том числе и при закрытии позиций.
Функция «Расчет средств и Торгового лимита, необходимых для проведения
планируемых операций по покупке и продаже валюты» - позволяет в любой момент
торгов рассчитать суммы денежных средств в валюте, необходимых под планируемые
операции на валютном рынке, а также Торговый лимит, необходимый под планируемые
операции на валютном рынке.
Общая информация для расчетов
В основе реализации сервисных функций лежит расчет Единого и Торгового лимитов.
Расчет лимитов производится с помощью предоставляемой новой библиотеки
МicexCalcCurrency.DLL.
2
Пример реализации на терминале ММВБ MICEX Trade
Currency
Вычисление доступного объема заявки
В формы ввода заявок добавлены:
 Поле «Доступно лотов для <продажи/покупки>».
 Кнопку «?».
Кнопка «?» становится активной, если в форме заявки указаны следующие параметры:
 «Режим».
 «Инструмент».
 «Курс».
 «Торговый счет» (Расчетный код).
При нажатии на кнопку «?» производится расчет доступного объема лотов для
выбранного направления операции продажи или покупки. Вычисленный объем
отображается в поле «Доступно лотов для <продажи/покупки>».
Поле «Доступно лотов для <продажи/покупки>» очищается при изменении
вышеуказанных параметров. Дополнительно поле очищается сразу после нажатия кнопки
«?».
Вычисления производятся следующим образом.
Обычные заявки
Для валют BYR, UAH, KZT, CNY на продажу:
Доступно = ОТБР(<Плановая>[Лимит 100% - VAL] / [Размер лота -VAL]), где
 VAL – одна из валют: BYR, UAH, KZT, CNY.
3



<Плановая>[Лимит 100% - VAL] – плановая позиция лимита со 100%
депонированием для одной из валют VAL из таблицы «Позиции по лимитам».
[Размер лота -VAL] – размер лота для соответствующей валюты VAL из таблицы
«Финансовые инструменты».
ОТБР – функция отбрасывания дробной части, так что остается целое число.
Для валют BYR, UAH, KZT, CNY на покупку:
Доступно = ОТБР(МИН(<Плановая>[Лимит 100% - RUB]; ПОН<Плановая>[Единый
лимит - RUB]])) * [Котируется за] / [Размер лота] / [Курс), где
 <Плановая>[Лимит 100% - RUB] – плановая позиция лимита со 100%
депонированием по RUB из таблицы «Позиции по лимитам».
 <Плановая>[Единый лимит - RUB] – плановая позиция Единого лимита из таблицы
«Позиции по лимитам».
 [Размер лота] – размер лота для соответствующей валюты VAL из таблицы
«Финансовые инструменты».
 [Котируется за] – установленное количество валюты, за которое указывается курс
из таблицы «Финансовые инструменты».
 [Курс] – курс, указанный в заявке.
 ОТБР – функция отбрасывания дробной части, так что остается целое число.
 МИН – функция выбора минимального значения.
 ПОН – функция положительна, если аргумент положителен, иначе ноль.
Для валют EUR, USD, RUB на покупку и продажу:
Расчет доступного объема заявки производится следующим образом.
Для СВОП заявок с направлением К/П и СВОП ценой >= 0 или с направлением К/П и
СВОП ценой <= 0 (заявка не приводит к уменьшению Единого лимита):
Доступно= QTY_MAX1.
Для остальных заявок, если плановая позиция Единого лимита меньше нуля, то
производятся следующие вычисления:
1. Если текущая позиция Единого лимита не равна плановой позиции Единого
лимита, то выдается сообщение об ошибке: «Вы имеете маржинальное требование.
Все активные заявки должны быть сняты» и вычисления доступного количества не
производятся.
2. Если п.1 не выполняется, то вычисляется значение Единого лимита для QTY
равного 1 лоту. Если рассчитанное значение Единого лимита меньше плановой
позиции Единого лимита, выдается сообщение об ошибке: «Вы имеете
маржинальное требование. Заявка закрытия позиции должна иметь другую
направленность» и вычисления доступного количества не производятся.
3. Если п.2 не выполняется, то вычисляется доступное количество лотов для закрытия
позиции: QTY=ОТБР(АБС(<Текущая>[ Под исполнение TOD - VAL] +
<Текущая>[ По сделкам TOM - VAL])/ [Размер лота VAL]), где VAL – валюты
USD и EUR.
Если плановая позиция Единого лимита больше или равна нулю, то производятся
вычисления, описанные ниже:
Из торговой системы запрашиваются все активные системные и внебиржевые заявки.
Для обычных инструментов вычисляются объемы по каждому инструменту:
1
Максимальное количество лотов, указываемое в заявке, принимается равным 9 999 999 999.
4
[Объем по инструменту]=[Размер лота]*[Остаток лотов]
[Объем по валюте расчетов]=[Размер лота]*[Остаток лотов]/[Котировки за]*[Курс]
Для СВОП инструментов объемы вычисляются следующим образом:
Для заявок с направлением К/П и СВОП цене >=0 и для заявок с направлением П/К и
СВОП цене <=0 вычисляется объем по каждому инструменту СВОП:
[Объем] = 0.
Для заявок с направлением К/П и СВОП цене <0 и для заявок с направлением П/К и
СВОП цене >0 вычисляется объем по каждому инструменту СВОП:
[Объем] = [Размер лота] * [Остаток лотов] * [СВОП цена] / [Котировки за].
Аналогично определяется объем тестируемой заявки, для которой рассчитывается
допустимый объем.
Рассчитанные значения объемов суммируются и подаются на вход библиотеке
MicexCalcCurrency.DLL.
Производятся следующие вычисления:
Используя метод половинного деления, на отрезке от 0 до MAX_QTY включительно
ищется максимальное значение QTY, при котором значение Единого лимита остается
неотрицательным.
Примечание: На каждой итерации на вход MicexCalcCurrency.DLL подаются структуры,
подготовленные на этапе запроса заявок, модифицированные с учетом объема
тестируемой заявки.
Аналогично вычисляется максимальный объем заявки, ограниченный Торговым лимитом.
Если текущая позиция UTST меньше или равна нулю, то Торговый лимит не ограничивает
объем заявки.
Если текущая позиция UTST больше нуля, то находится максимальное значение
количества лотов, при котором плановая позиция UTST не становится меньше нуля.
Итоговое значение допустимого количества лотов в заявке представляет собой минимум
из значений допустимого количества лотов, рассчитанных для Единого лимита и
Торгового лимита.
5
Расчет обеспечения и торгового лимита, необходимых для
проведения планируемых операций по покупке и продаже
валюты
Введена новая форма «Расчет обеспечения и торгового лимита под операции».
Форма вызываться через меню «Запрос» подпункт «Обеспечение и ТЛ под операции».
Форма содержит:
 Таблицу «Объем операций» - отображаются установленные параметры для
расчетов.
 Поле «Требуемое дополнительное обеспечение в RUB» - отображается модуль
отрицательного значения Единого лимита, рассчитанного по нажатию кнопки
«Вычислить». Значение Единого лимита рассчитывается по данным из таблицы
«Объем операций» формы, которые учитываются в таблице 1 как заявки. При
расчете не используются данные из полей «Средства USD», «Средства EUR»,
«Средства RUB» формы (см. ниже).
 Поле «Требуемый торговый лимит в RUB» - отображается требуемое значение
Торгового лимита, рассчитанного по нажатию кнопки «Вычислить». Значение
Торгового лимита рассчитывается по данным из таблицы «Объем операций»
формы, которые учитываются в таблице 1 как заявки.
 Поле «Средства USD» - указываются средства USD. Значение используется при
расчете Единого лимита.
 Поле «Средства EUR» - указываются средства EUR. Значение используется при
расчете Единого лимита.
 Поле «Средства RUB» - указываются средства RUB. Значение используется при
расчете Единого лимита.
 Поле «Недостаток дополнительного обеспечения в RUB / Обеспечение в торговой
системе превышает необходимое в RUB на:» - отображается модуль значения
Единого лимита, рассчитанного по нажатию кнопки «Вычислить». Значение
Единого лимита рассчитывается по данным из таблицы «Объем операций» формы,
которые учитываются в таблице 1 как заявки, и указанных в полях «Средства
6


USD», «Средства EUR», «Средства RUB» средств. Название поля меняется в
зависимости от вычисленного значения Единого лимита. Если Единый лимит
отрицательный, то название поля «Недостаток дополнительного обеспечения в
RUB:», иначе «Обеспечение в торговой системе превышает необходимое в RUB
на:».
Кнопка «Вычислить» - при нажатии на кнопку производится вычисление Единого
и Торгового лимитов.
Кнопка «Очистить» - при нажатии на кнопку таблица «Объем операций»
очищается.
Таблица «Объем операций» содержит:
Столбцы:
 «Валютная пара» - отображается валюта инструмента.
 «Лотов купля» - отображается количество валюты под планируемые операции на
покупку.
 «Курс купля» - отображается курс, по которому предполагается совершать сделки
покупки.
 «Лотов продажа» - отображается количество валюты под планируемые операции
на продажу.
 «Курс продажа» - отображается курс, по которому предполагается совершать
сделки продажи.
 «Мин. курс» - минимальный курс, по которому регистрируются заявки в торговой
системе (информационное поле).
 «Макс. курс» - максимальный курс, по которому регистрируются заявки в торговой
системе (информационное поле).
7
Информация для самостоятельного расчета ТЛ и ЕЛ без
использования функций библиотеки
Расчет Единого лимита (Торгового лимита) проводится следующим образом.




Выполняется запрос по получению информации из торговой системы, которые
отражаются в таблице 1.
Рассчитываются параметры в соответствии с алгоритмами сервисных функций,
которые прибавляются к соответствующим параметрам таблицы 1.
На основании данных таблицы 1 рассчитывается Единый лимит.
В алгоритмах сервисных функций анализируется значение единого лимита. Если
значение Единого лимита удовлетворяет алгоритмам сервисных функций, то
расчет заканчивается. Если Единый лимит не удовлетворяет алгоритмам, то
рассчитывается новое значение параметров для таблицы 1 и расчеты повторяются.
Информация, получаемая из торговой системы и необходимая
для расчетов Единого и Торгового лимитов
На основании информации об активных заявках, сделках и денежных средствах
рассчитываются параметры, представленные в таблице 1:
Номер
Валюта
расчетов
C
RUB
B/S USD
EUR
1
2
3
Тип Валюта
инструмента
A
B
D
T
O
USD
D
B
F
Ф2 + Ф2ф
Ф5
-
4
O
USD
RUB
S
5
O
EUR
RUB
B
-
6
O
EUR
RUB
S
-
7
O
EUR
USD
B
8
O
EUR
USD
S
См. обычные
заявки
См. обычные
заявки
9
10
11
12
13
14
15
S
S
S
S
S
S
O
USD
USD
EUR
EUR
EUR
EUR
VAL
RUB
RUB
RUB
RUB
USD
USD
RUB
B
S
B
S
B
S
B
E
Ф1 + Ф1ф
Ф4
См. обычные
заявки
См. обычные
заявки
См. СВОП заявки
См. СВОП заявки
См. обычные
заявки
См. обычные
заявки
См. обычные
заявки
См. обычные
заявки
-
Таблица 1
RUB
G
Ф3 + Ф3ф
Ф6
См. обычные
заявки
См. обычные
заявки
См. обычные
заявки
См. обычные
заявки
См. СВОП заявки
См. СВОП заявки
См. СВОП заявки
См. СВОП заявки
-Ф25-Ф25ф
Примечания.
1. Информация в таблице представлена по одному расчетному коду
(BANKACCID).
2. Типы:
1. D – депонированные средства.
2. T – сделки системные и внесистемные.
3. O – заявки системные и внесистемные обычные.
4. S - заявки системные и внесистемные SWAP.
8
3. Валютная пара для инструмента определяется как < Валюта инструмента > /
< Валюта расчетов >.
4. «-» - ячейка не используется.
5. Значения в столбцах «USD», «EUR», «RUB» отображаются со знаком.
6. Ф1 = <Текущая>[Средства - USD], где:
 <Текущая>[Средства - USD] - текущая позиция по средствам USD из
таблицы «Позиции по средствам».
7. Ф1ф = [Средства - USD], где:
 [Средства - USD] – средства USD из форм расчета параметров.
8. Ф2 = <Текущая>[Средства - EUR], где:
 <Текущая>[Средства - EUR] – текущая позиция по средствам EUR из
таблицы «Позиции по средствам».
9. Ф2ф = [Средства - USD], где:
 [Средства - EUR] – средства EUR из форм расчета параметров.
10. Ф3 = <Текущая>[Средства - RUB], где.
 <Текущая>[Средства - RUB] – текущая позиция по средствам RUB из
таблицы «Позиции по средствам».
11. Ф3ф = [Средства - USD], где:
 [Средства - RUB] – средства RUB из форм расчета параметров.
12. Ф4 = <Текущая>[ Под исполнение TOD - USD] + <Текущая>[ По сделкам
TOM - USD], где:
 <Текущая>[ Под исполнение TOD - USD] – текущая под исполнение
по USD из таблицы «Позиции под исполнение».
 <Текущая>[ По сделкам TOM - USD] – текущая по сделкам TOM по
USD из таблицы «Позиции по сделкам».
13. Ф5 = <Текущая>[ Под исполнение TOD - EUR] + <Текущая>[ По сделкам
TOM - EUR], где:
 <Текущая>[ Под исполнение TOD - EUR] – текущая под исполнение
по EUR из таблицы «Позиции под исполнение».
 <Текущая>[ По сделкам TOM - EUR] – текущая по сделкам TOM по
EUR из таблицы «Позиции по сделкам».
14. Ф6 = <Текущая>[ Под исполнение TOD - RUB] + <Текущая>[ По сделкам
TOM - RUB], где:
 <Текущая>[ Под исполнение TOD - RUB] – текущая под исполнение
по RUB из таблицы «Позиции под исполнение».
 <Текущая>[ По сделкам TOM - RUB] – текущая по сделкам TOM по
RUB из таблицы «Позиции по сделкам».
15. Ф25 = <В заявках на покупку>[Позиции по инструментам KZT/RUB_TOD RUB] + <В заявках на покупку>[Позиции по инструментам BYR/RUB_TOD
- RUB] + <В заявках на покупку>[Позиции по инструментам
UAH/RUB_TOD - RUB] + <В заявках на покупку>[Позиции по
инструментам CNY/RUB_TOD - RUB]
16. Ф25ф = <В заявках на покупку>[Из формы по инструментам
KZT/RUB_TOD - RUB] + <В заявках на покупку>[ Из формы по
инструментам BYR/RUB_TOD - RUB] + <В заявках на покупку>[ Из формы
по инструментам UAH/RUB_TOD - RUB] + <В заявках на покупку>[ Из
формы по инструментам CNY/RUB_TOD - RUB].
9
Функция расчета Торгового лимита
Расчет Торгового лимита производится в соответствии с таблицей 2 на основании данных
из таблицы 1:
Таблица 2
Наименование USD
EUR
RUB
Лимит, RUB
E2+E3+E7+E13+E14
F2+F5+F7
G2+G3+G5+G9+G10+G11+ G12
TL1
Ф1
E2+E4+E7+E13+E14
F2+F5+F7
G2+G4+G5+G9+G10+G11+
G12
TL2
Ф2
E2+E3+E7+E13+E14
F2+F6+F7
G2+G3+G6+G9+G10+G11+ G12
TL3
Ф3
E2+E4+E7+E13+E14
F2+F6+F7
G2+G4+G6+G9+G10+G11+
G12
TL4
Ф4
E2+E3+E8+E13+E14
F2+F5+F8
G2+G3+G5+G9+G10+G11+
G12
TL5
Ф5
E2+E4+E8+E13+E14
F2+F5+F8
G2+G4+G5+G9+G10+G11+ G12
TL6
Ф6
E2+E3+E8+E13+E14
F2+F6+F8
G2+G3+G6+G9+G10+G11+
G12
TL7
Ф7
E2+E4+E8+E13+E14
F2+F6+F8
G2+G4+G6+G9+G10+G11+ G12
TL8
Ф8
Примечания.
1. Информация в таблице представлена по одному расчетному коду (BANKACCID).
2. TL1 - TL8 – Торговые лимиты.
3. i – номер Торгового лимита от 1 до 8.
4. Столбцы USD, EUR, RUB – служат для учета позиций по соответствующей валюте
для расчета лимита. В столбцах отображается сумма значений из ячеек таблицы 1.
5. Значение Торгового лимита вычисляется по формуле Фi= USDi*[Курс USD/RUB]i
+ EURi*[Курс EUR/RUB]i + RUBi, где
 [Курс USD/RUB]i = ЕСЛИ(USDi >0; [Курс USD/RUB нижняя граница]; [Курс
USD/RUB верхняя граница]), где
o [Курс USD/RUB нижняя граница] – курс нижней границы диапазона оценки
рисков по валютной паре USD/RUB.
o [Курс USD/RUB верхняя граница] – курс верхней границы диапазона оценки
рисков по валютной паре USD/RUB.
o ЕСЛИ – функция выбора значения по заданному условию.
 [Курс EUR/RUB]i = ЕСЛИ(EURi >0; [Курс EUR/RUB нижняя граница]; [Курс
EUR/RUB верхняя граница]), где
o [Курс EUR/RUB нижняя граница] – курс нижней границы диапазона оценки
рисков по валютной паре EUR/RUB.
o [Курс EUR/RUB верхняя граница] – курс верхней границы диапазона оценки
рисков по валютной паре EUR/RUB.
6.
TL=МИН(TL1; TL2; TL3; TL4; TL5; TL6; TL7; TL8), где
МИН – функция выбора минимального значения.
Функция расчета Единого лимита
Расчет Единого лимита производится в соответствии с таблицей 3 на основании данных из
таблицы 1:
Таблица 3
Наименова USD
EUR
RUB
Лимит, RUB
ние
E1+E2+E3+E7+E13+E14
F1+F2+F5+F7
G1+G2+G3+G5+G9+G10+G11+ G12 +G15
EL1
Ф1
E1+E2+E4+E7+E13+E14
F1+F2+F5+F7
G1+G2+G4+G5+G9+G10+G11+
G12
+G15
EL2
Ф2
E1+E2+E3+E7+E13+E14
F1+F2+F6+F7
G1+G2+G3+G6+G9+G10+G11+ G12 +G15
EL3
Ф3
E1+E2+E4+E7+E13+E14
F1+F2+F6+F7
G1+G2+G4+G6+G9+G10+G11+
G12
+G15
EL4
Ф4
E1+E2+E3+E8+E13+E14
F1+F2+F5+F8
G1+G2+G3+G5+G9+G10+G11+
G12
+G15
EL5
Ф5
10
E1+E2+E4+E8+E13+E14
F1+F2+F5+F8
G1+G2+G4+G5+G9+G10+G11+ G12 +G15
EL6
Ф6
E1+E2+E3+E8+E13+E14
F1+F2+F6+F8
G1+G2+G3+G6+G9+G10+G11+ G12 +G15
EL7
Ф7
E1+E2+E4+E8+E13+E14
F1+F2+F6+F8
G1+G2+G4+G6+G9+G10+G11+
G12
+G15
EL8
Ф8
Примечания.
1. Информация в таблице представлена по одному расчетному коду (BANKACCID).
2. EL1 - EL8 – Единые лимиты.
3. i – номер Единого лимита от 1 до 8.
4. Столбцы USD, EUR, RUB – служат для учета позиций по соответствующей валюте
для расчета лимита. В столбцах отображается сумма значений из ячеек таблицы 1.
5. Значение Единого лимита вычисляется по формуле Фi= USDi*[Курс USD/RUB]i +
EURi*[Курс EUR/RUB]i + RUBi, где
 [Курс USD/RUB]i = ЕСЛИ(USDi >0; [Курс USD/RUB нижняя граница]; [Курс
USD/RUB верхняя граница]), где
o [Курс USD/RUB нижняя граница] – курс нижней границы диапазона оценки
рисков по валютной паре USD/RUB.
o [Курс USD/RUB верхняя граница] – курс верхней границы диапазона оценки
рисков по валютной паре USD/RUB.
o ЕСЛИ – функция выбора значения по заданному условию.
 [Курс EUR/RUB]i = ЕСЛИ(EURi >0; [Курс EUR/RUB нижняя граница]; [Курс
EUR/RUB верхняя граница]), где
o [Курс EUR/RUB нижняя граница] – курс нижней границы диапазона оценки
рисков по валютной паре EUR/RUB.
o [Курс EUR/RUB верхняя граница] – курс верхней границы диапазона оценки
рисков по валютной паре EUR/RUB.
Значение Единого лимита равно:
EL=МИН(EL1; EL2; EL3; EL4; EL5; EL6; EL7; EL8)+
<Текущий>[ Лимит, обеспеченный ФПР], где
<Текущий>[ Лимит, обеспеченный ФПР] – текущее значение лимита, обеспеченного ФПР,
из таблицы «Позиции по лимитам».
11
Download