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

 
Dr. Trader:

Выполнил код из статьи, всё заработало с первого раза.
Версия R 3.4.2, но не думаю что это особо важно.


у меня R open.. значит косяк в нем

 
Aleksey Terentev:
Просто некоторые здесь занимаются классификацией цен. Это для них. 

Тип классификации определяет учитель, с которым надо быть очень осторожным. 

Если учитель - это тренды (трендовая модель), то должно быть одинаковое количество (примерно) вверх и вниз.  Но не понятно куда девать боковики... А если есть боковики, то не понятно: что такое вверх и что такое вниз. С трендами тупик.

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

Кстати, классификацией цен здесь никто не занимается.


Если вы занимаетесь прогнозированием временных рядов, лучше статьи почитать.

Ваша ссылка - это только стационарные временные ряды? Если судить по экспоненциальному сглаживаю, то да. Стационарных временных рядов на финансовых рынках не бывает.

Статья, на которую Вы ссылаетесь, к прогнозированию отношения не имеет - это экстраполяция кривой в аналитическом виде. А если гэп? А если какой-нибудь Драги или еще кто-нибудь?

 

Автоподбор периодов 3-х различных признаков по наименьшей RMSE, видно что важность признаков на рынке существенно варьируется со временем как по абсолютным значениям, так и относительно других признаков. Иногда бывают устойчивые периоды когда держатся одни и те же периоды признаков или меняются незначительно, но в целом изменчивость большая. Это толькео небольшая вырезка. Все предикторы имеют стационарный вид.

2017.10.20 16:56:12.405 2017.06.05 03:15:00   39 48 45
2017.10.20 16:56:13.105 2017.06.05 03:30:00   40 49 46
2017.10.20 16:56:13.793 2017.06.05 03:45:00   41 49 47
2017.10.20 16:56:14.481 2017.06.05 04:00:00   42 49 49
2017.10.20 16:56:15.168 2017.06.05 04:15:00   43 49 49
2017.10.20 16:56:15.853 2017.06.05 04:30:00   44 49 49
2017.10.20 16:56:16.538 2017.06.05 04:45:00   45 49 49
2017.10.20 16:56:17.255 2017.06.05 05:00:00   46 49 49
2017.10.20 16:56:17.981 2017.06.05 05:15:00   47 49 49
2017.10.20 16:56:18.673 2017.06.05 05:30:00   48 49 49
2017.10.20 16:56:19.368 2017.06.05 05:45:00   49 49 49
2017.10.20 16:56:20.038 2017.06.05 06:00:00   48 49 49
2017.10.20 16:56:20.760 2017.06.05 06:15:00   49 49 49
2017.10.20 16:56:21.429 2017.06.05 06:30:00   24 6 49
2017.10.20 16:56:22.136 2017.06.05 06:45:00   5 6 49
2017.10.20 16:56:22.824 2017.06.05 07:00:00   5 6 49
2017.10.20 16:56:23.495 2017.06.05 07:15:00   27 7 6
2017.10.20 16:56:24.200 2017.06.05 07:30:00   6 7 5
2017.10.20 16:56:24.901 2017.06.05 07:45:00   5 7 6
2017.10.20 16:56:25.603 2017.06.05 08:00:00   6 6 5
2017.10.20 16:56:26.275 2017.06.05 08:15:00   7 7 5
2017.10.20 16:56:26.963 2017.06.05 08:30:00   4 5 5
2017.10.20 16:56:27.694 2017.06.05 08:45:00   5 6 6
2017.10.20 16:56:28.415 2017.06.05 09:00:00   6 7 7
2017.10.20 16:56:29.118 2017.06.05 09:15:00   13 8 16
2017.10.20 16:56:29.826 2017.06.05 09:30:00   12 12 17
2017.10.20 16:56:30.546 2017.06.05 09:45:00   17 13 19
2017.10.20 16:56:31.242 2017.06.05 10:00:00   18 16 20
2017.10.20 16:56:31.978 2017.06.05 10:15:00   19 18 21

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

Вывод: нужно делать как минимум 2 модели: одна будет отбирать информативные признаки в реалтайме а другая на них обучаться и переобучаться. А для этого нужна такая система, варьирование признаков которой будет давать эффект, т.е. рассматривать все это дело как целостную систему.

 
Maxim Dmitrievsky:

Вывод: нужно делать как минимум 2 модели: одна будет отбирать информативные признаки в реалтайме а другая на них обучаться и переобучаться.

Как по мне то вывод не верный, так как модель всегда будет на шаг позади, всегда на шаг устаревшая по отношению к существующим характеристикам рынка...   То же скользящее отстающее несчастное среднее..

 
Dr. Trader:

Есть примета что для обучения классификационной модели нужно отбалансировать число классов, чтоб количество обучающих примеров с классом "1" совпадало с количеством обучающих примеров с классом "2" (а лишние примеры удалить)

Я заметил похожее требование и к некоторым регрессионным моделям, но тут сложнее - число примеров с таргетом 0.001 должно совпадать с кличеством обучающих примеров с таргетом -0.001,
количество примеров с таргетом 0.002 должно совпадать с количеством примеров с таргетом -0.002, итд

Вот скрипт чтоб сделать подобную балансировку - 

В caret  уже все реализовано, разные виды выравнивания классов, к сожалению уже не помню как эти ф-ции называются, давно с этим баловался
 
mytarmailS:

Как по мне то вывод не верный, так как модель всегда будет на шаг позади, всегда на шаг устаревшая по отношению к существующим характеристикам рынка...   То же скользящее отстающее несчастное среднее..


да, но нет.. ну т.е. получше чем без нее

 
elibrarius:
Что это значит по сути?
Если несколько месяцев подряд доллар рос (был тренд), то выравниванием количества обучающих примеров, мы покажем НС, как будто все это время был флет. И обучится она соответственно на флет. Правильно ли это? Может пусть учится все-же на тренд?

А что если цена на новых данных начнёт падать? Модель ведь ждёт её роста. Вот в такой ситуации модель которую я использую начинает немного тупить и долго сидеть в сделках, пересиживая. 

 
Maxim Dmitrievsky:

да, но нет.. ну т.е. получше чем без нее

Что могу сказать, пробуйте, делитесь опытом, именно это интересно читать 

Я пробовал переобучать модель на каждом баре...

Да  - модель работает лучше чем статическая модель ( единоразово обучена)

Нет -  модель нельзя назвать работающей

p.s. Надеюсь у вас получиться лучше  
 
mytarmailS:

Что могу сказать, пробуйте, делитесь опытом, именно это интересно читать 

Я пробовал переобучать модель на каждом баре...

Да  - модель работает лучше чем статическая модель ( единоразово обучена)

Нет -  модель нельзя назвать работающей

p.s. Надеюсь у вас получиться лучше  

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

ну короче это мои фантазии, как доделаю скину покажу )

 
Maxim Dmitrievsky:

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

ну короче это мои фантазии, как доделаю скину покажу )


что означает "периоды фичей/предикторв"  ??  что за периоды ? )

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