Избранное трейдера Алексей
Представляю вашему вниманию робота на основе индикатора Индекс Товарного Канала (Commodity Channel Index, сокращенно CCI). Данный робот позволит вам торговать трендовую или контртрендовую стратегию на рынке ММВБ акциями или фьючерсами. Робот анализирует индикатор и принимает на основе этого торговые решения, позволяя тем самым автоматизировать торговлю. В этой статье расскажу, как запустить робота и опишу торговый алгоритм, реализованный в механической торговой системе (МТС).
План:
1) Как установить робота на основе CCI под Quik;
2) Как использовать;
3) Заключение
1) Как установить робота
Разархивируйте и сохраните в удобном месте. Для запуска нескольких копий сделайте доп. копии папок робота и установите соответствующие настройки.
Запускаем CCI.
Глава 1. Рынок ценных бумаг
Тема 1.1. Функционирование финансового рынка
Тема 1.2. Рынок ценных бумаг как сектор финансового рынка
Тема 1.3. Понятие и виды ценных бумаг
Тема 1.4. Понятие и виды договоров, являющихся производными финансовыми инструментами
Глава 2. Участники рынка ценных бумаг. Инфраструктурные организации
Тема 2.1. Виды профессиональной деятельности на финансовом рынке
Тема 2.2. Брокерская деятельность
Тема 2.3. Дилерская деятельность
Тема 2.4. Деятельность форекс-дилера
Тема 2.5. Деятельность по управлению ценными бумагами
Тема 2.6. Деятельность по ведению реестра владельцев ценных бумаг
Многие трейдеры на Московской бирже хотели бы автоматизировать свои торговые алгоритмы, но не знают с чего начать. А ведь давно есть проработанные решения, которые максимально облегчают первые шаги в алготрейдинге.
Язык MQL5 изначально поддерживает все торговые возможности платформы MetaTrader 5 — в нем множество торговых функций для работы с ордерами, позициями и торговыми запросами. При этом не имеет значения, на каком рынке вы торгуете - фьючерсы, акции, опционы и т.д.
Средствами MQL5 вы можете создать торговый запрос и отослать его на сервер с помощью функций OrderSend() или OrderSendAsync(), получить результат его выполнения, просмотреть торговую историю, узнать спецификацию контракта для инструмента, обработать
Здравствуйте дорогие друзья!
Хочу проверить влияние спреда IV-HV на результат торговли, если куплен стредл на центральном страйке и выравнивать дельту фьючем каждый день.
Сдесь и далее в следующих статьях:
IV — подразумеваемая волатильность центрального страйка
HV — историческая волатильность приведенная к годовой
Спред — разница между IV и HV
Все дальнейшие расчеты и скриншёты приведены для инструмента RI.
Формула по рассчету HV:
Сначала рассчитывается средний дневной ход цены (HV_EMA) в процентах
HV_EMA=HV_EMA(t-1) + Alfa * (100 * (Abs(PRICE_F — Prev_PRICE_F) / Prev_PRICE_F) — HV_EMA(t-1))
где:
HV_EMA(t-1) — средний дневной ход цены на предыдущем шаге (дне)
Alfa — коэффициент сглаживания (0...1)
PRICE_F — цена фьючерса на текущем шаге (дне)
Prev_PRICE_F — цена фьючерса на предыдущем шаге (дне)
Если проще сказать то HV_EMA это экспоненциальная средняя дневных изменений цены фьючерса взятых по модулю.
У нас получается дневная волатильность. Далее приводим дневную волатильность к годовой:
HV=HV_EMA * КОРЕНЬ(252)
Почему я взял 252? Потому что в году примерно 252 рабочих дня, хотя этот вопрос спорный какой коэффициент брать 252 или 365.
Все, теперь у нас есть историческая волатильность приведенная к годовой и её можно теперь сравнивать с подразумеваемой.
Методом тупого перебора я перебрал все коэффициенты Alfa и определил, что у коэффициента Alfa=0,06 наименьшее среднеквадратичное отклонение между IV и HV, его то и возьмем для дальнейших исследований.
Посчитаем разность между IV и HV и построим график этого спреда
С ростом волатильности на рынке, для многих трейдеров, актуальным становится быстрое хеджирование своих текущих позиций. При хеджировании или корректировке позиции, вы смотрите на цену, премию и сравниваете со страховкой, которую получаете взамен. Это, как покупать страховку на машину — вы хотите купить самую дешевую, но с высоким покрытием риска.
Защита от «шипов» волатильности
Если цена идет против вас, волатильность, как правило, увеличивается, также увеличиваются и маржинальные требования и премия кредитного спреда.
Именно от волатильности или от Веги мы и хотим застраховать себя. Если вы составляете кредитный спред, то ожидаете, что опционы истекут ничего не стоящими. Или, другими словами, вы занимаете короткую позицию по волатильности. Снижение волатильности будет выгодно, увеличение волатильности — вредно для вашей позиции.
Начнем с базового риск профиля
Рассмотрим профиль P/L типичного кредитного пут спреда, на котором видно предполагаемый убыток и прибыль по позиции, а также их соотношение, на экспирацию. Например, вы продали 1 опцион пут со страйком $45 и купили 1 опцион пут со страйком $40 и получили кредит $200.
Расскажу о типичной ситуации, в которой оказывались многие. Товарищем был приобретен игровой ноутбук за 48 тыс. рублей. Товарищ очень ждал этой покупки, копил сумму и радовался, когда приволок его домой. Поиграв на нем пару дней, в ноутбуке отвалился вай-фай и блютуз. И здесь начинается мой рассказ.
Мы начали с претензии покупателя продавцу. Отмечу, что это известный ритейлер М.Видео.
Претензия – это форма выражения своих требований продавцу, изготовителю или импортеру приобретенного товара. Она пишется обязательно в письменной форме. Часто, в случае поломки товара, люди идут в магазин вместе с товаром и пытаются решить этот вопрос на месте.
Продолжаем разработку универсального робота!
Выкладываю код OUR-0.3, который в настоящий момент еще далеко не полный – это только основа, скачать можно здесь https://yadi.sk/d/l3uic67yruCxa
Код прокомментирован подробно, но дам дополнительное описание общего плана, чтобы логику работы робота можно было представить.
Итак, по порядку:
Робот состоит из двух файлов: OUR.lua содержит основные функции (OnInit, main, коолбэки – пока только один OnStop), FunOUR.lua содержит вспомогательные функции – все остальные. Дополнительно приложен файл с информацией и файл с образцом котировок.
Функция OnInit
1 Первоначально котировки с сервера поступают в источник – таблицу с барами TBar (там все заполняется автоматически при подключении источника).
2 Далее робот делает различные вычисления, результаты которых он помещает в таблицу с данными TDat (также туда копируются параметры баров из TBar), эту таблицу нужно заполнять самому, ключи таблицы на свое усмотрение, но конечно часть ключей в алгоритм уже заложены, это «key»,«O»,«H»,«L»,«C»,«V»,«T» от них идут все вычисления. TDat – это таблица, содержащая таблицы по каждому бару, ключ соответствует номеру бара в источнике. Структура такого типа:
TDat = { [1321] = {"O","H","L","C","SMAf","SMAs"…}, [1322] = {"O","H","L","C","SMAf","SMAs"…}, … }