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

 
Maxim Dmitrievsky #:
 Поэтому на краудсорсинг не надейся.
Ю гад дем райт
 
Свечи кстати говоря очень универсальная вещь.  По сути это алгоритм сжатия с потерями.
Можно и гармоники смотреть через призму свечей, можно даже на сделки смотреть как на свечи,  там тот же опен хай лов клоуз не так ли?   А хай-кллоуз это тот же mfe если не путаю. Или можно агрегировать еквити в свечи например по неделям или месяцам а свечной паннерн покажет всю инфу по торговле и просадкам счета. 

 
mytarmailS #:

Да, так и есть, если менять тренд на тиках то все гуд

Но с тиками работать муторно, нужно подумать как работать с свечами напрямую.

Утро вечера мудреннее..

Кароч решил проблему как менять тренд на свечах не уходя в тики.

Есть у нас цены

     Open High Low Close
[1,]    1    6  11    16
[2,]    2    7  12    17
[3,]    3    8  13    18
[4,]    4    9  14    19
[5,]    5   10  15    20

нарезаем цены по строкам в один вектор

 Open  High   Low Close  Open  High   Low Close  Open  High   Low Close  Open  High   Low Close 
    1     6    11    16     2     7    12    17     3     8    13    18     4     9    14    19 
 Open  High   Low Close 
    5    10    15    20 

получаем вектор

1  6 11 16  2  7 12 17  3  8 13 18  4  9 14 19  5 10 15 20

изменяем тренд в этом векторе и собираем в обратном порядке обратно в

     Open High Low Close
[1,]    1    6  11    16
[2,]    2    7  12    17
[3,]    3    8  13    18
[4,]    4    9  14    19
[5,]    5   10  15    20
[Удален]  
mytarmailS #:

Утро вечера мудреннее..

Кароч решил проблему как менять тренд на свечах не уходя в тики.

Есть у нас цены

нарезаем цены по строкам в один вектор

получаем вектор

изменяем тренд в этом векторе и собираем в обратном порядке обратно в

еще можно кусочно поменять тренды, например через каждые n баров. Может добавить вариативности.

Если взять во внимание, что МО лучше обучается на исходных ценах, то можно добавить тренды, которые выходят за известный диапазон цен. Чтобы модель в будущем могла работать.

Либо сдвинуть график на какое-то значение вверх/вниз.

Тогда не нужны будут признаки, а только цены.

Нужно довольно серьезное исследование этой темы для задач МО.

[Удален]  
Можно "остационарить" исходный график, используя аугментацию. Это самое интересное направление, в моем понимании.
[Удален]  
Я попробовал смещение уровней и перевертыши. Это приводит к ухудшению сигналов на трейне, путанке. Но иногда улучшает OOS.
 
Maxim Dmitrievsky #:
Можно "остационарить" исходный график, используя аугментацию. Это самое интересное направление, в моем понимании.

не знаю что это..

для меня  "остационарить" это привести ряд к виду гармоник с неизменяемыми зарактеристиками - частота и амплитуда.

тогда обучнеие и прогноз будут тривиальные

 
Maxim Dmitrievsky #:
Я попробовал смещение уровней и перевертыши. Это приводит к ухудшению сигналов на трейне, путанке. Но иногда улучшает OOS.

хз, я  бы только на ООС и проверял бы

[Удален]  
mytarmailS #:

не знаю что это..

для меня  "остационарить" это привести ряд к виду гармоник с неизменяемыми зарактеристиками - частота и амплитуда.

тогда обучнеие и прогноз будут тривиальные

Обычно дифференцируют ряд, чтобы добиться стационарности. Здесь получается обратный процесс - аугментация, чтобы добиться стационарности уже исходного ряда и обучение на нем потом.

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

Продолжаю эксперименты, последнее прошлое сообщение было тут.

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

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



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

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

Зоопарк получился весьма разнообразным, вот некоторые образцы.







Видно, что вероятность уменьшается по разному и плавно и скачками внутри отдельных предикторов, почему так по разному - не ясно пока до конца.

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

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

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