Хочу этим постом закрепить для себя то, что я узнал за последние дни о валютных фьючерсах.
На Московской бирже есть два типа фьючерсов, те, которые торгуются в рублях. И те, которые торгуются в валюте. Например 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
смотреть надо правый столбец