Сравнение бэктеста и прода, продолжение

    • 25 ноября 2021, 19:05
    • |
    • grepan
  • Еще

В продолжение прошлого поста сравниваю по логам еще один день:

На данных бэктеста: 17 сделок, прибыль 844 пунктов

OPEN 236 short 2021-11-24 07:25:00+00:00
CLOSE  short   2021-11-24 07:47:00+00:00 profit= 51.0
OPEN 237 short 2021-11-24 07:54:00+00:00
CLOSE  short   2021-11-24 07:55:00+00:00 profit= 86.0
OPEN 238 short 2021-11-24 08:01:00+00:00
CLOSE  short   2021-11-24 08:03:00+00:00 profit= 40.0
OPEN 239 short 2021-11-24 08:04:00+00:00
CLOSE  short   2021-11-24 08:45:00+00:00 profit= 32.0
OPEN 240 short 2021-11-24 10:10:00+00:00
CLOSE  short   2021-11-24 10:11:00+00:00 profit= 43.0
OPEN 241 short 2021-11-24 10:11:00+00:00
CLOSE  short   2021-11-24 10:27:00+00:00 profit= 32.0
OPEN 242 short 2021-11-24 10:33:00+00:00
CLOSE  short   2021-11-24 10:36:00+00:00 profit= 60.0
OPEN 243 short 2021-11-24 10:52:00+00:00
CLOSE  short   2021-11-24 10:56:00+00:00 profit= 58.0
OPEN 244 short 2021-11-24 11:15:00+00:00
CLOSE  short   2021-11-24 11:18:00+00:00 profit= 53.0
OPEN 245 short 2021-11-24 11:31:00+00:00
CLOSE  short   2021-11-24 11:35:00+00:00 profit= 48.0
OPEN 246 short 2021-11-24 12:22:00+00:00
CLOSE  short   2021-11-24 12:40:00+00:00 profit= 94.0
OPEN 247 short 2021-11-24 13:23:00+00:00
CLOSE  short   2021-11-24 13:30:00+00:00 profit= 61.0
OPEN 248 short 2021-11-24 13:45:00+00:00
CLOSE  short   2021-11-24 13:46:00+00:00 profit= 37.0
OPEN 249 short 2021-11-24 16:51:00+00:00
CLOSE  short   2021-11-24 16:54:00+00:00 profit= 40.0
OPEN 250 short 2021-11-24 19:19:00+00:00
CLOSE  short   2021-11-24 19:23:00+00:00 profit= 35.0
OPEN 251 short 2021-11-24 19:23:00+00:00
CLOSE  short   2021-11-24 19:39:00+00:00 profit= 39.0
OPEN 252 short 2021-11-24 19:42:00+00:00
CLOSE  short   2021-11-24 20:05:00+00:00 profit= 35.0



( Читать дальше )

Трезво оцениваем полезность системы Backtest’а

    • 23 ноября 2021, 13:43
    • |
    • grepan
  • Еще

Я нахожусь в процессе тестирования на промышленных данных тех моделей, которые я разработал с помощью системы Backtest’а.


В основе системы лежит open-source библиотека Zipline, разработанная стартапом Quantopian, но не поддерживаемая где-то с апреля этого года, когда этот стартап приказал долго жить.


В библиотеке допилена возможность онлайн-закачки данных с источников (финам, mfd, YF), достаточно просто  в алгоритме указать, какие тикеры нужны за какой период, и данные будут в нужном виде скачаны и преобразованы. А также допилена возможность работать с минутным таймфреймом.


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


В принципе, проверена даже техническая возможность повторить портал Quantopian, добавив на какой-либо сайт возможность работы с ноутбуком Zipline, расшаривая (при желании) для других пользователей на форуме либо полный скрипт пользовательского алгоритма, либо его результаты (таблицы и графики).



( Читать дальше )

Попытки проектирования системы возврата к среднему

    • 22 ноября 2021, 16:08
    • |
    • grepan
  • Еще

Надеюсь получить интересные идеи и конструктивную критику от участников на мои попытки подобрать алгоритмы возврата к среднему (Mean reversion).

Вкратце, что я знаю о системах возврата к среднему: системы, построенные на одном инструменте, являются контр-трендовыми, потому что тренд отклоняет график от средней, а заходить в сторону к средней, значит заходить против тренда. В этом же заложен главный риск таких систем – длинный тренд приводит к долгой и большой просадке. Другая вариация систем возврата к среднему – арбитраж, когда вместо одного инструмента рассматриваются два и более. В этом случае под «средней» понимается некий синтетический курс, зависящий от курсов рассматриваемых инструментов. Расхождение какого-либо из инструментов от этого синтетического курса возможно в случае нарушения глобальной корреляции, что бывает не часто, но пренебрегать таким риском нельзя.

Примером таких систем могут быть парный арбитраж на коррелируемых инструментах, календарный арбитраж, треугольники кросс-курсов валют форекса, или арбитраж бумаг, входящих в индекс, против самого индекса.



( Читать дальше )

Тестирование стратегий

    • 01 октября 2021, 11:53
    • |
    • grepan
  • Еще
Поделюсь своим подходом к тестированию стратегий. Может кому будет полезно.

Сначала я разрабатываю стратегию в среде бэктестинга на питоне, с частотой 1мин, данные система автоматически забирает с финама или mfd. Если требуется оптимизация параметров, то здесь же применяю оптимизацию и форвардный тест.
Если стратегия показывает хорошее матожидание, то следующим шагом я реализую код на луа. Раньше я использовал тестовый сервер, предоставляемый arqa technologies, но с недавних пор отказался от этого подхода, уж больно сильная разница котировок на тестовом и реальном серверах. Сейчас я делаю скрипт сразу для боевого сервера, эмулируя выставление ордеров, закладывая проскальзывание.
Какие преимущества я нашел при таком подходе:
1. Тестируется торговая стратегия на основании данных реальных стаканов котировок.
2. Одновременно тестируются механизмы мани-менеджмента и риск-менеджмента (обрывы соединения, пустые стаканы, резкие выбросы данных)
3. Частота данных при тестировании соответствует частоте данных прома.

( Читать дальше )

Работает или нет статистический арбитраж из-за проскальзывания?

    • 09 июля 2021, 15:02
    • |
    • grepan
  • Еще

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

Далее будут приведены мои субъективные умозаключения.

Для начала перечислю виды арбитража, которые я знаю:

  1. Арбитраж одинаковым активом между разными биржами. Сложность работы по этой технологии заключается в том, чтобы разместить торговый сервер между двумя биржами так, чтобы задержки пакетов между биржами были одинаковыми.
  2. Арбитраж между активом и его деривативом.
  3. Статистический арбитраж между коррелируемыми активами.
  4. Календарный арбитраж.

Момент, который объединяет эти стратегии, состоит в том, что торговая позиция выставляется всегда одновременно по двум инструментам в противоположные стороны (если активы прямо скоррелированы, и в одинаковые стороны в ином случае).

Все эти арбитражные стратегии в основном относятся к классу рыночно-нейтральных «mean reversing» стратегий, потому что не следуют за трендом, а пытаются вернуться к некой справедливой цене актива (та же трендовая составляющая), выставляя позиции против отклонения от тренда, хотя, конечно, можно придумать и трендовые стратегии, использующие актив-«поводырь» для прогнозирования тренда.



( Читать дальше )

Сам себе управляющий?

    • 23 июня 2021, 20:43
    • |
    • grepan
  • Еще

Как вы знаете (сильно упрощая), искусство управляющих фондами и портфелями состоит в подборе состава портфеля для достижения заданного соотношения риска и доходности, согласно современной портфельной теории Марковица. В портфель набираются различные инструменты с разными весами для снижения рисков и увеличения возврата (в целом).

И в зависимости от стратегии, портфель ребалансируется с частотой раз в год/квартал/месяц…

Суть ребалансировки — подборка весов портфеля методом решения задачи оптимизации с помощью функций квадратичного программирования, или поиск весов между активами, которые в результате отвечали бы:

  • системе уравнений (например, сумма всех весов инструментов в портфеле равна 1)
  • системе неравенств (например, уровень риска портфеля не выше заданного значения)
  • заданной цели оптимизации (например, максимизации доходности).

Полностью приводить теорию не имеет смысла, она доступна для желающих в интернете. Особенно рекомендую понять тему эффективной границы. Это суть портфельной теории.



( Читать дальше )

Быть или не быть нейросети?

    • 17 июня 2021, 00:10
    • |
    • grepan
  • Еще

Здесь периодически возникают статьи про применение нейронок в трейдинге.

Я решил поделиться примером того, как в одном пайплайне (единая структура программного кода) можно построить, обучить и протестировать нейронку в торговом алгоритме.

Статья будет более полезна и понятна тем, кто имеет хоть небольшой опыт работы с Python.

Итак, наша задача проверить, есть ли вообще надежда на успешное применение нейронных сетей в трейдинге, проверить гипотезу на простом алгоритме, понять, как можно в случае успеха перенести все на боевую среду (реальный торговый робот), и желательно, продемонстрировать все это понятно и доходчиво.

Чтобы в конце концов сделать вывод о перспективности применения нейронок, будем соревноваться с индексом РТС.

Сразу сделаю дисклеймер, все рассматриваемые и полученные в статье результаты являются лишь простым примером, и применять их на реальных деньгах не рекомендую. И я не буду давать теорию по нейронным сетям и работе с ними. Всё это находится/читается/выучивается.



( Читать дальше )

теги блога grepan

....все тэги



UPDONW
Новый дизайн