Обсуждение статьи "Практическое применение нейросетей в трейдинге (Часть 2). Компьютерное зрение"

 

Опубликована статья Практическое применение нейросетей в трейдинге (Часть 2). Компьютерное зрение:

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

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

Наш эксперимент усложнять не будем и остановимся на двух категориях изображений:

  • Buy - когда цена идет вверх или когда цена достигла дневного минимума
  • Sell - когда цена идет вниз или когда цена достигла дневного максимума

Buy   Buy1  Buy2  Buy3

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

Автор: Andrey Dibrov

 

Very nice article!
I enjoyed reading it word by word (by translation) as I also did a similar CNN based market predictions experiment with Pytorch implementations.

Thanks for sharing your hard work! :)

 

Было бы интересно анализировать чистый ЗигЗаг (в моменты, когда последний экстремум сформировался, конечно).

Многие паттерны могли бы вырисовываться. Наверное.

 
Отличная статья!
 
Andrey Khatimlianskii:

Было бы интересно анализировать чистый ЗигЗаг (в моменты, когда последний экстремум сформировался, конечно).

Многие паттерны могли бы вырисовываться. Наверное.

Вопрос только зачем тут компьютерное зрение. Зигзаг ведь легко формализуем в "чиселки")

 
Aleksey Mavrin:

Вопрос только зачем тут компьютерное зрение. Зигзаг ведь легко формализуем в "чиселки")

Ровно настолько же, насколько и бары с индикаторами, которые рассматривал автор. Только ЗЗ "чище".

 
Andrey Khatimlianskii:

Ровно настолько же, насколько и бары с индикаторами, которые рассматривал автор. Только ЗЗ "чище".

Согласен. Баловство от нечего делать.

 

Смысл в том, что бы не формализовать что-то в "чиселки". Зигзаг, вообще проблемный индикатор... Конкретно запаздывающий в динамике и ни о чем не говорящий...

https://youtu.be/mcQH-OqC0Bs, https://youtu.be/XL5n4X0Jdd8

Практическое применение нейросетей в трейдинге. Python(Часть2). Компьютерное зрение
Практическое применение нейросетей в трейдинге. Python(Часть2). Компьютерное зрение
  • 2021.01.27
  • www.youtube.com
Подробно о этапах подготовки сверточной нейронной сети в статье https://www.mql5.com/ru/articles/8668В видео показан - процесс подготовки изображений графика...
 
Andrey Dibrov:

Смысл в том, что бы не формализовать что-то в "чиселки". Зигзаг, вообще проблемный индикатор... Конкретно запаздывающий в динамике и ни о чем не говорящий...

https://youtu.be/mcQH-OqC0Bs, https://youtu.be/XL5n4X0Jdd8

Андрей, нисколько не хочу критиковать или "принизить" вашу работу, сама работа мощная и полезная самим фактом и возможностью учиться.

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

 
Aleksey Mavrin:

Андрей, нисколько не хочу критиковать или "принизить" вашу работу, сама работа мощная и полезная самим фактом и возможностью учиться.

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

Полностью с этим согласен и сравнивал. Но задача в этом эксперименте ставилась совсем иная - обойтись без числового представления используемых индикаторов. Я об этом отметил в введении к статье. К стати, можно вообще  без индикаторов... И результаты так же будут положительными. Сейчас готовлю к запуску в реальную работу. Посмотрим, что покажет на практике...

 
Andrey Dibrov:

Полностью с этим согласен и сравнивал. Но задача в этом эксперименте ставилась совсем иная - обойтись без числового представления используемых индикаторов. Я об этом отметил в введении к статье. К стати, можно вообще  без индикаторов... И результаты так же будут положительными. Сейчас готовлю к запуску в реальную работу. Посмотрим, что покажет на практике...

Понятно.  Замечу заодно такой плюс, что такой подход укладывается в русло т.н. "универсализации систем ИИ", т.е. когда для решения разных задач используются одни и те же решения=архитектуры.

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

Спасибо за ответ. Успехов в трудах :)

Причина обращения: