Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2214
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ну в катбусте есть метрика максимизации прибыли при мин. просадке ? ))
ну напиши епс и поставь её как eval_metric
я использую просто R^2 для оптимизации
ну напиши епс и поставь её как eval_metric
я использую просто R^2 для оптимизации
надо будет попробовать, я не знал...
а что такое епс
надо будет попробовать, я не знал...
а что такое епс
ну вообще есть смысл писать свои ф-ии, да.. вопрос какие лучше
епрст
ёклмн
тут вот писал один товарищ отсюда мне в телегу что оптимизирует по какой-то там неустойчивости Ляпунова
Это надо у https://www.mql5.com/ru/users/alexeynikolaev2 спрашивать, годится ли. Уж он то точно знает ))
ну вообще есть смысл писать свои ф-ии, да.. вопрос какие лучше
епрст
ёклмн
тут вот писал один товарищ отсюда мне в телегу что оптимизирует по какой-то там неустойчивости Ляпунова
За Ляпунова ниче не знаю, но фитнес функции это целый "МИР" новых возможностей , намного более оптимальных решений...
Например у нас есть "глобал. цель" максимизация прибыли при мин. просадке..
Мы можем через Ф. функ. сказать - "АМО" , а придумай ты мне такие признаки которые будут улучшать "глобал. цель"
те максимизировать , и оно будет искать решения, оно само будет "придумывать" то что ты бы никогда не придумал , да еще и много..
За Ляпунова ниче не знаю, но фитнес функции это целый "МИР" новых возможностей , намного более оптимальных решений...
Например у нас есть "глобал. цель" максимизация прибыли при мин. просадке..
Мы можем через Ф. функ. сказать - "АМО" , а придумай ты мне такие признаки которые будут улучшать "глобал. цель"
те максимизировать , и оно будет искать решения, оно само будет "придумывать" то что ты бы никогда не придумал , да еще и много..
все равно ничего не понимаю. Твоя цель задается метками. Какие метки поставишь, такая прибыль и просадка и будут
пиши нормально )все равно ничего не понимаю. Твоя цель задается метками. Какие метки поставишь, такая прибыль и просадка и будут
пиши нормально )Я плохо объясняю((
Ну есть такие цели , которые не можешь выразить метками, только через поиск минимума
Например - хочу создать информативный признак
На него можно создать метки ? нет, его вообще нет, и я не знаю даже как он должен выглядеть..
Но я могу его описать с точки зрения полезности , информативный признак это -- такой признак после обучения по которому будет существенно улучшена "глобал. цель" максимизация прибыли при мин. просадке
Вот видишь, меток создать я на ИП (инф. приз.) я не могу , но могу описать его как максимизацию..
Теперь можно взять сеть с тысячами весов и играться с ее весами до тех пор пока она не построит ИП , те пока не максимизирует ...
Или не сеть , можно тот же МГУА , или правила создавать...
играться это значит запустить какой то алго. по оптимизации , или поиска
Я плохо объясняю((
Ну есть такие цели , которые не можешь выразить метками, только через поиск минимума
Например - хочу создать информативный признак
На него можно создать метки ? нет, его вообще нет, и я не знаю даже как он должен выглядеть..
Но я могу его описать с точки зрения полезности , информативный признак это -- такой признак после обучения по которому будет существенно улучшена "глобал. цель" максимизация прибыли при мин. просадке
Вот видишь, меток создать я на ИП (инф. приз.) я не могу , но могу описать его как максимизацию..
Теперь можно взять сеть с тысячами весов и играться с ее весами до тех пор пока она не построит ИП , те пока не максимизирует ...
Или не сеть , можно тот же МГУА , или правила создавать...
играться это значит запустить какой то алго. по оптимизации , или поиска
Т.е у тебя есть обученная сеть и ты просто меняешь веса и смотришь как она робит на новых данных?
По сути у меня есть пустая сеть (обучаю я ее только для того чтобы она инициализировалась потому что она не самописная ,а с пакета)
Я придумываю любую абстракцию , любую цель и пишу фитнес. фун.
Потом пускай генетика начинает изменять веса сети так, что бы на трейне и на тесте я (сеть) получил что то максимально подобное моей цели
И это в тысячи раз" более глубоко " чем создавать самому метки и подгонять регрессию или классификацию
Вернулся к вопросу визуализации модели CatBoost, с целью анализа её перспективности.
Так выглядит модель на выборки обучения:
По оси x - значение вероятности логистической функции, а по оси y - процент за интервале 0,05 значений:
- Razdel(синий) - всех значений в выборке.
- Target=1(магнетта) - значений целевой 1
- Target=0(аква) - значений целевой 0
- Balans+(салатовая) - финансовый результат приведший к прибыли относительно всех прибылей и убытков, данный показатель масштабирован для вписывания в график
- Balans-(кирпичная) - финансовый результат приведший к убытку относительно всех прибылей и убытков, данный показатель масштабирован для вписывания в график
- Круги - это масштабированное значение баланса - ориентируемся на нулевое значение от нулевого значения координаты x - сделал для наглядности
Вертикальная линия аква - максимум значения Target=0
Вертикальная линия магнетта - максимум значения Target=1
Вертикальная линия красная - условное разделение 0,5 для классификации на 1 и 0 по умолчанию в CatBoost - для наглядности.
Предполагаю, что чем сильней разнесены от красной вертикальной линии линии аква и магнета, тем уверенней модель разделила классы. Так же стоит наблюдать за балансовыми линиями, при обучении они так же разносятся по обе стороны - это особенно актуально для моделей, где прибыль и убыток может иметь разные значения, так, к примеру, модель может хорошо фильтровать малые убытки, но терять на больших убытках, хотя по классификации значение точности будет больше 0,5.
Дальше смотрим на выборку тестовую
Видно, что произошло сближение вертикальных линий - красной и магнетты, но их относительное расположение не изменилось, что уже хорошо (бывает, что магнетта уходит в зону <0.5). Балансовые линии сблизились, что несколько огорчает. Есть после вероятности 0,5 убыточный участок, что говорит о недостаточном качестве модели.
Дальше можно посмотреть результаты на экзаменационной выборке.
С правой стороны (вероятность более 0,5) ситуация выглядит лучше, чем на тестовой, это может говорить о том, что тестовая выборка - редкое явление и примеров похожих на неё было мало при обучении, или же модель не дообучена. В пользу последнего предположения выступает то обстоятельство, что в области вероятности менее 0,5 наблюдаются участки на которых балансовая линия Balans+, обозначающая положительные финансовые результаты, пересекает линию Balans-, что так же можно увидеть и при взоре на круги, обозначающие по сути дельту между прибылью и убытком в конкретной зоне вероятности.
Ну и взглянем на баланс на экзаменационной выборке.
Явно видно, что характер рынка поменялся, что видно на 2/3 графика - следует продолжить обучение модели.
А вот пример явно плохой модели
Уже на тестовой выборке видно сильное смещение всего тела в левую часть, т.е. модель очень мало знает о выборке - низкая полнота, да и пик скопления целевых 1 приходится за левой частью вероятности. Стоит отметить, что прибыль все ж на обучении имеется.
Смотрим тестовую и экзаменационную выборку
Уже на тестовой выборке видно, что очень сильно сплелись все линии за пределами вероятности 0,5, а на экзаменационной выборки можем наблюдать, как балансовые линии поменялись местами.
По сути у меня есть пустая сеть (обучаю я ее только для того чтобы она инициализировалась потому что она не самописная ,а с пакета)
Я придумываю любую абстракцию , любую цель и пишу фитнес. фун.
Потом пускай генетика начинает изменять веса сети так, что бы на трейне и на тесте я (сеть) получил что то максимально подобное моей цели
И это в тысячи раз" более глубоко " чем создавать самому метки и подгонять регрессию или классификацию
ты вернулся на 2 года назад, когда здесь осуждалось обучение нейронов через оптимизатор МТ5
и я писал таких ботов. Это обычная оптимизация с кучей параметров.
на вон почитай
https://www.mql5.com/ru/articles/497