Личный опыт зарабатывания денег, создавая торговые стратегии на QuantNet
Целевая аудитория: python разработчики торговых роботов, которые не знают где взять финансовые данные, как проверить алгоритмы и как на этом можно заработать.
Приведена стратегия с платформы QuantNet, которая выиграла 24001 рублей.
Почему платформы QuantNet и Quantiacs?
Конкурентные преимущества по сравнению с другими платформами тестирования финансовых идей:
- python, среда Jupyter Notebook или JupyterLab;
- открытый исходный код;
- финансовые данные: акции, фьючерсы, криптовалюта, товарный рынок, макроэкономические данные, фундаментальные данные компаний;
- возможность писать и использовать оптимизаторы — весомый аргумент;
- адекватная система оценки: есть встроенные средства борьбы с подглядыванием в будущее;
- возможность оффлайновой разработки алгоритмов на своем ПК;
- возможность заработать на конкурсах;
- небольшой порог входа.
Участие в соревнованиях.
На платформе мои алгоритмы выиграли 431 572 рублей. Активно посылал их в конкурс с начала 2020 года до августа 2020. Это “долгие” деньги. Отправленная стратегия участвует в 4 конкурсах, самый длительный из которых продолжается год.
Выплаты осуществляются раз в квартал на карту. Призовой фонд за квартал 500 т.р.
Приятно порадовало, что компания уплачивает налоги за победителей. Скриншот с сайта налоговой за 2020 год. Большая часть конкурсов закончилась в 2021, поэтому налоги за 2021 год увижу в следующем году.
На Quantiacs и QuantNet пока малая конкуренция среди участников, поэтому большие шансы занять призовое место.
Также, на Quantiacs призы могут быть больше, всё будет зависеть от доходности стратегии в “живом” периоде. На одно соревнование выделяется 2 миллиона долларов, 7 призовых мест. Участник выигравший финансирование получает 10% от прибыли алгоритма. Подробные условия описаны в правилах.
Реальная стратегия из конкурса.
Ниже пример стратегии, которая выиграла 24001 рублей.
Статистика https://quantnet.ai/statistic/13516766
Идея: Если индикатор TRIX по индексу SPX (S&P 500) за 5 торговых дней больше -0.04, то открываем позицию по инструментам 'NYSE:ABT', 'NYSE:ANTM', 'NYSE:BA', 'NYSE:NEE', 'NYSE:PGR'.
Процесс создания алгоритмов.
Для создания и проверки алгоритмов потребуются данные, сам алгоритм и система проверки алгоритма.
Цикл создания стратегии:
- Определиться какие данные будем предсказывать.
- Написание алгоритма, выделение из него параметров.
- Оптимизация параметров. Подбор мета параметров или подбор инструментов на которых стратегия будет работать, или и то и то.
- Оценка статистики стратегии.
- Проверка стратегии на заглядывание в будущее.
Данные.
Платформа предоставляет исторические данные для основных мировых финансовых рынков.
Датасет включает в себя информацию об:
- акциях: рыночные данные и фундаментальные индикаторы, в исходниках есть api, которое рассчитывает фундаментальные мультипликаторы (ebitda, debt, p/e, p/s);
- фьючерсах;
- криптовалюте;
- товарном рынке (Commodity Data);
- макроэкономических данных бюро статистики труда США: потребительские цены, занятость и безработица, компенсации, условия труда и производительность.
Можно предсказывать один тип инструментов, используя другой. Пример применения машинного обучения для предсказания фьючерса на биткоин (BTC Futures), используя данные товарного рынка (Commodity Data)
Как разрабатывать алгоритмы.
Платформа предоставляет примеры алгоритмов основанных на:
- техническом анализе и технических индикаторах;
- фундаментальном анализе компаний.
Бэктестер основан не на сделках, а на весах финансовых инструментах в портфеле.
Алгоритмы используют финансовые данные для формирования весов, пропорционально которым распределяется капитал. Положительный вес означает длинную позицию (покупку), отрицательное значение — короткую (продажу).
На каждую дату алгоритм считает какие веса портфеля должны быть на открытии торгов следующего дня.
Нюанс, комиссия за сделки не учитывается, есть только проскальзывание. При изучении исходного кода видно, что для разных типов инструментов оно разное. Исходники открытые, это можно поменять.
При написании алгоритма выделяем параметры, которые будем оптимизировать. Желательно использовать минимум параметров: пять — ресурсоемко подбирать и увеличивается риск переобучения, предпочитаю стратегии с 3 параметрами.
Как оптимизировать алгоритм.
Sharpe ratio - основной параметр для оптимизации. Он показывает доход на единицу риска (волатильность). Чем больше Sharp ratio, тем лучше. Как он считается можно посмотреть тут.
Recovery factor — альтернативный параметр для оптимизации, но на платформе его нет. Он показывает на сколько быстро стратегия восстанавливает капитал после просадки. Можно рассчитывать в двух вариантах: а) деление чистой прибыли на максимальную просадку; б) деление чистой прибыли на сумму всех просадок.
Оценка стратегии.
Если в результате оптимизации находятся стратегии с большим Sharp ratio, это сигнал о заглядывании в будущее (Forward looking).
Стратегия переписывается под использования в функции бэктестер или ml бэктестер. Они применяют пользовательский алгоритм к срезам данных, отсекаются “будущие” данные, в результате можно увидеть действительный Sharp ratio.
Исходный код открытый, поэтому можно написать стратегию таким образом, что она всё равно будет смотреть в будущее. Тут можно использовать подход “предварительной проверки” (pre-check) или отправить стратегию в соревнования. Сама соревновательная платформа пересчитает алгоритм. Внутри, стратегии предоставляются ежедневные срезы данных, поэтому заглянуть в будущее проблематично.
Заключение
Порог вхождения показался небольшим. Платформы понравились открытостью данных и можно создавать стратегии основанные на фундаментальных фактах. Автоматизации поиска стратегий с использованием оптимизаторов сильно экономит время. Участие в соревнованиях принесло приятный денежный бонус.
Планирую попробовать использовать стратегии в реальной торговли. Пробую применять библиотеку для предсказания индекса РТС на московской бирже.
В случае интереса к статье могу написать об этом отдельно.
P.S.
Это моя реферальная ссылка на Quantiacs, регистрируйтесь переходя по ней. Если ваша стратегия пройдёт фильтры вы получите дополнительные 15 USD.
Вопросы по платформе лучше задавать в телеграм чате или на форуме.
Есть Ютуб видео, в котором рассказывается о платформе:
Теги: алготрейдинг, разработка, алгоритмическая торговля, финансы, квантитативные исследования, соревнования в финансовой сфере
Попахивает рекламной статьей, а стратегия простой подгонкой (удивительно вообще почему за такое платят, но скорее всего это просто рекламный трюк выложить то, что никому не нужно), почему были выбраны эти тикеры, а не другие?
ABT', - medica specialties
ANTM' - precious metals
BA', - aerospace & defense
NEE', - electric utilities
PGR' - casualty insurance
Что такого в этом TRIX- просто скользящая средняя... почему это должно быть эффективно?
Данные с 2015 года, почему такая маленькая выборка? Как минимум с 2010...
Выигрыш за квартал 500 тыс.руб - это просто работа за бесплатно, вы можете ничего не занять, но зато потратите много своего времени впустую..
500 тыс. рублей - это ежемесячная зарплата одного или нескольких квантов.. Максимальный приз за месяц 66 тыс.рублей.. и кто в здравом уме будет заниматься количественными финансами за такие деньги?
Уж лучше тогда Quantiacs и другие зарубежные платформы, больше выигрыши и больше перспективы
Странная статья, реклама новой платформы, где ищут студентов и энтузиастов и предлагают работать за бесплатно...
Конечно. Это указано в цели статьи в первом предложении.
Написал оптимизатор, который нашёл эту стратегию (и другие), поэтому вопросы "почему" к оптимизатору.
Зачем тратить своё время, когда можно автоматизировать процесс по максимуму?
Моя задача выиграть конкурс, а не создать хорошую и крепкую стратегию. Почувствуйте разницу.
Кстати поэтому период тестирования равен конкурсному.
На других платформах не всегда можно написать оптимизаторы, и там необходимо вникать в стратегии или платить за ресурсы.
Можно найти хорошую стратегию на одной платформе и переписать её на другую, где больше профит.