Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2031
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Тогда для классификации целевую делать? Оставлю первую часть таблицы, которая о входе, СЛ, ТП и последним столбцом +-1 как результат сделки. Подавать информацию о выходе наверно не стоит, подглядеть может.
Про какой движок речь? В самописном брутфорсом или генетикой, для начала.
Можно и регрессию, модель сделать можно, пока это только исследования, как я понимаю. Но с оценкой качества там сложней - нужно будет оценивать отклонение от плана, не знаю можно ли оценивать сразу вектор отклонения или там по модулю - не занимался.
Про движок, который будет с умом брать нужные данные, дабы не порождать заведомо бессмысленные торговые условия - сам процесс генерации стратегии, а после этого можно и о генетики подумать или ещё как дообучать уже модели.
Можно и регрессию, модель сделать можно, пока это только исследования, как я понимаю. Но с оценкой качества там сложней - нужно будет оценивать отклонение от плана, не знаю можно ли оценивать сразу вектор отклонения или там по модулю - не занимался.
Про движок, который будет с умом брать нужные данные, дабы не порождать заведомо бессмысленные торговые условия - сам процесс генерации стратегии, а после этого можно и о генетики подумать или ещё как дообучать уже модели.
На самом деле интересно кластеризацию посмотреть, как это будет сгруппировано, будет ли там какая то логика.
Для начала можно взять мартин, антимартин и переворотную. А дальше ifelse: если сделка закрылась в минус, то следующая открывается с удвоенным лотом или просто в противоположном направлении или и то и другое. Что то более сложное с нуля тяжело придумать.
На самом деле интересно кластеризацию посмотреть, как это будет сгруппировано, будет ли там какая то логика.
Для начала можно взять мартин, антимартин и переворотную. А дальше ifelse: если сделка закрылась в минус, то следующая открывается с удвоенным лотом или просто в противоположном направлении или и то и другое. Что то более сложное с нуля тяжело придумать.
Я могу предоставить ресурсы, пока большего не могу.
Я могу предоставить ресурсы, пока большего не могу.
В катбусте есть feature_importances, возможность посмотреть кластера, как в лесах?
Ваша машина переварит таблицу 14 на 180.000.000?
В катбусте есть feature_importances, возможность посмотреть кластера, как в лесах?
Ваша машина переварит таблицу 14 на 180.000.000?
"feature_importances" это важность признаков, при чем тут кластера? Или я что-то не знаю. Такая возможность есть, но я её особо не пользуюсь, так как важность эта считается по сути по вершинам деревьев, что не укладывается в мою концепцию.
Я обучал модели на таблицах в 6 гигабайт. И памяти там потреблялось не более 2х гигабайт, как сейчас помню.
"feature_importances" это важность признаков, при чем тут кластера? Или я что-то не знаю. Такая возможность есть, но я её особо не пользуюсь, так как важность эта считается по сути по вершинам деревьев, что не укладывается в мою концепцию.
Я обучал модели на таблицах в 6 гигабайт. И памяти там потреблялось не более 2х гигабайт, как сейчас помню.
Для леса есть возможность посмотреть важность и кластера. В катбуст это наверно plot_tree.
Данные подготовлю и выложу.
Сделал тестовую версию на 6 столбцов, заняла 11Гб. Notepad++ не смог открыть, говорит слишком большой файл. BD Browser for SQLite уже висит минут 20.Для леса есть возможность посмотреть важность и кластера. В катбуст это наверно plot_tree.
Данные подготовлю и выложу.
Сделал тестовую версию на 6 столбцов, заняла 11Гб. Notepad++ не смог открыть, говорит слишком большой файл. BD Browser for SQLite уже висит минут 20."feature_importances" это важность признаков, при чем тут кластера? Или я что-то не знаю. Такая возможность есть, но я её особо не пользуюсь, так как важность эта считается по сути по вершинам деревьев, что не укладывается в мою концепцию.
Я обучал модели на таблицах в 6 гигабайт. И памяти там потреблялось не более 2х гигабайт, как сейчас помню.
Интересно, как они не забирая все данные в память обучают деревья? Если таблица 6 Гб, то и памяти должно было около 6 гб задействоваться. Дереву же нужно целиком каждый столбец сортировать. Если не забирать всё в память, а каждый раз считывать данные с диска, то это будет тормозно.
Единственный вариант - данные не double, а в float типе держать в памяти, но это снизит точность. Для нас с 5 знаками точности, это может и не страшно, но катбуст универсальный софт, думаю физические и математические задачи должны в double точности решаться.
Для леса есть возможность посмотреть важность и кластера. В катбуст это наверно plot_tree.
Данные подготовлю и выложу.
Сделал тестовую версию на 6 столбцов, заняла 11Гб. Notepad++ не смог открыть, говорит слишком большой файл. BD Browser for SQLite уже висит минут 20.Покажите картинку, как выглядят кластера из деревьев, пока не понимаю о чём речь.
А зачем его открывать? :) Я просто делаю мини копию с аналогичной структурой для отладки.
Интересно, как они не забирая все данные в память обучают деревья? Если таблица 6 Гб, то и памяти должно было около 6 гб задействоваться. Дереву же нужно целиком каждый столбец сортировать. Если не забирать всё в память, а каждый раз считывать данные с диска, то это будет тормозно.
Единственный вариант - данные не double, а в float типе держать в памяти, но это снизит точность. Для нас с 5 знаками точности, это может и не страшно, но катбуст универсальный софт, думаю физические и математические задачи должны в double точности решаться.
Код я не изучал, но если логически подумать, то CatBoost, вероятно, преобразует таблицу данных выборки и хранит именно преобразованных вариант, который поддается быстрому сжатию.
Преобразование происходит по сетке квантования каждого предиктора (доступно 6 алгоритмов), и, к примеру, из 1000 разных значений переменной остается 32 варианта(попадающих в диапазон квантовой сетки) и такой вектор данных легко сжимается, к тому же цифры уже только целые (судя по ограничениям размера сетки - типа данных ushort - 2 байта на число), а таблица квантования просто лежит в памяти и используется уже потом при создании модели в код. Вот уже прилично уменьшили размер, а дальше можно сократить объем за счет выбора не всех предикторов для оценки, а их части, что рекомендуется делать при больших выборках, при этом алгоритм рандомизатора позволяет в других деревьях использовать те предикторы, что сразу не попали в "мешок", за счет этого обучение будет ещё и быстрей, но в моделе будет больше деревьев. Наверняка есть и иные хитрости, но главное - это квантование.
Квантованию тут вообще нужно уделять отдельное внимание, в идеале для каждого предиктора нужно подобрать свою сетку и подать уже на обучение данные вместе с сеткой, это позволяет делать алгоритм.
Поэтому, выборку можно самому отквантовать и она будет хорошо сжиматься.