Блог им. 3Qu

Использование Машинного Обучения в торговых системах. Простейшее применение.

    • 18 января 2021, 14:54
    • |
    • 3Qu
  • Еще
Допустим, делаете вы торговую аж на 5 или больше индикаторах. Их как-то надо обернуть логикой принятия решений, потом как-то настроить, подобрать параметры в логике — работа большая, требующая много времени. Но вы сами эту систему разработали, и уже в основном знаете, что конкретно должна искать ваша логика. А раз так, то вы уже примерно знаете, где конкретно ваша логика должна выдавать свои сигналы.
В подобных случаях мы можем существенно облегчить себе работу, поручив построение логики методам Машинного Обучения (МО).
Входы мы знаем, выходы нам тоже примерно известны — строим обучающую последовательность для выбранного метода МО. Затем нормируем нашу обучающую последовательность к входам/выходам метода МО. Обучаем. Проверяем. Получаем готовую логику для нашей торговой системы.
Отмечу, что в данном конкретном случае нас не должны особо заботить переобучение и прочие проблемы МО — мы делаем вполне однозначную систему.
В нашем случае мы всего-навсего используем МО как обучаемую логику.
Ну, и какие основные методы можно использовать: нейросети, леса-деревья, Байесовские классификаторы. В нашем случае за какими-то сверхсложными методами гнаться не надо, вполне подойдут простейшие решения.
Да, и за вас, в данном случае, методы МО ничего делать или искать не будут. Они только строят логику вашей системы по вашему заданию. Что конкретно должна делать такая логика, это вы должны знать сами и четко сформулировать это в обучающей последовательности.

PS Продолжение темы: Топик где обсуждаются возможности реализация стратегии с применением Lua, С++ и Python - Использование Машинного Обучения в торговых системах. Реализация.
★5
34 комментария
заинтриговали, с чего начинать?
Василий Белозеров, как обычно, со знакомства с мат частью.
avatar
понятно, а где она, эта мат часть? пальцем ткните или ссылку дайте, пожалуйста.
Василий Белозеров, как вариант Введение в машинное обучение 
avatar
Василий Белозеров, например, Python, scikit-learn

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

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 берите последнее издание.

avatar

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

 

Если так, то да, есть такое. Писал/говорил об этом уже — в моем случае это альтернатива исследования результатов прогонов стратегии (бэктесты), у кого-то — смотря кто что как делает — это будет альтернативой выстраивания логики-кода стратегии, ветвления.

 

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

avatar
Replikant_mih, я тоже не уловил сути топика, надеюсь в комментариях расскажут :)
avatar
CloseToAlgoTrading, суть проста. Не самому писать множество if()...else и выбирать условия, а поручить это МО. Если мы сами знаем что хотим получить (а мы знаем), то МО с этим успешно справится.
avatar
3Qu, Ну да, тогда я правильно понял, теперь важно не забыть трейдерские осмысленние сдобренные эджем фичи подвезти)). Без этого ингредиента ни та ни эта схема не заведется.
avatar
Replikant_mih, я так понял, что речь о сокращенном признаковом пространстве — фичах. В полноразмерном пространстве, говорит автор, будет оверфит 

Ну и правильно, в общем-то, говорит. 
avatar
бесплатно? а бесплатно есть?
Василий Белозеров, все безвозмездно, то есть, даром.)
avatar
Допустим, делаете вы торговую аж на 5 или больше индикаторах. Их как-то надо обернуть логикой принятия решений

Если требуется 5 индикаторов — лучше отказаться от такой системы.
 
Отмечу, что в данном конкретном случае нас не должны особо заботить переобучение и прочие проблемы МО — мы делаем вполне однозначную систему

Ничего подобного. Два индикатора может переподогнать так, что обобщающая способность вообще потеряется. Да и, потом, не нужно забывать что наш изначальный набор из 5 индикаторов тоже может оказаться лишь оверфитом.
avatar
Kot_Begemot, пожалуй, немного погорячился. Но, совсем немного.) Для влияния переобучения на результат нужно взять оч. сложную, скажем, НС. В более простых вариантах НС просто не потянет экстрасложные логические конструкции, чтобы начать дробить признаковые пространства на более мелкие области.
Неск лет назад, когда я еще думал как это реализовать, чтобы с чего-то начать, попробовал найти область пересечения двух МА нейросетью. Хоть обобучайся, все будет нормально определяться.
avatar
3Qu, это да — им не хватает «интеллекта» и они увеличивают число нейронов, увеличивают, увеличивают и «интеллект» начисто пропадает. Ирония судьбы 
avatar
Kot_Begemot, ну, не совсем так.
Скорее, если ты большой интеллект пытаешься заставить решать простую задачу, он начинает находить в ней то, чего там отродясь не было, и его никто не просил это делать.
Это как тест IQ. Матрица 3Х3 с тругольниками, кружками и квадратами. Один квадратик в матрице пустой, подставьте нужную фигуру.
Меня это всегда в ступор вводило. По одной логике — кружок, по другой — треугольник, по третьей — квадрат. И все вроде сходится. Откуда мне знать, какой логикой руководствовался автор расставляя фигуры по клеточкам?
avatar
Зачем вам машинное обучение, если у вас TA не работает?
avatar
Sergeyka, а с какого боку здесь ТА?
avatar
3Qu, Он имеет ввиду что ваши 5 индикаторов не работают, хоть во что оберните их.
avatar
GAURANGA, а с какого боку здесь ТА? Применять ТА, не применять ТА — это уже ваше личное дело.
avatar
3Qu, как правило, если речь идет о индикаторах, то они привязаны к графикам. Об этом речь
avatar
GAURANGA, и что из этого следует? Любые методы обработки данных привязаны к данным. О чем речь идет? Я не понимаю.
avatar
GAURANGA, Стоит заметить, что большинство использует для торговли цену и ее производные. Индикатор может быть как некоторая преобразованная цена, так и совершенно не связанное на прямую с ней значение, например дивиденды или сентимент по новостям. 
Правда указанный в топике подход, скорее даст ответ есть ли взаимосвязь между предсказуемым событием и этими 5 индикаторами. По мне так это куда проще чем погружаться в дебри статистики. 
Ну а если же мы уже определили, что этот набор работает, и мы точно ничего не упустили из виду, то я согласен с автором, такой подход поможет максимизировать прибыль. 
avatar
опять нейросети )) сколько можно 
avatar
Skifan, не нравится — не ешь. Никто не заставляет, не навязывает.
avatar
Вы не видите проблему в том, что, если существует метод МО, способный собрать ТС из условно 5 индикаторов => существует метод МО способный построить ТС на голых данных (тк МО — это оптимизация функционала, а любой индикатор — подмножество функционалов), что, мягко говоря, не так, иначе я мог бы без проблем подать историю в нейронку, а на выходе получить грааль?
avatar
Talos, не вижу. МО, в нашем случае, не проектирует ТС, а только нужную вам логику. А будет работать ваша ТС или не будет — это вопрос к вам, а не к МО.
avatar
ВладиМир, а что не ясно? Если вы знакомы с методами МО, то вы бы все поняли. Если не знаете — никакой пример не поможет, вначале изучить МО надо, хотя бы поверхностно.
avatar

3Qu, знаком и применяю, не для торговли.

Если бы написали, что продолжение будет — и вопрос бы не возник.

avatar
ВладиМир, тогда не понимаю, в чем сложность. Обучить логике МО?
avatar

Индикаторы, как правило, бинарны и возвращают да/нет.

Модель ML, основанная на одних индикаторах, может получиться двух видов:

1) линейная функция нескольких переменных.

работает по типу: число единичек на входе больше N, то результат = 1 иначе = 0.

здесь ML вообще не нужно, только базовая статистика.

2) переобученная модель, не имеющая смысла нигде кроме обучающей выборки.

avatar

теги блога 3Qu

....все тэги



UPDONW