Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 1533
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что именно пересчитывать?
Как обычно в портфеле - веса (активов, систем). В вашем случае это могут быть, например, 0 - виртуальная торговля по сигналу листа, 1 - реальная и можно добавить -1 - переворот сигнала. Каждый портфель соответствует вектору длиной в число листов из 0, 1 или -1. Оптимизация идёт, например, за каждый последний месяц по прибыли со штрафами за просадку и объём портфеля.
датасет разбить на равные участки, допустим 5 штук
объединить 1,3,4 и обучить на них основную модель
объединить 2,5. Прогнать на них 1-ю модель, получить результаты.
Обучить 2-ю модель на этих 2,5 на результатах 1-й, скорректировать убыточные сделки.
прогнать обе модели на всем датасете и новых данных и посмотреть результат
А, ну теперь понятно, просто имелось ввиду, что выборку как бы перемешать и обучать вторую модель там, где не было обучения первый, как бы доучить. Надо подумать, как это можно реализовать, но наверное в данном проекте уже не как, разве что обучить вторую модель на 2019 году, но тогда совсем уже негде будет проверять результаты вне обучения.
Как обычно в портфеле - веса (активов, систем). В вашем случае это могут быть, например, 0 - виртуальная торговля по сигналу листа, 1 - реальная и можно добавить -1 - переворот сигнала. Каждый портфель соответствует вектору длиной в число листов из 0, 1 или -1. Оптимизация идёт, например, за каждый последний месяц по прибыли со штрафами за просадку и объём портфеля.
Тут вопрос в частоте переброса коэффициентов, если редко, то отстаем от тенденции, а если часто, то будет подгонка жуткая, ведь сама стратегия допускает просадки, а лист может ни разу не дать сигнал за квартал, что усложняет такой подход.
Вроде починил тестер, никуда не подглядывает, результаты:
EURUSD train+valid, 10k баров
EURUSD тест 50k баров
Та же модель, обученная на EURUSD, но тест на GBPUSD, 50к баров
Та же модель на USDCHF
Ну вроде есть смысл. Есть тенденция к росту, так сказать )
Может чего-то не учел, но, с ходу, явно лучше чем лес алглиб (хотя туда я добавлял еще много чего для улучшения)Бегает бодро, сигналов много, можно пробовать делать портфель. А временной диапазон то какой выборки?
Бегает бодро, сигналов много, можно пробовать делать портфель. А временной диапазон то какой выборки?
полтора года на 15-минутках примерно
ну это пробник, надо убирать просадки и все остальное, чем и займусь
полтора года на 15-минутках примерно
ну это пробник, надо убирать просадки и все остальное, чем и займусь
Кажется, что сделок очень много, как бы спред все не отъедал... в любом случае, потенциал есть - удачи!
Решил немного посмотреть динамику изменения метрических показателей моделей при расщеплении, взял 1, 20 и 48 шаг (последний обработанный), получилась такая сводная таблица.
Показатели с выборки, на которой производилось обучение.
Результаты мне кажутся интересными, во первых стоит обратить внимание, что работа ведется с деревьями, дающими Accuracy всего 52%-53%, что как бы очень мало для модели в целом.Однако, вся модель нас мало интересует, ведь для трейдинга важней войти в нужном направлении, чем пропустить вход, а значит нас должна интересовать в первую очередь точность классификации и тут видно, что точность классов "-1" и "1" в определенной момент достигла значения на 4% и 3% больше, чем в изначальном варианте, а класс "0" утратил точность всего на 1-2%, однако в то же время сокращается полнота классов "-1" и "1", но растет вместе с этим полнота класса "0".
На данном этапе примерно из выборки убрано 10% корневых предикторов - на каждом шаге по одному, однако модель не развалилась и даже отдельные, важные для нас показатели, стали лучше.
Конечно, больше информации о динамике можно получить обработав все 48 расщеплений, возможно там есть провалы в показателях, или напротив, все показатели движутся в выбранном векторе. Но главное, что я думаю, это то, что для трейдинга нужен свой метод создания модели, принцип которого заключается не в попытке описать всю структуру, а понять часть структуры лучше, чем остальные части, а сейчас хорошей моделью, во всех известных мне методах, модель оценивается по энтропии или logloss, т.е. для обучения оценивается вся модель целиком - знания о нуле и единице, если хотите, в то время как нам нужно просто знать больше о единице.
Ну и как я ранее показал, дерево по листьям, и мой метод отбора по листьям, повышает точность классификации на выборке обучения, по сравнению с обычной моделью, на 20%-25%.
Вопрос в том, как можно ускорить процесс, я ищу заинтересованных людей, с которыми можно будет совместно переосмыслить работу скрипта R, который сейчас генерирует деревья, и подумать над улучшением и ускорением методики.
Решил немного посмотреть динамику изменения метрических показателей моделей при расщеплении, взял 1, 20 и 48 шаг (последний обработанный), получилась такая сводная таблица.
Показатели с выборки, на которой производилось обучение.
Результаты мне кажутся интересными, во первых стоит обратить внимание, что работа ведется с деревьями, дающими Accuracy всего 52%-53%, что как бы очень мало для модели в целом.Однако, вся модель нас мало интересует, ведь для трейдинга важней войти в нужном направлении, чем пропустить вход, а значит нас должна интересовать в первую очередь точность классификации и тут видно, что точность классов "-1" и "1" в определенной момент достигла значения на 4% и 3% больше, чем в изначальном варианте, а класс "0" утратил точность всего на 1-2%, однако в то же время сокращается полнота классов "-1" и "1", но растет вместе с этим полнота класса "0".
На данном этапе примерно из выборки убрано 10% корневых предикторов - на каждом шаге по одному, однако модель не развалилась и даже отдельные, важные для нас показатели, стали лучше.
Конечно, больше информации о динамике можно получить обработав все 48 расщеплений, возможно там есть провалы в показателях, или напротив, все показатели движутся в выбранном векторе. Но главное, что я думаю, это то, что для трейдинга нужен свой метод создания модели, принцип которого заключается не в попытке описать всю структуру, а понять часть структуры лучше, чем остальные части, а сейчас хорошей моделью, во всех известных мне методах, модель оценивается по энтропии или logloss, т.е. для обучения оценивается вся модель целиком - знания о нуле и единице, если хотите, в то время как нам нужно просто знать больше о единице.
Ну и как я ранее показал, дерево по листьям, и мой метод отбора по листьям, повышает точность классификации на выборке обучения, по сравнению с обычной моделью, на 20%-25%.
Вопрос в том, как можно ускорить процесс, я ищу заинтересованных людей, с которыми можно будет совместно переосмыслить работу скрипта R, который сейчас генерирует деревья, и подумать над улучшением и ускорением методики.
так у вас логлосс ~1, т.е. модель вообще в афиге от происходящего
вы хотите найти отдельно логлосс для отдельного входа? правильно понял? Т.е. кол-во информации между значениями листа и целевой?
класс "не делать нифига" явно несбалансирован относительно других, о чем выше и писал, что может быть такая проблема из-за 3-класс модели. Остальные показатели то удручающие
Показатели с выборки, на которой производилось обучение.
А на выборке вне обучения что? Следующие полгода например?
так у вас логлосс ~1, т.е. модель вообще в афиге от происходящего
Прислеп я видимл, где отрицательный логлосс? Мной указан логлосс для всей модели.
вы хотите найти отдельно логлосс для отдельного входа? правильно понял? Т.е. кол-во информации между значениями листа и целевой?
Не уверен, что логлосс это именно то, я хочу найти качественную информацию, а логлосс ищет скорей количество всей модели, может и количество подойдет - не знаю. Есть идеи, как это сделать?
класс "не делать нифига" явно несбалансирован относительно других, о чем выше и писал, что может быть такая проблема из-за 3-класс модели. Остальные показатели то удручающие
Да, не сбалансирован, но тут что поделать... можно конечно сделать две выборки - разбив выборку на вектора, но опять же потеряется часть информации, которая может быть полезной. В общем я согласен, что выборка не сбалансирована, но как это сделать не теряя информацию не знаю. Пробовал дублировать строки с малым числом целевых - эффект отрицательный.