Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 109
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Все разговоры про постепенное протухание модели на ООС и полезности этих сведений в торговли выглядят неубедительно без разговоров о предварительном отборе предикторов.
Ато.
Если модель дает неправильные сигналы на ООС - это показатель неправильного обучения, а не факт изменения рынка.
С этим я согласен. А как вы анализируете сигналы двух сеток? Не совсем понятно? Насколько они расходятся или в унисон идут?
Привожу сигналы к общему по такой схеме:
SELL BUY Интерпритация
-1 0 sell
0 0 забор
0 1 buy
-1 1 забор
В хорошо обученной модели сигналы редко противоречат друг другу. Равное количество сигналов на участке обучения от них не требуется, и как правило разное, и это понятно, ведь на рынке могут быть затяжные глобальные тренды. Но делаю ограничение, что бы количество сигналов от одной сетки не превышало в 2 раза от другой. Почему в 2 раза - ответить не смогу, эмпирическое соотношение, у кого то может получится по другому. Скажем, тренд меняется с восходящего на нисходящий, количество сигналов на селл растет и при этом сигналы на бай начинают врать, происходит противоречие и количество сделок падает - признак необходимости нового обучения.
Привожу сигналы к общему по такой схеме:
SELL BUY Интерпритация
-1 0 sell
0 0 забор
0 1 buy
-1 1 забор
В хорошо обученной модели сигналы редко противоречат друг другу. Равное количество сигналов на участке обучения от них не требуется, и как правило разное, и это понятно, ведь на рынке могут быть затяжные глобальные тренды. Но делаю ограничение, что бы количество сигналов от одной сетки не превышало в 2 раза от другой. Почему в 2 раза - ответить не смогу, эмпирическое соотношение, у кого то может получится по другому. Скажем, тренд меняется с восходящего на нисходящий, количество сигналов на селл растет и при этом сигналы на бай начинают врать, происходит противоречие и количество сделок падает - признак необходимости нового обучения.
Да, но только не на конфигурацию нейронки.
Андрей, видимо, намекает на какие-то столь мощные входы, что любая модель по дефолту на них будет давать хороший и не переобученный результат.
Или на что-то еще. Но хотелось бы получить более развернутый ответ.
Вышла новая версия jPrediction 9.00 Release
Цитата из инструкции для пользователей:
"Отличия jPrediction от другого ПО для машинного обучения
Основным отличием jPrediction является отсутствие каких либо пользовательских настроек, что позволяет избавиться от человеческого фактора в виде совершаемых людьми ошибок, как в процессе настроек и выбора алгоритмов, так и в процессе выбора архитектуры нейронных сетей. Весь процесс машинного обучения в jPrediction полностью автоматизирован и не требует ни каких либо специальных знаний от пользователей, ни их вмешательства.
Функции, выполняемые jPrediction в автоматическом режиме
Поскольку, из множества моделей, каждая из которых отличается от любой другой комбинацией предикторов, выбирается лишь та, которая обладает максимальной обобщающей способностью, то таким образом автоматически происходит редукция (отбор) наиболее значимых предикторов."
Следует сказать, что начиная с 8-й версии у jPrediction нет ограничений на максимальное количество предикторов в обучающей выборке. До 8-ки количество предикторов в обучающей выборке ограничивалось десятью штуками.
До 8-й версии jPrediction был одномодельным. Т.е. бралась выборка и по ней обучалась и тестировалась всего одна единственная модель.
Начиная с 8-й версии jPrediction стал многомодельным, т.е. обучает и тестирует множество различных моделей, на разных частях выборки, причём каждая из частей содержит различные комбинации предикторов. Одна из этих моделей даст максимальную обобщающую способность на тестовой части выборки.
Проблема заключалась в том, что если брать различные комбинации предикторов, то при полном переборе комбинаций получается так называемый комбинаторный (от термина комбинаторика) "взрыв", т.е. с каждым дополнительным предиктором необходимо обучать и тестировать вдвое больше моделей, нежели без него. Вполне очевидно, когда количество предикторов в выборке измеряется десятками, а то и сотнями, то дождаться завершения обучения и тестирования всех комбинаций моделей за приемлемое время становится проблематичным.
Проблема комбинаторного "взрыва" в jPrediction была решена не методом перебора всех возможных комбинаций, а методом последовательного поиска. Суть метода такова:
Предположим, что мы нашли какую-то комбинацию содержащую N предикторов с максимальной обобщающей способностью, перебрав все возможные комбинации из N и меньшего количества предикторов. Нам необходимо добавить к ней N+1 предиктор. Для этого к уже найденной комбинации добавляем поодиночке предикторы из выборки, которые в комбинацию не вошли и замеряем для них обобщающую способность. Если в процессе такого перебора мы нашли комбинацию с N+1 предикторами, обобщающая способность которой превышает лучшую комбинацию из N предикторов, то можно будет таким же образом подобрать и комбинацию с N+2 предикторами. А если не нашли, то очевидно, что дальше искать нет никакого смысла и алгоритм перебора комбинаций останавливается на лучшей комбинации из N предикторов. В результате чего алгоритм поиска комбинации предикторов для модели останавливается намного раньше, по сравнению с полным перебором всех возможных комбинаций. Дополнительная экономия вычислительных ресурсов происходит за счёт того, что поиск начинается с малого количества предикторов в сторону увеличения этого количества. А чем меньше предикторов нужно для обучения, тем меньше времени и вычислительных мощностей понадобится для построения моделей.
Вот такие пирожки.
Кому будет интересно, то в прикреплённом ZIP архиве находится инструкция для пользователей jPrediction 9 на русском языке в формате PDF:
Вышла новая версия jPrediction 9.00 Release
Все хорошо кроме пустяка: отсутствует сравнение с другими моделями.
Предлагаю сови услуги по сравнению
1. Вы готовите входной экселевский файл, содержащий предикторы и целевую переменную
2. Делаете расчеты
3. Пересылаете входной файл мне
4. Я делаю расчеты по randomforest, ada, SVM
Сравниваем.