Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2801
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почему они должны соответствовать бинарным? Я просто сказал о том, что скрипт рабочий, но не со всеми данными работает.
Вот пробуй, пришлось все переписать наново, там такой говнокод был что я сам не понял что он делает
Как то Вы делали скрипт, которым я решил вот снова воспользоваться
Запустил его на выборке, а он выдает ошибку - не могу понять, где искать ошибку и как исправить - может Вы знаете, раз пользуетесь этими библиотеками/пакетами?
На бинарной выборке все отработало нормально.
Ошибка говорит о том, что в корреляционной матрице появились неопределенные значения(NA) и функция findCorrelation не может ее использовать. Открой пакет и почитай описание функций.
Скрипты расхристанные и море ненужных промежуточных результатов. внизу скрипт исправленный
Пояснения по порядку:
1. Не нужно грузить пакет "caret" в глобальную область. Он очень тяжелый, тянет очень много зависимостей и данных. Тебе нужна только одна функция его. Ты ее импортируешь прямо в функцию get.findCor.
Пакет tidyft очень быстрый пакет манипуляции датафреймами. Используй его.
Для контроля я проверил на своем наборе с использованием этого скрипта. Результат:
считает довольно долго (12.9 мин.). Но и фрейм не маленький. Конечно нужно распараллелить, поискать более быструю функцию cor.
Из первоначальных 21 предикторов с разными порогами отбиралось разное количество предикторов.
Но это не тот путь по которому нужно идти.
Удачи
Вы не обратили внимание на изменчивость sd
обращу в след. раз, посчитаю sd от sd от sd %)
Привязка смещения окна признаков к какому-нибудь индикатору (например std) ничего не дала
чем больше значение тем больше смещение, кратное этому значению
или наоборот. Попробовал оба.
есть еще вариант расширения-сужения (+смещение?), пока не пробовал
в рамках фракталов только перебор таких вариантов вижу
1. Не нужно грузить пакет "caret" в глобальную область. Он очень тяжелый, тянет очень много зависимостей и данных. Тебе нужна только одна функция его. Ты ее импортируешь прямо в функцию get.findCor.
Ух ты, поленая штука
Владимир, а не знаете, есть ли пакет для бектеста который ведет журнал сделок и все такое (ну чтобы не примитивщина), кроме медленного "quantstrat" и "SIT"
Привязка смещения окна признаков к какому-нибудь индикатору (например std) ничего не дала
чем больше значение тем больше смещение, кратное этому значению
или наоборот. Попробовал оба.
есть еще вариант расширения-сужения (+смещение?), пока не пробовал
в рамках фракталов только перебор таких вариантов вижу
Абсолютно точно.
Все надо пересчитывать на каждом шаге.
Абсолютно точно.
Все надо пересчитывать на каждом шаге.
мне проще перебирать способы пересчета метки vs фичи на большом датасете, чем переобучать каждый бар, завязну надолго
Да и частым переобучением вы определяете какую-то общую закономерность, если глобально посмотреть. Если эта конструкция не льет конечно.мне проще перебирать способы пересчета метки vs фичи на большом датасете, чем переобучать каждый бар, завязну надолго
Полностью согласен, именно из-за этого не удается перейти к советнику.
Но это поврос принципиальный. Я перешел на схему "учить на каждом шаге" из-за скрытого заглядывания вперед, которые возникают из-за подготовки всего дэйтасета. У меня именно эта проблема, причем я не смог найти предикторы, которые порождают эффект "заглядывания вперед".