📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

What is OpenBB | Open source financial Data Analysis for Stocks | Bloomberg Alternative

Coders Academy15:41

Transcription

Всем привет, это Ашиш, и добро пожаловать обратно в Coders Academy. Сегодня мы погружаемся в Open Baby, опенсорсного монстра, который заставляет исполнительного директора Bloomberg потеть. Это платформа на базе Python для получения финансовых данных быстрее, чем ваш бариста подает вам кофе. Никаких подписок, никакой драмы, только чистая мощь данных. Так что давайте установим ее и сотворим немного волшебства.

Платформа Open data от OpenB — это набор инструментов с открытым исходным кодом, который помогает инженерам данных интегрировать проприетарные, лицензированные и общедоступные источники данных в последующие приложения, такие как ИИ-помощники и панели мониторинга исследований. Он специально разработан для инвестиционных исследований, анализа и интеграции данных. Он предоставляет доступ к данным из многочисленных источников по классам активов, таким как акции, опционы, криптовалюты, форекс и макроэкономика.

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

Итак, мы начнем с открытия папки этого проекта через Windows PowerShell и создадим новый каталог под названием demo openb. Итак, make directory demo openb. Мы перейдем в эту папку, а затем инициализируем папку с помощью uv init. Теперь мы скажем uv add open bbb. Это загрузит все зависимости.

Итак, после завершения установки мы откроем код в VS Code. Итак, code dot. Это откроет проект в VS Code. Теперь мы откроем файл pyproject.toml. Мы видим, что версия open bbb больше 4.6.0. Теперь мы заменим код в main.py существующим кодом здесь. Итак, весь код будет доступен в моем репозитории на GitHub.

Итак, мы быстро пройдемся по коду. Я перейду к началу. Здесь вы можете увидеть, что мы создали импорты здесь. Итак, open baby pandas и datetime. А затем у нас есть портфель акций Apple, Microsoft, Google и Nvidia. У нас там есть некоторые случайные значения.

А затем мы начнем с анализа цен на акции, получая исторические данные по акциям. Итак, мы перейдем к элементам портфеля. Затем мы находим исторические данные. Итак, это API. Мы делаем вызов для OBB.quity.pric.historical. Для каждого тикера мы получаем данные по этой конкретной акции. А затем мы строим на основе данных портфеля, используя данные, которые мы получаем из API.

Итак, мы запустим этот код. Итак, вы запускаете main.py. Итак, здесь он начал давать нам ответ. Хорошо. И он также экспортировал данные в файлы CSV. Итак, у нас есть portfolio report dot CSV и performance report dot CSV.

Итак, для гипотетического портфеля, вот какие данные мы получили по Apple, Microsoft, Google и Nvidia. Начало. Итак, мы проверим эти данные. Итак, я захожу в Google и проверяю текущую цену акций Apple. Итак, на момент запуска кода фактическая цена составляла 278,12, а максимальные и минимальные значения за 90 дней, указанные в процентах волатильности.

Итак, вы можете проверить это и с ценой акций Microsoft. Итак, MSFT share price. Итак, это 401,14 USD. Итак, это то значение, которое мы видим здесь. Итак, вы можете проверить и другие поля.

Теперь мы посмотрим на отчет по портфелю. Итак, он дал нам, хорошо, сколько акций было? Какова цена? Какова прибыль, которую вы получили? Вся эта информация видна из отчета CSV. Хорошо.

Итак, теперь мы посмотрим на пример вывода. Итак, мы перейдем к началу. Итак, вы можете увидеть, что сначала мы получаем текущие цены на акции. Итак, мы видели эту часть. Итак, с помощью одного API вы можете получить информацию о текущей цене акций и историческом снимке. Итак, это текущий снимок портфеля. Это то, что экспортируется в portfolio report. Итак, Apple 10 акций, это цена. Это значение изменения, анализирующее историческую доходность.

Итак, начальная цена. Итак, период составляет 90 дней, что и является исторической доходностью, которую мы получили здесь. Итак, 90-дневная доходность, максимальное, минимальное значение, средний объем и волатильность. Аналогично, мы можем найти данные для Microsoft и других акций. Хорошо.

Итак, вот 90-дневный отчет о доходности, который был экспортирован в файл performance report dot CSV. Хорошо. Итак, если хотите, мы можем проверить некоторые из этих данных отсюда. Итак, здесь мы не получаем информацию за 30 дней или, скорее, за 90 дней. Итак, мы перейдем на Yahoo Finance, а затем откроем там акции Microsoft. Итак, MSFT. Итак, поиск MSFT. Да.

Итак, это также дает вам один день, 5 дней, 1 месяц, 6 месяцев. Итак, у нас нет данных за 3 месяца. Итак, давайте перейдем к расширенному графику и посмотрим эту информацию, если мы сможем получить ее оттуда. Итак, я перейду к расширенному графику здесь. Мм, да, здесь у вас есть опция для данных за 3 месяца. Итак, здесь вы можете увидеть значение максимального и минимального объема и другие детали с 3-месячного графика. Вы можете проверить это для Microsoft и аналогично сделать это для других акций.

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

Итак, если мы перейдем к некоторой другой информации здесь, вы можете посмотреть на значения рыночной капитализации и объем для последних данных. Итак, по крайней мере, это мы можем проверить здесь. Итак, хорошо, давайте посмотрим на эту часть P. Итак, фундаментальный анализ компании. Итак, мы смотрим на Microsoft. Сектор — технологии, отрасль. Указано, что недоступно. Рыночная капитализация составляет 298 триллионов. Итак, давайте посмотрим на значения рыночной капитализации здесь. Итак, рыночная капитализация составляет 298 триллионов. Да. Итак, это правильно проверено. Последний объем составляет 53,43. Итак, объем составляет около 52,4. Итак, есть небольшое отклонение в показателях объема, фундаментальные показатели компании. Итак, это дает вам хорошее представление о сводке фундаментальных показателей компании.

И теперь технический анализ, который включает скользящие средние, 20-дневную простую скользящую среднюю, 50-дневную простую скользящую среднюю вместе с сигналом тренда. Итак, он показывает, что Apple находится в умеренном восходящем тренде, сильный бычий тренд для акций Nvidia и некоторая сводка портфеля и анализ рисков. Итак, самая большая позиция — Microsoft, а самая маленькая — Google, а лучший исполнитель за 90 дней — Google, а худший исполнитель — Microsoft. Итак, вот как нам дается вывод.

Итак, теперь мы посмотрим на код. Итак, мы перейдем к файлу main.py. Итак, как я уже объяснял вам ранее, у нас есть только один API, и из этого ответа мы начинаем строить данные портфеля и данные о доходности. Итак, мы построили здесь DataFrame со всей соответствующей информацией. Итак, данные портфеля строятся по тикеру, количеству акций, изменению, любым добавленным значениям.

На шаге два мы получаем исторические данные для анализа цен и доходности. Итак, используется тот же API. Итак, мы получаем исторические данные, начальную дату, конечную дату, и поставщик — Yahoo Finance, потому что он не требует API-ключа. Итак, здесь мы строим DataFrame для исторических данных. Итак, значение волатильности, максимальная цена, минимальная цена и общая доходность, а также средний объем и волатильность. Хорошо. Итак, волатильность — это не что иное, как стандартное отклонение дневной доходности, а затем мы начинаем добавлять это к performance data.append. Хорошо. Итак, тикер, начало, конец, максимум, минимум, 90-дневная доходность и волатильность, и, наконец, все выводится в выходные данные. Аналогично, мы строим другие части данных, которые мы видели в выходных данных. Если хотите, вы можете приостановить видео и изучить код.

Я точно знаю, о чем вы думаете. Зачем нам OpenB, когда все это уже можно сделать с помощью API Yahoo Finance? Именно на это мы ответим в следующем демо. Итак, мы создадим новый файл под названием advanc.py и вставим в него следующий код. Хорошо.

Итак, этот код очень похож на тот, который мы видели ранее, но здесь он специально пытается понять возможности OpenBB по сравнению с простыми API, такими как Yahoo Finance. Итак, здесь, используя один API, вы также можете получить макроэкономические данные. Итак, как и раньше, мы проанализируем сектор полупроводников. Итак, мы выбрали семь или, скорее, пять акций полупроводниковой промышленности. Итак, мы сначала запустим это и проверим вывод. Итак, вы запускаете advanc.py. Хорошо, мы начали получать ответ здесь от кода. Итак, здесь он демонстрирует несколько функций, где OpenB превосходит API Yahoo Finance.

Итак, мы перейдем к началу вывода, мы можем увидеть здесь. Функция один: она собирает данные из нескольких источников и строит на их основе. Итак, она автоматически агрегирует данные из нескольких источников. Итак, здесь вы можете увидеть рыночную цену Nvidia, рыночную капитализацию, средний объем, медианный средний объем для всех этих полупроводниковых акций. Хорошо.

Итак, нормализует данные из нескольких источников в одном API. Итак, мы видели это раньше. Есть только один API, который мы должны использовать, чтобы получить данные обо всех акциях. Теперь следующий шаг — функция расширенного технического анализа и скрининга. Итак, запуск технического скрининга только по полупроводниковым акциям. Итак, он проверяет значения RSI и другие детали здесь.

Итак, давайте посмотрим на код. Итак, это API, которое используется: OBB.quity, и это тикер, который мы определили. Хорошо. Итак, obquity.pric.historical historical, и мы начинаем строить информацию в DataFrame, который называется profile data frame. Затем мы делаем fundamental metrics.append, и здесь мы начинаем строить вывод для фундаментальных данных для тикеров акций, которые мы определили для полупроводниковой промышленности. Итак, тикер, цена, рыночный объем и средний объем, рыночная капитализация и средний объем. Хорошо.

И затем, в функции два, больше о расширенном техническом скрининге. Итак, мы проверяем другие индикаторы, технические индикаторы по акциям. Итак, если вы посмотрите на вывод здесь, то здесь вы увидите, что мы проверяем RSI, MACD, полосы Боллинджера и тренды объема. Итак, на основе этих четырех или пяти параметров, как выглядят акции? Итак, на основе этого, сигналы MACD медвежьи для Nvidia на момент запуска этого конкретного кода, AMD показывает медвежий сигнал, высокий объем, INTC показывает медвежий, все медвежьи, верно? MCD медвежий, и AVGO тоже медвежий.

Функция три: сравнение аналогов и относительная сила. Итак, здесь, используя тот же API, вы также можете провести сравнение доходности за один год по сравнению с сектором. Итак, здесь вы можете увидеть коэффициент Шарпа и как он сравнивается с коэффициентом Шарпа доходности отдельных акций. Итак, вы можете увидеть, что с учетом риска INTC дал вам лучший результат. Коэффициент Шарпа составляет 2,36. Хорошо.

Итак, теперь функция четыре, где вы можете увидеть корреляцию с акциями и портфелем. Итак, расчет матрицы корреляции для портфеля. Итак, как выглядит корреляция? Итак, какие две акции движутся синхронно друг с другом? Итак, это называется парной торговлей. Итак, вы можете увидеть матрицу M на M всех акций. Итак, здесь вы можете увидеть, что сильно коррелируют Nvidia и TSM, а наиболее разнообразны INTC и AVGO.

Итак, вы можете приостановить видео и изучить все детали, если хотите. Вы можете увидеть здесь, что Nvidia и TSM тесно связаны друг с другом. И функция пять — индивидуальная инвестиционная стратегия. Итак, на основе критериев, где положительная 90-дневная доходность, RSI меньше 65 и волатильность ниже средней, какие акции соответствуют этим критериям? Итак, здесь вы можете четко увидеть, что AMD и AVGO не соответствуют этим критериям.

Итак, здесь вы можете легко создать очень полезную панель мониторинга, используя API Open BBB, но с API Yahoo Finance это становится довольно сложно. Вот подробный вывод этого. Вы можете приостановить его и прочитать.

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

Если вам понравилось видео до сих пор, поставьте лайк и подпишитесь на канал. И дайте мне знать в разделе комментариев, как прошел ваш анализ акций с использованием OpenB. Большое спасибо за просмотр.