Некоторое время назад, озадачившись проблемой постоянно изменяющейся структурой рынка, я начал экспериментировать с обучающимыми системами. Задача, с одной стороны, достаточно нетривиальная, с другой стороны, не все так сложно.
Пока я совершенно не готов перейти на изучение различных нейронных сетей и генетических алгоритмов, однако, статистическое обучение оказалось не таким сложным.
Начал я с того, что написал специальный класс для Wealth-Lab, в который загружается различный набор параметров и результат в виде движдения цены от исходной точки. Следующим этапом стало создание алгоритма, находящего это самое ожидание из множества данных. Тут возможны различные варианты, и, наверное, это самый сложный момент, но пост не про это.
Как пример, приведу эквити системы, на входе которой два параметра — величины двух последних движений зигзага, а ожиданием является следующее движение. Тест на акции NYSE:DO, на которой оно работает пристойно, хотя если добавить проскальзывание и комиссию, результат ухудшится значительно. Но пост, опять же, не про это.
Так вот, получая некий закрытый черный ящик мне захотелось заглянуть в него. Вариант с Excel, на который я надеялся, отпал сразу, и взгляд мой обратился на R — бесплатный язык статистической обработки данных и их графического отображения. Первичное ознакомление с языком заняло у меня один день. На самом деле, это первый этап, так как область применения языка в количественном анализе чрезвычайно широка.
В общем, задача была вывести наборы данных и посмотреть, при каких значениях параметров алгоритм выдавал достаточное для открытия сделки ожидание.
Зеленые точки — пространство вариантов, красные — сработавшие триггеры. Зеленых точек я немного убрал, понятное дело, что у основания ими утыкано все.
В общем, даже на основе этого можно сделать определенные выводы и поработать над улучшением алгоритма отбора, чем я и займусь в ближайшее время.
Может, всё же, четыре параметра?
тогда имеем 4 параметра для зигзага:
процент изменения цены A за определённый период B, для одного движения зигзага,
и процент изменения цены C за определённый период D, для второго движения зигзага.
прошу прощения за занудство :)
просто сам пробовал делать системы по зигзагам.
В общем и целом, не считая параметров для фильтра, было по два параметра для каждого движения зигзага (период и изменение цены), ну и тейк-профит/стоп-лосс — ещё два параметра. Итого, 6 значимых параметров, как минимум.