Maxim Dmitrievsky #: Bias-variance tradeoff, азы ML.
Пробовал от противного: переобучал донельзя, почти пункт в пункт, чтобы на форварде сливала стабильно, а после чего переворачивал позиции. Да, слив прекратился, но превратился во флет из-за спреда огромного количества сделок. Один облом компенсирует другой.
Пробовал от противного: переобучал донельзя, почти пункт в пункт, чтобы на форварде сливала стабильно, а после чего переворачивал позиции. Да, слив прекратился, но превратился во флет из-за спреда огромного количества сделок. Один облом компенсирует другой.
Так и делают. Сначала обучают большую сеть, потом выбрасывают слои и нейроны до какого-то оптимума, минимизируют смещение на новых данных. Параллельно с этим увеличивается дисперсия (разброс ошибок) на тренировочных. Если совсем ничего не выходит, значит проблема в данных.
То есть чтобы на тренировочных было достойно и на тестовых приемлемо. Компромисс. Если не нравится результат, тогда надо данные менять. И так по кругу, до морковкиного заговенья.
Попробуйте волатильность (индикатор std). На новых данных получше будет, потому что она всегда примерно одинаковая, в зависимости от времени. Будет только разница, если на новых данных при такой же волатильности рынок в среднем в другую сторону двигается. Тогда можно еще фильтр по времени добавить, чтобы найти когда одинаково.
Maxim Dmitrievsky #: Попробуйте волатильность (индикатор std). На новых данных получше будет, потому что она всегда примерно одинаковая. Будет только разница, если на новых данных при такой же волатильности рынок в другую сторону двигается.
Благодарю за совет.
Была идея в своих данных нормализовать их (обрубить хвост) до одного знака после запятой .0; Мол, создать стационарность, а то реагирует на эти мелкие числа и из-за них тупо запоминает "путь" цены как-будто
Была идея в своих данных нормализовать их (обрубить хвост) до одного знака после запятой .0; Мол, создать стационарность, а то реагирует на эти мелкие числа и из-за них тупо запоминает "путь" цены как-будто
Сильно не спасет, точно так же можно случайный шум добавить к признакам. Немного получше будет в каких-то случаях, потому что будет меньше переобучаться, но не панацея вообще.
Если логически подумать, надо какой-то индикатор долгосрочного тренда и волатильность. Тренд показывает в какую сторону открываются сделки, а волатильность уточняет моменты. Там из индикаторов особо больше ничего не придумаешь.
Ну и надо, чтобы в обучение попали разные тренды, чтобы оно их различать научилось.
Перепробовал все архитектуры MLP и RNN
Главный фактор - количество переменных
Bias-variance tradeoff, азы ML.
Пробовал от противного: переобучал донельзя, почти пункт в пункт, чтобы на форварде сливала стабильно, а после чего переворачивал позиции. Да, слив прекратился, но превратился во флет из-за спреда огромного количества сделок. Один облом компенсирует другой.
Пробовал от противного: переобучал донельзя, почти пункт в пункт, чтобы на форварде сливала стабильно, а после чего переворачивал позиции. Да, слив прекратился, но превратился во флет из-за спреда огромного количества сделок. Один облом компенсирует другой.
Попробуйте волатильность (индикатор std). На новых данных получше будет, потому что она всегда примерно одинаковая. Будет только разница, если на новых данных при такой же волатильности рынок в другую сторону двигается.
Благодарю за совет.
Была идея в своих данных нормализовать их (обрубить хвост) до одного знака после запятой .0;
Мол, создать стационарность, а то реагирует на эти мелкие числа и из-за них тупо запоминает "путь" цены как-будто
Благодарю за совет.
Была идея в своих данных нормализовать их (обрубить хвост) до одного знака после запятой .0;
Мол, создать стационарность, а то реагирует на эти мелкие числа и из-за них тупо запоминает "путь" цены как-будто
На вход можно подавать всё что угодно:
время дня, день недели, можно и фазы луны и тд. и тп.
Нормальная сеть сама отсортирует нужные и ненужные данные.
Главное это чему учить!
Обучение с учителем здесь плохо подходит. Сети с обратным распространением ошибки просто бесполезны.