Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3271

 
Maxim Kuznetsov #:

опять-же странно всё сравнивается, как нельзя.

Не занимаюсь сравнением, а предоставляю код, который каждый для своего случая может померить.

Длина строки 100 - это длина паттерна. Наверное, больше не нужно.

15000 сэмплов - ограничен по памяти из-за квадратичного размера корреляционной матрицы. Чем больше сэмплов, тем лучше. Поэтому и написал самоделку, где их может быть хоть миллион.

Тратить время на объективное сравнение нет ни желания, ни времени. Под свои задачи делал, поделился рабочим кодом. Кому надо - посмотрит.

 
Эхх..  Если бы хоть 5% всех наших усилий направить на общую задачу, то мы бы этот рынок бы покорили за месяцы

А так годами, десятилетиями каждый вариться в своём супчике и 90% полезного времени тратит на бесполезный этот форум
 
fxsaber #:

Под свои задачи делал, поделился рабочим кодом. Кому надо - посмотрит.

А где итоговый код посмотреть?

 

Кто то вообще пробовал работать с "выбросами"? И я скорей не о выбросах, как ошибке, а редких событиях.

Забавно, но оказалось, что в некоторых строках выборки выброс фиксируется более чем в 50% предикторов...

Попадают ли эти выбросы в модели - весьма охотно, как оказалось.

Так что, похоже не только для НС это критично...

 
fxsaber #:

Не занимаюсь сравнением, а предоставляю код, который каждый для своего случая может померить.

Длина строки 100 - это длина паттерна. Наверное, больше не нужно.

15000 сэмплов - ограничен по памяти из-за квадратичного размера корреляционной матрицы. Чем больше сэмплов, тем лучше. Поэтому и написал самоделку, где их может быть хоть миллион.

Тратить время на объективное сравнение нет ни желания, ни времени. Под свои задачи делал, поделился рабочим кодом. Кому надо - посмотрит.

Варианты ускорений - выходную матрицу хпанить в uchar. Как правило мы проценты с шагом в 1% меняем и что-то смотрим. uchar - как раз до +- 128. Самоделку можно и переделать под uchar, и alglib тоже, код доступен. Итого матрицы можно в 8 раз увеличить, при той же памяти.

 
Aleksey Vyazmikin #:

Кто то вообще пробовал работать с "выбросами"? И я скорей не о выбросах, как ошибке, а редких событиях.

Забавно, но оказалось, что в некоторых строках выборки выброс фиксируется более чем в 50% предикторов...

Попадают ли эти выбросы в модели - весьма охотно, как оказалось.

Так что, похоже не только для НС это критично...

Белые/черные лебеди... как раз fxsaber про них в блоге писал. У меня среди множества вариантов бывали такие: торговля примерно по неделе раз в пару лет. В общем эксперт сидит и ждет движуху. Но это идеальное исполнение в тестере. В реале проскальзывания (во время движухи они огромные) могут все испортить.

 
Forester #:

Белые/черные лебеди... как раз fxsaber про них в блоге писал. У меня среди множества вариантов бывали такие: торговля примерно по неделе раз в пару лет. В общем эксперт сидит и ждет движуху. Но это идеальное исполнение в тестере. В реале проскальзывания (во время движухи они огромные) могут все испортить.

Я попробовал убрать строки из выборки, где много выбросов.

И, обучение изменилось радикально.

Если раньше на test были хорошие результаты в среднем в плюс, а на exam - почти все в минус - это из 100 моделей, то чистка выбросов изменила результат - результаты на test сильно ухудшились (средняя прибыль возле нуля), а на exam напротив - много стало моделек выходить в плюс.

Пока не готов говорить, что это закономерность, буду пробовать проверить на других выборках.

Кроме того, вопрос, как лучше определять выброс для меня ещё открытый. Сейчас беру просто до 2,5% по каждой из сторон, пока по рангам не превышается этот лимит.

 
Вообще ощущение, что есть цикл в пару лет после обучения, через который модели начинают находить какие то закономерности внезапно в новых данных.
 
Aleksey Vyazmikin #:

Я попробовал убрать строки из выборки, где много выбросов.

И, обучение изменилось радикально.

Если раньше на test были хорошие результаты в среднем в плюс, а на exam - почти все в минус - это из 100 моделей, то чистка выбросов изменила результат - результаты на test сильно ухудшились (средняя прибыль возле нуля), а на exam напротив - много стало моделек выходить в плюс.

Пока не готов говорить, что это закономерность, буду пробовать проверить на других выборках.

Кроме того, вопрос, как лучше определять выброс для меня ещё открытый. Сейчас беру просто до 2,5% по каждой из сторон, пока по рангам не превышается этот лимит.

Если брать просто 2.5% (или другое) то количество удаленных зависит от распределения, а это не правильно.

Лучше взять квантиль со 100 участками и не удалять  до 1% и после 99%,  а заменять на значения 1% и 99%. Удалять ничего нельзя.

 
fxsaber #:
В NumPy, похоже, иной от ALglib алгоритм, раз сильно разнится по производительности. Но там понятно, что во всем огромном Python-сообществе нашелся какой-то очень сильный алгоритмист, который посвятил изучению данного вопроса приличное количество времени.

Исходники открыты, можете посмотреть. Функция для расчета корреляции, справа есть надпись [source], после клика по которой вас перекинет на код. Нас интересуют 2885-2907 строки. В 2889 строке используется ковариация, после щелчка по cov, справа появятся все упоминания cov в коде, после щелчка по строке с def cov... перекинет на функцию ковариации и так далее. MQL С-подобный язык, все С-подобные языки похожи на ~90%, без особых проблем можно разобраться в C#, Java, Python, JavaScript.

Причина обращения: