Значит, так — оптимизирую параметры стратегии.
Бек-тесты. Пока есть оптимизм относительно лишь двух инструментов: EUR/USD & USD/JPY.
То, что не видно на картинках:
одна сделка в рынке
длительность от 6 до 21 часа
стоп-лосс и тейк-профит есть для каждой сделки в пределах 100 пунктов
Форвард-тест за год:
В этом году начал торговать по этим системам на реале, но пока мало сделок.
К чему вообще пишу, кроме создания некоего пиара.
На этом сайте встречал интересные мысли в ходе обсуждения таких вопросов как «подгонка», «оптимизация», «машинное обучение».
Вот как-то так машины дробят пространство векторов. Деревья решений делят пространство многомерными прямоугольниками, причем количество конечных нодов прямо указывает на количество полученных (непересекающихся) подпространств, где доля успехов достаточно велика для нашей задачи.
Если данные делятся косой линией, дерево будет работать плохо, но SVM справится лучше: проведет многомерную плоскость под любым углом.
Комитеты моделей (Леса решений и т.п.) справляются с задачей лучше.

Множество наложенных прямоугольников позволяют аппроксимировать сложные формы.
Так вот, мы пытаемся отделить в своих стратегиях состояния рынка, в которых наши торговые приказы генерируют положительное МО.
С тестером стратегий, который встроен в платформы, например, в МетаТрейдер, мат.часть не менее интересна и сбрасывать такой подход со счетом было бы не оптимально.
Возьмем конкретно результат бектеста по моей стратегии.
У меня генератор сигналов на buy & sell использует зеркально похожие значения, только с разным знаком. Соответственно, на двумерной поверхности получается так:

Но что же за измерения использованы здесь?
Нужно понимать, что любой кусок графика котировочного процесса находится в бесконечномерном пространстве.
Выбор конкретных измерений для эксперимента — задача, лежащая целиком на плечах аналитика.
Но это не отменяет возможность поручить машине сделать некую черновую работу. Что имеется в виду?
Аналитик может подготовить множество возможных измерений, которые, по его мнению, окажутся полезными (информативными для целевой переменной). В моем случае, к примеру, я взял глубину лага для оценки ценовых разниц. Но так как я не обладаю сакральным знанием о том, какой лаг окажется наиболее информативным, машина пробует их все.
Допустим, по оси х на рисунке лежит лаговое значение от 1 до 1000 минут, а по оси у — пороговое значение price return на выбранном лаге, пробитие которого приведет к приказу на покупку (и зеркально — на продажу).
Понятно, что если бы я выбрал две другие переменные, то локация прямоугольников стала бы совершенно другой.
Возможен случай, когда выборк измерений приведет к тому, что в любой локации плотность успехов будет одинакова плоха. То есть информационная нагруженность набора этих измерений будет близка к нулю.
Отмечу, что, несмотря на перебор большого количества возможных измерений, стратегия будет построена на весьма ограниченном наборе. У меня это 8 важных и еще 2 менее важных переменных (измерений).
Вернемся к тестеру стратегий для перебора параметров и сравним его с деревом.
Отличие самое важное одно: моя стратегия это единственный терминальный нод (прямоугольник), в котором достаточно много сделок.
Дерево решений и ансамбли на его основе создают много терминальных нодов, которые «упаковывают» точки в k измерений из n возможных. Например, n может быть равно 200, а терминальный нод №10 использует k = 5 измерениям. Но при этом K большое — общее количество задействованных измерений во всех ветвях дерева также будет много меньше 200.
Также, есть второе важное отличие, например, деревьев, и оптимизатора стратегий на основе ГА. Дерево — жадный алгоритм, приводящий всегда к одному и тому же результату, не всегда оптимальному. ГА может привести к разным результатам, при этом перебрав несколько субоптимальных.
В свете этих соображений хочу резюмировать, что метод оптимизации стратегий перебором параметров имеет место под солнцем. Принципиальные методологические его отличия от других методов машинного обучения не делают его чем-то принципиально худшим.
Важен дизайн эксперимента: количество данных, разбиение выборки на части и проверка вне выборки. И т.д. по списку.
Количество измерений в финальной модели должно быть просто сокращено до «разумного» списка. Незначимые можно удалить, чтобы не создавать воздушных замков.