Блог им. AleksandrBaryshnikov

Мои инженерные результаты

    • 14 августа 2026, 10:34
    • |
    • bascomo
  • Еще
Решил, что надо подвести какой-то профессиональный итог всей этой возни с вашим глупым алготрейдингом. И вот, что получилось.

Мои инженерные результаты:
— спроектировал и реализовал с нуля платформу алготрейдинга на C#/.NET 9 — от загрузки котировок до исполнения ордеров: 67 проектов, 77 тыс. строк кода, 773 автотеста, 28 задокументированных архитектурных решений;
— поднял пропускную способность верификации стратегий с 1-5 до 2 500 вариантов в секунду на воркер (в 500 раз), в том числе за счёт покрывающего индекса, ускорившего выборку в 525 000 раз по вводу-выводу;
— снизил пиковое потребление памяти вычислительного ядра со 117 ГБ до 2,6 ГБ (в 45 раз), сохранив побитовую идентичность результата на 33,3 млн строк;
— построил генетический поиск стратегий по ~640 бинарным признакам на 383 инструментах трёх площадок, обработав ~167 млн минутных свечей;
— развернул распределённые вычисления в Kubernetes (~12 узлов, автомасштабирование KEDA до 120 подов, scale-to-zero) и хранилище S3 + Parquet с прореживанием — экономия 97% объёма;
— реализовал портфельный отбор: TOPSIS и HRP с очисткой корреляционной матрицы 383x383 методом Марченко-Пастура — из ~96 тыс. кандидатов отбирается ~420 систем;
— построил торговый движок с семиуровневой защитой капитала: обработка свечи менее 1 мс, путь от сигнала до ордера менее 10 мс (p99);
— провёл out-of-sample валидацию на 30 инструментах за 45 дней; нейросетевая модель (ONNX) даёт преимущество +8,33 п.п. на тестовой выборке;
— написал автономного торгового бота для Bybit на 75 инструментов с собственным риск-движком: 3 451 сделка за три недели на демо-счёте, доля прибыльных 83,9%, Profit Factor 2,12;
— нашёл и устранил гонку потоков в параллельном вычислительном ядре, сделав расчёты детерминированными; корректность подтвердил A/B-валидацией;
— реализовал интеграции с площадками: Binance Futures (REST и WebSocket), Bybit, MOEX через Finam (протокол Transaq), Tinkoff Invest API, Bybit V5.

Торговля: 24 918 закрытых сделок по 293 инструментам на собственном счёте, три года из четырёх положительные.

Стек: C# 13/.NET 9, Python, MS SQL Server (T-SQL, columnstore), Kubernetes и KEDA, Docker, S3 + Parquet, DuckDB, ONNX Runtime, xUnit, Serilog, Git; генетические алгоритмы, TOPSIS, HRP, Марченко-Пастур, DSR/CPCV/PBO.

Последние 10 сделок + нарастающий итог за прошлые сутки (13.08, столбцы — день.время открытия, время закрытия, тикер, прибыль на сделку и нарастающий итог с начала суток с учётом комиссии, валюта — USDT):
08.06:39  18:39  TUT      +326  +3 958
12.12:54  19:49  VIRTUAL   +74  +4 120
13.10:17  19:00  XMR        +8  +3 966
13.15:58  20:51  CAP      +163  +4 284
13.16:40  18:19  LINK       −3  +3 633
13.17:03  18:22  OP         −3  +3 630
13.17:22  19:14  ONDO      +17  +3 983
13.17:34  18:33  TAO        +2  +3 632
13.18:31  19:27  BNB        +2  +3 985
13.18:47  19:31  TUT       +61  +4 046

Статистика с начала торгов (27.05) по конец вчерашнего дня:
Процесс: ALIVE pid 3800, лог 23:41:08, ошибок 0, диск 62.5GB
— Сегодня закрыто: 151, ✅124 / ❌27 (82%)
— PnL за сутки: gross 4 824 − комиссия 573 = net 4 251 USDT
Счёт (USDT):
114 188 старт
+ 157 731 реализовано по вчера
+ 4 251 реализовано сегодня
— (4 823) funding
= 157 159 сейчас
в т.ч. комиссия за всё время: (63 414) — уже в «реализовано»
— Свободно: 36 669 USDT
— Задействованная маржа: 79 080 (пик дня 90 764) USDT
— Плечо: 5
— Экспозиция: 394 127 USDT
— Открыто: 45 (33L / 12S)
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
2.3К | ★6
2 комментария

Здравствуйте, не могли бы Вы ответить на следующие вопросы:

  1. Каково среднее время жизни сделок? Интересует горизонт торговли на генерируемых системах (краткосрок, среднесрок, долгосрок).

  2. 640 бинарных признаков — это, грубо говоря, 640 кусочков стратегии? То есть отдельных условий входов/выходов? Условия для входа и выхода собираются независимо и потом комбинируются?

  3. «Реализовал портфельный отбор: TOPSIS и HRP с очисткой» — это про то, что вообще попадёт в портфель? В портфеле есть какая-либо кластеризация по корреляции или по другому признаку?

  4. Вы упомянули минутный ТФ. У вас все стратегии работают только на нём, или он как база, а из него уже строятся старшие ТФ?

  5. Вероятно, у вас есть проблема, что части стратегии используют один и тот же индикатор. Если так, то как-то подготавливаются расчёты заранее или при переборе постоянно считается заново?

  6. Если я правильно понимаю, воркер, когда получает задание, тянет историю с базы. Успевает ли база отдавать историю на множество воркеров?

отличная работа
а мы до сих пор лаптями щи хлебаем

avatar



Пользователь разрешил комментарии только друзьям.

Читайте на SMART-LAB:
Фото
Почему плечо используют не постоянно, а под конкретную идею
Кредитное плечо не стоит воспринимать как способ для быстрого разгона капитала. Логика опытного инвестора обычно другая: плечо — это не...
Фото
Инарктика: тот случай, когда сильный рост выручки еще ничего не значит
10 августа Инарктика опубликовала свои операционные результаты. Акции AQUA почему-то бурно выросли, и я на следующий день написал в наш...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 14 августа 2026 г.
Следите за нашими новостями в удобном формате: Telegram , Youtube , RuTube, Smart-lab , ВКонтакте , Сайт
Фото
Облигации с Call-опционами: как избежать рисков убытков
Во 2-ом эшелоне и сегменте ВДО немало облигаций с Call-опционами (право досрочного погашения эмитента в определенную дату). Если эмитент решит...

теги блога bascomo

....все тэги



UPDONW
Новый дизайн