1 октября 2018
И снова приветствую тебя, отважный трейдер. Спешу заметить, что с нашей последней встречи ты заметно прибавил в плечах и скорости вытаскивания меча из ножен. И пока ты этим мечом кого-нибудь случайно не рубанул, хочу научить тебя паре базовых приемов и технике безопасности. Поможет мне в этом моя новая ассистентка — чистая и не порочная, но в то же время легкая в поведении девушка по имени Lubuntu.
Итак, место встречи: VirtualBox.
Действующие лица: отважный трейдер, свежеустановленный и обновленный дистрибутив Lubuntu (минимальная установка), “афтор”.
Боевая задача: установить и проверить работу двух бэктестеров: cryptocurrency.backtester и catalyst.
В этот раз меньше слов и больше дела. Поехали!
VirtualBox и Lubuntu
Если ты всю свою сознательную жизнь проводишь в ОС Windows и, услышав слово “virtualbox” или “lubuntu”, у тебя дернулся глаз и сформировался вопрос. То ответ наверняка найдется в этой статье.
Я по умолчанию буду полагать, что установить дистрибутив Linux на виртуальную машину для тебя не составляет труда. Оставлю небольшое замечание на случай, если ты столкнешься с некорректным отображением графики во время установки. Перед установкой в настройках виртуальной машины:
Система → Ускорение → Аппаратная виртуализация → снять обе галочки (после установки снова поставить)
Дисплей → Экран → Ускорение → также снять обе галочки.
Подготовка системы
Первым делом для удобства необходимо зайти в “Пуск” — System Tools, найти LXTerminal и через правую кнопку добавить ярлык на рабочий стол. Запустить.
Проверим установленную версию Python3:
Установим необходимые пакеты, которые отсутствуют в минимальной установке Lubuntu:
Установим необходимые пакеты, которые отсутствуют в минимальной установке 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 создадим окружение для работы именно с этим бэктестером:
Активируем окружение и установим зависимости:
Перед запуском тестовой стратегии скачаем историю цен с биржи (если не скачать, то бэктестер сам подскажет):
Shell1 $ catalyst ingest-exchange -x bitfinex -f minute -i ltc_usd
Запустим стратегию:
По окончании теста должны появится графики с информацией.
Проверим работу еще на одной стратегии. Для этого скачаем для нее данные:
И запустим. Из-за постоянного вывода информации в консоль тест может немного затянуться:
Установка Sublime Text 3
Начинающему алготрейдеру для изучения, правки и написания собственных скриптов стратегий я настоятельно рекомендую использовать суперлегковесный редактор Sublime Text 3. Чтобы не перегружать голову пока ненужными панелями и функционалом более “тяжелых” собратьев.
Добавим репозиторий содержащий Sublime Text 3 в Lubuntu:
И установим:
Из консоли можно запустить командой:
Установка PyCharm
В недалеком будущем тебе может понадобится среда для разработки своих собственных серьезных проектов. Для этого хорошо подойдет любимый большинством IDE PyCharm Community. Здесь я подскажу как установить и сделать удобным запуск.
Установим PyCharm:
Создадим ярлык. В директории /home/xdimix/Desktop создадим файл PyCharm.desktop и скопируем в него следующее:
После чего на рабочем столе должна появится иконка для запуска PyСharm.
Вводную инструкцию по работе можно найти здесь.
Заключение
В этот раз мы произвели предварительную подготовку среды для тестирования стратегий, а также приобрели начальные навыки перед попыткой реализации логики собственных. Вы уже можете посмотреть простые стратегии из примеров и провести опыты, меняя параметры.
(C) Источник
При копировании ссылка | Не является индивидуальной инвестиционной рекомендацией обязательна
Поддержите нас - ссылаясь на материалы и приводя новых читателей
Нашли ошибку: выделите и Ctrl+Enter
Итак, место встречи: 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) [email protected]:~/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