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