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

 
fxsaber #:

Уже все сделано: MQ переписали их под свои матрицы.

И стало медленнее ??)))

 
Forester #:

И стало медленнее ??)))

Сравните со старой версией Alglib. У меня нет данных, что стало медленнее.

 
fxsaber #:
В NumPy, похоже, иной от ALglib алгоритм

У Максима проц раза в 2 быстрее моего. А приводил ли он тайминги для Algliba уже не помню, кажется нет.

 
fxsaber #:

Сравните со старой версией Alglib. У меня нет данных, что стало медленнее.

Вы же сами писали что штатный медленнее текущего алглибовского. Старый у меня есть в виде кода, но не терминала.
 
Forester #:

У Максима проц раза в 2 быстрее моего. А приводил ли он тайминги для Algliba уже не помню, кажется нет.

Тайминги.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

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

Aleksey Vyazmikin, 2023.09.26 05:37

Для статистики такой результат у меня

2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   EX5: 3981 AVX Release.
2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   TerminalInfoString(TERMINAL_CPU_NAME) = AMD FX-8350 Eight-Core 
2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   TerminalInfoInteger(TERMINAL_CPU_CORES) = 8 
2023.09.26 06:28:23.304 Test_Corr (USDJPY,H1)   TerminalInfoString(TERMINAL_CPU_ARCHITECTURE) = AVX 
2023.09.26 06:28:23.332 Test_Corr (USDJPY,H1)   inRows = 100 inCols = 15000 
2023.09.26 06:28:45.032 Test_Corr (USDJPY,H1)   matrix<double> Matrix1 = CorrMatrix(Matrix) - 21700095 mcs, 1717 MB
2023.09.26 06:29:48.495 Test_Corr (USDJPY,H1)   matrix<double> Matrix2 = Matrix.CorrCoef(false) - 63460976 mcs, 1717 MB
2023.09.26 06:29:50.225 Test_Corr (USDJPY,H1)   IsEqual(Matrix1, Matrix2) = true 
Явно Python гораздо быстрей. А значит и на C будет быстрей, выходит, что MQ чего то нам не договаривают, обещая сопоставимую производительность...

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

 
Forester #:
Вы же сами писали что штатный медленнее текущего алглибовского. Старый у меня есть в виде кода, но не терминала.

Сам исходник Alglib был MQ переписан под свои матрицы. Штатный CorrCoef даже обсуждать не хочу, там явные проблемы.

Т.е. есть два исходника Alglib.

  • Оригинальный на динамических массивах ДО MQ-преобразования.
  • Измененный MQ под свои матричные/векторные типы. Вот его и проверял.
Исходники обеих версий Alglib должны быть доступны, так что можно сравнить их между собой.
 
fxsaber #:

Тайминги.


Ну да... алгоритмам люди годы посвящают. Видел статью про быстрые сортировки на С++ - код вроде бы сложнее и лишние действия делает, но работает быстрее, за счет пред-расчетов процессора. Заглядывает вперед...
 
fxsaber #:

Сам исходник Alglib был MQ переписан под свои матрицы. Штатный CorrCoef даже обсуждать не хочу, там явные проблемы.

Т.е. есть два исходника Alglib.

  • Оригинальный на динамических массивах ДО MQ-преобразования.
  • Измененный MQ под свои матричные/векторные типы. Вот его и проверял.
Исходники обеих версий Alglib должны быть доступны, так что можно сравнить их между собой.
Мне - лень. Корреляцией не пользуюсь. Просто год назад заметил разницу в скорости и поделился, когда тема всплыла.
 
fxsaber #:
В NumPy, похоже, иной от ALglib алгоритм

В AlgLib, в оригинальной документации написано почему другие, какие именно и для чего предназначены. С регрессиями (я в основном там копался в AlgLib) там довольно оригинально сделано. 

опять-же странно всё сравнивается, как нельзя. Постройте графики зависимостей  скорость=f(размерность,особые_свойства_матриц) для разных библиотек/реализаций и по ним уже смотрите. Вы берёте краевые случаи, причём взятые с потолка. 

и там смотрится не абс.величина а симптоматика и наличие "плато". Оттуда уже выбирается средство для работы с конкретными данными. 

 
Forester #:

У Максима проц раза в 2 быстрее моего. А приводил ли он тайминги для Algliba уже не помню, кажется нет.

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

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

Это вообще дичь по скорости
Причина обращения: