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

 
Maxim Dmitrievsky:

Тогда нет смысла менять шило на мыло

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

 

Мысли про 2 пути. 1 - искать характеристики ряда на которых можно зарабатывать. Оказалось не так просто, смотришь участок где люди смогли заработать, а статистики ничего не показывают.

2 - подгонка системы под ряд. В самом простом случае идет умножение исходного ряда на +-1 по какому то условию. А если закономерности все равно не удается выявить, так чего напрягаться, взять за условие рандомные параметры или менять направление сделки через какой то промежуток времени. Как пример сов в прицепе.

Файлы:
RndIn.mq5  3 kb
 
Эксперименты по онормаливанию распределения. Два файла с евро и 2 с разными пгсч.
Файлы:
ed1.png  550 kb
ed2.png  515 kb
rnd1.png  564 kb
rnd2.png  481 kb
 
Maxim Dmitrievsky:

Тогда нет смысла менять шило на мыло

Максим, вы вроде разобрались с алглибовским МГК https://www.mql5.com/ru/forum/36408/page17#comment_9620369

pcabuildbasis(
double[,] x,       // матрица цен инструментов 
int npoints,       // количество цен для каждого инструмента
int nvars,         // количество инструментов
out int info,      // результат операции, любое положительное число - все ок
out double[] s2,   // массив разбросов / дисперсий для всех найденных векторов
out double[,] v)   // массив векторов, каждый вектор и есть искомые весы для выравнивая наборов вокруг нуля 

Как из s2 и v получить например 2 столбца главных компонент.
Полагаю, что x надо с этими коэффициентами умножать/делить?
Есть формула?

Массивы s2 и v вроде отсортированы, главные вначале или в конце?
Индикаторы: Portfolio Optimizer
Индикаторы: Portfolio Optimizer
  • 2018.12.01
  • www.mql5.com
Portfolio Optimizer: Автор: transcendreamer...
 
elibrarius:

Максим, вы вроде разобрались с алглибовским МГК https://www.mql5.com/ru/forum/36408/page17#comment_9620369

Как из s2 и v получить например 2 столбца главных компонент.
Полагаю, что x надо с этими коэффициентами умножать/делить?
Есть формула?

Массивы s2 и v вроде отсортированы, главные вначале или в конце?

Делал pca и lda, но уже не вспомню, к сожалению, давно было. Ничего полезного не получил, поэтому забылось 

 

Может еще кто знает?

Тут шаг 4, есть такой код по созданию столбцов компонент, но пока не пойму как циклами и (*/+-) такое повторить.

_, vecs = np.linalg.eig(covmat)
v = -vecs[:,1])
Xnew = dot(v,Xcentered)
print Xnew

OUT: [ -9.56404107 -9.02021624 -5.52974822 -2.96481262 0.68933859 0.74406645 2.33433492 7.39307974 5.3212742 10.59672425]


dot(X,Y) — почленное произведение (так мы перемножаем векторы и матрицы в Python)
Как работает метод главных компонент (PCA) на простом примере
Как работает метод главных компонент (PCA) на простом примере
  • habr.com
В этой статье я бы хотел рассказать о том, как именно работает метод анализа главных компонент (PCA – principal component analysis) с точки зрения интуиции, стоящей за ее математическим аппаратом. Максимально просто, но подробно. Математика вообще очень красивая и изящная наука, но порой ее красота скрывается за кучей слоев абстракции. Показать...
 
elibrarius:

Может еще кто знает?

Тут шаг 4, есть такой код по созданию столбцов компонент, но пока не пойму как циклами и (*/+-) такое повторить.

_, vecs = np.linalg.eig(covmat)
v = -vecs[:,1])
Xnew = dot(v,Xcentered)
print Xnew

OUT: [ -9.56404107 -9.02021624 -5.52974822 -2.96481262 0.68933859 0.74406645 2.33433492 7.39307974 5.3212742 10.59672425]


dot(X,Y) — почленное произведение (так мы перемножаем векторы и матрицы в Python)

https://gist.github.com/freemancw/2981258

Alglib PCA Example
Alglib PCA Example
  • gist.github.com
Alglib PCA Example. GitHub Gist: instantly share code, notes, and snippets.
 
Видел. Это не то. Тут матрицу 3х3 просто в переменные переписаны. Но новые вектора компонент не вычислены.
В результате нужно получить для каждой компоненты 6 строк (по этому примеру).
 
elibrarius:
Видел. Это не то. Тут матрицу 3х3 просто в переменные переписаны. Но новые вектора компонент не вычислены.
В результате нужно получить для каждой компоненты 6 строк (по этому примеру).

реально потерял и не помню.. была версия бота на pca, если найду потом скину

 
Maxim Dmitrievsky:

реально потерял и не помню.. была версия бота на pca, если найду потом скину

Поиск по слову PCABuildBasis на всем диске может помочь) Если файл не удален.
Причина обращения: