bascomo
bascomo личный блог
03 января 2026, 14:08

Как я перевёл ферму торговых алгоритмов в облако и сделал её почти автономной

Недавно я прошёл курсы по дата-инжинирингу и почти полностью переписал своё решение для алгоритмической торговли. Ключевое изменение — полный переезд в облако.

Домашние компьютеры больше не участвуют в процессе. Теперь они либо на продажу, либо на выброс.

Инфраструктура

Я арендую облачные ресурсы примерно на 25 000 ₽ в месяц. Выбрал VK Cloud — провайдеров сейчас много, но по цене они плюс-минус одинаковые.

Хранилище данных

  • Свечные данные

  • Параметры инструментов

  • Результаты расчётов

Всё хранится в S3-совместимом объектном хранилище:

  • всегда доступно;

  • масштабируется бесконечно;

  • стоимость — около 0.20 ₽ за 10 ГБ.

Вычисления
Все расчёты выполняются в Kubernetes-кластере:

  • 10 серверов;

  • на каждом — по 10 контейнеров, внутри каждого в один момент времени выполняется один расчёт или исследование;

  • итого ~100 параллельных потоков.

Главный плюс — эластичность. Нужно срочно посчитать больше — добавил ещё 50 серверов в пару кликов. Не нужно — отключил.
Стоимость — около 20 000 ₽ в месяц.

База данных
Отдельный сервер с PostgreSQL:

  • не для хранения рыночных данных;

  • используется как диспетчер очередей расчётов.
    Стоимость — ~4 000 ₽.

Торговый сервер
Для самой торговли ещё в феврале арендован сервер на стороне брокера:

  • там крутится торговый движок;

  • он читает новые алгоритмы напрямую из S3;

  • задержки выставления ордеров минимальные.
    Стоимость — ~7 000 ₽.

В итоге система работает 24×7×365.
Я не думаю про электричество, интернет, железо, бэкапы и отказы — всё это делает облако. Я просто плачу деньги. Очень удобно.


Как всё работает по шагам

  1. Обновление данных
    Раз в сутки в Kubernetes запускаются задания:

    • обращаются к двум брокерам и Binance;

    • обновляют инструменты;

    • докачивают рыночные данные;

    • сохраняют всё в S3;

    • создают задания на расчёт в БД.

  2. Диспетчеризация
    В кластере постоянно работает диспетчер:

    • проверяет очередь расчётов;

    • при появлении задания сразу запускает его;

    • сам выбирает свободные хосты;

    • сам выделяет и освобождает ресурсы.

  3. Расчёты
    Алгоритмы запускаются в отдельных pods:

    • забирают данные из S3;

    • выполняют расчёты;

    • складывают результаты обратно в S3.

  4. Формирование портфеля
    Торговый движок каждое утро:

    • смотрит, какие новые алгоритмы появились;

    • обновляет портфель методом вытеснения:

      • худшие алгоритмы «увольняются»;

      • лучшие — включаются в торговлю.


Новый подход к тестированию стратегий

Подход к тестированию тоже сильно изменился.

Раньше:

  • IS / OOS

  • WFO

Теперь к этому добавился Монте-Карло.

Мои торговые системы относятся к set-and-forget:

  • у них нет параметров;

  • оптимизировать в WFO нечего.

Поэтому WFO по сути свёлся к проверке найденного алгоритма на всей истории.

Текущий процесс:

  1. Деление выборки на IS / OOS.

  2. Поиск алгоритма на IS.

  3. Отбрасывание всего, что на OOS уходит в минус.

  4. Эмуляция торговли на всей истории → получаю цепочку сделок.

  5. Монте-Карло:

    • много раз случайно переставляю сделки;

    • для каждого варианта считаю метрики (PF, DD, Sharpe, Sortino и т.д.).

  6. Агрегация результатов:

    • строю распределения;

    • считаю доверительные интервалы;

    • анализирую «толстые хвосты».

На основе этого рассчитываю Deflated Sharpe Ratio.

Зачем он нужен:

  • обычный Sharpe переоценивает результат при множестве тестов;

  • DSR оценивает вероятность того, что результат статистически значим, а не получен случайно.

Интерпретация:

  • DSR ≈ 0 — результат незначим;

  • DSR → 1 — высокая вероятность, что стратегия реальна.


Итог

В результате я стал ещё на несколько шагов ближе к цели:

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

Инфраструктура масштабируется, расчёты автоматизированы, отбор стратегий статистически обоснован.
Я просто задаю направление — всё остальное система делает сама.

50 Комментариев
  • Алекс Ч.
    03 января 2026, 14:29
    Какие результаты за прошлый год?
    • AH01
      03 января 2026, 16:00
      Алекс Ч., я каждый месяц 100% делаю на риск ) он не знаю
  • Ийон Тихий
    03 января 2026, 14:46
    Просто класс! И главное, конечная цель уже достигнута, нечего больше желать: «Я просто плачу деньги. Очень удобно»
    • Alexs
      03 января 2026, 14:50
      Ийон Тихий, у самурая нет цели, есть только Путь.
      • Ийон Тихий
        03 января 2026, 14:54
        Alexs, не далее как пару месяцев назад слово в слово мне сказал сосед по даче на общем собрании
  • Mihalich2020
    03 января 2026, 14:59
    И сколько в итоге прое... слил? Кроме двадцати пяти штук месячных.
  • Фёдор Г.
    03 января 2026, 15:13
    Добрый день, Вы пишите 20000 рублей за 10 серверов по 10 контейнеров, но насколько мне известно за 20000 рублей можно максимум средний рабочий компьютер арендовать на месяц. 
      • Фёдор Г.
        03 января 2026, 23:18
        bascomo, понятно. И часто у Вас ноды отваливаются в продакшене? 
  • Goreloff
    03 января 2026, 15:16
    Ого! Чел сливает деньги максимально технологично. Считает себя очень важным, наверное
  • AH01
    03 января 2026, 16:07
    Первый вопрос — не увидел модуль управления рисками (который в моменте отрубит все он должен быть внешний в другой сети)
    Второй вопрос — для контроля стратегий их данные нужно при тестирование не просто проверять а менять все параметры нон стопом, чтоб у вас появился график всех возможных результатов ( убирает подгон стратегий под фазу рынка)
    Третий вопрос — не увидел математика кто разрабатывает стратегии ( одному нельзя быть алго трейдером, нужна команда с опытом, экономит время)

    У меня все пока)) если нужен математик пишите)
      • AH01
        03 января 2026, 23:09
        bascomo, ну как нет у вас на кластер уже заложен риск, в кластере сколько то объектов, если один из них льет а другие вывозят вы ранжируете риск между ними, кому больше кому меньше давать или прибили риск на кластер и забили) 
  • а в чем плюс? у меня стоит сервер в чулане, плачу только за электричество а не 25 000 в месяц или 300000 в год
    Для многих это солидные деньги, столько арендная квартира приносит
    Понятное дело что для юриков это не деньги но для частника вполне
    • zhorzh
      03 января 2026, 17:09
      YouScriptor.com (вайб-хайринг), Не 25тр, а 25+20+4+7 тр. Ну хз, может ему надо срочно посчитать большой объем? Хотя если параметры подбирать не надо, то и большого объема расчётов не должно быть
      • zhorzh, ну тем более. Вообще облачный хостинг хорошая идея, но не для частника. Как по мне обслуживать физический сервер который под столом наоборот проще. Ну да могут быть простои, типа 2 раза в год обрыв связи на 30 минут. И что? Это не супер форс мажор  для частного робо трейдинга

  • zhorzh
    03 января 2026, 17:40
    Надо исходить из цены простоя. Если он зарабатывает 100тр в день с парой сделок в день, то есть смысл повысить надёжность. Хотя с такими годовыми затратами вполне можно и свой мини датацентр сделать
      • zhorzh
        04 января 2026, 16:58
        bascomo, так что там управлять, 2 канала интернета кинуть и ИБП с генератором (если свой дом). Мощное железо в целом не сильно дорогое, на те деньги, которые вы платите за год (а может и полгода, хз какое там железо арендуется), можно им целиком закупиться. Другой вопрос, что на это нужно желание, ну и получается привязка к физическому месту, т.к. дата-центр даже мини так просто не перевезти…
  • вячеслав иванов
    03 января 2026, 19:29
    Сколько,%годовых в среднем приносит торговля?
  • Zuko Yuppi
    03 января 2026, 19:48
    Постгра успевает на 100 потоков данные отдавать? Или там нет запросов сложных
    Курсы по дата инжинирингу — это вк, яндекс, или что-то другое?
  • Андрей К
    03 января 2026, 19:56
    • 10 серверов;

    • на каждом — по 10 контейнеров, внутри каждого в один момент времени выполняется один расчёт или исследование;

    • итого ~100 параллельных потоков.


    поделитесь опытом )

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

    или там у них в облаке макисум автоматизации? бац бац и готово
  • Дмитрий
    04 января 2026, 13:21
    Домашний комп, для чтения форума:


    потрачено 15к рублей на мать проц и 64Гига
    • zhorzh
      04 января 2026, 16:53
      Дмитрий, Вас нае**ли. У Intel Xeon E5-2680 v4 14 ядер и 28 потоков. Ну и это  уже древний хлам, который годится для несильно нагруженной многопоточности, и даже уже старенький Intel Core i5-13600K его обгоняет больше чем в 2 раза, а i9 и райзены посвежее в 4 раза.
      • Дмитрий
        04 января 2026, 18:50
        zhorzh, Да, только один проц i5 стоит ~ 20к, за 15к у меня 56*2,4ГГц=134,4
        а было бы 12 * 3,5 + 8*2.6=62,8. Не думаю что он в многопотоке выгоднее хоть и старый. Речь же в статье про много поток. Один i5 примерно на 40% быстрее в многопотоке, но у меня то их 2 стоит.
        gadgetversus.com/processor/intel-xeon-e5-2680-v4-vs-intel-core-i5-13600k/
        • zhorzh
          04 января 2026, 20:03

          Дмитрий, Там не частотами меряются, это разные технологии. А в сингле разница больше чем в 2 раза, даже по вашей ссылке 361 против 828, 2.3 раза. Ну и 2-х процессорные системы не дают двухкратного прироста, обмен между процами тормозит. Эти процы будут сопоставимы если расчетные нагрузки небольшие, типа там в 50 потоков качать с сайтов, тогда может ваш даже выиграет. Но если надо сделать быстро длительные вычисления, то лучше когда производительность на 1 ядро будет выше.

          Ну и опять же i5-13600 это в целом начальный уровень для какой-то серьезной торговли, потому что в сравнении с капиталом ну хотя бы в миллионов 5 это копейки.

        • zhorzh
          04 января 2026, 20:10

          Дмитрий, но машинка у Вас, конечно, интересная вышла, я когда думал на что мне менять старый 8 поточный xeon, тоже к такой присматривался, но в итоге решил, что технологии сейчас резко ушли вперёд и под мои задачи лучше меньше ждать и получать результаты не за 5 секунд, а за 2 и взял i5-13600.

          Ну и норм 2-х процессорная материнка на ваш проц стоила отнюдь не вменяемые деньги)

          • Дмитрий
            04 января 2026, 20:35
            zhorzh, 3890+ 8000+2*900=13690 За мать+память+2 цпу.
  • kvazar
    04 января 2026, 21:33
    рад, что только эта проблема оставалась, видимо…
  • krakadilv
    05 января 2026, 19:23
    Круче решений в алготрейдинге не встречал. С такими навыками можно и за HFT взяться

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн