Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3271
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
опять-же странно всё сравнивается, как нельзя.
Не занимаюсь сравнением, а предоставляю код, который каждый для своего случая может померить.
Длина строки 100 - это длина паттерна. Наверное, больше не нужно.
15000 сэмплов - ограничен по памяти из-за квадратичного размера корреляционной матрицы. Чем больше сэмплов, тем лучше. Поэтому и написал самоделку, где их может быть хоть миллион.
Тратить время на объективное сравнение нет ни желания, ни времени. Под свои задачи делал, поделился рабочим кодом. Кому надо - посмотрит.
Под свои задачи делал, поделился рабочим кодом. Кому надо - посмотрит.
А где итоговый код посмотреть?
Кто то вообще пробовал работать с "выбросами"? И я скорей не о выбросах, как ошибке, а редких событиях.
Забавно, но оказалось, что в некоторых строках выборки выброс фиксируется более чем в 50% предикторов...
Попадают ли эти выбросы в модели - весьма охотно, как оказалось.
Так что, похоже не только для НС это критично...
Не занимаюсь сравнением, а предоставляю код, который каждый для своего случая может померить.
Длина строки 100 - это длина паттерна. Наверное, больше не нужно.
15000 сэмплов - ограничен по памяти из-за квадратичного размера корреляционной матрицы. Чем больше сэмплов, тем лучше. Поэтому и написал самоделку, где их может быть хоть миллион.
Тратить время на объективное сравнение нет ни желания, ни времени. Под свои задачи делал, поделился рабочим кодом. Кому надо - посмотрит.
Варианты ускорений - выходную матрицу хпанить в uchar. Как правило мы проценты с шагом в 1% меняем и что-то смотрим. uchar - как раз до +- 128. Самоделку можно и переделать под uchar, и alglib тоже, код доступен. Итого матрицы можно в 8 раз увеличить, при той же памяти.
Кто то вообще пробовал работать с "выбросами"? И я скорей не о выбросах, как ошибке, а редких событиях.
Забавно, но оказалось, что в некоторых строках выборки выброс фиксируется более чем в 50% предикторов...
Попадают ли эти выбросы в модели - весьма охотно, как оказалось.
Так что, похоже не только для НС это критично...
Белые/черные лебеди... как раз fxsaber про них в блоге писал. У меня среди множества вариантов бывали такие: торговля примерно по неделе раз в пару лет. В общем эксперт сидит и ждет движуху. Но это идеальное исполнение в тестере. В реале проскальзывания (во время движухи они огромные) могут все испортить.
Белые/черные лебеди... как раз fxsaber про них в блоге писал. У меня среди множества вариантов бывали такие: торговля примерно по неделе раз в пару лет. В общем эксперт сидит и ждет движуху. Но это идеальное исполнение в тестере. В реале проскальзывания (во время движухи они огромные) могут все испортить.
Я попробовал убрать строки из выборки, где много выбросов.
И, обучение изменилось радикально.
Если раньше на test были хорошие результаты в среднем в плюс, а на exam - почти все в минус - это из 100 моделей, то чистка выбросов изменила результат - результаты на test сильно ухудшились (средняя прибыль возле нуля), а на exam напротив - много стало моделек выходить в плюс.
Пока не готов говорить, что это закономерность, буду пробовать проверить на других выборках.
Кроме того, вопрос, как лучше определять выброс для меня ещё открытый. Сейчас беру просто до 2,5% по каждой из сторон, пока по рангам не превышается этот лимит.
Я попробовал убрать строки из выборки, где много выбросов.
И, обучение изменилось радикально.
Если раньше на test были хорошие результаты в среднем в плюс, а на exam - почти все в минус - это из 100 моделей, то чистка выбросов изменила результат - результаты на test сильно ухудшились (средняя прибыль возле нуля), а на exam напротив - много стало моделек выходить в плюс.
Пока не готов говорить, что это закономерность, буду пробовать проверить на других выборках.
Кроме того, вопрос, как лучше определять выброс для меня ещё открытый. Сейчас беру просто до 2,5% по каждой из сторон, пока по рангам не превышается этот лимит.
Если брать просто 2.5% (или другое) то количество удаленных зависит от распределения, а это не правильно.
Лучше взять квантиль со 100 участками и не удалять до 1% и после 99%, а заменять на значения 1% и 99%. Удалять ничего нельзя.
В NumPy, похоже, иной от ALglib алгоритм, раз сильно разнится по производительности. Но там понятно, что во всем огромном Python-сообществе нашелся какой-то очень сильный алгоритмист, который посвятил изучению данного вопроса приличное количество времени.
Исходники открыты, можете посмотреть. Функция для расчета корреляции, справа есть надпись [source], после клика по которой вас перекинет на код. Нас интересуют 2885-2907 строки. В 2889 строке используется ковариация, после щелчка по cov, справа появятся все упоминания cov в коде, после щелчка по строке с def cov... перекинет на функцию ковариации и так далее. MQL С-подобный язык, все С-подобные языки похожи на ~90%, без особых проблем можно разобраться в C#, Java, Python, JavaScript.