Обсуждение статьи "Глубокая нейросеть со Stacked RBM. Самообучение, самоконтроль" - страница 9
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если кто пробовал применять мой опыт, прошу дать обратную связь. Для меня это важно. Спасибо.
такое количество экспериментов вызывает уважение. Но Вы скажите, вы хотите получить вечный двигатель? Зачем полировать эксперт 5-летними бэктестами?? Переучивайте при снижении качества предикта хоть каждую неделю. Зависит от таймфрейма на котором работаете.
По поводу препроцессинга предикторов - это действительно архиважный вопрос. Из своего опыта могу сказать - чем сложнее и глубже предобработка - тем более простые модели дают очень хорошие результаты. Но это отдельная тема.
Отдельно хочу подчеркнуть - оптимизиция гиперпараметров модели также дает улучшении модели.
Вы какие предикторы применяете?
Удачи
такое количество экспериментов вызывает уважение. Но Вы скажите, вы хотите получить вечный двигатель? Зачем полировать эксперт 5-летними бэктестами?? Переучивайте при снижении качества предикта хоть каждую неделю. Зависит от таймфрейма на котором работаете.
По поводу препроцессинга предикторов - это действительно архиважный вопрос. Из своего опыта могу сказать - чем сложнее и глубже предобработка - тем более простые модели дают очень хорошие результаты. Но это отдельная тема.
Отдельно хочу подчеркнуть - оптимизиция гиперпараметров модели также дает улучшении модели.
Вы какие предикторы применяете?
Удачи
Но Вы скажите, вы хотите получить вечный двигатель?
-нет, только способность выживания на быстро изменяющемся рынке.
Зачем полировать эксперт 5-летними бэктестами?
-Вы не поняли и я не пояснил. Я использую примерно от одного до 3 месяцев в днях историю в пересчете на бары для ТФ. Делаю длинный забег в пределах до 10 лет в истории до сегодня, контроль параметров качества и регулярное перестроение модели.
Переучивайте при снижении качества предикта хоть каждую неделю
-переучиваю без качества, просто регулярно. статистическая оценка качества на прошлой истории не дала мне пользы.
Из своего опыта могу сказать - чем сложнее и глубже предобработка - тем более простые модели дают очень хорошие результаты.
-это работает, согласен
Отдельно хочу подчеркнуть - оптимизиция гиперпараметров модели также дает улучшении модели.
-дает, но мой опыт пока не может это подтвердить на длинной истории тестирования. Если грубо, то смотря, как попадет. То недообучение, то переобучение, то не попал никуда.
Вы какие предикторы применяете?
-Если вы спрашиваете про индикаторы, то для описанных примеров выше никакие, только параметры движения цены, ее числовые характеристики.
Но Вы скажите, вы хотите получить вечный двигатель?
-нет, только способность выживания на быстро изменяющемся рынке.
Зачем полировать эксперт 5-летними бэктестами?
-Вы не поняли и я не пояснил. Я использую примерно от одного до 3 месяцев в днях историю в пересчете на бары для ТФ. Делаю длинный забег в пределах до 10 лет в истории до сегодня, контроль параметров качества и регулярное перестроение модели.
Переучивайте при снижении качества предикта хоть каждую неделю
-переучиваю без качества, просто регулярно. статистическая оценка качества на прошлой истории не дала мне пользы.
Из своего опыта могу сказать - чем сложнее и глубже предобработка - тем более простые модели дают очень хорошие результаты.
-это работает, согласен
Отдельно хочу подчеркнуть - оптимизиция гиперпараметров модели также дает улучшении модели.
-дает, но мой опыт пока не может это подтвердить на длинной истории тестирования. Если грубо, то смотря, как попадет. То недообучение, то переобучение, то не попал никуда.
Вы какие предикторы применяете?
-Если вы спрашиваете про индикаторы, то для описанных примеров выше никакие, только параметры движения цены, ее числовые характеристики.
Здравствуйте, некоторое время назад заинтересовался данной тематикой. Сам много чего перепробовал.
У вас впечатляющие результаты, но не могли бы вы поделится тем, что вы имели ввиду под "параметрами движения цены" ? От объемов отказались?
И, самое главное, как подбираете условия входа и выхода с рынка? То есть открытия и закрытия сделки. Я заметил, что в приведенных выше бэктестах, стопы довольно большие.
Для метки всё тот же простой зигзаг используете?
Какая у вас точность предсказания?
Спасибо.
@Ilya Kosarev
Здравствуйте, некоторое время назад заинтересовался данной тематикой. Сам много чего перепробовал.
У вас впечатляющие результаты, но не могли бы вы поделится тем, что вы имели ввиду под "параметрами движения цены" ? От объемов отказались?
И, самое главное, как подбираете условия входа и выхода с рынка? То есть открытия и закрытия сделки. Я заметил, что в приведенных выше бэктестах, стопы довольно большие.
Для метки всё тот же простой зигзаг используете?
Какая у вас точность предсказания?
Спасибо.
Добрый день.
Не помню в каком контексте я использовал это выражение:"параметрами движения цены".
Объемы не использовал никогда. Хотя мысль такая есть. Руки не доходят.
Входы и выходы определяются сигналами выдаваемыми ансамблем предварительно обученных нейросетей. Три состояния: Buy/Sell/Nothing/
Стопы чисто предохранитель. Закрытие позиций всегда по сигналам нейросетей.
Целевая - зигзаг.
Лучшее качество полученное мной при использовании ансамбля - F1 = ~0.84. Это не лучший показатель для оценки ТС. Нужно использовать среднее вознаграждение на бар за определенный период времени.
Удачи
Добрый день.
Не помню в каком контексте я использовал это выражение:"параметрами движения цены".
Объемы не использовал никогда. Хотя мысль такая есть. Руки не доходят.
Входы и выходы определяются сигналами выдаваемыми ансамблем предварительно обученных нейросетей. Три состояния: Buy/Sell/Nothing/
Стопы чисто предохранитель. Закрытие позиций всегда по сигналам нейросетей.
Целевая - зигзаг.
Лучшее качество полученное мной при использовании ансамбля - F1 = ~0.84. Это не лучший показатель для оценки ТС. Нужно использовать среднее вознаграждение на бар за определенный период времени.
Удачи
Спасибо за ответ.
Вы не помните, потому что вопрос был для Ilya Kosarev, это он упоминал. Но он пока не ответил.
Вот ещё какая мысль пришла в голову, вы упоминаете, что на большой длине истории тренировать мало толку, почему пришли к такому выводу, и как определяли оптимальную длину истории?
Спасибо за ответ.
Вы не помните, потому что вопрос был для Ilya Kosarev, это он упоминал. Но он пока не ответил.
Вот ещё какая мысль пришла в голову, вы упоминаете, что на большой длине истории тренировать мало толку, почему пришли к такому выводу, и как определяли оптимальную длину истории?
По длине истории для обучения. Все зависит от рабочего таймфрейма. У меня это 5-30 минут. Использую разделение на три поднабора (pretrain/train/test). На первом вычисляю все параметры препроцессинга, выбросы, нормализация, шумовые примеры и другие. На втором применяя эти параметры подготавливаю входные данные и обучаю модель(ли). На последнем проверка. Для М15 - длины 2000/1000/500. Это приблизительно в неделях 4/2/1. Сейчас я так и разделяю данные, строго с привязкой к datatime.
Переобучаю в начале каждой недели(автоматом делает эксперт). Если среднее вознаграждение на бар за последние 2-3 дня меньше минимального, переобучаю немедленно.
Удачи
такое количество экспериментов вызывает уважение. Но Вы скажите, вы хотите получить вечный двигатель? Зачем полировать эксперт 5-летними бэктестами?? Переучивайте при снижении качества предикта хоть каждую неделю. Зависит от таймфрейма на котором работаете.
По поводу препроцессинга предикторов - это действительно архиважный вопрос. Из своего опыта могу сказать - чем сложнее и глубже предобработка - тем более простые модели дают очень хорошие результаты. Но это отдельная тема.
Отдельно хочу подчеркнуть - оптимизиция гиперпараметров модели также дает улучшении модели.
Вы какие предикторы применяете?
Удачи
По длине истории для обучения. Все зависит от рабочего таймфрейма. У меня это 5-30 минут. Использую разделение на три поднабора (pretrain/train/test). На первом вычисляю все параметры препроцессинга, выбросы, нормализация, шумовые примеры и другие. На втором применяя эти параметры подготавливаю входные данные и обучаю модель(ли). На последнем проверка. Для М15 - длины 2000/1000/500. Это приблизительно в неделях 4/2/1. Сейчас я так и разделяю данные, строго с привязкой к datatime.
Переобучаю в начале каждой недели(автоматом делает эксперт). Если среднее вознаграждение на бар за последние 2-3 дня меньше минимального, переобучаю немедленно.
Удачи
У вас в скриптах 2 ошибки, приводящие к сильно завышенным значениям К:
1. В разбивке данных prepareTrain метод stratified, что приводит к грубому заглядыванию в будущее. Нужно использовать order.
2. В дополнение к этому, ошибка в функции correct(корректировка по кривой баланса) - насколько я понял, текущее значение баланса корректируется по нему же, поэтому получается очень прямая кривая вверх и очень большое К.
Также хочу заметить что "базовая" точность по зигзагу около 70%, т.к. в этой метке большая часть информации это текущий тренд, а не будущее движение.
У вас в скриптах 2 ошибки, приводящие к сильно завышенным значениям К:
1. В разбивке данных prepareTrain метод stratified, что приводит к грубому заглядыванию в будущее. Нужно использовать order.
2. В дополнение к этому, ошибка в функции correct(корректировка по кривой баланса) - насколько я понял, текущее значение баланса корректируется по нему же, поэтому получается очень прямая кривая вверх и очень большое К.
Также хочу заметить что "базовая" точность по зигзагу около 70%, т.к. в этой метке большая часть информации это текущий тренд, а не будущее движение.
1. Мы решаем задачу классификации не регрессии. Стратифицирование, балансировка и перемешивание очень даже показаны и делается только на train. Можно использовать и order, но не обязательно. Все зависит от модели которую Вы используете. В последних моих экспериментах я отказался от стратификации в пользу балансировки. Для регрессии это требование обязательно(наверное?). Я не занимаюсь регрессией, не буду спорить.
2. Так в чем ошибка? я не понял.
3. Про зигзаг вообще не понял о чем Вы. Поясните?
Давно это было, многое подзабыл. Освежу память и может чего добавлю.
Удачи
1. Мы решаем задачу классификации не регрессии. Стратифицирование, балансировка и перемешивание очень даже показаны и делается только на train. Можно использовать и order, но не обязательно. Все зависит от модели которую Вы используете. В последних моих экспериментах я отказался от стратификации в пользу балансировки. Для регрессии это требование обязательно(наверное?). Я не занимаюсь регрессией, не буду спорить.
2. Так в чем ошибка? я не понял.
3. Про зигзаг вообще не понял о чем Вы. Поясните?
Давно это было, многое подзабыл. Освежу память и может чего добавлю.
Удачи
Вот код(в эту функцию все дсотупные данные передаются):
prepareTrain <- function(x , y, rati, mod = "stratified", balance = F, norm, meth) { t <- rminer::holdout(y = y, ratio = rati, mode = mod) ...
Разбивка на проверочный и тренировочные наборы - разбивается не по порядку времени, а всё в одну кучу - получается линейная интерполяция между точками, и очень большое значение К. Сеть заучивает примеры - соседние по времени значения из проверочного набора очень похожи, в среднем получается, например, ТТТТПТТТТП - где Т это тренировочый пример, а П проверочный. Известное дело, временные данные из-за высокой автокорреляции нужно разбивать по времени, также нельзя делать Cross Validation, по крайней мере со случайной выборкой примеров из всего набора, можно выбирать разные части, с сохранением временного порядка(например первые 20%, след. 10% для проверки, потом первые 30%, след. 10 для проверки и т.д.).
По функции correct:
Про зиг заг - зиг заг во многом определяется уже известными данными т.е. текущим трендом, поэтому на нём точность сильно выше 50% при равном соотношении примеров разных классов. Например знак зиг зага перед самым пиком(сменой направления) - это просто индикатор прошедшего тренда.
В экспериментах 70-74% точность по зигзагу не даёт прибыльности, и легко достигается на разных входных данных, даже простых разницах цен.