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

 
Andrey Dik:

Ок, это очень хорошие показатели торговли на истории! Поздравляю. 

Кто-то видел открыто распространяемая или продающуюся сисетму для Форекса, где форвард за пять лет дает прибыль? Я могу этот продукт просто выложить здесь или в код-базу как доказательство. Мне не интересны ровные кривые за пару лет на сотни процентов из маркета. Так как все они жесткая подгонка. слив. Я делаю под себя и избегаю подгонки. А улучшений в эту систему можно внести достаточно, чтобы улучшить ФВ раза в полтора-два. 

И вообще эта тема о машинном обучении, что подразумевает создание непереобученных продуктов. А проценты считать это дело второе.

Я еще попробую другим методом обучить машину и думаю, можно еще улучшить.
 
Alexey Burnakov:
Как сделать из диапазонов одного предиктор несколько предикторов? Я этого не пойму.

О это очень просто ) кластеризация...

 

1) Берем каждый предиктор и кластеризируем его скажем на 50 кластеров (при чем кластеризацыю можно и нужно провести по двум типам 1) кластеризировать "как есть" чтоб кластеризировать предиктор по числовым значениям и второй тип 2) кластеризировать нормированый предиктор чтоб кластеризировать его в виде образа) в комплексе  получиться все как у человеческого зрения, мы будем знать не только числовые "реальные" значения предиктора но и образ - изгибы, наклоны

2) Создаем таблицу где колонки это кластера , 50 кластеров ---> 50 колонок ---> 50 предикторов, проверяем каким то алгоритмом важность этих предикторов и видим что из 50 предикторов важных всего 1-5 штук, их и оставляем

 3) берем следующий предиктор кластеризируем и повторяем пункты 1 и 2 

 теоретически такая селекцыя внутри предиктора должна на порядки поднять качество распознавания...

 

но есть и недостатки 

1) дорогие вычисления

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

 
mytarmailS:

О это очень просто ) кластеризация...

 

1) Берем каждый предиктор и кластеризируем его скажем на 50 кластеров (при чем кластеризацыю можно и нужно провести по двум типам 1) кластеризировать "как есть" чтоб кластеризировать предиктор по числовым значениям и второй тип 2) кластеризировать нормированый предиктор чтоб кластеризировать его в виде образа) в комплексе  получиться все как у человеческого зрения, мы будем знать не только числовые "реальные" значения предиктора но и образ - изгибы, наклоны

2) Создаем таблицу где колонки это кластера , 50 кластеров ---> 50 колонок ---> 50 предикторов, проверяем каким то алгоритмом важность этих предикторов и видим что из 50 предикторов важных всего 1-5 штук, их и оставляем

 3) берем следующий предиктор кластеризируем и повторяем пункты 1 и 2 

 теоретически такая селекцыя внутри предиктора должна на порядки поднять качество распознавания...

 

но есть и недостатки 

1) дорогие вычисления

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

Так можно попробовать . Вообще есть такой метод. Строится точечная диаграмма выход-предиктор. В идеале там будет хорошая зависимость. Но если на каком то отрезке (обычно в хвостах) зависимость смазанная, то эти наблюдения исключают.
 
Alexey Burnakov:
Так можно попробовать . Вообще есть такой метод. Строится точечная диаграмма выход-предиктор. В идеале там будет хорошая зависимость. Но если на каком то отрезке (обычно в хвостах) зависимость смазанная, то эти наблюдения исключают.

 как называется такой метод?

 в р-ке есть?

как решать проблему №2 ? 

хочется дискусии, это действительно может быть очень даже ефективно
 
mytarmailS:

 как называется такой метод?

 в р-ке есть?

как решать проблему №2 ? 

хочется дискусии, это действительно может быть очень даже ефективно
2. Решается так. К дискретному виду переменную привели. Допустим 50 уровней. Создаем 49 новых переменных и а них кодируем уровни. Потом применяем например линейную регрессию и смотрим важность.
 
Alexey Burnakov:

Кстати, кому-то это интересно или нет, я не понял. Робот нужен обученный, который проходит валидацию за 5 лет с прибылью?

Такой

 

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

Мне интересно как вы создавали робота по пунктам, если не трудно...

1) Отобрали признаки по вашему способу

2) натринеровали модель

и все? 

 
mytarmailS:

Мне интересно как вы создавали робота по пунктам, если не трудно...

1) Отобрали признаки по вашему способу

2) натринеровали модель

и все? 

Это общая схема, которая работает всегда.

 

Признаки я отбираю через важность после прогона GBM. И пробую разное количество отобрать. Машина обучается через GBM и я пробовал разные фитнесс-функции. Используется кроссвалидация. Параметры ее также варьируются. И еще есть нюансы.

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

 
Очень интересная нейросеть http://gekkoquant.com/2016/05/08/evolving-neural-networks-through-augmenting-topologies-part-3-of-4/  как думаете можно ее заставить саму торговать и чтоб она сама обучалась на своих ошибках?  И если да то как, приглашаю к обсуждению
Evolving Neural Networks through Augmenting Topologies – Part 3 of 4
  • 2016.05.09
  • GekkoQuant
  • gekkoquant.com
This part of the NEAT tutorial will show how to use the RNeat package (not yet on CRAN) to solve the classic pole balance problem. The simulation requires the implementation of 5 functions: processInitialStateFunc – This specifies the initial state of the system, for the pole balance problem the state is the cart location, cart velocity, cart...
 
mytarmailS:
Очень интересная нейросеть http://gekkoquant.com/2016/05/08/evolving-neural-networks-through-augmenting-topologies-part-3-of-4/  как думаете можно ее заставить саму торговать и чтоб она сама обучалась на своих ошибках?  И если да то как, приглашаю к обсуждению

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

Экспериментировать нужно. Но тема интересная. 

 
Vladimir Perervenko:

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

Экспериментировать нужно. Но тема интересная. 

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

Если бы кто то смог это все пояснить хотя бы на элементарных примерах как применить ее в торговле то это стало бы хорошым толчком для экспериментов для таких неучей как я