Хочу этим постом закрепить для себя то, что я узнал за последние дни о валютных фьючерсах.
На Московской бирже есть два типа фьючерсов, те, которые торгуются в рублях. И те, которые торгуются в валюте. Например 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 за подсказку, где можно найти исторические значения ГО.
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
1. прибыль по сделке категорически не может обнулиться после конвертации (как нам тут писали на смартлабе)
2. убыток запросто может увеличиться и тоже не может обнулиться.
Не совсем так. На фьючерс надето трое штанов: 1) в чём он котируется, 2) в чём он номинирован, 3) в чём он рассчитывается. На примере RI он котируется в пунктах, номинирован в долларах (как и его база), рассчитывается в рублях.
Не совсем так. Всё зависит от того, в чём котируется фьючерс, тот же RI котируется в пунктах, его шаг выражен не в валюте, а тоже в пунктах.
Не совсем так. Сейчас нет паритета, 1 лот (1000 евро) стоит больше 1000 долларов. Отсюда условно конвертируется не 1000 долларов, а опять таки условно определяется, сколько стоит 1 лот в рублях, через курс доллара.
1. согласен, я упростил, имея в виду, что есть простой расчёт и есть сложный. чтобы затем свести любой сложный к простому.
2. по RI, «Стоимость минимального шага цены Контракта соответствует 20 % от курса доллара США по отношению к российскому рублю» — то есть всё-таки пересчитывается (это был основной посыл), хотя и чуть посложнее. Можно считать что применяется «синтетический курс» и методика всё равно работает, высчитывая 1/5 курса USD/RUR. Т.е. курс перевода маржи по RI (Разница в Цене * Число контрактов) в рубли, это 1/5 * USD/RUR. По идее, должно совпасть с реальной маржой? У меня тут недостаток практики пока.
3. тут наверное мы друг друга не поняли (по крайней мере я — точно). 1 лот, это всё-таки 1000$, а не евро. Здесь я опять пытался сделать упрощение, т.к. для меня интуитивно понятная операция по конвертации рублей в доллары, и обратно, с зарабатыванием на курсе. в ED как я пытался представить, мы конвертируем доллары в евро и зарабатываем на этом (при покупке фьюча нам нужен рост евро к доллару). при этом долларовая прибыль на 1 контракт будет соответствовать как если 1000 долларов поменять на евро, а потом обратно, по новой цене: курс вырос, получим больше долларов. Дальше идёт переоценка долларов в рубли. Биржа делает это сама и тут мы не властны.
Да ладно. ;-) 1000 евро лот контракта, 1000 долларов вообще не при делах.
Я только не пойму, это значит что вся логика не правильная? Или логика ок и результат (по GOLD) — попадает, но надо уточнить пример?
а так, в одной таблице и курс есть и ГО историческое.
считать человеку тяжело, а роботу норм. хотя и дольше чем из таблицы взять. но если считать только 1 раз для всей таблицы, то одинаков.
moex.com/ru/forts/contractbaseresults.aspx?base=RI
смотреть надо правый столбец