Процесс работы и термины
В документации TradeJS используются общепринятые термины систематической торговли. Приведённые ниже определения разделяют исследование, проверку и реальное исполнение.
Торговые сущности
- Стратегия — детерминированные правила, которые преобразуют рыночные данные и текущее состояние в решение.
- Конфигурация — параметры стратегии, включая правила риска и выхода. Конфигурацию следует рассматривать вместе с версией стратегии, таймфреймом и набором рынков.
- Набор инструментов — символы, доступные для расчёта. Его можно ограничить для всего запуска или отдельной стратегии.
- Сигнал — решение стратегии: возможный вход в длинную или короткую позицию, выход либо отсутствие действия. Сигнал не означает, что ордер был принят или исполнен.
- Ордер — инструкция, отправленная на биржу или брокеру. Она может быть принята, отклонена, частично или полностью исполнена либо отменена.
- Позиция — фактическая рыночная экспозиция. Управление открытой позицией продолжается, даже когда новые входы поставлены на паузу.
Исследование и проверка
- Бэктест — моделирование на исторических данных. Результат зависит от качества данных, комиссий, проскальзывания, задержек, правил исполнения и других допущений.
- Сетка параметров — набор комбинаций параметров для бэктеста. Чем шире поиск, тем выше риск переобучения и тем важнее независимая проверка.
- Проверка вне выборки — оценка на данных, которые не использовались для выбора или настройки конфигурации.
- Воспроизведение — расчёт конкретной развёрнутой конфигурации на исторических закрытых свечах. Он помогает повторить решения и найти расхождения, но не заменяет качественный план исследования.
- Соответствие реальной работе — сравнение решений, записанных при работе с текущим рынком, с решениями, восстановленными для тех же инструментов и периода.
Реальная торговля
- Развёртывание — именованная настройка в
tradejs.config.ts, которая связывает коннектор, счёт, стратегии, их конфигурации и набор инструментов. - Расчёт на текущем рынке — обработка новых закрытых свечей и запись решений без обязательного размещения ордеров.
- Реальное исполнение — расчёт на текущем рынке с явно разрешённым размещением ордеров.
- Журнал работы — записи о решениях, ордерах и исполнениях с временем, версиями стратегии, пакетов и конфигурации, необходимыми для диагностики.
В документации слово реальный относится к текущим рыночным данным, а production — к развёрнутому окружению. Ни одно из них не означает, что размещение ордеров включено.
Рекомендуемая последовательность
- Сформулируйте гипотезу и допущения об исполнении.
- Проверьте ограниченный и обоснованный набор параметров.
- Проведите проверку вне выборки и на разных рыночных режимах.
- Зафиксируйте версию стратегии и полную конфигурацию.
- Воспроизведите развёрнутую конфигурацию и сравните решения.
- Запустите расчёт на текущем рынке без размещения ордеров.
- При приемлемых рисках и результатах начните ограниченный реальный запуск.
Команды TradeJS описаны в разделах Как работают бэктесты и От бэктеста к реальной торговле.