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

[Удален]  
Forester #:

Там вроде подбор фичей просто. С кастеризацией.

Подбирал лесом. Би-лес назовем)))

No
 
Forester #:

Там вроде подбор фичей просто. С кастеризацией.

Подбирал лесом. Би-лес назовем)))

Когда в руке молоток все кажеться гвоздями..

Вы все чужые идеи сводите к деревям
 

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

Сделал эту вещь после очередного раза, когда забыл изменить эмбарго и начал получать красивые ООС.
Плюсы: так же как эмбарго позволяет избавиться от подглядывания и получает данные впритык к началу теста, а не с запасом/наугад, как в эмбарго.

 
Forester #:

Каждой сделке сохранять время открытия и время закрытия.
Потом при выборе строк например попал тестирования очередной период начиная с 2000 строки. Запоминаем время ее открытия. Далее считываем прошлую историю для разметки и просто пропускаем строки с временем закрытия больше времени открытия 2000 строки, т.е. строки закрывшиеся в будущем по отношению к 2000й строке.

Не смог понять написанного.

 
fxsaber #:

Не смог понять написанного.

Сделка из 2000й строки открылась например 2024-01-18 00:00, и закрылась 2024-01-19  12:33,

Сделка из строки 1999 открылась 2024-01-17 23:58 и закрылась  2024-01-18 16:00 (позже открытия сделки из 2000 строки) в + или  в -. Используя ее для обучения вы знаете будущее на 16 часов вперед, (и можете 1000 сделок в том же направлении открыть и как бы круто выиграть, но только на тесте) поэтому ее нельзя использовать для обучения с тестированием кроссвалидацией.

А сделка из строки 1988 например закрылась в 2024-01-17 23:44 - до открытия 2000й строки. Ее можно использовать для тестов, подглядывания нет.

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


Подробнее об эмбарго периоде тут http://web.archive.org/web/20210413104803/https://dou.ua/lenta/articles/ml-vs-financial-math/ (сайт уже не рабочий, но ссылка осталась и веб-архив)

Кросс-валидацию тоже надо сделать правильно

Недостаточно просто тестировать работу алгоритмов на каком-то куске данных «в будущем». Стандартная K-Fold кросс-валидация будет точно прогнозировать «прошлое», а специализированная кросс-валидация для временных рядов будет нарушать IID-семплинг выборок, особенно если фичи считаются с лагом.

Есть несколько способов улучшить кросс-валидацию: например, чередовать окна для тренировки и тестирования в хронологическом порядке с «промежутками» между ними. Все для того, чтобы выборки были максимально независимы (пример на иллюстрации ниже). Второй способ — это комбинаторная кросс-валидация, о ней детальнее можно почитать в книге Dr. Lopez de Prado.

Машинное обучение против финансовой математики: проблемы и решения
  • web.archive.org
Машинное обучение против финансовой математики: проблемы и решения Всем привет! Так получилось, что я уже около семи лет занимаюсь машинным обучением. В последние несколько из них я как исследователь и CTO Neurons Lab часто работаю с финансовыми данными в рамках проектов, связанных с инвестиционным менеджментом и алгоритмическим трейдингом...
 
А можно просто изучить вопрос про кросвалидацию и узнать что дляя временных рядов она делеться по другому. И Прадо тут не надо, это как бы общеизестная классика 
 
mytarmailS #:
А можно просто изучить вопрос про кросвалидацию и узнать что дляя временных рядов она делеться по другому. И Прадо тут не надо, это как бы общеизестная классика 

Как? Интересны альтернативы. Для ВР главное - не перемешивать строки, как в классике.
Сам я валкинг-форвадом пользуюсь, но и кросс-валидация может пригодиться

 
Forester #:

Как? Интересны альтернативы. Для ВР главное - не перемешивать строки, как в классике.
Сам я валкинг-форвадом пользуюсь, но и кросс-валидация может пригодиться

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

И проблема совершенно не в этом.

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

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

Почему-то верим, то этот новый бар НЕ ломает нам все те паттерны, которые мы нашил, проверили, протестировали, уточнили смещение но на заранее приготовленном файле? Почему?

Более простой приме.

Везде советы, что необходимо масштабировать предикторы, например в интервал [0:1]. Формула отображения в интервал основана на мин и мах значения предиктора. Новое значение предиктора ВСЕГДА будет  интервале [min : max]?  

[Удален]  

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

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

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

[Удален]  

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

Еще хороший cv не обещает прибыльность, потому что метрики другие.

Прадовские теории хороши в академическом смысле, потому что что-то объясняют, но в практическом смысле у меня ничего не работает