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

 
СанСаныч Фоменко #:

Совершенно не могу с этим согласиться - только случайная выборка строк.

Уточню: в классической кроссвалидации строки перемешиваются до разделения на интервалы, чтобы потом не тестировать на строках соседних с теми, на которых обучали. Это будет подглядывание. В Алглибе так сделано, себе отключил

СанСаныч Фоменко #:

Везде советы, что необходимо масштабировать предикторы, например в интервал [0:1]. Формула отображения в интервал основана на мин и мах значения предиктора.

Это для нейросетей надо масштабировать. Деревянным моделям это не нужно.
СанСаныч Фоменко #:Новое значение предиктора ВСЕГДА будет  интервале [min : max]?  
Не будет, это одна из причин, почему нейросети перестал использовать.
Хотя можно все что выходит за границы просто приравнять им.
Аналогично в деревьях делается, если дынные за границами, то они просто попадают в крайние/граничные листья. Но расчеты точнее.
 
Maxim Dmitrievsky #:

бот, которого скидывал в группу, работает без нормировки (просто цены или МА на входе), при этом модель не залипает в одном положении (0 или 1) на новых данных

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

не используется cv при оценке и вообще почти что ничего из классики не используется :)

Странно...
Просто на ценах обучаете (например 1,11000)? Примеров конкретной цены будет в разы меньше, чем приращений.
Например смещение цены с 1,1 до 1,11 на истории могло быть всего 100 раз, а приращений на 0,01 - тысячи (и на 1,1 и на 1,2 и на 1,3 ....), т.е. будет много примеров и оценка достовернее и обобщать есть из чего (из тысяч примеров вместо 100)

[Удален]  
Forester #:

Странно...
Просто на ценах обучаете (например 1,11000)? Примеров конкретной цены будет в разы меньше, чем приращений.
Например смещение цены с 1,1 до 1,11 на истории могло быть всего 100 раз, а приращений на 0,01 - тысячи (и на 1,1 и на 1,2 и на 1,3 ....), т.е. будет много примеров и оценка достовернее и обобщать есть из чего (из тысяч примеров вместо 100)

Да, но у меня вся выборка разделена на состояния и обучение на каждом состоянии отдельно. Например 10 состояний - 10 моделей. Потом лучшая выбирается.

Что там конкретно попадет в каждое из состояний - вопрос риторический.

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

[Удален]  
Forester #:

вот первая картинка в статье и описание над ней

Показатель склонности (Propensity score) в причинно-следственном выводе
Показатель склонности (Propensity score) в причинно-следственном выводе
  • www.mql5.com
В статье рассматривается тема матчинга в причинно-следственном выводе. Матчинг используется для сопоставления похожих наблюдений в наборе данных. Это необходимо для правильного определения каузальных эффектов, избавления от предвзятости. Автор рассказывает, как это помогает в построении торговых систем на машинном обучении, которые становятся более устойчивыми на новых данных, на которых не обучались. Центральная роль отводится показателю склонности, который широко используется в причинно-следственном выводе.
 
Forester #:

Используя ее для обучения вы знаете будущее на 16 часов вперед

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

 
fxsaber #:

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

Это не переворотная стратегия в основе, у которой нет пересечений.
Можно каждый бар размечать и при длинных ТП/СЛ будут жить одновременно десятки или даже сотни сделок.
Начинал с этого https://www.mql5.com/ru/code/903
Сейчас с модификацией работаю, но  суть та же - много сделок, потом фильтруем.

ПС. Результата пока нет в виде зарабатывающего робота. Но есть перспектива.
Переворотную на ЗигЗаге потестировал. Что-то зарабатывает только на сильных движениях, но их мало. Сделок получается 1-2 в месяц. Не интересно стало. Ищу более интенсивную торговлю.
Sampler
Sampler
  • www.mql5.com
Индикатор i_Sampler рассчитывает идеальные входы, предназначен для обучения нейросети.
 
Maxim Dmitrievsky #:

Да, но у меня вся выборка разделена на состояния и обучение на каждом состоянии отдельно. Например 10 состояний - 10 моделей. Потом лучшая выбирается.

Что там конкретно попадет в каждое из состояний - вопрос риторический.

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

Как-нибудь попробую на чистых ценах обучить для сравнения.

[Удален]  
Forester #:

Как-нибудь попробую на чистых ценах обучить для сравнения.

+ флэтовая пара, чтобы ощутить.

они реже выходят за рэндж обучения, если ТС не приспособлена к обучению на ценах

на трендовых можно построить линию регрессии на всю историю и продолжать ее на новых данных. Взять разницу с ценами. Медленно будет ломаться, зато цены (признаки) будут в каком-никаком рэндже.

 
Maxim Dmitrievsky #:

+ флэтовая пара, чтобы ощутить.

они реже выходят за рэндж обучения, если ТС не приспособлена к обучению на ценах

на трендовых можно построить линию регрессии на всю историю и продолжать ее на новых данных. Взять разницу с ценами. Медленно будет ломаться, зато цены (признаки) будут в каком-никаком рэндже.

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




В даном примере GMDH это аналог линейной регрессии 
 
Forester #:

Это для нейросетей надо масштабировать. Деревянным моделям это не нужно. Не будет, это одна из причин, почему нейросети перестал использовать.


Мой пост не о том, где надо или не надо масштабировать

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