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

[Удален]  
Renat Akhtyamov:

ок

теперь продемонстрируй то же самое на машке и сравни

забияка ;)

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

например, HMA или что-нибудь в этом роде

если взялся за МАшки, то нормируй хотя бы на волатильность и проч

и не надо писать, что это грааль. Там его и близко нет.

 
Maxim Dmitrievsky:

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

например, HMA или что-нибудь в этом роде

если взялся за МАшки, то нормируй хотя бы на волатильность и проч

и не надо писать, что это грааль. Там его и близко нет.

на скрине Макс покажи, не на словах

звиздеть не мешки ворочать

 

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

cl_1 = samples.drop(samples[samples["targets"] == 0].index).reset_index(drop=True)[samples.columns[1]]
cl_2 = samples.drop(samples[samples["targets"] == 1].index).reset_index(drop=True)[samples.columns[1]]

min_x = min(cl_1.min(),cl_2.min())
max_x = max(cl_1.max(),cl_2.max())
x = np.arange(min_x,max_x,(max_x-min_x)/100)
hist_1 = np.histogram(cl_1,x)
hist_2 = np.histogram(cl_2,x)
plt.hist(cl_1,x, histtype= 'step',label='cl_1')
plt.hist(cl_2,x, histtype= 'step',label='cl_2')

area1 = np.sum(hist_1[0])/sum(hist_1[0])
area2 = np.sum(hist_2[0])/sum(hist_2[0])
ymax = np.maximum(hist_1[0],hist_2[0])
ymin = np.minimum(hist_1[0],hist_2[0])

area_overlap = sum(ymin/sum(ymax))
print(area1, area2, area_overlap)

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

area_overlap - на рисунке желтое

[Удален]  
Renat Akhtyamov:

на скрине Макс покажи, не на словах

звиздеть не мешки ворочать

что ты хочешь увидеть? вот реальная ТС на МО из моей статьи. Обучение - всего 1 мес, дальше генерализация на 2 года. И это реальное и оно работает

[Удален]  
welimorn:

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

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

area_overlap - на рисунке желтое

Вы делаете гениальные вещи ) с понедельника начну смотреть, в избранное

 
Все знают что отклонение от средней может быть значительным, но никто не знает когда это произойдет.
 
Maxim Dmitrievsky:

Вы делаете гениальные вещи ) с понедельника начну смотреть, в избранное

Спасибо! Хоть как то разбавить "теоретические" рассуждения...

[Удален]  
welimorn:

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

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

area_overlap - на рисунке желтое

тема перешла в серьезное русло )

вот про боле сложный способ (но многообещающий), почитать

https://ml4trading.io/chapter/19

это к вопросу о плотностях и как можно семплить фичи и метки из апостериора с помощью автоэнкодера. Можно и трансормировать пространства признаков, по вкусу

в частности, интересны CVAE (conditinal variational autoencoders)

Machine Learning for Trading
Machine Learning for Trading
  • Stefan Jansen
  • ml4trading.io
Learn to extract signals from financial and alternative data to design and backtest algorithmic trading strategies using machine learning.
[Удален]  

+ тотальная декорреляция признаков через случайные ядра свертки.

хочу перенести ответную часть на mql, чтобы можно было получать новые признаки из обученной модели, в терминале

https://pyts.readthedocs.io/en/latest/auto_examples/transformation/plot_rocket.html

фронт работ, в общем

RandOm Convolutional KErnel Transform (ROCKET) — pyts 0.12.dev0 documentation
  • pyts.readthedocs.io
The RandOm Convolutional KErnel Transform (ROCKET) algorithm randomly generates a great variety of convolutional kernels and extracts two features for each convolution: the maximum and the proportion of positive values. This example...
[Удален]  

После немногочисленных экспериментов пока вывод:

семплинг из генеративной модели и потом обучение на этих семплах - очень хорошо (но я пока использовл только GMM (gaussian mixture model), а не автоэнкодер)

декорреляция признаков через ROCKET - нормально, есть улучшения в плане обобщающей способности