Справочник по разработке системы торговли » Элитный трейдер
Элитный трейдер


Справочник по разработке системы торговли

Продолжающееся развитие программ для технического анализа упростило создание автоматизированных компьютерных систем торговли. Некоторые системы лишь производят сигналы для трейдера, в то время как другие уже вместо трейдера выводят сделки на рынок. Однако возможность запрограммировать Вашу любимую торговую стратегию - это только начало. У Вас должна быть структура, чтобы проверить свои торговые теории и убедиться, что бектесты были прибыльными не просто из-за везения, а являются результатом толкового моделирования поведения рынка.
29 декабря 2012
Данная серия статей представит упрощенный подход к разработке системы торговли для рынка форекс. Средством разработки системы у нас будет MetaTrader 4 (MT4), хотя идеи и представленный процесс применимы к широкому диапазону программных платформ. Методика раскроет общие концепции, предназначенные для начинающего системного трейдера. Когда целесообразно будет сократить повествование, мы порекомендуем читателю дополнительные источники всесторонней информации.

В разработке системы торговли определяются пять различных фаз:

Фаза 1: Разработка модели рынка и базовой автоматизированной системы - базовая автоматизированная система эксплуатирует эту модель, но в нее не включены стоп-лоссы или цели прибыли. Базовая система преследует единственную цель - собрать данные для статистического анализа, используемого на более поздних этапах разработки.

Фаза 2: Риск-менеджмент - начальный стоп-лосс (ISL). Используя данные, собранные в Фазе 1 и основываясь на статистическом анализе тех данных, мы добавляем к стратегии торговли ISL. Чтобы найти параметр стоп-лосса, который удовлетворяет нашим потребностям, используется оптимизация. Для проверки данной версии системы мы будем использовать форвардный анализ.

Фаза 3: Профит-менеджмент - цель прибыли (PT). Как и в Фазе 2, чтобы включить в систему цели прибыли, мы будем использовать статистический анализ наших данных. Опять же, чтобы найти соответствующую цель прибыли и затем использовать форвардный анализ для проверки данной версии системы воспользуемся оптимизацией.

Фаза 4: Управление капиталом - алгоритм размера сделки (TSA). Эта фаза не зависит от данных, собранных в Фазе 1. Вместо них, чтобы определить, сколько лотов будет задействовано в каждой сделке, мы воспользуемся популярным методом определения размера "фиксированная доля". Популярная литература по трейдингу изобилует советами ограничить риск на сделку в пределах диапазона от 1 % до 3 % от общего счета. Мы задействуем оптимизацию, используя эти проценты, а затем еще раз используем форвардный анализ, чтобы проверить эту версию системы.

Взятые вместе, Фазы 2 - 4 составляют управление сделкой, но есть и еще один критический шаг:

Фаза 5: Анализ Монте-Карло - многие трейдеры останавливаются после Фазы 4. Однако наше тестирование в таком случае не будет полным, а система не будет готова к развертыванию (предполагается, что к прибыльному). Несмотря на наш форвардный анализ, мы не можем быть уверены, что наши результаты стали таковыми не из-за банального везения. Другими словами, наша модель, возможно, неточно описывает поведение рынка; благоприятные результаты родились из окружающей среды рынка, поведение цены которого удачно совпало с нашей логикой. Анализ Монте-Карло поможет определить, была ли наша модель успешна из-за удачи (случайность) или благодаря ее способности идентифицировать и эксплуатировать реальный паттерн рынка.

Эта статья раскроет Фазу 1; тогда как в последующих мы осветим Фазы 2 - 5.

Формирование модели

Этот учебник раскрывает процессы разработки автоматизированной системы торговли вообще, а не какой-то определенной стратегии торговли. Из-за этого логика нашей модели будет основана на системе случайного входа, чтобы сосредоточить внимание на процессе разработки. Чтобы собрать достаточно данных для анализа, система будет создаваться для дейтрейдинга по валютной паре EUR/USD, которая одновременно и чрезвычайно ликвидна, и знакома большинству трейдеров.

Для генерации случайных входов система моделирует бросок монеты. Наша модель рынка проста - "покупаем на орлах, продаем на решках”. Основываясь на результатах броска монеты, система купит (откроется вверх) или продаст (откроется вниз) в 8:00 (по восточному времени), в начале Нью-Йоркской торговой сессии. Система выйдет из сделки в 17:00 (по восточному времени), в конце Нью-Йоркской торговой сессии. Мы протестируем систему на часовых барах (на языке MT4 они называются “H1”).

Мы закодировали случайную логику, используя язык программирования MT4 - MQL4. Это сделано при помощи того, что называют Экспертным Советником (ЕА). Мы назвали этот советник "Случайный Вход DTS" (для дневной системы торговли). Наш ЕА использовал функцию MathRand(), чтобы генерировать псевдослучайные числа, а, чтобы моделировать бросок монеты, был создан короткий алгоритм. В 8:00, с понедельника по пятницу, система "бросает" виртуальную монету. Если результатом будет положительное число (виртуальные орлы), то система откроет длинную сделку по евро. Если результатом будет ноль или отрицательное число (виртуальные решки), то система откроет короткую сделку.

"Честная" монета теоретически произведет распределение орлов/решек 50/50 при числе подходов, приближающемся к бесконечности. При конечном числе бросков, однако, распределение будет отклоняться от теоретического, но достаточно большое количество бросков даст близкое к этому распределение. При достаточно большом количестве сделок, таким образом, распределение между выигрышами и проигрышами также должно приблизиться к 50/50.

ОПРЕДЕЛЕНИЯ
Модель рынка: отображение некоторого поведения цены, которое является основой системы торговли. Покупка или продажа, когда цена пробивает максимум или минимум канала, являются примером модели рынка.
Начальный стоп-лосс (ISL): стратегия риск-менеджмента; это количество отрицательного баланса любой отдельной позиции, которое вызовет автоматический выход от сделки.
Цель прибыли (PT): стратегия профит-менеджмента; это количество положительного баланса любой отдельной позиции, которое вызовет автоматический выход от сделки.
Форвардный анализ: Подтверждение модели рынка или стратегии управления на таких рыночных данных, которые не использовались для оптимизации параметров модели или стратегии.

Сбор данных

Наш следующий шаг - установить структуру для теста, которая соберет данные для дальнейшего анализа. Стартовый баланс гипотетического счета составляет 10 000$. Размер сделки стандартизирован - один лот 10 000$ (один минилот), со значением пипса 1$.

EA был запрограммирован для сбора следующих данных для каждой сделки: Бары, начиная с входа, самый высокий максимум сделки, бары до самого высокого максимума сделки, самый низкий минимум сделки, бары до самого низкого минимума сделки, максимальная неблагоприятная экскурсия (MAE) и максимальная благоприятная экскурсия (MFE). Система экспортирует эти данные в текстовые файлы (CSV). Файлы CSV могут быть импортированы для анализа в любой редактор таблиц. Для анализа, представленного здесь, использовался Microsoft Excel, но открытый (и бесплатный) OpenOffice Calc (www.openoffice.org) работает точно так же.

MAE и MFE играют в нашем анализе важную роль. MAE - самое большое расстояние, пройденное рынком против сделки. MFE - самое большое расстояние, пройденное рынком в направлении сделки. Например, предположим, что система вошла вверх по евро на 1.5000. Между временем входа и автоматическим выходом по концу дня рынок опускался до 1.4950 и вырастал до 1.5075. Самое большое расстояние, на которое рынок переместился против длинной позиции, или MAE, составило 1.5000 - 1.4950 = 0.0050 или 50 пипсов. Самое большое расстояние, на которое рынок переместился в направлении сделки, или MFE, составило 1.5075 - 1.5000 = 0.0075 или 75 пипсов. Эти два показателя могут дать нам основание для настройки ISL и PT.

У MT4 есть модуль бектестинга, названный Тестером Стратегий (Strategy Tester). Мы загружаем в Тестер Стратегий наш EA и запускаем тест. В дополнение к файлу с данными, экспортируемому EA, Тестер Стратегий представляет отчет о бектестинге, который содержит все обычные тестовые показатели (чистая прибыль, процент выигрышей/проигрышей, максимальная просадка и т.д.) и график доходности системы. Данные отчета будут использоваться для сравнения каждой версии системы и позволят нам отслеживать прогресс нашей разработки.

Предположим, наш EA уже был полностью протестирован, для гарантии, что его логика верна. Система входит и выходит из сделок, как и ожидалось, а наши данные экспортируются должным образом. Используя Тестер Стратегий, EA был протестирован на исторических данных EUR/USD за четыре года (с 1 января 2008 года до 31 декабря 2011). В конце испытания наш файл CSV заполнен, запускается редактор таблиц, и импортируются данные.

Теперь мы можем выполнить статистический анализ. Показатели, которые мы ищем, довольно просты: средняя, медиана и стандартное отклонение MAE и MFE.

Анализ данных

Система произвела 1 038 сделок, из которых 505 (48.65 %) были длинными, а 533 (51.35 %) - короткими. Как и ожидалось, этот результат приближается к теоретическому распределению орлов/решек 50/50 при неограниченном числе бросков монеты.

Выигрыши и проигрыши также распределились почти поровну: 513 выигрышей (49.42 %) и 525 проигрышей (51.58 %). Последовательные выигрыши и последовательные проигрыши составили в среднем два подряд. Средний выигрыш составил 64,38$, а средний проигрыш составил $64,51 - опять же, почти поровну. Из-за этой небольшой разницы система дала чистый убыток 838,60$, составивший потерю 8.386 % депозита (см. "Отчет тестера стратегий” ниже). Если мы сможем уменьшить средний убыток (при помощи стоп-лосса) и увеличить средний выигрыш (при помощи целей прибыли), система может стать прибыльной. MAE и MFE должны помочь нам сделать это.

ОТЧЕТ ТЕСТЕРА СТРАТЕГИЙ
Отчет Тестера Стратегий MT4 обеспечивает анализ нашей случайной системы. Наш риск-менеджмент и цели прибыли должны будут уменьшить средний проигрыш и увеличить среднюю прибыль. Более подробная статистика доступна онлайн.

Справочник по разработке системы торговли


Используя способность Экселя к сортировке, выигрышные сделки отделены от проигрышных. Эксель может вычислить медиану, среднее и стандартное отклонение MAE и MFE, используя свои встроенные функции AVERAGE, MEDIAN и STDEV.

Результаты вычислений показаны в таблице “Статистический анализ” (ниже). Среднее MAE составило 0.00291 или 29.1 пипсов. Для сделок, которые, в конечном счете, вышли в прибыль, рынок двигался против позиции в среднем приблизительно на 29 пипсов. Это контрастирует со средним MAE для убыточных сделок: 95.6 пипсов. Ясно, что нет никакой необходимости пережидать движение 96 пипсов против сделки. Данные MAE указывают, что сделка вряд ли выйдет в плюс после столь неблагоприятной экскурсии. С другой стороны, было бы неблагоразумно установить ISL вслепую на 29 пипсов, потому что слишком много хороших сделок будут преждевременно выбиты по стопу. Оптимальный стоп-лосс, вероятно, находится где-то посередине.

СТАТИСТИЧЕСКИЙ АНАЛИЗ
Как можно видеть из нашего статистического анализа, выигрышные сделки отдают примерно одну треть своей окончательной средней прибыли. Кроме того, проигрышные сделки не имеют тенденции откатываться на территорию прибыли после того, как потеряли больше 29 пипсов.

Справочник по разработке системы торговли


Вернемся к данным MFE: при среднем MFE 97.1 пипсов, рынок в среднем давал 97 пипсов открытой прибыли до выхода. Отметьте разницу между средним MFE 97 пипсов и средним выигрышем примерно 64 пипса (один пипс равен 1$ при торговле одним минилотом). Типичная выигрышная сделка, очевидно, отдает, по крайней мере, 30 пипсов прибыли прежде, чем будет закрыта по концу сессии. Если мы сможем захватить эти дополнительные пипсы, то, в комбинации со стоп-лоссом мы должны быть в состоянии увеличить отношение среднего выигрыша к среднему убытку для чистой прибыли системы.

Сегодня мы заложили статистические основы улучшения нашей базовой системы. В следующей статье мы добавим к системе ISL и используем результаты MAE, чтобы его оптимизировать. Следующим шагом нужно будет сделать то же самое со стороны прибыли: добавим к системе PT и используем MFE для его оптимизации. Каждый шаг - это жизненная основа для нашей конечной цели - разработки полной системы торговли.

/Элитный Трейдер, ELITETRADER.RU/

(C) Источник
Не является индивидуальной инвестиционной рекомендацией
При копировании ссылка обязательна Нашли ошибку: выделить и нажать Ctrl+Enter