Quantopian — богатый инструментарий для бэктестинга различных стратегий с помощью Python . На сайте имеются бесплатные данные: минутные тики с 2002 года, фундаментал, календарь отчетности , настроение по новостям и т.д.Я планирую вести серию подобных постов по написанию и проверке различных стратегий. Параллельно я буду описывать саму платформу и ее возможности, что позволит осветить весь путь с нуля.В этот раз будет описана стратегия «Купи и держи».Как это устроено и в чем фишка: Quantopian проводит конкурсы алгоритмов и авторам лучших предлагает деньги в управление. При этом алгоритм автора будет залицензирован. Со всей прибыли алгоритма автор получает процент вознаграждения. Код алгоритмов закрыт от владельцев платформы, о чем неоднократно упоминается в соглашении пользователя и всплывающих окнах. Но Quantopian оставляет за собой право изучать выходные данные алгоритма — доходность, волатильность и другие коэффициенты.В основе Quantopian лежит библиотека Zipline, которая доступна на GitHub. Эта система основана на событиях и подходит, как для бэктестинга, так и для живой торговли. Дополнительным преимуществом является еще и то, что система готова к интеграции с платформой Interactive Brokers. Подробнее о брокере, читайте здесь. Для самых подозрительных: придумай идею, научись работать с данными, скачивай библиотеку, подключай к брокеру и торгуй приватным алгоритмом.Дополнительное преимущество: платформу можно подключить к своему аккаунту у брокера. То есть для построения робота вам необходимо создать алгоритм, создать аккаунт у Interactive Brokers (демо или обычный) и включить алгоритм. Затем останется только считать прибыль или убытки , как кому повезет.Если есть проблемы с Python, тогда вам будут полезны следующие ссылки: Питонтьютор — интерактивный учебник по Python. Теория и задачник.Видео-курс CodeAcademy — курс перевед и озвучен на русский язык. Подходит с нуля.Stepik: Программирование на Python — онлайн-курс Python для начинающих на лучше платформе Stepik.Stepik: Python: основы и применение — онлайн-курс Python для умеющих программировать.Stepik: Адаптивный тренажер — онлайн-тренажер Python.С чего начать?Если кратко, то идем на сайт, регистрируемся и начинаем писать код. А подробнее надо знать о следующих пунктах меню: My Code > Notebooks: Ipython блокноты, заточенные под тестирование разных стратегий. Имеется несколько примеров кода.My Code > Algorithms: управление своими алгоритмами. Здесь есть примеры, которые помогут начать. Что-то будет рассмотрено ниже.Learn & Support > Learn: здесь есть вводный курс, FAQ, документация, примеры, статьи и лекции. Все на английском.Вводный алгоритмИдем сюда My Code > Algorithms и выбираем из списка Getting Started: Lesson 1 1. Или можно создать новый алгоритм и скопировать туда следующий код (доступен на quantrum.me).Этот код каждую минуту будет проверять наличие свободных средств и покупать акции AAPL, поддерживая их долю на уровне 100% портфеля. Покупка будет осуществляться постановкой ордера, который будет заполняться по мере появления необходимого объема в исторических минутных тиках. Quantopian не даст купить акций больше, чем торговалось исторически. Результаты такого теста наиболее приближены к реальной торговле.Также, каждую минуту в лог будет писаться сообщение «hello». Богатыми это нас не делает, но картина проясняется. Перед запуском установите период и размер капитала.Алгортим: купи и держиВ русскоязычном интернете есть несколько обзоров Quantopian, где описывается первая версия платформы. В те времена по умолчанию тестирование велось на дневной истории, что давало большую погрешность в сравнении с реальностью.Теперь о нас позаботились и платформа всегда работает в режиме минутных тиков. Мы ставим ордер, и он исполняется, учитывая исторический объем. Для стратегии «купи и держи» нам достаточно ставить ордер один раз в день и сделать это можно так (код доступен на quantrum.me).В данном алгоритме каждый торговый день будет вызвана функция rebalance(), которая поставит ордер на покупка SPY на все свободные средства. В лог каждый день будет выведено сообщение «rebalanced».Результаты будут максимально приближены к бенчмарку Quantopian, в котором использован принцип «купи и держи» для SPY. Все полученные дивиденды будут реинвестироваться.Run Full Backtest проведет более детальный анализ и предоставит новую информацию для анализа алгоритма. В будущих статьх я обязательно к этому вернусь.ЗаключениеЭтого материала достаточно, чтобы пойти и попробовать самостоятельно что к чему. Стратегия простая как валенок и подробности здесь ни к чему. В следующий раз я опишу улучшенную стратегию «купи и держи» вокруг SMA(200), которая недавно была описана на сайте Mindspace.ru.В комментариях задавайте вопросы или предложения, какую стратегию проверить в следующие разы.