Разработка программного обеспечения для торговли на рынке Форекс

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ТОРГОВЛИ НА РЫНКЕ ФОРЕКС НА ОСНОВЕ РЫНОЧНО-НЕЙТРАЛЬНОЙ СТРАТЕГИИ ОЦЕНКИ ИЗМЕНЕНИЯ КОРРЕЛИРУЮЩИХ ВАЛЮТНЫХ ПАР

(Ананченко И.В.,  Шестаков И.В.,  Камашев А.О.)

Сравнивая изменения финансовых инструментов, используемых для торговли на рынке Форекс, может отметить, что для некоторых пар выбранных финансовых инструментов отмечается устойчивая корреляция, значение которой практически не меняется во времени. Известно, что корреляция (корреляционная зависимость) — статистическая взаимосвязь двух или более случайных величин (либо величин, которые можно с некоторой допустимой степенью точности считать таковыми), причем изменения значений одной или нескольких из этих величин сопутствуют систематическому изменению значений другой или других величин. Очевидно, что если две валютных пары хорошо коррелированы, то изменение одной пары будет вызывать изменение другой – то есть пары будут двигаться в одном направлении, если значение коэффициента корреляции близко к единице и в противоположном при значении близком к минус единице [1].  На рынке Форекс действует множество факторов, влияющих на стоимость валют [2,3]. Возмущающие воздействия приводят к тому, что текущее значение коэффициента корреляции будет отличаться от найденного ранее, однако для хорошо коррелированных между собой пар финансовых инструментов, такое изменение будет иметь вид во времени фактически “дрожания” значения показателя около некоторого значения, которое можно рассматривать, как базовое. Если график одной из хорошо коррелированных пар “пошел вниз”, то сразу или практически сразу и график второго финансового инструмента “последует вниз” вслед за первым. Если отобразить в единых координатах два графика изменения значений хорошо положительно коррелируемых между собой финансовых инструментов, то можно отметить, что, например, если разница между значениями в один и тот же момент составляет 40 пунктов, то в течение длительного времени эта разница будет продолжать составлять эти же 40 пунктов. Предположим, что график одного финансового инструмента продолжает расти, но рост графика второго финансового инструмента замедлился или даже рост сменился падением, так как вышли плохие новости с данными экономической статистики по торгуемому финансовому инструменту. В результате дельта, то есть разность между значениями двух функций, взятая по модулю, начинает расти – 45 пунктов, 50, 55 и так далее. Пока продолжается фаза расхождения не целесообразно открывать ордера, так как если изменение было сильным и носит фундаментальный характер, то пары могу в обозримом будущем и не вернутся к своей «привычной» исторически сложившейся разнице, составляющей в данном примере 40 пунктов. Однако, если возмущение носило ясно спекулятивный характер и не связано с влиянием фундаментальных факторов, избирательно воздействовавших только на один финансовый инструмент, то вскоре все вернется «на круги своя”. Пара которая сильно росла – будет «замедлять свой рост», а, вторая, будет «подтягиваться к ней».  То есть процесс взаимного разбегания пар – процесс роста пузыря, сменится процессом взаимного схождения – изменения дельты, например, с 60 до примерно 40. На Рис. 1 приведен пример протекания рассматриваемого процесса образования, роста и схлопывания «пузыря»: 1 – начало формирования (расхождение, рост); 2 – временная точка, рекомендуемая для открытия ордеров по торгуемым финансовым инструментам; 3 – стадия «схлопывания «пузыря», целесообразно закрыть открытые ранее ордера по торгуемым финансовым инструментам.

Рисунок 1 – процесс образования и схлопывания «пузыря»

Предлагаемая стратегия торговли основана на том, что после фиксации образования «пузыря» и прохождения периода роста начинается фаза возврата («схлопывания») к первоначальному значению дельты, которое было до момента образования. Выявив начало второй фазы можно открыть два ордера каждый по своей паре. Для «растущего» графика открываем ордер на покупку, а для «снижающегося» на продажу. Предлагается открывать два ордера с одним и тем же значением торгуемого лота. Контролируется суммарная прибыль по двум открытым ордерам. При достижении заданного значения оба ордера закрываются. Следует отметить, что команда на закрытие ордеров может быть дана и в том случае, если за заданное максимальное время ожидаемая прибыль не была получена. Ордера закрывают исходя из тех соображений, что длительное «передерживание» ордеров не желательно, так как за длительное удержание позиций взымается комиссионный сбор и/или растут «свопы» за «перенос позиций через сутки».  Преимущество предлагаемой стратегии –достаточно высокая потенциальная прибыль, так как если вторая фаза началась, то можно достаточно уверенно предполагать, что динамика изменений сохранится и далее. Из недостатков отметим то, ярко выраженные типичные ситуации, течение которых хорошо прогнозируется и позволяет получать прибыль с минимальным риском – встречаются не часто.

Рисунок 2 – Интерфейс программы-анализатора

Для проверки использования рассмотренной торговой стратегии для пары двух финансовых инструментов авторами написана тестирующая программа, анализирующая синхронизированные по времени изменения значения котировок, оцениваемых взаимосвязанных финансовых инструментов на выбранных периодах времени. Программа поддерживает работу с данными любых таймфреймов (в том числе, Н1 – часовые, M30 – получасовые, М5 – пятиминутные, минутные – М1 и т.д.). Формат файлов, обрабатываемых данных, – архивные файлы csv формата, выгружаемые из терминала торговой платформы MetaTrader 4 или 5.  При разработке программы тестирования большое внимание было уделено созданию удобного и интуитивно понятного пользовательского интерфейса (Рис. 2).

После ввода данных из фалов, выбранных пользователем, можно начать процесс анализа данных. Задаются TakeProfit и StopLoss – уровни закрытия ордеров по получению прибыли или убытка (в пунктах); задается параметр Ko – минимальная высота баров с разными характерами. Значение параметра, определяемое в пунктах, используется для выявления характерных «пузырей». Time period – значение временного периода определяет время, по достижению которого от момента открытия ордеров, ордера будут принудительно закрыты, если не были закрыты ранее по достижению заданного уровня прибыли или убытка. Выходная информация представляет по ордерам, открытым и закрытым программой и суммарную статистику по результатам торговли и другая информация, которая может быть полезна для оценок эффективности торговой стратегии (Рис. 3). выводится дополнительная и промежуточную информацию: таблицы котировок, таблица сигналов.

Рисунок 3 – Таблица с информацией об обнаруженных сигналах входа в рынок (целесообразно открыть ордера)

Вкладка «Таблица сигналов» содержит значение величины расхождения (дельта) между валютными парами. Программный комплекс поддерживает функцию синхронизации обрабатываемых данных по единой временной шкале. Если для строки данных обрабатываемого финансового инструмента нет аналогичной строки с данными второго финансового инструмента, то такая строка не обрабатывается. Результаты анализа выводятся на отдельной вкладке: информация по каждой сделке и обобщенная итоговая статистика, например, процент успешных сделок, общая прибыль и т.д. Разработанная программа позволяет автоматизировать рутинные операции обработки данных, сокращает время выполнения анализа оценки эффективности торговли при использовании двух выбранных пар с заданными значениями параметров – Ko, TakeProfit, StopLoss, Time period.

Программа анализатор доступна для загрузки. Рассмотренный алгоритм торговой стратегии реализован в виде торгового робота, написанного на языке программирования MQL 4 для торговой платформы MetaTrader.

Литература

1. Выбор коинтегрированных валютных пар для рыночно-нейтральных стратегий. Мусаев А.А., Ананченко И.В. В сборнике: Междисциплинарные исследования в области математического моделирования и информатики Материалы 6-й научно-практической internet-конференции. отв. редактор Ю.C. Нагорнов. Ульяновск, 2015. с. 235-242.

2. Современные технологий автоматизированного анализа состояния рынков капитала и построения торговых стратегий. Ананченко И.В., Мусаев А.А. В сборнике: Глобализация науки: проблемы и перспективы. Сборник статей Международной научно-практической конференции. Уфа, 2015. с. 25-29.

3. Торговые роботы и управление в хаотических средах: обзор и критический анализ. Ананченко И.В., Мусаев А.А. Труды СПИИРАН. 2014. № 3 (34). с. 178-203.