Команда ИИ-агентов и этапы исследований
Специализированные агенты Stratmill передают каждую стратегию по фиксированной последовательности этапов с проверками между ними.
Команда агентов
Руководитель исследований формулирует гипотезы. Разработчик стратегий пишет для них код на базе NautilusTrader. Агент контроля качества проверяет корректность кода. Аналитик стратегий изучает результаты бэктестов и оптимизации и решает, что делать дальше. Специалист по рискам проверяет безопасность стратегии перед продвижением. Управляющий портфелем принимает решения о продвижении и распределении средств во всём портфеле.
Команду поддерживают движок бэктестинга, который запускает каждый бэктест и оптимизацию с применением реальных ставок комиссий; инженер данных, поддерживающий полноту каталога рыночных данных; редактор Библиотеки, предлагающий доработки со ссылками на источники из Библиотеки знаний при итерации стратегии; и модуль экспорта, переносящий стратегии на другие платформы.
Этапы по порядку
Запуск проходит этапы написания кода, проверки, бэктестинга, анализа результатов бэктеста, оптимизации и аналитической оценки. После аналитической оценки стратегия может вернуться к написанию кода для новой итерации, отправиться к руководителю исследований для пересмотра гипотезы, быть прекращена или перейти к оценке рисков, продвижению и бумажной торговле. Поздние этапы обрабатываются в первую очередь, чтобы очередь нового кода не задерживала проверку и бэктестинг.
Этапы проверки
Код проходит проверку до запуска на всей истории. Повторная отправка кода, идентичного предыдущей итерации, сразу отклоняется. Проверка согласованности подтверждает, что код торгует на той площадке и тем инструментом, которые указаны в гипотезе. Статический анализ проверяет структуру и наличие обязательных методов, а также запрещает доступ к файлам, сети и системе и способы чтения данных из будущего.
Затем синтетические тесты запускают стратегию на сгенерированных рынках (восходящий тренд, нисходящий тренд, боковое движение, всплеск волатильности, нулевой объём и ценовой разрыв, а также отсутствие дополнительных данных, если стратегия их использует) в изолированной песочнице. Короткий бэктест на недавних реальных свечах в песочнице должен совершить хотя бы одну сделку. Наконец, агент контроля качества сверяет логику с гипотезой: проверяет использование будущих данных, направление сигналов, размер позиций, правила площадки и расписание. Контроль качества не оценивает доходность.
Если проверка не пройдена
При неудаче запуск возвращается разработчику с описанием проблемы. После 3 неудачных попыток запуск прекращается. Если правило никогда не срабатывает или разработчик не может выполнить требование, запуск возвращается руководителю исследований для пересмотра гипотезы. Сбои, вызванные самой платформой, приводят к повторной попытке и не засчитываются как неудача стратегии.
Два решения аналитика
После первого бэктеста аналитик решает: оптимизировать стратегию, продолжить итерации, пересмотреть гипотезу или отказаться от неё. Так часы оптимизации тратятся только на идеи с реальным сигналом. Проверка жизнеспособности сверяет решение с цифрами: стратегию с достаточным числом сделок и средней доходностью сделки выше минимального уровня комиссий площадки нельзя бросить по прихоти, а стратегию ниже этого уровня нельзя отправить на оптимизацию.
После оптимизации аналитик решает, продвигать стратегию дальше, продолжить итерации, пересмотреть её или отказаться от неё, опираясь на данные вне выборки и контрольной выборки. Каждое решение и его обоснование сохраняются на странице стратегии.
Минимальные уровни комиссий по площадкам
Аналитик проверяет минимальный уровень издержек Forex и записанные для запуска данные о спреде, комиссии и финансировании. Гипотеза с недостаточным чистым преимуществом дорабатывается или отклоняется. Отсутствие данных об издержках требует операционной приостановки; подменять их нулевыми издержками нельзя.
Проверка руководителем по рискам
Перед продвижением руководитель по рискам проверяет безопасность стратегии и должен явно её одобрить. Дополнительно действуют ограничения, закреплённые в коде: плечо не превышает лимит вашего профиля риска; определён контроль риска (стоп, ограничивающий долю капитала под риском в каждой сделке, или выход по сигналу с ограниченным размером позиции); отсутствуют критические проблемы, а оценка риска приемлема. Руководитель по рискам также может отклонить запрос аналитика на исключение из контрольного условия. При отклонении запуск возвращается разработчику.
Управляющий портфелем и распределение капитала
На этапе управляющего портфелем код повторно проверяет каждое контрольное условие и ограничение риска, не допускает стратегии с высокой корреляцией к уже запущенным и решает, продвигать ли её к бумажной торговле. Капитал распределяется обратно пропорционально волатильности с лимитом на каждую стратегию; новые стратегии начинают с равных долей, а стратегии на этапе инкубации получают половинную долю. Переход от бумажной торговли к реальной никогда не происходит автоматически.
Ограничения на число итераций и отказ от стратегии
От стратегии отказываются, если средняя доходность сделки ниже торговых издержек, результаты на вневыборочных данных неудовлетворительны, стратегия неоднократно не проходит проверку или аналитик не видит пути к её жизнеспособности. Причина фиксируется и передаётся исследовательскому агенту, чтобы он не повторял тот же тупиковый путь.
Запуски платформы и ваши запуски
Платформа непрерывно проводит собственные исследования; ваше рабочее пространство работает параллельно с зарезервированными ресурсами и более высоким приоритетом, поэтому ваша идея не ждёт в очереди за задачами платформы. Вы можете в любой момент приостановить, возобновить или остановить собственные запуски на странице стратегии.