07 июня, 2010

Создание торгового робота: от А до Я

Сергей Ерёмин
RU

Данный цикл статей раскроет вопрос написания механической торговой системы (МТС) от момента задумки алгоритмов торговли и до оптимизации кода (с соответствующими отчетами).
Цикл начинается с этой статьи, в которой только будет намечена общая торговая система. Здесь вы пока не увидите никаких кодов, но будет намечен курс разработки торгового робота. Можно считать, что это теоретическая подготовка к написанию МТС.

Начиная со следующей, второй, статьи читателям будет представлен торговый робот, который станет отправной точкой для дальнейших изысканий. Целью нашей последующей работы будет общее улучшение торговой системы, начиная от оптимизации и заканчивая полной заменой каких-либо частей робота (при необходимости).

В заключительных статьях мы планируем разместить отчетные материалы по достигнутым результатам в создании данного робота. В идеале, это будет демонстрация прибыльной работы МТС.

После этого начнется работа над следующим роботом. Всего в каждом цикле предполагается по 6 статей:

1)    Вводная статья (предложение концепции).
2)    Представление торгового робота (с подробным описанием создания робота).
3)    Отчет за первый месяц работы программы; первая оптимизация робота.
4)    Отчет за второй месяц работы программы; вторая оптимизация робота.
5)    Отчет за третий месяц работы программы; третья оптимизация робота.
6)    Заключительная статья (подведение итогов).

Таким образом, на тестовую торговлю робота отводится ровно 4 месяца, по итогам которых будет создан подробный отчет.

Концепция алгоритмов торгового робота

Поиск торговых сигналов

В основу идеи поиска торговых сигналов положена модель оценки нескольких взаимно коррелирующих торговых инструментов. В начале исследования это будут валютные пары: GBPUSD, EURUSD, AUDUSD, USDCHF, USDJPY, USDCAD.

В качестве алгоритма непосредственной оценки отдельного инструмента взята простая средняя скользящая и цена инструмента. Иными словами, в качестве индикации повышения инструмента воспринимается положение цены выше средней скользящей, а понижения ? положение цены ниже средней скользящей. Конечный сигнал определяется как сумма сигналов по всем избранным для анализа инструментам. За сигнал для непосредственного открытия сделок принимается ситуация, когда 80% инструментов демонстрируют однонаправленное движение. Подобная оценка торговых инструментов весьма популярна как при портфельной торговле, так и при торговле одним единственным инструментом (оценка группы торговых инструментов для последующей торговли только по одному). Для данного робота избран первый вариант стратегии.

Распределение лотов в формирующемся портфеле сделок

При создании нашего робота будем отталкиваться от того, что у нас есть некоторое число лотов, которое мы можем использовать в торговле. Размер лота следует оценивать как максимально возможный по инструменту из группы, где цена пункта самая большая (среди всей группы). Максимально возможным лот следует считать исходя из допустимых потерь: в нашем случае из строго заданной величины СтопЛосс. После того, как максимально возможный лот определен, его следует поделить на минимально допустимый торговый лот (из условий торговли у данного ДЦ/Брокера). Таким образом, мы получим число долей, которые можем использовать в торговле. Далее эти доли будут распределяться между торговыми инструментами сообразно оценке весомости сигнала по каждому конкретному инструменту.

Оценка лотов производится один раз, при появлении торгового сигнала, и не учитывает дальнейшие изменения ситуации на рынке до момента закрытия отдельной сделки по конкретному инструменту. Это связано с тем, что сам алгоритм оценки весов не предполагает изменения ситуации в портфеле до наступления коренных изменений на рынке (таких, как разворот тенденции). При открытии новой сделки, при условии наличия свободных долей, возможен перерасчет портфеля и выделение необходимых долей для сделки.

Закрытие сделок

В штатном режиме работы торгового робота закрытие сделок будет возможно согласно Stop Loss (в том числе и Trailing Stop Loss), Take Profit или при изменении торгового сигнала на противоположный. В последнем случае будет происходить закрытие всех открытых сделок по всем инструментам торговой группы. Открытие новых сделок будет возможно только в случае наступления нового торгового дня. Это ограничение не должно распространяться на случаи, когда закрытие сделок происходит при изменении торгового сигнала на противоположный.

Правила управления капиталом

Расчет максимально допустимого лота для портфеля

Максимально допустимый лот следует рассчитывать исходя из текущего уровня Equity, величины Stop Loss (заданной в параметрах торгового робота), величины допустимой разовой просадки (заданной в параметрах торгового робота) и  максимальной цены пункта у соответствующего торгового инструмента в торговой группе. Иными словами, оценка максимально допустимого лота происходит по тому инструменту, где минимальное изменение цены (1 пункт) имеет наибольший вес (стоимость) для уровня Equity. Само значение представляет собой ту величину торгового лота, которая обеспечит заданную просадку при закрытии сделки по уровню Stop Loss (исходя из этого, не сложно составить конкретную формулу).

Величина допустимой месячной просадки по депозиту

В случае достижения по депозиту просадки, заданной в параметрах депозита допустимой месячной, будет происходить закрытие всех открытых сделок и остановка работы робота до наступления следующего календарного месяца согласно терминальному времени. При этом просадка рассчитывается как разница величины депозита на начало текущего месяца и текущего уровня Equity. В расчете данной величины робот будет учитывать абсолютно все торговые операции по данному торговому счету, т.е. «ручная» и «автоматическая» торговля не будут различимы.

Данная мера нацелена на сохранение торгового депозита и возможности продолжения работы согласно текущей (либо измененной) системы.

Общие примечания

В случае если на момент запуска торгового робота сразу обнаружится торговый сигнал, открытие сделок происходить не будет — робот будет дожидаться формирования противоположного торгового сигнала. Это сделано для того, чтобы не происходило открытия сделок в конце ранее начатого (и, с некоторого долей вероятности, заканчивающегося) движения.

Данная версия робота будет началом исследования. Именно поэтому для критерия сигнала принят один из самых простых алгоритмов. Также этим обусловлен выбор строго определенных уровней Stop Loss и Take Profit.

Сергей Ерёмин

Сергей Ерёмин

Источник: ensed

Подпишитесь на нас в VK

Fortrader contentUrl Suite 11, Second Floor, Sound & Vision House, Francis Rachel Str. Victoria Victoria, Mahe, Seychelles +7 10 248 2640568

Комментарии (2)

  1. Как мне чайнику заделать своего робота в андройде

  2. А где именно про создание советника?! Так, вкпатце общеизвестные истины.

Обсуждение закрыто.

Ещё из этой категории

Все статьи

Главные финансовые новости недели и курс рубля

В фокусе внимания сейчас курс рубля. На OTC USDRUB находится вблизи 76,5, а CNYRUB на 10,8. На форуме ВТБ «Россия зовёт», Орешкин перечислил причины крепкого курса, и выглядят они достаточно правдоподобно. Утильсбор и Автоваз Действительно, мы не видим роста импорта (что является следствием высокой процентной ставки). Кроме этого, меры по типу утильсбора только усугубляют ситуацию. […]

Bitcoin под давлением событий октября

Фундаментальный анализ рынка показывает, что Bitcoin столкнулся с заметным ухудшением настроений среди инвесторов в США. Премия Bitcoin на бирже Coinbase, традиционно отражающая спрос со стороны розничных трейдеров, в конце октября и начале ноября стала отрицательной. Это означает, что криптовалюта на крупнейшей американской площадке торговалась дешевле, чем средняя мировая цена, что является редким явлением и указывает […]

Главные новости на начало недели

Последняя рабочая неделя октября. 31.10 Halloween, а на российском рынке Halloween уже сейчас. Смотрим на новости: Вновь тотальный пессимизм: индекс Мосбиржи ушёл ниже 2500 п. USDRUB вблизи 79,5 CNYRUB на 11,2 Причины? Как всегда, их две, и одна связана с другой: Трамп вновь «развернулся». Встречи с В.В. Путиным не будет. Наложены санкции на Лукойл и […]

Биткоин восстанавливается после крупнейшей ликвидации в истории

После самого масштабного однодневного обвала на крипторынке, вызванного новыми тарифными угрозами США в адрес Китая, Биткоин вновь демонстрирует способность к восстановлению. В понедельник первая криптовалюта мира поднялась выше $114 000, отыграв часть потерь после ликвидации позиций на сумму почти $19 миллиардов. Эта волатильность стала ярким примером того, насколько тесно цифровые активы сегодня связаны с глобальными […]

Недавние обучающие статьи

Все статьи

Редакция рекомендует

Все статьи
Loading...