Блог им. Kuziomkin

Торговая система своими руками

Объемы торгов на Московской бирже растут с 2009 года [1].
Торговая система своими руками
Создание алгоритмической торговой системы — кропотливый процесс, который требует знания финансовых рынков и информационных технологий.  Схема создания алгоритма имеет вид:
Торговая система своими руками

Цель

Цель — желаемый результат торговли. 

Пример:

  • Получить доходность n% при риске n%/2;
  • Снизить волатильность инвестиций;
  • Хэджировать валютные риски.

Гипотеза

Гипотеза — предположение, которое должно привести к достижению поставленной цели.

Гипотеза включает:

  • Направление сделки;
  • Вход в позицию;
  • Выход из позиции;
  • Объем сделки;
  • Период.

Пример:

Если входить в сделку при закрытии дня выше максимума за 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% без учета роста самого БА.

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

Вывод

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

Используемые источники

  1. https://www.moex.com/ru/ir/interactive-analysis.aspx
  2. https://www.rbc.ru/finances/28/07/2015/55b745909a794708e098803e
  3. https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D0%B0%D0%BD%D0%B3%D0%BE








★2

теги блога Dzianis Kuziomkin

....все тэги



UPDONW