Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: VIII Международной научно-практической конференции «Технические науки - от теории к практике» (Россия, г. Новосибирск, 19 марта 2012 г.)

Наука: Технические науки

Секция: Информатика, вычислительная техника и управление

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Лукашев А.В. АВТОМАТИЗАЦИЯ ПРОЦЕССА ОПТИМИЗАЦИИ ТОРГОВЫХ СИСТЕМ // Технические науки - от теории к практике: сб. ст. по матер. VIII междунар. науч.-практ. конф. – Новосибирск: СибАК, 2012.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов
Статья опубликована в рамках:
 
Выходные данные сборника:

 

АВТОМАТИЗАЦИЯ ПРОЦЕССА ОПТИМИЗАЦИИ ТОРГОВЫХ СИСТЕМ

Лукашев Александр Владимирович

аспирант, СПбГЭТУ «ЛЭТИ», г Санкт-Петербург

E-mail:

 

При разработке торговой системы возникает необходимость добиться от нее максимальной эффективности в условиях реальной торговли. Способ достижения цели – отладка и оптимизация системы на наборе исторических данных. В различных источниках указывают различные критерии оценки эффективности, среди которых, на мой взгляд, важнейшими являются оценки:

  • Риска. Для оценки риска торговых стратегий самый распространенный показатель – это максимальное проседание. Причем различают два вида: в первом случае под максимальным проседанием имеют в виду денежное значение крупнейшей (в денежном эквиваленте) последовательности убыточных сделок, во втором случае говорят о величине самого глубокого понижения кривой доходности торгового счета перед достижением нового пика. Далее для количественной оценки введем показатель R=(Amax-Amin)/, где и  – локальные экстремумы, достигнутые последовательно и имеющие наибольшую разницу, – среднее значение цены актива.
  • Прибыли. Большинство критериев эффективности связанны именно с данной оценкой. Среди основных и самых распространенных можно отметить такие показатели, как отношение доход/риск, отношение доходность/капитал, а также показатель полезного действия модели, который рассчитывается как отношение фактической доходности к идеальной (под идеальной доходностью понимают покупку в каждом дне ценового ряда и продажу на каждом его пике). Однако очень часто оценивая прибыль, забывают о таком важном показателе как величина среднего трейда, так как только при высоком значении данного показателя система будет устойчива к различным издержкам при реальной торговле (транзакционные издержки и проскальзывание), которые часто имеют критическое значение. Для количественной оценки введем показатель , где Pi – цена актива в момент i, Pj – цена актива в момент j-й сделки, τj – функция, принимающая значение (1) для buyордера и (-1) для ордера.
  • Стабильности. К этим показателям чаще всего относят количество сделок на анализируемом участке, процент прибыльных сделок, отношение среднего выигрыша к среднему проигрышу и другие. Эти показатели показывают некую стабильность системы. Например, если за весь анализируемый промежуток торговая стратегия совершила всего несколько сделок, то состоятельность всех остальных показателей находится под вопросом из-за малой выборки. Как бы ни были разнообразны оценки эффективности торговых систем, на основании которых принимаются решения о торговле по системе на конкретных активах, в большинстве случаев они являются различными комбинациями динамики изменения прибыли и количества сделок. Все показатели в той или иной степени являются производными от этих величин. Поэтому остро стоит проблема в новых критериях для отбора активов, не связанных с указанными выше показателями. Другая проблема анализа торговых стратегий состоит в том, что даже самый обстоятельный анализ осуществляется на прошлых, исторических данных. В силу динамичности и изменчивости рынков показатели, рассчитанные на тестируемом участке, не всегда остаются такими во время торговли. На данное обстоятельство и указывают критики торговых систем, апеллируя к их недостаткам. Рынки очень динамичны и быстро меняются. Во многих работах по торговым системам, в частности, указывается о невозможности нахождения абсолютной торговой системы, работающей всегда и на всех рынках. Из-за изменчивости рынка все торговые системы с параметрами, разработанными на исторических данных, перестают работать. Возникают большие финансовые потери, несмотря на хорошие финансовые показатели оптимизационного, исторического периода. На многочисленных форумах, посвященных торговым системам, многие участники указывают на такую проблему, что после определенного периода после тестирования и оптимизации торговой системы (а иногда и сразу после начала ее реального использования) начинаются большие убытки при торговле по ней, которых не было на исследуемом историческом участке. Причина данной проблемы – подгонка торговой системы под исследуемый ряд. Проблеме подгонки отводится одна из важнейших ролей при разработке и анализе механических торговых систем. В качестве решения данных недостатков следует разработать новый класс индикаторов и стратегий, которые могут подстраиваться под изменяющиеся факторы. Так же необходима разработка системы, работающей с большим множеством активов. Далее для количественной оценки введем показатель , где Np – количество прибыльных сделок, N – общее число сделок.

Среди трудов об оптимизации торговых систем можно найти общие советы по достижению и интерпретации результатов [1], [3], [7], однако в рассмотренных мною работах не было найдено формализованного подхода или методологии оптимизации торговых систем, такое положение является следствием отсутствия готовых инструментов, поскольку их разработка является достаточно трудоемкой задачей. Большинство разработчиков применяют для оптимизации встроенные системы тестирования [6], например встроенные средства тестирования системы MetaTrader, которые позволяют протестировать произвести оценку прибыльности системы на отдельном историческом периоде, в связи с этим, возникает задача формализации и автоматизации данного процесса.

Под процессом оптимизации принимается процесс поиска таких параметров торговой системы (параметров отдельных индикаторов и анализаторов, используемых в системе), при которых обозначенные выше параметры принимают наилучшие значения. Для решения данной задачи необходимо разработать систему, которая оперируя параметрами торговой системы будет искать наборы, обеспечивающие наилучшие показатели работы системы. Из теории оптимизации задачей оптимизации в исследовании является задача нахождения экстремума целевой функции в некоторой области конечномерного векторного пространства, ограниченной набором линейных и/или нелинейных равенств и/или неравенств [5]. Рассмотрим торговую систему как функцию многих переменных , где  – параметры индикаторов (и других систем анализа), применяемых в системе. Вычислением функции является процесс вычисления параметров эффективности системы на заданном тестовом отрезке, то есть вектор [R, ε, σ]. Для применения методов теории оптимизации необходимо отразить вектор в одномерную величину. Для начала необходимо преобразовать значения рисков R. Данная величина имеет обратную интерпретацию, то есть чем больше число – тем хуже показатель. Заменим его обратным значением ω=1/R. Теперь можно в качестве выходного значения оперировать значением модуля вектора, достижение максисума которого будет задачей оптимизации. Таким образом, получаем логический контейнер для торговой системы, который на входе имеет вектор параметров анализа, и выходное значение модуля вектора оценки торговой системы (Рисунок 1):

 

Рисунок  SEQ Рисунок \* ARABIC 1. Контейнер для оптимизации торговой системы

 

На каждом шаге оптимизации происходит настройка и тестирование торговой системы на одном конечном наборе тестовых данных. Задачей оптимизации является нахождение максимума значения модуля обозначенного вектора. Алгоритм оптимизации представлен на рисунке 2:

Описание: Описание: optimization.emf

Рисунок  SEQ Рисунок \* ARABIC 2. Алгоритм оптимизации торговой системы

 

С одной стороны выбор метода оптимизации ограничен дискретностью параметров торговой системы, с другой – количество вариантов наборов параметров разумно ограничено окрестностью рекомендуемых параметров для каждого из индикаторов. Так, для индекса среднего направления (ADX, AveragedDirectionalIndex) рекомендуемым параметром длины участка расчёта является 14, и значения более 20 и менее 9 не имеют смысла при внутредневном анализе. Таким образом, для такого индикатора с одним параметром, допустимые значения ограничены отрезком [920], поэтому в ходе разработки такой системы, был применен поиск экстремумов методом полного перебора. В результате такой оптимизации желательно получить набор экстремумов, который позволит среди систем выделить ту, которая будет соответствовать ожидаемому результату:

  • наибольшей прибыли;
  • наименьшим рискам;
  • наибольшей стабильности.

Главным плюсом рассмотренного подхода является системность и формализованность. К минусам можно отнести длительность поиска экстремумов: система требует большого количества циклов перетестирования. Для проверки эффективности такого решения была взята ранее разработанная мною механическая торговая система, использующая технический анализ [6]. Для нее был разработан механизм тестирования, рассчитывающий показатели эффективности на основании сигналов, генерируемых системой в ответ на входные исторические рыночные данные и оболочка, описанная выше. Пространство входных данных было ограничено окрестностью вокруг значений, рекомендуемых авторами индикаторов. Как показало тестирование системы, процесс является ресурсоемким. Результат выполнения оптимизации был получен в виде набора локальных экстремумов. Тестирование показало применимость метода, выводы об эффективности требует длительного применения системы на реальных рыночных данных.

Выводы

В статье был рассмотрено применение теории оптимизации для достижения наилучших показателей работы механической торговой системы. Были представлены критерии эффективности, на основании которых может проводиться оптимизация. Так же метод был испытан практически, что позволило судить о его работоспособности. Однако, эффективность метода не была оценена, ввиду необходимости длительного применения оптимизированной системы на реальном рынке.

 

Список литературы:

  1. Брюс Бэбкок. Оптимизация торговых систем: сайт. - URL: http://speculator-fin.ru/page-id-228.html (дата обращения: 10.02.2012)
  2. Васильев Ф. П., «Методы оптимизации», издательство Факториал Пресс, 2002. 824 с.
  3. Как оптимизировать торговые системы?: сайт. - URL: http://wellforex.ru/index/kak_optimizirovat_torgovye_sistemy/0-17 (дата обращения: 20.12.2011)
  4. Лукашев А. В. «Применение технического анализа для построения алгоритма работы торговой системы» // "Информационные системы и технологии" ("ИСиТ") – 2011 - № 6 – С. 94—98
  5. Пардо Р. Разработка, тестирование, оптимизация торговых систем для биржевого трейдера. - Минакс: 2002. – 224 с.
  6. Тестирование и оптимизация механических торговых систем (советников/экспертов) на рынке Форекс в терминале MetaTrader 4: сайт. - URL: http://www.forexword.ru/article/gambit/test-expert.html (дата обращения: 25.12.2011)
  7. Чем отличается оптимизация торговой системы от ее переоптимизации?: сайт. - URL: http://smart-lab.ru/blog/14528.php (дата обращения: 22.12.2011)
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.