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

 
Maxim Dmitrievsky #:
Там тоже дополнительный датасет используется?
В описании не увидел.

Посмотрел повнимательнее. Да, разница более существенная, хотя насчёт линейности метода не ошибся.

сPCA, по идее, может помочь визуально находить тонкую разницу между фазами рынка. Тоже подадимся в волшебники)

 
Aleksey Nikolayev #:

Посмотрел повнимательнее. Да, разница более существенная, хотя насчёт линейности метода не ошибся.

сPCA, по идее, может помочь визуально находить тонкую разницу между фазами рынка. Тоже подадимся в волшебники)

Да, когда шума много, то компоненты с максимальной дисперсией не могут ничего показать. Не разбирался как там участвует второй датасет, но это тоже что-то из козула и там что-то про тритмент было в его роликах.
 
Maxim Dmitrievsky #:
Да, когда шума много, то компоненты с максимальной дисперсией не могут ничего показать. Не разбирался как там участвует второй датасет, но это тоже что-то из козула и там что-то про тритмент было в его роликах.

Ну, вроде второй датасет нужен как раз для нахождения контраста с первым. Кажется, как-то хитро сравниваются матрицы ковариаций для обоих датасетов.

 
Aleksey Nikolayev #:

Эти же вроде нелинейные все, а те оба линейные как и PCA, если не путаю.

Да, нелинейные..  Только это разве плохо? 


Я попробовал этот контрасный РСА , получил практически тот же результат что и с РСА.

вот в этой винетке показано сравнение всех видов.

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

 
mytarmailS #:

Да, нелинейные..  Только это разве плохо? 


Я попробовал этот контрасный РСА , получил практически тот же результат что и с РСА.

вот в этой винетке показано сравнение всех видов.

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

Наверное "бедно" в сравнении с теми тестовыми данными, а тот же результат получен на котровках?
 
Forester #:
Наверное "бедно" в сравнении с теми тестовыми данными, а тот же результат получен на котровках?

Нет, тот же на их же данных


=============

library(scPCA)
label <- toy_df$label
data <- toy_df[, -31]


pca <- prcomp(data,center = TRUE)
plot(pca$x,col=label,lwd=2,main = "обычный РСА")

cpca <- scPCA(target = data, background = background_df, penalties = 0, n_centers = 4)
plot(cpca$x, col=label, lwd=2,main = "контрасный РСА")

Ето это что сделал

npca <- prcomp(data,center = TRUE,scale. = TRUE)
plot(npca$x,col=label,lwd=2,main = "обычный РСА + нормализация")

library(umap)
um <- umap(data)
plot(um$layout,col=label,lwd=2,main = "umap без нормализации данных")

num <- umap( scale(data,center = TRUE,scale = TRUE) )
plot(num$layout,col=label,lwd=2,main = "umap + нормализация")



как то так.... выводы делаем сами

 

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

Это хороший способ, но есть более красивый.

cPCA готов буду пообсуждать, если кто-то практикуется с этим.

 

Я очередную проблему нашел.
Подобрал неплохой вариант с обучением раз в неделю на 5000 строках М5 (3,5 недель). И решил сместить все данные на 300 строк - типа обучение не по субботам, а по вторникам. В итоге модель на ООС из прибыльной стала убыточной.
Эти новые 300 строк ( около 8% от общего количества) вывели на первое место другие фичи и другие сплиты, которые стали лучшими для немного измененных данных.
Повторил смещение на 300 для 50000 строк. Казалось бы всего 0,8% новых строк. Но изменения на ООС тоже значительные, хоть  и не такие сильные, как с 5000 строками.

В общем есть подгонка не только под размер окна, но и под начало окна. Небольшие смещения сильно меняют результат. Нет сильных фич, все на грани 50/50 ± 1-2%.
 
Я бы забыл про переобучение интервальное. РЛ уже показал свою несостоятельность в этом вопросе. О чем визард тоже писал, когда я увлекался подобным.Там уже 50+ статей есть. Куча подходов и невозможность ни на чем сосредоточиться :)
 

Господа, специалисты и академики этой ветки, выразите, пожалуйста, ваше мнение относительно следующего:

А что, если посмотреть на форекс, как на игру в партии. Как шахматы. Или Го, или что там ещё. 
Делим игру на партии: по 500 шагов. Каждый шаг - это часовая цена закрытия. 500 шагов - в среднем месяц торговли. 
На вход подаём что угодно + состояние баланса.
Устанавливаем два правила: если баланс просел на 30% или если партия завершилась минусовым балансом - игра начинается заново. 
Всего N партий (допустим, 120 - как 10 лет)
Цель - выиграть все партии с неважно каким плюсом. Короче, закрыть каждый месяц в плюс. 

Действия агента:
1) Купить 0.01
2) Купить 0.02
3 Купить 0.03
4) Купить 0.04
5) Купить 0.05
6) Купить 0.06
7) Купить 0.07
8) Купить 0.08
9) Купить 0.09 
10) Купить 0.1

11) Продать 0.01
12) Продать  0.02
13)  Продать  0.03
14) Продать  0.04
15) Продать  0.05
16) Продать  0.06
17) Продать  0.07
18) Продать  0.08
19) Продать  0.09
20) Продать  0.10 

21) Закрыть 0.01
22) Закрыть  0.02
23) Закрыть  0.03
24) Закрыть  0.04
25) Закрыть  0.05
26) Закрыть  0.06
27) Закрыть  0.07
28) Закрыть  0.08
29) Закрыть  0.09
30) Закрыть  0.10 лота

31) Закрыть всё

32) Не открывать позицию
33) Пропустить ход

Всего 33 действия. 

Награда отложенная - равная разнице между ценой открытия позиции и ценой закрытия как частичной, так и полной позиции. 
Баланс на вход даст частичку того состояния, которое известно агенту. Ведь по правилам состояние среды должно меняться от действий агента. График цен агент не может изменить, но он может влиять на свой баланс, который входит в состояние. Это как аналог фигур на доске. Агенту неизвестно, сколько миллионов шагов можно с ними сделать, но ему известно, сколько фигур на доске у него осталось. 

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

Почитал в интернете, как обучать нейросеть, если у неё больше 1-го выхода, пишут про DQN. Типа q-обучение - это тупо запоминание состояний и при новом состоянии результат плачевный, а DQN - это проекция запомненных состояний на новые, в результате чего выбирается оптимальное из овер_дофига действий. 


Ведь в шахматах условно неизвестное число состояний и нейросеть в этих условиях выигрывает у человека. Почему бы не попробовать подобный метод в игру под названием "Чёртов форекс, чтоб его". 

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