neophyte
neophyte личный блог
01 августа 2019, 14:31

Оптимизация торговых стратегий

Баян, но сейчас книги читать не любят, а тут коротко... 

 1. Секционирование (сегментирование) данных.

Оптимизация проводится на исторических данных. 
Данные необходимо подготовить для тестирования. Для этого необходимо весь интервал данных разбить на сегменты (секции), сделав первый сегмент более крупным, чем остальные (см.рис.1).

Оптимизация торговых стратегий

Рис.1. Секционирование данных

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

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

2. Этапы тестирования торговых систем с оптимизацией.

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

Типовая процедура оптимизации, как уже отмечалось выше, включает несколько этапов.

Этап.1. Первоначальная оптимизация – определение параметров МТС.

Первоначальная оптимизация проводится на основном или стартовом сегменте данных и её целью является поиск параметров торговой модели, способных увеличить эффективность МТС.
Оптимальные параметры модели для первого сегмента подыскивается путем простого подбора значений параметров модели, при которых параметры МТС оказываются наилучшими.
Первоначальная оптимизация производится исключительно в пределах стартового сегмента данных, который называется выборкой (sample) и используемый для поиска наилучших значений изменяемых параметров торговой модели. Данные более позднего времени, не подвергавшиеся анализу на этапе первоначальной оптимизации, именуются данными вне выборки (out-of-sample) и будут использованы для продолжения оптимизации на следующих этапах.
На этапе 1 определяются оптимальные значения параметров, обеспечивающие наилучшие характеристики МТС с точки зрения выбранных критериев оптимизации, однако результаты тестирования на выборке не дают объективной информации об эффективности торговой стратегии. Достоверные данные о параметрах полученной в результате тестирования МТС, характеризующие эффективность системы, могут быть определены только после проведения анализа данных вне выборки.

Этап 2. Проверка результатов.

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

Этап 3. Добавление данных.

Сегмент данных, использованный на этапе 2, добавляется к стартовому сегменту этапа 1, увеличивая тем самым количество данных в выборке, и мы опять переходим к этапу 1, но на изменившемся диапазоне исторических данных.

Этап 4. Циклическая оптимизация.

Действия этапов 1-3 многократно повторяются до тех пор, пока не будут использованы все данные, находившиеся вне выборки. Т.е. процесс оптимизации, описанный в п.1, проводится с использованием данных, вошедших после этапа 2 в выборку. Далее проверяем полученный параметр на следующем сегменте данных вне выборки и т.д. до тех пор, пока количество данных вне выборки не будет исчерпано.

Этап 5. Оценка результатов.

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


И приложение совсем на другую тему. О жизни нашей. Навеяло что-то...

Мы живем в эпоху развитого феодализма. Мы живем в эпоху развитого феодализма.
Феодализм — это единственная устойчивая общественная формация, которая не противоречит естественной человеческой натуре.
Кому принадлежит власть при феодализме — самому крутому в округе бандиту. Ему все платят дань, а он защищает источник своего благосостояния от других бандитов, претендующих на то же самое.
Если феодал откажется не состоятельным в плане удержания власти, его тут же естественным образом сменит другой, более крутой и состоятельный. Власть при феодализме не дают, власть захватывают и удерживают. Если ты не способен удержать власть, на смену тебе придет другой, более способный.
Все разговоры про разумное, доброе, вечно, не более, чем декорация. Феодал заботится о подданных ровно в той мере, в которой обеспечивается воспроизводство будущих плательщиков дани. Больше ему не нужно, это уже излишества.
В современном мире есть государства с явной и со скрытой формой феодализма.
С явной — все понятно без прикрас и маскировки.
Со скрытой сложнее. Там реальный хозяин и властитель находится в тени. На публике роль властителей играют марионетки, которые отвлекают на себя недовольство популяции и которых периодически меняют путем «свободного волеизъявления» чтобы спустить накопившееся в обществе напряжение. Реальные хозяева жизни вроде бы как и ни при чем, хотя именно они всем заправляют и заказывают музыку.


6 Комментариев
  • Иван Донских
    01 августа 2019, 19:35
    Не любят читать книги только «по трейдингу», остальные норм. =-)
  • Replikant_mih
    01 августа 2019, 19:42
    «Под оптимизацией понимается подбор параметров торговой модели, реализованной в торговой системе с настраиваемыми параметрами, и выбор того варианта или вариантов, которые дают на исторических данных наилучший по заданным критериям оптимизации результат. В качестве критерия может быть выбрана максимальная прибыльность системы, максимальное соотношение прибыль просадка и т.п.»

    Это фундаментальное заблуждение!!!
    • Александр Ганов
      14 июля 2020, 11:59
      Replikant_mih, есть какие-то правильные ссылочки или книги, которые помогают развеять данное заблуждение? заранее благодарен
      • Replikant_mih
        14 июля 2020, 12:14

        Александр Ганов, Можете меня почитать), вроде я эту тему люблю), но  надо среди постов найти про это.

         

        Николай Флёров писал про это, тоже тут на Смарт-лабе статьи есть — тоже правильный вектор задают. 

         

        Ещё не знаю что порекомендовать), Кургузкина почитать, не знаю, есть ли там про это — должно быть, но в целом достаточно здравый подход.

         

        Ну или спрашивайте точечно что-нить — отвечу по мере возможности.

  • Кайрос
    01 августа 2019, 21:00
    Генералы всегда готовятся к прошедшей войне)

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн