Блог им. Robotorgovez

Оптимизация торговых систем (много букв)

перепост: https://sites.google.com/a/alextrend.com/myrobot/home/optimizacia-torgovyh-sistem

Критерии оптимизации

Любой метод поиска должен иметь некоторый способ определения того, является ли торговая модель «хорошей», чтобы принять ее или отвергнуть. Хорошей торговой моделью может быть модель с максимальной прибылью, с максимальной прибылью на сделку, с максимальным процентом выигрышей или с комбинацией трех этих показателей. Такой метод определения качества торговой стратегии называется методом оценки. В статистике он также известен как целевая функция. Хорошая торговая стратегия зависит отнюдь не только от чистой прибыли. На самом деле, хорошая стратегия — это комплекс показателей.
При использовании методов поиска очень важным оказывается тип оценивания. Поскольку методы поиска, по определению, в процессе поиска лучшего пути постоянно принимают торговые стратегии или отвергают их, крайне важно применять правильный метод оценивания: именно этот метод обладает наибольшей предсказательной силой и будет успешным в реальной торговле. При использовании неправильного или неподходящего типа оценивания можно пропустить хорошую стратегию, и что еще хуже, можно выбрать для торговли в реальном времени плохую стратегию.

Например, если критерием отбора является максимальная чистая прибыль, то будет отобрана стратегия, приносящая максимальную прибыль. В конечном счете, для торговли важна именно прибыль. Тогда почему такая модель может быть плохой? Потому что одна лишь максимальная прибыль не является адекватным показателем качества торговой стратегии. Например, 50% этой максимальной чистой прибыли могли быть получены стратегией на одной крупной сделке, которая может никогда больше не повториться. Показатель одной только чистой прибыли игнорирует очень важное требование равномерности распределения прибылей.
Более того, поиск наибольшей чистой прибыли полностью игнорирует вопрос риска. Стратегия с максимальной чистой прибылью может также иметь очень большое и неприемлемое проседание счета. Другой ее недостаток в том, что лучшая прибыль могла быть получена посредством очень небольшого числа сделок. Стратегия с таким набором сделок имеет ограниченную статистическую валидность.
Метод оценки исключительно по чистой прибыли игнорирует многие важные характеристики, которые необходимо учитывать при выборе топ-модели, обладающей наибольшей предсказательной способностью в отношении будущей реальной прибыли.

Подчеркнем некоторые из ключевых характеристик хорошей торговой стратегии: 
равномерное распределение сделок; 
равномерное распределение прибыли; 
приемлемый риск; 
статистическая валидность.


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


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


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


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


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

Кривая доходности стратегии — это накопленная стоимость всех совершенных сделок. Кривая доходности связана с идеальной прибылью стандартным статистическим показателем — коэффициентом корреляции, который находится в интервале между -1 и + 1. Значение -1 будет плохим, поскольку оно показывает, что при повышении идеальной прибыли размер счета снижается. Значение +1 является хорошим, так как свидетельствует о том, что по мере роста идеальной прибыли размер счета тоже растет.

Это отличный вариант на роль единственного критерия. Это также хороший кандидат на роль порогового ограничения.


Пессимистическая доходность (далее ПД)-это годовой доход, скорректированный на «пессимистическое допущение», согласно которому в реальной торговле стратегии будет выигрывать меньше и проигрывать больше, чем при тестировании.

ПД корректирует валовую прибыль путем вычисления новой, пессимистической, заниженной валовой прибыли. Первый шаг — найти число выигрышных сделок, уменьшенное на квадратный корень или скорректированное на свою стандартную ошибку. Это скорректированное число выигрышных сделок далее умножается на среднюю выигрышную сделку, чтобы получить новую, заниженную валовую прибыль.
Затем ПД корректирует валовой убыток путем вычисления нового, пессимистического, завышенного валового убытка. Первый шаг — вычисляется количество проигрышных сделок, увеличенное на квадратный корень из себя или скорректированное на свою стандартную ошибку. Затем это скорректированное число проигрышных сделок умножается на среднюю проигрышную сделку, чтобы получить новый, завышенный валовой убыток. Далее новые чистые прибыль и убыток вычисляются по этим скорректированным валовым прибыли и убытку. Это, в свою очередь, делается для получения годовой нормы доходности.
ПД исходит из предположения, что торговая стратегия не будет выигрывать в реальном времени так часто, как при тестировании, а нести убытки в реальном времени будет чаще, чем при тестировании. ПД отражает эти пессимистические допущения посредством корректировки чистой прибыли на стандартную ошибку. А раз так, он является более консервативным показателем. Его ценность также в том, что он включает число выигрышей и проигрышей.
ПД является достоверной мерой эффективности стратегии, поскольку учитывает валовую прибыль, средний выигрыш, валовой убыток, средний проигрыш, число выигрышей и число проигрышей.
Пессимистическая доходность — очень хороший и достоверный показатель эффективности торговой модели. Будучи «пессимистически» скорректированной, доходность также представляет хороший способ сравнения эффективностей различных торговых стратегий.
 

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

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

Тестовое окно должно быть достаточно большим, чтобы генерировать статистически достоверные результаты и включать достаточное количество данных, отражающих разные состояния рынка. Что значит статистически достоверные результаты? По существу, это означает выполнение двух условий. Должно быть достаточное количество сделок, чтобы результаты можно было считать статистически адекватными. Тестовое окно также должно быть достаточно большим относительно числа и временной продолжительности переменных торговой стратегии. Если это не так, то тестовые результаты будут статистически сомнительными. Есть формула для вычисления статистической ошибки. Этот статистический показатель несет полезную информацию относительно адекватности размера торговой выборки. Чем больше торговая выборка, тем меньше стандартная ошибка. Стандартная ошибка вычисляется по следующей формуле М=1/квадратный корень(N)
где N — размер выборки, М- стандартная ошибка. Стандартная ошибка говорит нам о степени точности наших результатов. Например, если средний выигрыш составляет 200 при стандартной ошибке 25%, то на самом деле средний выигрыш равен 200±25%. Другими словами, наш средний выигрыш скорее всего окажется в интервале 150-250. При консервативном подходе допускаем, что средний выигрыш окажется равным 150. Если Вам демонстрируют чудесную систему с большой доходностью, поинтересуйтесь, в первую очередь количеством сделок и количеством баров на которых проводился расчет. Помните, что например 16 сделок дадут Вам статистическую ошибку 25%, 100 сделок 10% статистической погрешности и это без учета возможной подстройки или других махинаций.
 

Стабильность торговой стратегии связана с устойчивой торговлей по этой системе. Чем более устойчива торговая стратегия по каждому из ее показателей, тем она стабильнее. Как правило, чем выше стабильность стратегии на статистически валидном тесте, тем выше ее надежность в процессе торговли. Должно быть хорошее соотношение прибылей и убытков. Сделки должны быть равномерно распределены по всему тестовому окну. Чем меньше стандартное отклонение величины и продолжительности выигрышей и убытков, тем лучше. Эти показатели торговой устойчивости стратегии являются важными показателями ее стабильности. Лучший размер тестового окна — такой, который позволяет надежно получать такую информацию.
 
При всяком тестировании и оптимизации используется некоторый тип метода поиска, задающий число проводимых тестов и порядок их выполнения, а также диапазон временных периодов, на котором будет применяться исследуемая стратегия. Метод поиска — это способ перебора различных параметров, определяемый данной оптимизацией, и выбора наилучшего набора параметров модели.
Другими словами, любая оптимизация подвергает набор исторических данных серии тестов. Порядок, в котором проводятся эти тесты, может влиять на определение лучшего набора параметров. Это является причиной существования разных видов поиска в, так называемом, пространстве параметров. С помощью переменных модели торговая имитация рассчитывает все сделки и вычисляет статистическую характеристику модели. Оптимизация или тестовый прогон — это связка или набор тестов. Успешный результат такого теста — набор моделей, удовлетворяющих критериям эффективности. Неуспешный тестовый прогон может привести к отсутствию моделей, удовлетворяющих критериям эффективности.

Решетчатый поиск. Два диапазона переменных задают решетку комбинаций переменных. Оценивается эффективность каждой комбинации. Другими словами, исследуются все узлы решетки. Это самый распространенный метод поиска. Преимущество поиска по узлам решетки в его скрупулезности. Поскольку оценена каждая возможная комбинация, пропустить лучшую невозможно. Недостаток решетчатого выбора — его низкая скорость. Следующий простой расчет показывает что если мы сканируем одну переменную с 60 шагами, а один расчет занимает 1 сек, то для одной переменной это составит 1 минуту, для двух переменных 60 минут, для 3 переменных 3600 минут или 2.5 дня, а для 4 переменных уже 150 дней.

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

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


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

У методов направленного поиска в целом есть несколько недостатков. Поскольку метод направленного поиска не оценивает каждого кандидата, существует риск недостаточной точности.
Направленный поиск гораздо более тщателен, чем пошаговый поиск. Но он менее точен, чем поиск на решетке. Опыт многоточечного направленного поиска в сочетании с методом поиска на решетке свидетельствует, что таким комбинированным методом можно находить модели, входящие по эффективности в лучшие 10-20%.


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

Глобальный максимум — это самая эффективная модель во всей тестовой группе, а локальный максимум — самая эффективная модель в «локальной области» тестовой группы. Ошибочное принятие локального максимума за глобальный может происходить по причинам, связанным с особенностями метода поиска и «формой пространства переменных».

Наши торговые роботы тестируются или методом прямого перебора или генетическим оптимизатором.
 

Устойчивость
Тестовое пространство — это визуализация результатов тестовой связки в виде трехмерного графика. Худший из случаев, которые можно себе представить, будет напоминать горную гряду очень узких и высоких пиков прибыли. Почему это плохо? Такой стратегии будет не хватать устойчивости. Любой небольшой сдвиг параметра стратегии может изменить результаты стратегии с крупной прибыли на такой же крупный убыток. Лучшим случаем, который можно представить, будет топ- стратегия, расположенная на вершине большого, пологого, постепенно снижающегося холма. Этот случай хорош, потому что данная стратегия будет очень устойчивой. Любой небольшой или даже большой сдвиг параметра стратегии снизит ее эффективность на 5-10 процентов. В этом преимущество устойчивой стратегии. Такая стратегия черпает свою устойчивость из относительной нечувствительности к изменениям параметров.
Идеальная оптимизация по одной переменной должна создавать линию эффективности по прибыли, которая снижается постепенно в обоих направлениях от своего пика прибыли. Идеальная оптимизация по двум переменным должна создавать круг с лучшей моделью в центре и ступенчатым снижением эффективности на расходящихся концентрических окружностях. Идеальная оптимизация по трем переменным должна создавать округлый холм с лучшей моделью на вершине и ступенчатым снижением эффективности на любых концентрических окружностях большего диаметра, расходящихся от вершины этого холма.

В общем случае самым эффективным подходом оказалась групповая оценка результатов. Суть ее сводиться к тому, что оценивается результат не отдельного теста с фиксированным набором параметров, а группы тестов, в самом простом случае для одного параметра можно рассчитать среднюю величину для трех тестов, в точке с максимальной целевой функцией, и для каждого отклонения вправо, влево на величину минимального шага. На практике, выбрав наиболее подходящею Вам стратегию, посмотрите результаты ее тестов для близких значений по времени. Например, выбрав в качестве временного масштаба 60 минут, посмотрите 30, 40, 50, 70, 90, 100 минут для выбранной стратегии и выбранного торгового инструмента. В случае если наилучший результат находится на вершине полого холма, то незначительные отклонения вправо, влево не должны приводить к существенному ухудшению результатов. Однако оценка единичной оптимизации или даже некоторой группы не дает комплексного анализа ситуации. Наиболее полноценный результат дает только форвардный тест.
    ★10
    2 комментария
    статья понравилась — со многим в ней согласен.
    остались только вопросы про расчет идеальной прибыли… не совсем это мне понятно
    avatar
    Концепция статьи ошибочна в том плане, что система оптимизируется на истории. Нет никаких гарантий, что она будет эффективна и работоспособна в дальнейшем. Усилия должны быть направлены на вскрытие закономерностей рынка и их использование для прогноза. И только потом оптимизация системы при уже УСТАНОВЛЕННЫХ закономерностях. Кроме того, для оценки систем есть два простых показателя- коэффициент Шарпа и профит-фактор. А процент выигрышных сделок — это ерунда и только вводит в заблуждение даже при комбинированных показателях.
    avatar

    теги блога Sergey F

    ....все тэги



    UPDONW
    Новый дизайн