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

Интересно, удавалось ли кому-нибудь применить с пользой для трейдинга стандартные подходы к отбору признаков.

Пытался использовать лассо и борьбу с мультиколлинеарностью для поиска ФА признаков - значимых не нашёл вообще.


[Удален]
Aleksey Nikolayev #:

Интересно, удавалось ли кому-нибудь применить с пользой для трейдинга стандартные подходы к отбору признаков.

Пытался использовать лассо и борьбу с мультиколлинеарностью для поиска ФА признаков - значимых не нашёл вообще.


Мне не удавалось :)
Они начинают по-другому взаимодействовать между собой при удалении их части и приходится все начинать сначала.
 
Здесь ещё интересно было бы ваше мнение услышать https://www.mql5.com/ru/forum/476323/page3#comment_55120093

Aleksey Nikolayev #:
значимых не нашёл вообще

Может дело в целевой? Какая она?

А предикторы - это натуральные значения экономических показателей, или их ретурны, или там отклонения от прогноза?

Aleksey Vyazmikin #:

Может дело в целевой? Какая она?

А предикторы - это натуральные значения экономических показателей, или их ретурны, или там отклонения от прогноза?

Целевых было несколько вариантов: логретурны, разница между серединами баров, волатильность. Были ещё варианты с классификацией (продолжение движения/разворот) и тд.

Признаки были взяты из местного календаря.

Но суть моего вопроса в другом. Это миниопрос - удалось ли кому-то извлечь пользу из стандартных для МО способов отсеивания признаков?

Aleksey Nikolayev #:
Целевых было несколько вариантов: логретурны, разница между серединами баров, волатильность. Были ещё варианты с классификацией (продолжение движения/разворот) и тд.

Т.е. целевые про влияние новости на цену в ближайшие часы после её выхода?

Aleksey Nikolayev #:
Признаки были взяты из местного календаря.

Думаю, их надо обрабатывать дополнительно. Возможно у некоторых показателей есть тренды естественные...

Aleksey Nikolayev #:

Но суть моего вопроса в другом. Это миниопрос - удалось ли кому-то извлечь пользу из стандартных для МО способов отсеивания признаков?

А что такое польза?

Обычно цели две:

1. Уменьшить число признаков.

2. Улучшить результаты обучения на новых данных

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

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


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

[Удален]

Выбрасывал самые мусорные признаки по "важности", результаты получались хуже без них, чем с ними.

Сложилось впечатление, что методы отбора признаков работают либо только на небольших размерностях, либо на рядах только с сильными закономерностями.

либо не работают вообще :)

Aleksey Vyazmikin #:
Т.е. целевые про влияние новости на цену в ближайшие часы после её выхода?

Нет, классические макроэкономические модели в духе BEER (упоминал в своей ветке про ФА) - влияние ФА на больших (у меня месячных) таймфреймах.

Aleksey Vyazmikin #:
Думаю, их надо обрабатывать дополнительно. Возможно у некоторых показателей есть тренды естественные...

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

Aleksey Vyazmikin #:

1. Уменьшить число признаков.

2. Улучшить результаты обучения на новых данных

Прежде всего первое, конечно, чтобы количество признаков (более 400 для EURUSD исходно) стало меньше числа месяцев (чуть больше 200).

Aleksey Vyazmikin #:
Первая цель достигается разными стандартными методами. Ранее на форуме уже показывал подобные примеры, когда на паре предикторов получалась сопоставимая модель с сотней.

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

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

Aleksey Vyazmikin #:


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

Имхо, увидеть хотя бы минимальную значимость в кроссвалидации - это и означает разобраться прежде всего. Проблема в отсутствии постоянной чёткой реакции рынка на макроэкономический фон и/или его изменения. Не то что бы это большая новость - например, в стартовом сообщении моей ветки по ФА есть ссылки по этой теме. 
Maxim Dmitrievsky #:

Выбрасывал самые мусорные признаки по "важности", результаты получались хуже без них, чем с ними.

Сложилось впечатление, что методы отбора признаков работают либо только на небольших размерностях, либо на рядах только с сильными закономерностями.

либо не работают вообще :)

Хотелось бы хотя бы минимальной значимости, заметной при кроссвалидации. Но похоже это не про ФА)
Aleksey Nikolayev #:

Интересно, удавалось ли кому-нибудь применить с пользой для трейдинга стандартные подходы к отбору признаков.

Пытался использовать лассо и борьбу с мультиколлинеарностью для поиска ФА признаков - значимых не нашёл вообще.


Про ФА не знаю, не пытался использовать.

А про другие признаки могу утверждать, что в картинке перечислены второстепенные метода, а главные не указаны - это вычисление "связи", "влияния" признака на целевую переменную. 

Об этом писал много раз много лет приводил ряд пакетов, которые позволяют вычислять такие "связи". 


PS. "Связь", "влияние" - это НЕ корреляция и не важность признаков, которые выдают алгоритмы машинного обучения.

Давно не занимался этим.
Стандартные методы думаю разработаны и протестированы на признаках с сильным влиянием на целевую. С них мало толка в нашей сфере.

Пришел к бртфорсу, но не полному.

Обучаю модели на 1 признаке (если 1000 признаков - значит 1000 обучений), беру лучший по балансу, просадке и т.д. (можно прямо на кросс-валидации измерять, я на валкинг-форварде делал - т.е. тест на склейке ООС кусков).
Затем к лучшему добавляю еще 1 и 999 обучений, потом к паре лучших еще один и т.д.
Примерно после 5-10 выбранных признаков результаты модели на ООС начинают ухудшаться. До 10 признаков время такого брутфорса приемлемое.

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