Качественная графическая визуализация движения цен на акции и анализ незаменимы при инвестировании в акции. В этом руководстве вы познакомитесь с мощной, но удобной библиотекой 2D-графиков Запонки. Это 2D-библиотека с открытым исходным кодом, специально предназначенная для финансовой визуализации. Эта библиотека сочетает в себе мощь Plotly с гибкостью Pandas для легкого построения графиков.

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

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

Заявление об ограничении ответственности: цель написания этой статьи - продемонстрировать шаги по созданию некоторых интерактивных 2D-графиков для анализа инвестиций в акции с помощью Python. Он не служит ни для рекламы акций, ни для предоставления каких-либо конкретных рекомендаций по инвестициям.

Необходимые библиотеки Python

  1. yFinance - https://pypi.org/project/yfinance/
  2. Панды - https://pandas.pydata.org/
  3. Python Plotly - https://plotly.com/python/getting-started/
  4. Запонки - https://pypi.org/project/cufflinks/

Github

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

Создание интерактивных 2D-диаграмм для анализа инвестиций в акции

1. Импортируйте библиотеки и конфигурацию

Начнем с импорта всех необходимых библиотек и нескольких простых конфигураций.

Строка 1–5. Импортируйте все необходимые библиотеки.

Строка 8–9: Настройте Запонки на использование темы «жемчуг» и отключите параметр world_readable. Рекомендуется переключить Cufflinks на go_offline, чтобы улучшить производительность отрисовки диаграммы.

2. Сбор данных о запасах

Мы будем использовать библиотеку yFinance для получения данных об акциях от Yahoo Finance. На данный момент мы стремимся получить данные только об одной акции, MSFT.

Приведенная выше единственная строка кода вернет данные о запасах MSFT, запущенные с 27 мая 2020 года по 27 мая 2021 года, в формате фрейма данных.

3. Создание простого линейного графика.

Теперь мы готовы приступить к построению нашего первого линейного графика с помощью библиотеки Cufflinks.

Мы используем метод Cufflinks iplot для создания линейного графика скорректированных цен закрытия MSFT. Мы можем гибко установить цвет линии (например, красный).

Если мы посмотрим на верхний правый угол, там есть ряд инструментов, которые позволяют нам взаимодействовать с созданным линейным графиком. По умолчанию выбран инструмент «Масштаб», и мы можем просто перетащить мышь, чтобы выбрать одну прямоугольную область 2D-графика. Выбранная область будет увеличена, чтобы отобразить более узкий вид графика.

Мы также можем выбрать инструмент «Панорама» и перетащить график влево или вправо. Сюжет будет перемещаться в соответствии с направлением панорамирования.

4. Создание диаграммы с заполненными областями.

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

Здесь мы устанавливаем значение «True» для атрибута fill метода Cufflinks iplot. И устанавливаем зеленый цвет заливки.

5. Создание наиболее подходящей линии

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

Нам просто нужно установить значение «True» для атрибута bestfit и установить цвет (например, синий) для линии.

6. Добавление технических индикаторов.

Как упоминалось выше, Cufflinks - это библиотека Python, предназначенная для финансовой визуализации. Он может ускорить процесс построения 2D-визуализации для некоторых распространенных технических индикаторов, таких как скользящая средняя, ​​полосы Боллинджера, RSI и MACD.

Строка 1: создайте объект Cufflinks QuantFig.

Строка 2–3: Используйте методы add_sma и add_bollinger_bands для создания 2D-графиков для простых скользящих средних (10-периодных и 20-периодных) и полосы Боллинджера.

Строка 4: добавьте гистограмму объема.

Строка 5: визуализируйте график.

Для простоты RSI и MACD исключены из графика выше. При необходимости мы можем легко добавить еще два индикатора, используя методы add_rsi и add_macd.

7. Создание нескольких графиков

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

Строка 1–2: создайте список тикеров и передайте его методу yFinance download, чтобы получить соответствующие данные об акциях из Yahoo Finance.

yFinance также вернет данные об акциях в формате фрейма данных.

Теперь мы готовы сгенерировать многострочные графики для биржевых данных пяти тикеров.

Используя тот же метод Cufflinks iplot, мы можем быстро создавать многострочные графики.

8. Визуальная аналитика на многолинейных графиках.

8.1 Совокупная доходность акций

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

Строка 1–2: используйте метод pct_change, чтобы получить однодневное процентное изменение скорректированной цены закрытия, которое считается доходностью акций. Установите первую строку доходности акций равной нулю.

Строка 3–4: создайте список весов для пяти тикеров. Умножьте веса на доходность акций.

Строка 5–6: Используйте метод cumprod для расчета совокупной доходности акций для каждого тикера и визуализируйте график с помощью метода iplot.

Из приведенных выше многолинейных графиков очевидно, что акции Tesla дают нам гораздо более высокую совокупную доходность акций почти все время с мая 2020 года по май 2021 года. Разница в совокупной доходности акций остальных акций не очень заметна по сравнению с с Tesla.

8.2 Диаграмма спреда и диаграмма соотношений

Теперь мы построим диаграмму спреда и «диаграмму соотношений для двух выбранных тикеров. Начнем с диаграммы спреда.

Мы указываем два выбранных тикера (например, JPM и PG) в списке, а затем устанавливаем для атрибута iplot kind значение «spread».

Затем мы приступаем к созданию еще одной диаграммы соотношений для двух выбранных тикеров.

Единственное, что мы можем изменить в нашем скрипте, - это изменить iplot kind на «ratio».

Заключение

В этой статье представлены только некоторые важные особенности избранных Запонок. Запонки предлагают гораздо больше полезных функций для финансовой визуализации, подробности можно найти на его странице Github. Одним из привлекательных моментов этой библиотеки является то, что она может без проблем работать с фреймом данных Pandas для создания множества потрясающих диаграмм с помощью всего одной строчки кода. Кроме того, он построен с использованием некоторых общих технических индикаторов для анализа акций. Короче говоря, запонки стоит стать ценным инструментом для визуализации и анализа данных о запасах.

Желаю вам приятного чтения этой статьи.

использованная литература

  1. Https://github.com/santosjorge/cufflinks
  2. Https://www.tradingview.com/support/solutions/43000502298-spread-charts/
  3. Https://www.stockrover.com/v7-help/ratio-charts/