ALEXEY BURNAKOV
ALEXEY BURNAKOV личный блог
14 апреля 2016, 20:25

Для любителей FX: оптимизация параметров модели


Значит, так — оптимизирую параметры стратегии.

Бек-тесты. Пока есть оптимизм относительно лишь двух инструментов: EUR/USD & USD/JPY.

Для любителей FX: оптимизация параметров модели

Для любителей FX: оптимизация параметров модели

То, что не видно на картинках:
одна сделка в рынке
длительность от 6 до 21 часа
стоп-лосс и тейк-профит есть для каждой сделки в пределах 100 пунктов

Форвард-тест за год:
Для любителей FX: оптимизация параметров модели
Для любителей FX: оптимизация параметров модели


В этом году начал торговать по этим системам на реале, но пока мало сделок.

К чему вообще пишу, кроме создания некоего пиара.

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

Для любителей FX: оптимизация параметров модели

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

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

Комитеты моделей (Леса решений и т.п.) справляются с задачей лучше.
Для любителей FX: оптимизация параметров модели
Для любителей FX: оптимизация параметров модели

Множество наложенных прямоугольников позволяют аппроксимировать сложные формы.



Так вот, мы пытаемся отделить в своих стратегиях состояния рынка, в которых наши торговые приказы генерируют положительное МО.

С тестером стратегий, который встроен в платформы, например, в МетаТрейдер, мат.часть не менее интересна и сбрасывать такой подход со счетом было бы не оптимально.

Возьмем конкретно результат бектеста по моей стратегии.

У меня генератор сигналов на buy & sell использует зеркально похожие значения, только с разным знаком. Соответственно, на двумерной поверхности получается так:
Для любителей FX: оптимизация параметров модели
Но что же за измерения использованы здесь?

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

Выбор конкретных измерений для эксперимента — задача, лежащая целиком на плечах аналитика.

Но это не отменяет возможность поручить машине сделать некую черновую работу. Что имеется в виду? 

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

Допустим, по оси х на рисунке лежит лаговое значение от 1 до 1000 минут, а по оси у — пороговое значение price return на выбранном лаге, пробитие которого приведет к приказу на покупку (и зеркально — на продажу).

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

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

Отмечу, что, несмотря на перебор большого количества возможных измерений, стратегия будет построена на весьма ограниченном наборе. У меня это 8 важных и еще 2 менее важных переменных (измерений).

Вернемся к тестеру стратегий для перебора параметров и сравним его с деревом.

Отличие самое важное одно: моя стратегия это единственный терминальный нод (прямоугольник), в котором достаточно много сделок.

Дерево решений и ансамбли на его основе создают много терминальных нодов, которые «упаковывают» точки в k измерений из n возможных. Например, n может быть равно 200, а терминальный нод №10 использует k = 5 измерениям. Но при этом K большое — общее количество задействованных измерений во всех ветвях дерева также будет много меньше 200.

Также, есть второе важное отличие, например, деревьев, и оптимизатора стратегий на основе ГА. Дерево — жадный алгоритм, приводящий всегда к одному и тому же результату, не всегда оптимальному. ГА может привести к разным результатам, при этом перебрав несколько субоптимальных.


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

Важен дизайн эксперимента: количество данных, разбиение выборки на части и проверка вне выборки. И т.д. по списку. 
Количество измерений в финальной модели должно быть просто сокращено до «разумного» списка. Незначимые можно удалить, чтобы не создавать воздушных замков.
38 Комментариев
  • Умно, красиво, автоматизируемо, но без методов и фоток бентли. То что ты крут, это супер, а в публичных деньгах это у тебя где? ПАММ? Мониторинг? 
  • Андрей К
    14 апреля 2016, 21:28
    retail, МТ4 и МТ5 генерируют рэндом тики в пределах свечи. Зря вы про дурочка.
  • Андрей К
    14 апреля 2016, 21:38
    retail, вы сказали про режим «все тики», я и прицепился. Я бы на вашем месте, не был бы так агрессивен.
  • Kerby
    14 апреля 2016, 21:42
    Аавтор напомните пожалуйста на каком месте Вы в рейтенге Форбс

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

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