Jupyter для алготрейдера

Jupyter – это интерактивная среда для работы с кодом, визуализации данных и создания документов, которая позволяет объединять код, текст, изображения, графики и другие элементы в одном документе. Особенно эта среда популярна в области научных вычислений и анализа данных, в области машинного обучения, исследований и образования. С её помощью можно создавать интерактивные отчеты, исследовательские работы, учебные материалы и презентации, интегрируя в них код, текст, формулы, визуализации и даже видео. По сути это  отличный инструмент для изучения программирования и экспериментирования с различными блоками кода.

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

Основным компонентом Jupyter является интерактивное приложение под названием Jupyter Notebook, которое позволяет писать и выполнять код в виде ячеек (cells) и моментально видеть результаты выполнения. В Jupyter Notebook вы можете работать с различными языками программирования и, естественно, с Python.

Jupyter также включает Jupyter Lab – более продвинутое интегрированное средство разработки (IDE), предоставляющее более широкие возможности для управления файлами, расширений, терминала и других инструментов.

Сразу же отмечу, что можно не устанавливать Jupyter Notebook, а просто использовать Google Colab  – облачный сервис Google, который позволяет создавать и запускать Jupyter Notebooks непосредственно в облаке Google, при этом сервис предоставляет бесплатный доступ к своим вычислительным ресурсам. Google Colab и Jupyter Notebook имеют максимально схожий интерфейс и функционал, т.к. Colab основан на Jupyter Notebook. И в целом Google Colab – очень достойный аналог локальной версии Jupyter Notebook.

Кроме того редактор кода VScode также имеет поддержку для работы с Jupyter Notebooks. Вы можете создавать, открывать, редактировать и запускать Jupyter Notebooks прямо в Visual Studio Code. Чтобы использовать Jupyter Notebooks в VSсode, вам потребуется установить расширение “Python” и настроить его для работы с Jupyter. После установки и настройки вы сможете открывать, создавать, редактировать и запускать Jupyter Notebooks в Visual Studio Code.

Для запуска Jupyter Notebook необходимо:

1) Установить расширение “Python” от Microsoft. 2) Создать виртуальную среду. 3) Открыть командную панель “палитра команд”, представляющей доступ ко всем командам и функциям IDE (интегрированной среды разработки), нажав Ctrl+Shift+P. 4) Ввести команду “Python: Create New Blank Jupyter Notebook”, что означает “Создать новый пустой Jupyter Notebook”. В результате новый Jupyter Notebook будет создан и откроется в Visual Studio Code.

 

Я же решил установить и попробовать работать в оригинальной локальной версии Jupyter Lab через браузер.

Начинаем с официального сайта Jupyter – https://jupyter.org/. Описание установки приводится на странице https://jupyter.org/install.

  • Для установки Jupyter Notebook вводим команду pip install notebook. Для запуска используйте команду jupyter notebook.
  • Для установки JupyterLab вводим команду pip install jupyterlab. Для запуска используйте команду jupyter lab.     

Лично я решил использовать именно JupyterLab , т.к. это фактически интегрированная среда разработки (IDE) для Jupyter Notebook. JupyterLab имеет такие плюсы, как возможность: а) многопанельной работы, позволяя открывать и работать одновременно с несколькими Notebooks, б) управления файлами и директориями: JupyterLab предоставляет инструменты и возможности для управления файлами и директориями, включая создание, удаление, переименование, перемещение и просмотр содержимого файлов и папок, в) отладчик, который позволяет устанавливать точки останова (breakpoints), запускать код пошагово, просматривать значения переменных во время выполнения программы и многое другое.

Подробная документация по JupyterLab – https://jupyterlab.readthedocs.io/en/stable/index.html. Рекомендую также просмотреть ознакомительное видео, с демонстрацией JupyterLab и его возможностей (я обычно смотрю подобные англоязычные видео с автоматическим аудио переводом через яндекс браузер).

Устанавливаем и запускаем с помощью указанных выше команд – все открывается, но пока с английским интерфейсом. Для установки русского интерфейса необходимо установить дополнение https://pypi.org/project/jupyterlab-language-pack-ru-RU/ с помощью команды pip install jupyterlab-language-pack-ru-RU  .

Итак, JupyterLab установлен.

Для работы используются файлы с расширением .ipynb , которые представляют собой Jupyter Notebook. Файлы .ipynb могут быть открыты и редактированы в Jupyter Notebook, JupyterLab и других инструментах, поддерживающих этот формат, например VScode или Google Colab.

Ячейки представляют собой основной элемент в Jupyter Notebook и бывают 2х видов:

  • Ячейки с кодом (Code cells): В этих ячейках вы можете писать и выполнять код на выбранном языке программирования (например, Python, R, Julia и другие). Результат выполнения кода отображается прямо под ячейкой.
  • Ячейки с текстом (Markdown cells): В таких ячейках вы можете написать текст, оформленный с помощью языка разметки Markdown. Это позволяет вам создавать структурированные описания, комментарии, заголовки, списки, таблицы, ссылки и многое другое.

Ячейки в Jupyter Notebook могут быть перемещены, копированы, вставлены, удаляться, объединяться и разделяться, что обеспечивает гибкость в организации и структурировании вашего кода и текста. Использование ячеек делает работу с кодом и данными более интерактивной и удобной.

В Jupyter Notebook и JupyterLab есть два основных режима: режим навигации и режим редактирования.

Режим навигации используется для перемещения по ячейкам, выделения их, копирования, вставки и других действий без изменения содержимого ячейки. Режим редактирования предназначен для изменения содержимого ячеек, ввода кода или текста в ячейки. Для перехода в режим навигации: нажмите Esc или кликните мышью вне ячейки. Для перехода в режим редактирования: нажмите Enter или дважды кликните мышью внутри ячейки.

Для удобства работы предусмотрены быстрые клавиши:

Комбинация клавиш Режим Описание
ENTER Навигация Переключение в режим редактирования
ESC Редактирование Переключение в режим навигации
ESC + 00 Навигация Перезапустить блокнот. Все переменные будут потеряны.
Shift + Space или Space Навигация Прокрутка блокнота: нажатие Space прокрутит блокнот вниз, а Shift + Space — вверх.
B Навигация Вставить новую ячейку ниже (B значит below)
A Навигация Вставить новую ячейку выше (A значит above)
D, D Навигация Удалить ячейку (двойное нажатие клавиши D)
ESC + Z Навигация Отмена удаления ячейки
CTRL + ENTER Оба режима Выполнить код и остаться в ячейке
SHIFT + ENTER Оба режима Выполнить код и перейти в следующую ячейку или создать новую
y Навигация Переключить тип ячейки на ““Code””
m Навигация Переключить тип ячейки на ““Markdown””
CTRL + SHIFT + C Оба режима Открыть командную консоль (внимание: данная комбинация отличается от той, что используется в Jupyter Notebook, там это CTRL + SHIFT + P)
TAB Редактирование Автодополнение (дополнение команды, которую вы начали вводить)
X Навигация Вырезать ячейку
C Навигация Скопировать ячейку
V Навигация Вставить ячейку
SHIFT + TAB Редактирование Справка по команде из DocString
CTRL + SHIFT + – Редактирование Разделить ячейку по месту расположения курсора.
SHIFT + M Навигация Объединить выбранные ячейки в одну. Выделите ячейки, которые вы хотите объединить, с помощью клавиш SHIFT + Click мышки  и затем объединяем SHIFT + M.
CTRL + B оба режима Скрыть/показать боковую панель слева. Можно сделать так, что у вас будет больше места для кода
CTRL + HOME Редактирование Перейти к началу активной ячейки
CTRL + END Редактирование Перейти к концу активной ячейки

Ну а если что-то забыли или не нашли, то в Вашем распоряжении полноценное меню.

Подводим итоги:

Вы установили на свой компьютер JupyterLab в котором можно работать с Jupyter Notebook: создавать новый Notebook или открыть существующий; работать с ячейками; после выполнения кода в ячейке получать результат выполнения и взаимодействовать с результатами; сохранять любые изменения; экспортировать результаты в различные форматы и делиться ими с другими.

Оцените статью
Репост в TG и VK
Алготрейдинг шаг за шагом. Создай торгового робота на Python с нуля по нашим урокам. Автоматизируй торговлю на бирже по собственной стратегии.