Категории раздела
Заказ торгового робота [1]
Тестирование и оптимизация торговых роботов [6]
Проектирование торговых систем [2]

   


   

Помощники для ручной торговли



   

Главная » Статьи » Алгоритмическая торговля » Тестирование и оптимизация торговых роботов

Случайный вход эффективный метод тестирования торговых систем

Случайный вход эффективный метод тестирования торговых систем.

Что такое случайный вход?

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

Применение случайного входа при тестировании торговых систем.

Основой любой торговой системы является набор правил и условий для открытия позиции. Тестирование позволяет определить величину математического ожидания системы. Подробнее о параметрах системы смотрите видео “Торговая система и ее основные параметры” .

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

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

Для ответа на вопросы такого рода и необходим случайный вход. Так как система с его использованием имеет нулевое математическое ожидание, можно отдельно протестировать риски, фильтры на вход, сигналы на выходы из сделки и оценить вклад каждого в итоговый результат. Если, например, сигнал на выход из сделки, переводит математическое ожидание в отрицательную область, то нет смысла его применять. Или, если тест метода установки стопов с использованием случайного входа, имеет математическое ожидание большее, чем с использованием штатного входа системы, очевидно, что сигнал на вход нужно дорабатывать.

Пример использования метода случайного входа для тестирования сигнала на выход из сделки.

В качестве инструмента для проведения тестирования используем систему сопровождения позиции MultiStop_Pro .

Подготовка к тестированию.

Настроим символ и окно для тестирования системы:

Подготовка к тестированию

Проверка случайного входа.

В системе сопровождения позиции MultiStop_Pro случайный вход реализован как: вход в сделку в 12-00, 16-00 и 20-00 в случайном направлении.
То есть это скорее псевдослучайный вход, но и такого простого алгоритма достаточно для проведения дальнейших исследований.
Для начала убедимся в верности гипотезы, что после суммирования результатов достаточно большого количества тестов, средний результат торговой системы равен нулю, с вероятностью 50%.
Настраиваем параметры системы:

  • Количество частей позиции – 1
  • Частота сканирования – 86400 (параметр в тесте не участвует, но частый запуск таймера удлиняет процесс тестирования)
  • CHOICE_IN_SIGNAL – случайный
  • CHOICE_STOP – без стопа
  • CHOICE_TAIMING – закрыть часть в конце вечерней сессии (будем выходить их рынка в конце торгового дня, иначе в тестовом прогоне будет всего 1 сделка)
  • количество прогонов на тесте случайного входа – 1000 (количество тестов, результаты которых попадут в итоговую выборку)
Настройка системы 1 Настройка системы 2

Запускаем тестирование. Если посмотреть на график оптимизации, то в принципе уже видно, что средний результат по итогам 1000 прогонов близок к нулю:

График оптимизации случайного входа

Построим кривую распределения результатов. Для этого нужно выгрузить результаты оптимизации в Excel:

Выгрузка результатов оптимизации в Excel

Далее открываем файл с результатами тестирования и прописываем необходимые формулы:

  • В ячейке O1 будет среднее значение результатов: =СРЗНАЧ(C10:C1009)
  • В ячейке O2 будет стандартное отклонение от среднего: =СТАНДОТКЛОН(C10:C1009)
  • В ячейке O3 минимальный результат из всех прогонов: =МИН(C10:C1009)
  • В ячейке O4 максимальный результат из всех прогонов: =МАКС(C10:C1009)
  • В ячейке O5 размер интервала для анализа результатов: =(-O3+O4)/O6
  • В ячейке O6 количество интервалов: = 100
  • В столбце N определяем порядковые номера интервалов для анализа, то есть от 1 до 100
  • В столбце O определяем границы интервала для анализа. Первый интервал, слева направо, будет иметь минимальное значение равное минимуму в выборке, а максимальное значение равно минимум выборки плюс шаг интервала. И так далее.
  • В столбце P будет частота попадания результата в тот или иной интервал. Для этого, в ячейку P9 прописываем формулу: ЧАСТОТА(C10:C1009;O10:O109), выделяем интервал O10:O109, нажимаем клавишу F2, а далее Ctrl+Shift+Enter.
  • Строим график частоты попадания результатов в интервалы по столбцам O и P:
Распределение результатов тестирования для случайного входа

Из полученного графика видно: средний результат торговой системы на основе случайного входа находится около нуля. Но вероятность попадания в интервал ниже 50%, и составляет около 30%. Это означает, что распределение не является нормальным, а описывается другой функцией.

Настройка параметров торговой системы для тестирования сигнала на выход из сделки

Будем тестировать сигнал на выход из сделки: закрытие рынка вблизи максимума или минимума дня:

  • Если рынок закрывается в диапазоне: от "Максимум дня – Дневной диапазон * 20%" до "Максимум дня" закрываем длинные позиции.
  • Если рынок закрывается в диапазоне: от "Минимум дня" до "Минимум дня + Дневной диапазон * 20%" закрываем короткие позиции.

Включим сигнал на выход :

Сигнал на выход - закрытие дня около экстремума

Отключим выход в конце торгового дня:

Отключение выхода по таймингу

Снова запускаем тестирование. Вставляем результаты в файл для расчетов и получаем распределение для системы со случайным входом и выходом из позиции по тестируемому сигналу.

Распределение результатов для сигнала на выход из сделки

Сравнение результатов тестирования и выводы

Сравним результаты тестов:

Сравнение результатов тестирования

Использование сигнала на выход «День закрылся недалеко от экстремума» немного увеличило вероятность прибыльной сделки и незначительно снизило просадку системы, за счет меньшего разброса результатов тестирования.
Отношение к внедрению сигнала на выход из сделки в торговую систему – нейтральное.

Категория: Тестирование и оптимизация торговых роботов | Добавил: gurunetbiz (23.07.2016)
Просмотров: 949 | Теги: оптимизация торговых систем, Случайный вход, тестирование торговых систем
Всего комментариев: 0
avatar
Суббота, 24.08.2019, 11:49
Приветствую Вас Гость
Вход на сайт
Корзина
Ваша корзина пуста
Поиск