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

 
Aleksey Vyazmikin:

С такой дамой, есть вероятность, что Вам придется стирать и есть готовить :)

Ну это от того как ее жарить. Отжамканая баба лучше готовит :-)
 
Mihail Marchukajtes:
Ну это от того как ее жарить. Отжамканая баба лучше готовит :-)

С такой дамой стихами не отделаетесь, придётся матан на уровне мгу учить)

 
Aleksey Nikolayev:

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

Проблему вижу в том, что модели МО сложны и плохо интерпретируемы человеком. Если они начинают плохо работать, то невозможно отличить (в рамках моделей) вариант переобучения от варианта нестационарности. В обычном теханализе же всегда можно сказать: "смена тренда", "пробой уровня/канала" и тд. 

Я не предполагаю... Практика показывает 1% ошибки на обучающем участке и 50% на новом. Т.е. нужны значимые предикторы, а обучить то можно даже одним деревом или регрессией какой нибудь.

Одно дерево, кстати очень легко будет интерпретировать.

 
Aleksey Nikolayev:

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

Проблему вижу в том, что модели МО сложны и плохо интерпретируемы человеком. Если они начинают плохо работать, то невозможно отличить (в рамках моделей) вариант переобучения от варианта нестационарности. В обычном теханализе же всегда можно сказать: "смена тренда", "пробой уровня/канала" и тд. 

Полностью согласен.

Я неоднократно озадачивался этим вопросом, и считаю необходимым сравнивать результаты системы с её потенциалом на определенном участке.

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

 
Aleksey Nikolayev:

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

Проблему вижу в том, что модели МО сложны и плохо интерпретируемы человеком. Если они начинают плохо работать, то невозможно отличить (в рамках моделей) вариант переобучения от варианта нестационарности. В обычном теханализе же всегда можно сказать: "смена тренда", "пробой уровня/канала" и тд. 

Есть практика. В пределах месяца с последнего обучения изменений не заметил, даже после сильного слива битка. Единственное что влияет - это период сразу после манипулятивного движения актива, в это время нейросеть полностью теряется и несет всякий бред, чем дальше от такого шторма тем предикты становятся адекватее.
 
Evgeny Dyuka:
Есть практика. В пределах месяца с последнего обучения изменений не заметил, даже после сильного слива битка. Единственное что влияет - это период сразу после манипулятивного движения актива, в это время нейросеть полностью теряется и несет всякий бред, чем дальше от такого шторма тем предикты становятся адекватее.

- интересно глянуть... на него (канал) ссылку можно получить в личку?

- удалось создать в итоге?

 
onedollarusd:

- интересно глянуть... на него (канал) ссылку можно получить в личку?

- удалось создать в итоге?

- нет, утопия, куча времени и сил, в итоге на бэктесте бот делает до X5 в год на одной паре, но в среднем 1 раз в год все сливает. На реальном рынке это "один раз в год" обязательно случается быстро, осбенно в период штормов как сейчас. Больше не верю в полностью автоматических ботов, это в принципе работать не может, рынок подстроится и всеравно обманет ))

- а вот с этим лучше пошло, сейчас есть работающий прототип.
Нейро предсказывает по паре BTCUSD следующие 10-30 минут, зависит от "уверенности" сети. Чем выше уверенность тем больше вероятность отработки в районе 15 минут, чем меньше уверенность тем более размытое предсказание. Нет привязки к свечам, прогноз выходит каждую минуту.

Есть Expert для MT5 который красиво визуализирует предсказания, скачать можно тут (кто качал раньше - обновляйте по этой ссылке, исправлены баги).
Работает только на BTCUSD и только на тф M1, читайте приложенную инструкцию.

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

 
elibrarius:
Я не предполагаю... Практика показывает 1% ошибки на обучающем участке и 50% на новом. Т.е. нужны значимые предикторы, а обучить то можно даже одним деревом или регрессией какой нибудь.

Одно дерево, кстати очень легко будет интерпретировать.

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

 
Aleksey Vyazmikin:

Полностью согласен.

Я неоднократно озадачивался этим вопросом, и считаю необходимым сравнивать результаты системы с её потенциалом на определенном участке.

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

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

 
Evgeny Dyuka:
Есть практика. В пределах месяца с последнего обучения изменений не заметил, даже после сильного слива битка. Единственное что влияет - это период сразу после манипулятивного движения актива, в это время нейросеть полностью теряется и несет всякий бред, чем дальше от такого шторма тем предикты становятся адекватее.

Практика обычно показывает, что "деревья никогда не растут до неба". Рано или поздно эквити/баланс любого советника/портфеля начнёт значительно убывать и с этим придётся что-то делать.