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


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

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

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

VirtualBox и Lubuntu

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

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

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

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

$ python3 -V
Python 3.6.6


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

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

$ sudo apt install gcc make git-all python3-tk virtualenv g++ python3-dev snapd


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

$ cd /home/xdimix/Downloads/
$ sudo wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz


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

$ sudo tar -xzf ta-lib-0.4.0-src.tar.gz
$ cd /home/xdimix/Downloads/ta-lib/


Установим:

$ ./configure --prefix=/usr
$ make
$ sudo make install


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

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

$ mkdir /home/xdimix/Projects
$ cd /home/xdimix/Projects


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

$ git clone https://github.com/quantroom-pro/cryptocurrency.backtester.git crypto.backtester
$ cd crypto.backtester/


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

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

$ virtualenv -p python3.6 --no-site-packages .env_cb


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

$ . .env_cb/bin/activate


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

(.env_cb) xdimix@VirtualOS:~/Projects/crypto.backtester$


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

$ pip install -r requirements.txt


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

$ python examples/sma_daily_btcusd.py


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

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

$ deactivate


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

$ git pull


Установка Catalyst

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

$ cd /home/xdimix/Projects


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

$ git clone https://github.com/enigmampc/catalyst.git catalyst


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

$ cd catalyst/
$ virtualenv -p python3.6 --no-site-packages .env_cat


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

$ . .env_cat/bin/activate
$ pip install -r etc/requirements.txt
$ pip install --pre enigma-catalyst   #рекомендация от разработчиков для возможности
                                      #функционирования в ubuntu like системах
$ pip install matplotlib TA-Lib       #необходимые пакеты не перечисленные
                                      #в requirements.txt


Перед запуском тестовой стратегии скачаем историю цен с биржи (если не скачать, то бэктестер сам подскажет):
Shell1 $ catalyst ingest-exchange -x bitfinex -f minute -i ltc_usd

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

$ python catalyst/examples/dual_moving_average.py


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

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

$ catalyst ingest-exchange -x poloniex -f minute -i eth_btc


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

$ python catalyst/examples/rsi_profit_target.py


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

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

$ wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
$ sudo apt-add-repository "deb https://download.sublimetext.com/ apt/stable/"


И установим:

$ sudo apt install sublime-text


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

$ subl


Установка PyCharm

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

Установим PyCharm:

$ sudo snap install pycharm-community --classic


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

[Desktop Entry]
Encoding=UTF-8
Name=PyCharm
Exec=/snap/pycharm-community/current/bin/pycharm.sh
Icon=/snap/pycharm-community/current/bin/pycharm.png
Type=Application
Categories=Development;
StartupWMClass=PyCharm


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

Заключение

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

(C) Источник
Не является индивидуальной инвестиционной рекомендацией
При копировании ссылка обязательна Нашли ошибку: выделить и нажать Ctrl+Enter