Блог им. bosco

Механика валютных фьючерсов для чайников и роботов.

    • 30 марта 2015, 08:05
    • |
    • П М
  • Еще
Хочу этим постом закрепить для себя то, что я узнал за последние дни о валютных фьючерсах.
На Московской бирже есть два типа фьючерсов, те, которые торгуются в рублях. И те, которые торгуются в валюте. Например JP — торгуется в йенах. А вовсе не в долларах, как можно было бы подумать нормальному чайнику вроде меня.

Для расчёта маржи во фьючерсе применяется формула 
Маржа = Количество контрактов* Изменение цены * Стоимость шага / Размер шага.

Si — самый простой — шаг цены 1, стоимость шага цены всегда 1 рубль. То есть всё зависит только от количества контрактов и цены.
В валютных фьючерсах стоимость шага на Московской Бирже пересчитывается после каждого клиринга. Это происходит потому, что стоимость шага выражается в рублях, а сам шаг — в валюте. 
Например ED — количество долларов за 1 Евро. Шаг — 0,0001, лот 1000, а стоимость шага 5,75952 делим стоимость шага на лот и на шаг, получаем 57.59. Угадаете, что это? Правильно это он, целый 1 доллар ©.
Говоря простым языком, покупая 1 контракт в ED, с точки зрения расчётов, вы как будто конвертируете тысячу долларов в евро по текущему курсу. Дальше ваша долларовая прибыль будет рассчитываться просто по формуле, аналогичной при расчётах Si, только это будет прибыль в долларах.
Чтобы долларовую прибыль конвертировать обратно в рубли (с точки зрения расчётов) вам надо знать курс доллара.
Если вам надо курс здесь и сейчас — всё хорошо. Есть индикативные курсы валют: http://moex.com/ru/derivatives/currency-rate.aspx

А что если у вас робот? И вам надо знать курс на дату, которая была очень давно, в какой-нибудь экзотической валюте, а с кучей таблиц заморачиваться не хочется?
Есть другая таблица, и из неё, как оказалось, легко вычислить стоимость шага для фьючерса в любой валюте!
Таблица:  moex.com/ru/forts/contractbaseresults.aspx?base=ED  (это сразу для ED)
Как вычислить стоимость шага цены / шаг цены?  
Очень просто. Берём объём торгов в рублях. Делим на объём торгов в  контрактах. Результат делим на средневзвешенную цену за лот. 
Всё. Это он, наш недостающий пятый элемент расчёта маржи.

В качестве иллюстрации посчитаем ответ на вопрос Василия Олейника про маржу во фьюче GD: http://smart-lab.ru/blog/244974.php
(1217-1155) * 10 = 620 $ чистой прибыли.
В рублях по таблице moex.com/ru/forts/contractbaseresults.aspx?base=GD
считаем курс: 2 799 620 140 / 40 378 / 1211,3  =  57,24 ₽ за $
т.е.  620 * 57,24 = 35488,8

самое приятное, что методика работает для любых фьючерсов в любых валютах. хотя кроме ED я её больше нигде не проверял.

всем удачи. надеюсь я был вам полезен. если где не прав — буду рад замечаниям.
и да, роботорговцам будет полезна и другая моя поделка:
On-Line получение данных из Quik в Java и не только

так же хочу поблагодарить AlexeyT за подсказку, где можно найти исторические значения ГО.
★17
12 комментариев
кстати выводы, как я их вижу:
1. прибыль по сделке категорически не может обнулиться после конвертации (как нам тут писали на смартлабе)
2. убыток запросто может увеличиться и тоже не может обнулиться.
avatar
ПBМ, прибыль может обнулиться и уйти в минус, как и наоборот
На Московской бирже есть два типа фьючерсов, те, которые торгуются в рублях. И те, которые торгуются в валюте.

Не совсем так. На фьючерс надето трое штанов: 1) в чём он котируется, 2) в чём он номинирован, 3) в чём он рассчитывается. На примере RI он котируется в пунктах, номинирован в долларах (как и его база), рассчитывается в рублях.

В валютных фьючерсах стоимость шага на Московской Бирже пересчитывается после каждого клиринга. Это происходит потому, что стоимость шага выражается в рублях, а сам шаг — в валюте.

Не совсем так. Всё зависит от того, в чём котируется фьючерс, тот же RI котируется в пунктах, его шаг выражен не в валюте, а тоже в пунктах.

Говоря простым языком, покупая 1 контракт в ED, с точки зрения расчётов, вы как будто конвертируете тысячу долларов в евро по текущему курсу.

Не совсем так. Сейчас нет паритета, 1 лот (1000 евро) стоит больше 1000 долларов. Отсюда условно конвертируется не 1000 долларов, а опять таки условно определяется, сколько стоит 1 лот в рублях, через курс доллара.
Reshpekt Fund Russia, спасибо!
1. согласен, я упростил, имея в виду, что есть простой расчёт и есть сложный. чтобы затем свести любой сложный к простому.

2. по RI, «Стоимость минимального шага цены Контракта соответствует 20 % от курса доллара США по отношению к российскому рублю» — то есть всё-таки пересчитывается (это был основной посыл), хотя и чуть посложнее. Можно считать что применяется «синтетический курс» и методика всё равно работает, высчитывая 1/5 курса USD/RUR. Т.е. курс перевода маржи по RI (Разница в Цене * Число контрактов) в рубли, это 1/5 * USD/RUR. По идее, должно совпасть с реальной маржой? У меня тут недостаток практики пока.

3. тут наверное мы друг друга не поняли (по крайней мере я — точно). 1 лот, это всё-таки 1000$, а не евро. Здесь я опять пытался сделать упрощение, т.к. для меня интуитивно понятная операция по конвертации рублей в доллары, и обратно, с зарабатыванием на курсе. в ED как я пытался представить, мы конвертируем доллары в евро и зарабатываем на этом (при покупке фьюча нам нужен рост евро к доллару). при этом долларовая прибыль на 1 контракт будет соответствовать как если 1000 долларов поменять на евро, а потом обратно, по новой цене: курс вырос, получим больше долларов. Дальше идёт переоценка долларов в рубли. Биржа делает это сама и тут мы не властны.
avatar
Как сложно. Лучше уж спот
avatar
1 лот, это всё-таки 1000$, а не евро.

Да ладно. ;-) 1000 евро лот контракта, 1000 долларов вообще не при делах.
Reshpekt Fund Russia, спасибо, ты прав конечно же!
Я только не пойму, это значит что вся логика не правильная? Или логика ок и результат (по GOLD) — попадает, но надо уточнить пример?
avatar
ПBМ, логика нормальная, только индикативный курс (а значит и шаг) и так есть, где взять moex.com/ru/derivatives/currency-rate.aspx
Reshpekt Fund Russia, согласен. но для всяких там RI, JP надо ещё кучу нюансов для робота учитывать. а так один и тот же алгоритм, в том числе для рублёвых (там 1 получается для курса) и для валютных.
а так, в одной таблице и курс есть и ГО историческое.
считать человеку тяжело, а роботу норм. хотя и дольше чем из таблицы взять. но если считать только 1 раз для всей таблицы, то одинаков.
avatar
Поделитесь плиз ссылкой на историю ГО?
avatar
Chepell, ссылка на ГО это и есть ссылка, которая несколько раз приведена в посте: moex.com/ru/forts/contractbaseresults.aspx?base=Si
moex.com/ru/forts/contractbaseresults.aspx?base=RI

смотреть надо правый столбец
avatar
ПBМ, спасибо! вот я лошара невнимательный ))
avatar

теги блога П М

....все тэги



UPDONW
Новый дизайн