Цель — желаемый результат торговли.
Пример:
Гипотеза — предположение, которое должно привести к достижению поставленной цели.
Гипотеза включает:
Пример:
Если входить в сделку при закрытии дня выше максимума за 15 дней, и цена при этом будет выше скользящей средней с периодом 100, а выходить при закрытии ниже минимума за 15 дней, то алгоритм будет зарабатывать.
Бэктестинга — процесс проверки торговой стратегии на исторических данных. Проверку можно проводить вручную в торговом терминале, просматривать и записывать результат на бумаге или автоматически, при помощи программного обеспечения (далее ПО).
На рынке существует широкое разнообразие ПО для тестирования: WethLab StockSharp, TSLab.
Я использую самописный тестер на C#. Стандартный фреймворк Windows Forms позволяет визуализировать любые данные.
Анализ — изучение алгоритма на основании статистики бэктестинга. Необходим для оценки стратегии и выявления сильных и слабых сторон, а также редактирования.
Пример:
Анализ акций Сбербанка с 1999 г. до текущей даты на дневных данных по описанной выше гипотезе.
Видно, что общий результат превосходит стратегию удержания buy-and-hold (динамика инструмента за период), но если учитывать брокерскую комиссию за 57 сделок (- 4%) и проскальзывание (- 2%), то результат проигрывает пассивному управлению.
Однако, используя торгового робота, мы снижаем риски при падении цены актива. Кроме того, среднее время удержание позиции — 76 дней, общее время — 4 332 дня или 12 лет суммарно, т.е робот находится 7 лет вне позиции.
Эти 7 лет вне позиции могут приносить инвестору прибыль. Используя деривативы и волшебство контанго между фьючерсом и базовым активом (далее БА), возможно дополнительно зарабатывать процентную ставку [3]. Вместо выхода из сделки по акциям Сбербанка, входить в продажу по фьючерсу на акции, т.е совершать обратные сделки на рынке деривативов. С учетом реинвестирования за 7 лет при средней ставке 8% годовых стратегия увеличит начальные вложения на 71.37% без учета роста самого БА.
Таким образом, анализ стратегии позволил модифицировать условия и выдвинуть новую гипотезу. Далее по схеме цикл повторяется.
Создание торгового алгоритма — это непрерывный, итерационный процесс, который продолжается до желаемого результата или изменения цели. Поэтому следует сразу определять адекватные цели и не сдаваться при первой неудаче.