Установим и запустим бэктестеры для криптовалюты

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

Итак, место встречи: VirtualBox.
Действующие лица: отважный трейдер, свежеустановленный и обновленный дистрибутив Lubuntu (минимальная установка), “афтор”.
Боевая задача: установить и проверить работу двух бэктестеров: cryptocurrency.backtester и catalyst.
В этот раз меньше слов и больше дела. Поехали!

VirtualBox и Lubuntu

Если ты всю свою сознательную жизнь проводишь в ОС Windows и, услышав слово “virtualbox” или “lubuntu”, у тебя дернулся глаз и сформировался вопрос. То ответ наверняка найдется в этой статье.

Я по умолчанию буду полагать, что установить дистрибутив Linux на виртуальную машину для тебя не составляет труда. Оставлю небольшое замечание на случай, если ты столкнешься с некорректным отображением графики во время установки. Перед установкой в настройках виртуальной машины:
Система → Ускорение → Аппаратная виртуализация → снять обе галочки (после установки снова поставить)
Дисплей → Экран → Ускорение → также снять обе галочки.

Подготовка системы

Первым делом для удобства необходимо зайти в “Пуск” — System Tools, найти LXTerminal и через правую кнопку добавить ярлык на рабочий стол. Запустить.

Проверим установленную версию Python3:

Установим необходимые пакеты, которые отсутствуют в минимальной установке Lubuntu:

Для установки python-пакета TA-Lib необходимо предварительно скачать и скомпилировать C-библиотеку. Это легко. Скачаем исходники TA-Lib в папку Downloads в директории пользователя:

Распакуем и зайдем:

Установим:

Установка cryptocurrency.backtester

Теперь приступим к установке первого бэктестера. Создадим папку Projects и зайдем в нее:

Развернем git-репозиторий (скачаем бэктестер) и снова зайдем внутрь созданной директории:

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

Создадим окружение, в котором будем работать с cryptocurrency.backtester:

Включим окружение:

Должны увидеть что-то похожее:

Теперь установим зависимости. Набор пакетов определенных версий, от которых зависит работа проекта. Как правило, они перечислены в файле с именем requirements.txt:

Чтобы проверить все ли сделали верно, запустим тестовую стратегию из папки examples:

Если в браузере открылась новая вкладка с графиками, а в консоли вывелась статистика, то настройка прошла успешно и бэктестер готов к использованию. Также в папке examples находятся другие примеры стратегий, для теста работы cryptocurrency.backtester. Самые любопытные могут заглянуть внутрь скриптов и попробовать разобраться в структуре файла самостоятельно. Таким образом подготовиться к теме следующей статьи.

Выход из окружения производится командой:

Обновить бэктестер из git-репозитория можно командой:

Установка Catalyst

Для разнообразия и закрепления материала познакомимся ещё с одним бэктестером, рекомендованным читателем в комментариях к прошлой статье. Зайдем в ранее созданную директорию Projects:

Развернём catalyst из репозитория:

Зайдя в директорию catalyst создадим окружение для работы именно с этим бэктестером:

Активируем окружение и установим зависимости:

Перед запуском тестовой стратегии скачаем историю цен с биржи (если не скачать, то бэктестер сам подскажет):

Запустим стратегию:

По окончании теста должны появится графики с информацией.

Проверим работу еще на одной стратегии. Для этого скачаем для нее данные:

И запустим. Из-за постоянного вывода информации в консоль тест может немного затянуться:

Установка Sublime Text 3

Начинающему алготрейдеру для изучения, правки и написания собственных скриптов стратегий я настоятельно рекомендую использовать суперлегковесный редактор Sublime Text 3. Чтобы не перегружать голову пока ненужными панелями и функционалом более “тяжелых” собратьев.
Добавим репозиторий содержащий Sublime Text 3 в Lubuntu:

И установим:

Из консоли можно запустить командой:

Установка PyCharm

В недалеком будущем тебе может понадобится среда для разработки своих собственных серьезных проектов. Для этого хорошо подойдет любимый большинством IDE PyCharm Community. Здесь я подскажу как установить и сделать удобным запуск.

Установим PyCharm:

Создадим ярлык. В директории /home/xdimix/Desktop создадим файл PyCharm.desktop и скопируем в него следующее:

После чего на рабочем столе должна появится иконка для запуска PyСharm.
Вводную инструкцию по работе можно найти здесь.

Заключение

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

Создавать новые стратегии мы начнём в следующей статье…

💬 А в комментариях напишите ваши вопросы и пожелания к следующим статьям.