Не затрагиваю софт кванта и железо для алготрейдинга, потому что каждому свое.
А вот вычислительных ресурсов кванту постоянно не хватает.
Вычислительные ресурсы.
Квант в команде занят изысканиями, нахождением некой альфы. Для этого требуются немалые вычислительные ресурсы. Уровень исследований напрямую от них зависит. У одиночки все очень скудно с этим, поэтому единственный вариант — некие ноу-хау, прорывная алгоритмическая оптимизация и т.д. Все то, что позволяет приблизиться к покрытию задач, которые совсем не лобовым способом могут быть поставлены хедж-фондом на локальный супер-компьютер.
Некоторый исследовательский прорыв получается достигнуть через алгоритмическую оптимизацию. Приоткрыть дверь туда, где простой обыватель не ходит.
Однако, количества ядер и памяти все время не хватает, даже если получилось алгоритмически ускорить расчеты в 1000 раз.
Расчеты кванта бывают двух типов: тюнинг и исследование.
Это очень интересная побочка/фича машинного обучения, когда бесконечные варианты осмысления и идей не осознаются, а автоматизируются. Отсюда вариант «на коленке». Как следствие, зачастую скромные требования к железу и больше уделение времени инструментарию, чем творчеству.
Расчеты кванта бывают двух типов: функция и фильтр.
Преобразование БД1 в более удобоваримую (не компактную) БД2.
Анализ данных полученной БД2 на предмет наличия закономерностей.
Просьба в комментариях написать, какое железо используете для расчетов и для каких целей (Тюнинг/Исследования или Функция/Фильтр). Не имеет значения, хедж-фонд это или одиночка. Просто поделитесь Hard-конфигурацией.
Скромный вариант: 8 CPU, 16GB, тюнинг: чистый расчет в течение 24 часов. Исследования в режиме тюнинга новых идей, реализованных в виде ТС.
Железо…
Скажу больше, если нужна скорость — даже асм тормоз.
Ближайший пример — написать на C код для микроконтроллера. Там компиляторы близки к совершенству на уровне космоса, так как ресурсы ограничены. Разница по скорости разложения рядов Фурье на С и на асме — небо и земля. Вернее на С это невозможно сделать вообще на 8-ми битках. А на асме даже Z80 летает.
1. Сбор и архивация котировок, торговые терминалы — всего 16 виртуалок
2 x Intel Xeon 2683 v3 128 Gb RAM — 1 шт.
2. Ресерч
AMD Threadripper 3970X 256 Gb RAM — 2 шт.
3. Продакшн
AMD Ryzen 5950X 64 Gb RAM — несколько шт.
Про тюнинг ничего не понял. Если ТС надо подстраивать — это не ТС, IMHO
Функция и фильтр упакованы в ресерч
С уважением
У меня расчеты с большими матрицами и грамотной векторизацией.
Соответственно, запихивать их в графпроцессоры геморно — матрицы то неразреженные.
Распараллеливать программы грамотно — тоже гемор. Так что я тупо запускаю массив похожих экземпляров на многих ядрах. Быстро, дешево и сердито.
Был у меня на первой машинке Xeon Phi. Грелся сильно, толку — х@й...
С уважением
Но при моих расчетах Matlab с грамотной векторизацией и всеми массивами в статике (нужно много оперативки) пока никто не побил.
Еще Haskell неплох для прототипирования, IMHO.
На C, C++ можно писать быстро, но ловить ошибки бывает очень и очень трудно.
Matlab же максимально приближен к исходной математике, поэтому код компактный, а скорость разработки феноменальная.
С уважением
P.S. Параллельность много на чем неплохо реализуется. Просто не все алгоритмы эффективно распараллеливаются (на эту тему даже большая наука есть). Поэтому я поступаю по рабоче-крестьянски — много ядер = много параллелей )))
Просто слишком много знания в одну голову.
А наружу отдавать алгоритмы на оптимизацию боязно.
(мне)
дешевле старые сервера ксеоны с 64 гб x 24 ядра купить в китае.
надежность старого железа в ресерче не важна.
Если
1. ДЦ не в РФ
2. IPMI хватает для администрирования (криптованные диски?)
Ну и масса дополнительных заморочек с конфиденциальностью
С уважением
Они все известны на самом деле
С уважением