Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 285

 

Mihail Marchukajtes:
J О глубоком обучении. Сейчас многие говорят об этом, хочется узнать поболее. И ещё вопрос. Кто нить реализовывал Рекурентную сеть без учителя на МТ4?

=====================================

Почитайте здесь, здесь  

А на второй вопрос я даже не знаю, что сказать.

Удачи 

 
Vladimir Perervenko:
Y Ну теперь понятно. Другими словами, сначала тренируем скажем сеть без уччителя. Далее получчившиеся значения весов записаваем ввеса классификатора и потом классификатор уже дообучаем с учителем. очень всё интересно, только вот не понятно. Предположим мы получили веса нейронопроведении тонкой настроки, веса продолжают оптимизироватся????? Другими словами проведя предобучение без учителя, мы задаём начальные веса для классификатора, которые приводят его в глобальный минимум. Так чтоли?
 

Я цель при обучении использую только как некую основу, к которой модель при обучении стремится, но никогда не достигает. А для оценки модели использую не точность предсказания, а строю график баланса торговли по таким предсказаниям, и оцениваю этот график например через шарп ратио или фактор восстановления или ещё что-нибудь. Неплохо получается работать с целью "цвет следующего бара". Можно пойти более сложнее и генетикой подредактировать эту цель чтоб не дёргаться сделками на мелких движениях и просто пересижывать их, плюс ещё можно не дёргаться если размер следующей свечи меньше спреда. В общем подобрать генетикой решение (buy/sell) на каждом баре чтоб получился наибольший профит.

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

Это всё у меня работает только на довольно крупных таймфреймах, сначала получалось только на D1, потом постепенно удалось перейти на H1. Всё таймфреймы поменьше для меня уже непредсказуемый шум.

 
toxic:


Рекомендую https://www.accern.com/ попробовать, я пользуюсь, очень доволен. 

Выглядит круто, но дороговато.

Хотелось бы потренироваться на чем то бесплатном, посмотреть как оно работает в реалтайме без задержки, а там демка с гигантским лагом.

А можете в двух словах описать, как происходит использование такого сигнала в торговле и МО? Если не секрет, когда важные новости выходят, успеваете торгануть, или всё таки за секунду, полсекунды кто то раньше, начинает лупить по рынку и снимает сливки?

 
Dr.Trader:

 А для оценки модели использую не точность предсказания, а строю график баланса торговли по таким предсказаниям, и оцениваю этот график например через шарп ратио или фактор восстановления или ещё что-нибудь.

 Именно это я всегда и делал, предсказания всегда плохие, но сама торговля не всегда....  А вообще идеальная целевая это не вектор с значениями "00110"  а поиск некого глобального минимума, например просто даем задание сетке торговать так чтобы фактор востановление не падал ниже 4, и пусть она там себе подбирает свои веса пока не найдет решение, как она это будет делать нам безразлично..  Такой метод убивает все минусы присущие обычной векторной целевой и имеет кучу преимуществ и еще такой метод абсолютно объективный по отношению к торговле а вот векторная целевая абсолютно субъективная вещь (каждый видит по разному)   

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

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

 Могу рассказать как можно существенно улучшить торговлю сети(если интересно), дав ей некое критическое мышление, у меня практически всегда получались результаты лучше чем без него

 

mytarmailS:

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


Вы неправильно формулируете мысль. Пишите проще : "Я недостаточно знаю язык и не умею делать то, что хочу". Не нужно давать оценку чему то, чего не знаешь глубоко. Язык R дает возможность реализовать любую Вашу идею, хватило бы Вам знаний. Если чего то нет в R, используйте наработки Python. 

Конечно, строго говоря, обучение любых моделей с учителем не является "обучением".  Глубокое обучение приближается к нему, но наиболее перспективно чистое обучение без учителя и его реализация - обучение с подкреплением. В R пока есть только один пакет позволяющий реализовать этот метод - RNeat. Но этот уровень достичь можно только отлично понимая все предыдущие. Эта область хорошо разработона в Python. А он отлично интегрируется в R. 

Удачи 

 
Vladimir Perervenko:


И всё таки проясните вот какой момент глубокого обучения. Когда получили веса нейронов на первом этапе. Мы эти веса записываем в скрытый слой классификатора. И начинаем обучать классификатор по выходной переменной. Если мы задали жёстко значение весов что тогда оптимизируется. Как выглядит тонкая настройка???? Можете пояснить????
 
Vladimir Perervenko:

Вы неправильно формулируете мысль. Пишите проще : "Я недостаточно знаю язык и не умею делать то, что хочу". Не нужно давать оценку чему то, чего не знаешь глубоко. Язык R дает возможность реализовать любую Вашу идею, хватило бы Вам знаний. Если чего то нет в R, используйте наработки Python. 

Конечно, строго говоря, обучение любых моделей с учителем не является "обучением".  Глубокое обучение приближается к нему, но наиболее перспективно чистое обучение без учителя и его реализация - обучение с подкреплением. В R пока есть только один пакет позволяющий реализовать этот метод - RNeat. Но этот уровень достичь можно только отлично понимая все предыдущие. Эта область хорошо разработона в Python. А он отлично интегрируется в R. 

Удачи 

и тем не менее ответа на вопрос как такую целевую реализовать средствами R у вас нет, если я правильно понял
 
Mihail Marchukajtes:
Y Ну теперь понятно. Другими словами, сначала тренируем скажем сеть без уччителя. Далее получчившиеся значения весов записаваем ввеса классификатора и потом классификатор уже дообучаем с учителем. очень всё интересно, только вот не понятно. Предположим мы получили веса нейронопроведении тонкой настроки, веса продолжают оптимизироватся????? Другими словами проведя предобучение без учителя, мы задаём начальные веса для классификатора, которые приводят его в глобальный минимум. Так чтоли?

Схватываете быстро и не совсем правильно. В R есть два пакета реализующие глубокие нейросети - deepnet и  darch v.0.12. Первый совсем упрощенный, без многих настроек и возможностей, но дающий возможность попробовать и оценить. Второй - широчайшие  возможности по конструированию и настройке нейросети, неподготовленному пользователю будет чрезвычайно сложно использовать его. Но в нем реализованы правильные возможности глубокого обучения.

1. Предобучение авто ассоциативной сети (SAE/SRBM) на максимально возможном объеме входных не размеченных данных.

2.  Перенос весов в скрытые слои нейросети и обучение только верхнего слоя на размеченных данных. Пакет позволяет Вам указывать, какие конкретно слои нужно обучать.

3. Тонкая настройка всей сети с небольшим количеством эпох (2-3) и низким уровнем обучения на не большом количестве размеченных данных. Вот здесь и нужно применять примеры вокруг  пиков.

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

Конечно предусмотрена возможность обучения сети без предобучения.

Сеть очень быстрая, но требует опыта и знаний.

Удачи 

 

Mihail Marchukajtes:
И всё таки проясните вот какой момент глубокого обучения. Когда получили веса нейронов на первом этапе. Мы эти веса записываем в скрытый слой классификатора. И начинаем обучать классификатор по выходной переменной. Если мы задали жёстко значение весов что тогда оптимизируется. Как выглядит тонкая настройка???? Можете пояснить????

====================================== 

Я все чаще задаю себе вопрос : "Зачем я пищу статьи в которых пытаюсь разжевать, по мере своих возможностей, основные понятия  по теме?" 

Вы статьи мои  по теме "Глубокое обучение" прочли? Там я довольно подробно, как мне кажется, все разъяснил. Нет времени повторять написанное. Если есть вопрос который не отражен в них, готов ответить. 

Удачи 

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