Допустим, делаете вы торговую аж на 5 или больше индикаторах. Их как-то надо обернуть логикой принятия решений, потом как-то настроить, подобрать параметры в логике — работа большая, требующая много времени. Но вы сами эту систему разработали, и уже в основном знаете, что конкретно должна искать ваша логика. А раз так, то вы уже примерно знаете, где конкретно ваша логика должна выдавать свои сигналы.
В подобных случаях мы можем существенно облегчить себе работу, поручив построение логики методам Машинного Обучения (МО).
Входы мы знаем, выходы нам тоже примерно известны — строим обучающую последовательность для выбранного метода МО. Затем нормируем нашу обучающую последовательность к входам/выходам метода МО. Обучаем. Проверяем. Получаем готовую логику для нашей торговой системы.
Отмечу, что в данном конкретном случае нас не должны особо заботить переобучение и прочие проблемы МО — мы делаем вполне однозначную систему.
В нашем случае мы всего-навсего используем МО как обучаемую логику.
Ну, и какие основные методы можно использовать: нейросети, леса-деревья, Байесовские классификаторы. В нашем случае за какими-то сверхсложными методами гнаться не надо, вполне подойдут простейшие решения.
Да, и за вас, в данном случае, методы МО ничего делать или искать не будут. Они только строят логику вашей системы по вашему заданию. Что конкретно должна делать такая логика, это вы должны знать сами и четко сформулировать это в обучающей последовательности.
PS Продолжение темы: Топик где обсуждаются возможности реализация стратегии с применением Lua, С++ и Python -
Использование Машинного Обучения в торговых системах. Реализация.
На картинке хорошо видно, как различные методы МО выделяют и разделяют различные множества.
Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
by Aurélien Géron (Autor)
Для машинного обучения, любое издание подойдет. Для части с tensorlfow берите последнее издание.
Не уверен, что до конца понял. Речь об чем? Придумываем трейдерские фичи, с которыми и без ML можно стратегию строить и прогоняем на них стратегию простыми работающими ML вещами, а-ля бустинг?
Если так, то да, есть такое. Писал/говорил об этом уже — в моем случае это альтернатива исследования результатов прогонов стратегии (бэктесты), у кого-то — смотря кто что как делает — это будет альтернативой выстраивания логики-кода стратегии, ветвления.
Да, это удобная альтернатива. Хорошо проходится, сплошняком. Я правда не делал декомпозицию моделей в классические логики стратегий, но и без этого ты по идее получаешь что-то сопоставимой эффективности.
Ну и правильно, в общем-то, говорит.
Если требуется 5 индикаторов — лучше отказаться от такой системы.
Ничего подобного. Два индикатора может переподогнать так, что обобщающая способность вообще потеряется. Да и, потом, не нужно забывать что наш изначальный набор из 5 индикаторов тоже может оказаться лишь оверфитом.
Неск лет назад, когда я еще думал как это реализовать, чтобы с чего-то начать, попробовал найти область пересечения двух МА нейросетью. Хоть обобучайся, все будет нормально определяться.
Скорее, если ты большой интеллект пытаешься заставить решать простую задачу, он начинает находить в ней то, чего там отродясь не было, и его никто не просил это делать.
Это как тест IQ. Матрица 3Х3 с тругольниками, кружками и квадратами. Один квадратик в матрице пустой, подставьте нужную фигуру.
Меня это всегда в ступор вводило. По одной логике — кружок, по другой — треугольник, по третьей — квадрат. И все вроде сходится. Откуда мне знать, какой логикой руководствовался автор расставляя фигуры по клеточкам?
Правда указанный в топике подход, скорее даст ответ есть ли взаимосвязь между предсказуемым событием и этими 5 индикаторами. По мне так это куда проще чем погружаться в дебри статистики.
Ну а если же мы уже определили, что этот набор работает, и мы точно ничего не упустили из виду, то я согласен с автором, такой подход поможет максимизировать прибыль.
Индикаторы, как правило, бинарны и возвращают да/нет.
Модель ML, основанная на одних индикаторах, может получиться двух видов:
1) линейная функция нескольких переменных.
работает по типу: число единичек на входе больше N, то результат = 1 иначе = 0.
здесь ML вообще не нужно, только базовая статистика.
2) переобученная модель, не имеющая смысла нигде кроме обучающей выборки.