Привет, коллеги!
Хочу поделиться историей о том, как мы столкнулись с типичной проблемой в количественных финансах и что из этого вышло.
Проблема, знакомая каждому, кто строил риск-моделиПредставьте: у вас портфель из тысяч инструментов. Вы считаете Value-at-Risk (VaR), ожидаемые потери (Expected Shortfall), греки для опционов, скоринговые модели. Данные обновляются постоянно — новые цены, ставки, волатильности.
Как это обычно работает?
Либо вы пересчитываете всё с нуля каждый раз (дорого, медленно, особенно если инструментов много)
Либо вы строите сложные триггеры и кэши, которые потом отлаживаете месяцами
В обоих случаях вы либо жертвуете скоростью, либо тратите уйму времени разработчиков.
Как мы пытались решить эту проблемуМы начали с простого вопроса: «А что, если пересчитывать только то, что реально изменилось?»
Звучит очевидно, но реализация оказалась нетривиальной. Когда у вас многослойная модель (например: цены → греки по инструментам → агрегация по секторам → портфельные метрики → общебанковские лимиты), одно изменение в цене может затронуть десятки тысяч зависимых значений.
О чём это.
Все нормальные расчёты (опционы, VaR, греки) либо дёргают неуправляемый C++ код, либо жрут память и GC, либо просто медленные.
Я написал свою библиотеку — QuantCore.Net. Это in-process .NET 8 ядро для финансовых вычислений. Без REST, без Python-прослоек, без боли.
Под капотом: SIMD, ArrayPool, детерминированный RNG, батч-режимы. Всё, чтобы считать сотни тысяч инструментов за миллисекунды и не ловить StopTheWorld в 3 часа ночи.
Вы пишете своих роботов на C#.
— Хотите быстро считать справедливую цену опционов или греки в реальном времени.
— Надоело дёргать Excel или самопальные функции из интернета, которые плавают на 5%.
Вы управляете портфелем и считаете риск.
— Historical VaR / ES (CVaR) за 0.4 мс на 100 000 наблюдений.
— Ни одной аллокации памяти — GC молчит.
Вы делаете factor model PnL.
— SIMD-скалярка экспозиций и факторных доходностей.
— 100 000 позиций × 32 фактора = 2.8 мс.


| risk_level | NUMBER | Уровень риска клиента. Возможные значения:
|
Введение
В трейдинге каждая секунда может иметь значение. Но стандартные инструменты часто не позволяют работать с данными высокого разрешения. В этой статье я поделюсь опытом создания кастомного решения для TSLab, которое сохраняет 1-секундные свечи с расширенными метриками (открытый интерес, количество продавцов/покупателей, лента сделок, лучшие бид/аск и др.). Покажу, как забрать эти данные из TSLab, передать их в Python для ML – анализа и т.д.
Задача
Трейдеры часто сталкиваются с ограничениями стандартных платформ: нельзя сохранить сверхмалые таймфреймы, добавить кастомные метрики или быстро переложить данные в Python для ML.
**Цель проекта** — создать инструмент, который:
— Сохраняет 1-секундные свечи с расширенными данными (открытый интерес, лента сделок…).
— Автоматически генерирует CSV-файлы для анализа.
— Позволяет строить интерактивные графики и обучать ML-модели.
**Главный герой** — ИИ-ассистент DeepSeek, который ускорил разработку в несколько раз и решил ключевые технические проблемы.
Некоторое время назад закончил разработку подключение к Московской Бирже по протоколам FIX и FIX/FAST для терминала OsEngine. Сами исходники находятся здесь. А это первая статья из серии про FixFast, в которой будем разбираться с тем что это такое.
Начнём с того, что нужно делать в первую очередь. С поисков в Гугле и Яндексе какой-то информации. И как у меня это проходило.


1 ордер — 98 мс (прогрев)
2 ордер — 56 мс (прогрев)
3 ордер — 26 мс
4 ордер — 20 мс
5 ордер — 30 мс
6 ордер — 28 мс
7 ордер — 18 мс
8 ордер — 19 мс
9 ордер — 16 мс
Приветствую!
Большинство знает про арбитраж, где нужна скорость, но я расскажу вам про другую область, где в основном соревнуются не такие профессионалы, но скорость также нужна.
Что такое Pump — это когда «крипто школьники» собираются и решают вместе в один момент купить какую-то монету. Монета сильно подскакивает, а потом нужно резко выйти с огромной прибылью.
Монета, как правило, выбирается с низкой ликвидностью. И поначалу в эти игры и вправду играли только школьники.

Большинство «пампов» выкладываются в телеграм и дискорд группы.