Интеграция AI-трейдинг-бота с QUIK QLUA

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1Все 1564 услуг
Интеграция AI-трейдинг-бота с QUIK QLUA
Средний
~3-5 дней
Часто задаваемые вопросы

Направления AI-разработки

Этапы разработки AI-решения

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1361
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1251
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    957
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1189
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    646
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    931

Мы сталкиваемся с ситуацией: трейдеры пишут простые стратегии на QLUA, но для ML-моделей (LSTM, градиентный бустинг) нужны Python-библиотеки и GPU. QUIK — доминирующий терминал на российских рынках (ММВБ, СПБ Биржа), а QLUA — встроенный Lua-скриптовый движок. Проблема: QLUA не тянет тяжелые вычисления, а Python не умеет напрямую выставлять ордера. Решение — асинхронный TCP-мост между QLUA и Python AI-сервером. Ошибка в QLUA-скрипте может стоить миллионы, а latency в 50 мс — превратить прибыльную стратегию в убыточную. Наша команда устраняет эти риски, имея за плечами более 50 интеграций и 5+ лет опыта. Средний объём данных на один тик — 100 байт, что при 10 тиках в секунду даёт нагрузку 1 Кб/с — некритично.

Как работает интеграция AI-бота с QUIK?

Основной подход — QLUA-скрипт выступает посредником: получает данные от терминала, отправляет их в Python по TCP, получает сигнал и отправляет ордер. Это даёт минимальную задержку (p99 <10 мс) и полный контроль над ML-логикой. Рассмотрим типовую реализацию.

QLUA + Python TCP Bridge

-- QLUA скрипт: получает данные, отправляет Python, получает сигнал
local socket = require("socket")
local json = require("json")

local client = socket.tcp()
client:connect("127.0.0.1", 5555)

function OnBar(class_code, sec_code, interval, candle)
    if class_code == "TQBR" and sec_code == "SBER" then
        local features = {
            open = candle.open,
            high = candle.high,
            low = candle.low,
            close = candle.close,
            volume = candle.volume,
            symbol = sec_code
        }
        client:send(json.encode(features) .. "\n")
        local signal_str = client:receive("*l")
        local signal = json.decode(signal_str)
        if signal.action == "buy" then
            SendOrder(sec_code, signal.price, signal.quantity, true)
        elseif signal.action == "sell" then
            SendOrder(sec_code, signal.price, signal.quantity, false)
        end
    end
end

function SendOrder(sec_code, price, qty, is_buy)
    local trans = {
        CLASSCODE = "TQBR",
        SECCODE = sec_code,
        OPERATION = is_buy and "B" or "S",
        PRICE = tostring(price),
        QUANTITY = tostring(qty),
        ACCOUNT = "L01-00000F00",
        TYPE = "L",
        TRANS_ID = tostring(os.time())
    }
    sendTransaction(trans)
end
# Python AI-сервер
import socket
import json
import numpy as np
from your_ml_model import predict

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('127.0.0.1', 5555))
server.listen(1)

conn, addr = server.accept()

buffer = ""
while True:
    data = conn.recv(4096).decode()
    buffer += data
    if '\n' in buffer:
        line, buffer = buffer.split('\n', 1)
        features = json.loads(line)
        signal = predict(features)
        conn.send((json.dumps(signal) + '\n').encode())

Сравнение подходов к интеграции

Подход Получение данных Отправка ордеров Задержка (p99) Сложность
QLUA+TCP Да Да <10 мс Средняя
Trans2Quik Нет Да <2 мс Низкая
QuikSharp Да Да <5 мс Высокая

Выбор между ними зависит от приоритетов: если нужен полный цикл — QLUA+TCP, если только быстрая отправка — Trans2Quik. Для .NET-проектов удобен QuikSharp, но он требует установки соответствующей среды.

Как избежать потери соединения?

При разрыве TCP-соединения QLUA-скрипт может зависнуть. Решение — watchdog в Python-сервере, который перезапускает скрипт при потере связи. Также в QLUA используем таймауты и повторные подключения. В таблице ниже — типовые задержки при разных способах получения данных.

Источник данных Частота обновления Задержка (мс)
OnBar (1 мин) Каждую минуту 100-200
OnTrade Реалтайм 10-50
Level II (стакан) Каждое изменение 5-20

Получение биржевых данных

Финам Data Feed — для ML обучения: исторические данные через Финам API или экспорт из QUIK. QLUA Data Tables — для потоковых данных.

-- Получение всех сделок из таблицы
local trades_table = getTable("trades")
local num_rows = #trades_table
-- Подписка на стакан
Subscribe_Level_II_Quotes("TQBR", "SBER")
local order_book = getParamEx2("TQBR", "SBER", "BID")

Специфика российского рынка

Режим T+2 на ММВБ: учёт в AI-стратегиях. Short позиции требуют РЕПО или наличия ценных бумаг. Брокерские комиссии: типичные 0.035–0.1% от оборота. Для дейтрейдинга это значимо. Брокерский сбор + биржевой сбор + НКД для облигаций.

Фьючерсы и опционы через FORTS: отдельный класс SPBFUT. Кодировка тикеров (SiM5, RIM5). Часовое гарантийное обеспечение.

Что делать, если модель даёт ложные сигналы?

Ложные сигналы — частая проблема ML-стратегий. Мы внедряем фильтрацию: дополнительная статистическая проверка (z-score, Z-test) перед отправкой ордера. Также используем стоп-лоссы и ограничение на количество сделок в минуту.

Процесс работы

  1. Аналитика: обсуждаем стратегию, выбираем стек (QLUA+Python или другой).
  2. Проектирование: архитектура TCP-моста, типы ордеров, частоты данных.
  3. Разработка: пишем QLUA-скрипт, Python AI-сервер, интегрируем модель.
  4. Тестирование: paper trading в QUIK, симуляция рыночных условий с разными режимами T+2 и FORTS.
  5. Деплой: настройка мониторинга, автостарт скриптов, документация.

Сроки и стоимость

Интеграция под ключ занимает от 2 до 4 недель в зависимости от сложности ML-модели и количества инструментов. Стоимость рассчитывается индивидуально. Для ориентира: базовая интеграция QLUA+Python — от 2 недель, с обучением модели — до 2 месяцев.

Чек-лист для запуска AI-бота

  • Настроить watchdog для TCP-соединения
  • Включить логирование всех транзакций QLUA
  • Проверить latency в пиковые нагрузки (более 100 сделок в секунду)
  • Протестировать работу с разными классами инструментов (TQBR, SPBFUT)
  • Установить лимиты на частоту ордеров

Что входит в работу

  • QLUA-скрипт с обработкой ошибок и переподключением
  • Python AI-сервер с интеграцией вашей модели
  • Мониторинг через логи и метрики (latency, throughput)
  • Документация по запуску и обслуживанию
  • Обучение команды (2 часа)
  • Поддержка 1 месяц после деплоя

Документация QLUA описывает все события и функции. Для старта достаточно socket-модуля Lua и socket-модуля Python.

Оцените ваш проект — напишите нам, мы поможем подобрать оптимальную архитектуру. Закажите консультацию, чтобы мы проанализировали вашу стратегию. Свяжитесь с нами для обсуждения деталей.

Отраслевые AI-решения: медицина, финансы, ритейл, производство

Мы сталкиваемся с одной и той же болью: горизонтальная модель текста не различает медицинскую номенклатуру, а стандартный детектор объектов путает «царапину на шве сварки» с «царапиной на корпусе». Каждый раз это разные дефекты с разными последствиями. Чтобы этого избежать, мы строим отраслевые решения поверх общих методов, но с глубоким знанием домена — от регуляторики до специфики данных. За 5 лет мы провели 80+ проектов в финтехе, медицине, ритейле и производстве, и ни один не обошёлся без адаптации под конкретный business case.

Медицина: регуляторный лабиринт и data governance

Медицинский AI отличается не техническими алгоритмами, а compliance-first подходом. В зависимости от страны применения модель может быть медицинским изделием класса II или III, требующим клинических испытаний (FDA, CE MDR, ГОСТ Р). Мы гарантируем соблюдение этих норм на этапе архитектуры — править постфактум в 10× дороже.

Медицинская визуализация. Детекция на рентгенограммах, КТ, МРТ — зрелая область. Модели на ResNet, EfficientNet, SegFormer достигают AUC 0.94–0.97 на стандартных задачах (пневмония на CXR, полипы на колоноскопии). Ключевая проблема — generalization: модель, обученная на данных одного производителя сканера, деградирует на другом из-за различий в preprocessing и артефактах. Решение — domain adaptation через MONAI (Medical Open Network for AI) от NVIDIA, в котором встроены DICOM-loading, 3D augmentation и confidence calibration. TotalSegmentator — для автоматической сегментации 117 структур на КТ, production-ready, лицензия Apache 2.0.

Clinical NLP. Извлечение структурированной информации из клинических записей: диагнозы (ICD-10/11), назначения, даты, показатели. medspaCy, scispaCy, MedCAT — специализированные NLP-библиотеки с онтологиями (SNOMED-CT, UMLS). Fine-tuning BioBERT или ClinicalBERT на наших данных даёт F1 0.85–0.92 на NER задачах против F1 0.65–0.72 у общего BERT. Это мы проверяли на проекте с региональным онкологическим центром — точность извлечения стадий рака выросла на 23%.

Clinical decision support. LLM-ассистенты для поддержки клинических решений — регуляторно серая зона. Мы используем RAG-систему поверх клинических гайдлайнов (UpToDate, локальные протоколы) с явным указанием источника каждого утверждения. Модель не диагностирует, а помогает найти релевантный протокол. Стек: LlamaIndex + pgvector + pubmedbert-base-embeddings + Llama Guard для safety. Данные в DICOM/HL7 FHIR, on-premise деплой обязателен.

Что входит в работу по медицинскому проекту:

  • Аудит данных и регуляторной карты (FDA/CE/ГОСТ)
  • Выбор архитектуры под тип медицинского изделия
  • Разработка и валидация модели (AUC, sensitivity, specificity)
  • Интеграция с PACS/EHR (HL7 FHIR)
  • Подготовка документации для CE-маркирования (если требуется)
  • Обучение персонала работе с моделью

Финансы: как обеспечить интерпретируемость скоринговой модели под требования Basel IV?

Финансовый сектор — один из самых зрелых по применению ML, но зарегулированность здесь максимальна. Каждая модель, влияющая на кредитные решения, подпадает под Basel IV, EU AI Act, GDPR Article 22. Мы это проходили — в 2023 году внедрили скоринговую модель для банка из топ-10, где каждая запись требовала объяснения по SHAP.

Кредитный скоринг. Gradient boosting (LightGBM, XGBoost) — доминирует. Нейронные сети дают +0.5–2% AUC, но теряют интерпретируемость. Стандарт: LightGBM + SHAP для объяснения каждого решения. Обязательна проверка на fairness: Fairlearn или aif360 для аудита disparate impact по protected attributes (возраст, пол). Класс «дефолт» составляет 1–5% — при имбалансе 1:30 модель с accuracy 97% может иметь recall 0.2. Решение: focal loss, class_weight='balanced', SMOTE + careful validation.

Алгоритмический трейдинг и риск-менеджмент. LSTM и Transformer для прогноза цен — популярны, но в production нестабильны из-за нестационарности финансовых рядов. Более надёжный подход: ML для signal generation (классификация: рост/падение за горизонт N) с традиционным portfolio optimization сверху. Backtesting через Zipline-Reloaded, vectorbt, QuantLib. Критичен правильный backtesting — look-ahead bias убивает результаты. Мы гарантируем чистоту эксперимента: все данные на момент сигнала доступны в реальном времени.

AML (Anti-Money Laundering). Graph Neural Networks для анализа транзакционных сетей — активно развивающаяся область. PyG, DGL для GNN. Задача: обнаружить suspicious patterns в графе транзакций (layering, structuring). Recall критичнее precision — лучше 10 ложных тревог, чем пропустить отмывание. В проекте для крупного платёжного сервиса мы повысили recall на 18% без увеличения false positive rate.

Что входит в работу по финансовому проекту:

  • Аудит данных и регуляторных требований (Basel, EU AI Act)
  • Выбор модели и обеспечение explainability (SHAP, LIME)
  • Проверка fairness и отсутствие bias
  • Интеграция с core banking / trading systems
  • Документация и compliance-отчётность
  • Мониторинг дрейфа модели и ретейн

Ритейл и e-commerce: рекомендательные системы и demand forecasting

Рекомендательные системы. Архитектурный стандарт последних лет: two-tower модель для retrieval + ranking с cross-features. TensorFlow Recommenders или Merlin от NVIDIA для GPU-accelerated feature processing. Для небольших каталогов (<100k item) достаточно LightFM. Частая ошибка — обучать на implicit feedback без учёта position bias. Решение: IPW (Inverse Propensity Weighting) или randomized logging на части трафика. Срок разработки базовой рекомендательной системы — 4–8 недель, включая A/B-тест.

Demand forecasting и inventory optimization. Иерархическое прогнозирование: SKU → категория → магазин → регион. HierarchicalForecast от Nixtla автоматически согласует прогнозы по уровням. TFT или N-HiTS для базового прогноза, gradient boosting для adjustment на экзогенных факторах (промо, погода, события). Один проект в ритейле привёл к снижению сток-аутов на 15% за счёт точного промо-калибровки.

Visual search и размерная совместимость. CLIP-embeddings для поиска по изображению — деплоится за 2–3 недели: clip-ViT-B-32 или clip-ViT-L-14, индекс Faiss или Qdrant, REST API. Для size recommendation — специфические модели на данных возвратов и отзывов с указанием fit.

Что входит в работу по ритейл-проекту:

  • Анализ данных транзакций, товаров, клиентов
  • Выбор архитектуры (collaborative / content-based / hybrid)
  • Разработка и оценка качества (NDCG, recall@k, MRR)
  • A/B-тест и мониторинг business impact
  • Поддержка версионирования и переобучения моделей

Производство: инспекция качества и predictive maintenance

Quality control и дефектоскопия. CV-модели для инспекции продукции — одна из наиболее зрелых отраслевых задач. YOLOv10 для детекции дефектов, SegFormer для сегментации. Специфика: дисбаланс классов (дефекты редки), высокие требования к recall (пропуск дефекта хуже ложной тревоги). Типичный набор данных: 500–2000 изображений с дефектами + 500–1000 нормальных. Few-shot learning через DINO или SAM 2 позволяет работать с 50–100 аннотированными примерами. Мы получили опыт на линии по производству электроники — recall 0.95 при FPR 0.03.

Predictive maintenance. Вибрационные датчики, токовые датчики, термопары → feature extraction → аномалия или классификация режима. Модели: LSTM-AE для unsupervised, LightGBM для supervised (если есть история отказов). Интеграция с SCADA/OPC-UA через opcua-asyncio или MQTT. Ключевая метрика: False Negative Rate — пропущенный предотказ стоит дороже ложной тревоги. Порог настраивается под бизнес-стоимость каждого типа ошибки. Сроки: от 3 до 6 месяцев до production.

Digital twin и симуляция. Surrogate models — ML-модели, заменяющие дорогостоящее физическое моделирование. Если CFD-симуляция занимает 6 часов, а surrogate (обученная на 10 000 симуляций) — 0.01 секунды, это 2 000 000× ускорение для оптимизации. SALib для sensitivity analysis, botorch для Bayesian optimization поверх surrogate.

Что входит в работу по производственному проекту:

  • Аудит данных сенсоров / изображений
  • Выбор модели под задачу (CV / time series / vibro)
  • Разработка пайплайна (ETL, feature engineering, training)
  • Развёртывание на Edge / on-premise
  • Мониторинг и ретейн модели

Общие принципы отраслевого AI

Независимо от отрасли, есть паттерны, работающие везде. Данные важнее архитектуры. В медицине 1000 качественно размеченных снимков лучше 100 000 плохих. В производстве 200 реальных примеров дефектов ценнее 10 000 синтетических. Compliance-first design — регуляторные требования проще встроить в архитектуру с начала, чем добавить позже. Логирование, объяснимость, версионирование — с первого дня. Domain expert в команде — ML-инженер без domain knowledge делает медленно и с ошибками то, что ML-инженер плюс врач/финансист/технолог сделают быстро и правильно.

Мы гарантируем сертификацию под требования заказчика (ISO 13485, SOC 2, GDPR) и предоставляем полную документацию модели (model card, datasheet, compliance report). Наш опыт — 10 000+ часов инженерной практики и 80+ проектов.

Как проходит работа над отраслевым AI-решением?

  1. Погружение в домен (2–3 дня) — интервью с экспертами, изучение регуляторных требований, аудит доступных данных.
  2. Проектирование MVP (1–2 недели) — выбор стека, архитектуры, оценка feasibility.
  3. Разработка и валидация (от 4 недель до 6 месяцев в зависимости от отрасли) — обучение модели, тестирование, compliance.
  4. Интеграция и деплой (1–4 недели) — on-premise / cloud / edge, документация, обучение персонала.
  5. Поддержка и мониторинг — дрейф модели, ретейн, SLA.

Ориентировочные сроки:

Тип решения Минимальный срок Полный цикл с compliance
Retail recommendation 4–8 недель 3–6 месяцев
Credit scoring 6–12 недель 6–12 месяцев
Medical imaging 12–24 недели 12–24 месяца (с CE)
Predictive maintenance 8–16 недель 3–6 месяцев

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

Почему стоит заказать отраслевое AI-решение у нас?

  • 80+ реализованных проектов в финтехе, медицине, ритейле и производстве.
  • 5 лет на рынке — устойчивый опыт работы с compliance и деплоем.
  • Гарантия качества: мы отвечаем за достижение целевых метрик (AUC, recall, latency p99) и предоставляем полную документацию.
  • Лицензированные технологии: PyTorch, MONAI, LightGBM, Qdrant — используем open-source с коммерчески безопасными лицензиями.
  • Гибкость: работаем как подрядчик, так и в роли усиления вашей команды.

Свяжитесь с нами — обсудим вашу задачу и подготовим коммерческое предложение с планом работ.