CoderCastrov logo
CoderCastrov
Парсер

Как собрать финансовые данные в вашу программу на Python

Как собрать финансовые данные в вашу программу на Python
просмотров
6 мин чтение
#Парсер

Библиотека на Python для парсинга Yahoo! Finance

I. Введение

В современном быстром и конкурентном финансовом мире иметь доступ к точной и актуальной информации о любом активе является критически важным. Чтобы удовлетворить эту потребность, мы рады представить мощный и удобный инструмент, который позволяет легко и эффективно собирать исторические данные для любого актива - yahoo_api: библиотека на Python для парсинга Yahoo! Finance.

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

Вот библиотека на моем GitHub:

GitHub — SuperWD40/yahoo_api: Библиотека на Python для парсинга Yahoo! Finance

Библиотека на Python для парсинга Yahoo! Finance. Эта библиотека позволяет пользователям независимо собирать финансовые данные с...

github.com


II. Что такое Yahoo! Finance

Yahoo! Finance - это всесторонний веб-сайт финансовых новостей и информации, который предоставляет широкий спектр инструментов и ресурсов для инвесторов и финансовых профессионалов.

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

Активы обозначаются тикером на Yahoo! Finance

Например, если вы хотите просмотреть информацию о компании Apple Inc, вы должны ввести «AAPL» в качестве тикерного символа. Для французской компании вы будете использовать тикерный символ с расширением .PA, например «MC.PA» для LVMH Moet Hennessy Louis Vuitton.

Yahoo! finance quote page of Apple Inc.

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

III. Инициализация библиотеки

Класс ticker является основным классом в библиотеке yahoo_api, который позволяет пользователю получать информацию о конкретном активе, указав его символ тикера. Он использует другие функции библиотеки для получения информации о истории актива и информации об активе.

import yahoo_api as yapi

# Инициализация библиотеки
yapi.ticker('AAPL')

III. Получение основной информации

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

>>> yapi.ticker('AAPL').summary()
{'Тикер': 'AAPL',
 'Название': 'Apple Inc.',
 'Тип котировки': 'АКЦИЯ',
 'Валюта котировки': 'USD',
...
 'Прямой дивиденд и доходность': '0.92 (0.64%)',
 'Дата бездивидендной продажи': '04 ноября 2022 г.',
 '1-летний прогноз цены': '171.21'}

IV. Получение исторических данных

Метод history() является основным в этой библиотеке. Он позволяет получить исторические данные по активу за определенный период времени.

Пользователи имеют возможность получить историю за следующие периоды: max, 10y, 5y, 1y, 6m, 1m, 5d, 1d

>>> yapi.ticker('AAPL').history('1y')
(                  Open        High         Low       Close    Volume
 Date                                                                
 2022-02-02  174.750000  175.880005  173.330002  174.825348  84914300
 2022-02-03  174.479996  176.240005  172.119995  171.902313  89418100
 2022-02-04  171.679993  174.100006  170.679993  171.613632  82465400
 2022-02-07  172.860001  173.949997  170.949997  170.886917  77251200
 2022-02-08  171.729996  175.350006  171.429993  174.042633  74829200
 ...                ...         ...         ...         ...       ...
 2023-01-26  143.169998  144.250000  141.899994  143.960007  54105100
 2023-01-27  143.160004  147.229996  143.080002  145.929993  70492800
 2023-01-30  144.960007  145.550003  142.850006  143.000000  64015300
 2023-01-31  142.699997  144.339996  142.279999  144.289993  65874500
 2023-02-01  143.970001  146.610001  141.320007  145.429993  77310900
 
 [251 rows x 5 columns])

Пользователи также имеют возможность выбрать непрерывную историю. Эта функция может быть полезна, если вы хотите сравнить разные активы, такие как криптовалюта и акции, потому что криптовалюта котируется 7/7, в то время как акции котируются 5/7.

V. Получение истории дивидендов

Метод dividend() позволяет пользователю получить историю дивидендов акции за предыдущие годы.

>>> yapi.ticker('AAPL').dividend('1y')       
(                Дивиденды 
Дата                     
 2022-02-04       0.22
 2022-05-06       0.23
 2022-08-05       0.23
 2022-11-04       0.23)

VI. Получение финансовой информации

Метод financials() позволяет пользователям получить финансовые отчеты компании за предыдущие годы.

Пользователь может запросить:

  • отчет о прибылях и убытках,
  • балансовый отчет,
  • отчет о движении денежных средств.

Примечание: этот метод работает только с акциями.

>>> yapi.ticker('AAPL').financials('отчет о движении денежных средств')
(                                      9/30/2022    9/30/2021    9/30/2020  \
 Операционные денежные средства       122151000.0  104038000.0   80674000.0   
 Инвестиционные денежные средства     -22354000.0  -14545000.0   -4289000.0   
 Финансовые денежные средства        -110749000.0  -93353000.0  -86820000.0   
 Конечная денежная позиция            24977000.0   35929000.0   39789000.0   
 Уплаченные налоги (дополнительные данные)    19573000.0   25385000.0    9501000.0   
 Уплаченные проценты (дополнительные данные)       2865000.0    2687000.0    3002000.0   
 Капитальные затраты                 -10708000.0  -11085000.0   -7309000.0   
 Выпуск акций                                   -    1105000.0     880000.0   
 Выпуск долга                      5465000.0   20393000.0   16091000.0   
 Погашение долга                    -9543000.0   -8750000.0  -12629000.0   
 Выкуп акций                  -89402000.0  -85971000.0  -72358000.0   
 Свободный денежный поток                      111443000.0   92953000.0   73365000.0   
 
                                      9/30/2019  
 Операционные денежные средства       69391000.0  
 Инвестиционные денежные средства     45896000.0  
 Финансовые денежные средства        -90976000.0  
 Конечная денежная позиция           50224000.0  
 Уплаченные налоги (дополнительные данные)   15263000.0  
 Уплаченные проценты (дополнительные данные)      3423000.0  
 Капитальные затраты                -10495000.0  
 Выпуск акций                          781000.0  
 Выпуск долга                          6963000.0  
 Погашение долга                      -8805000.0  
 Выкуп акций                  -66897000.0  
 Свободный денежный поток             58896000.0)

VII. Получение данных о держателях акций

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

Примечание: этот метод работает только с акциями

>>> yapi.ticker('AAPL').holders()
({'% акций, принадлежащих всем инсайдерам': '0.07%',
  '% акций, принадлежащих институтам': '61.15%',
  '% акций, принадлежащих институтам от общего числа акций': '61.19%',
  'Количество институтов, держащих акции': '5,524'},
...,
                                               Держатель       Акции  \
 0             Vanguard Total Stock Market Index Fund  455,109,365   
 1                            Vanguard 500 Index Fund  342,453,760   
 2                             SPDR S&P 500 ETF Trust  164,993,170   
 3                            Fidelity 500 Index Fund  163,810,092   
 4                           iShares Core S&P 500 ETF  134,286,316   
 5        Invesco ETF Tr-Invesco QQQ Tr, Series 1 ETF  131,569,985   
 6                         Vanguard Growth Index Fund  125,748,004   
 7  Vanguard Institutional Index Fund-Institutiona...  109,684,812   
 8         Vanguard Information Technology Index Fund   68,684,835   
 9                 Select Sector SPDR Fund-Technology   64,407,132   
 
 Дата отчета  % от общего числа акций           Стоимость  
 0  Sep 29, 2022  2.87%  66,186,551,618  
 1  Sep 29, 2022  2.16%  49,803,047,808  
 2  Dec 30, 2022  1.04%  23,994,955,504  
 3  Nov 29, 2022  1.03%  23,822,900,479  
 4  Dec 30, 2022  0.85%  19,529,257,952  
 5  Dec 30, 2022  0.83%  19,134,221,954  
 6  Sep 29, 2022  0.79%  18,287,531,300  
 7  Sep 29, 2022  0.69%  15,951,461,405  
 8  Nov 29, 2022  0.43%   9,988,835,050  
 9  Dec 30, 2022  0.41%   9,366,728,735  )


VIII. Получение статистических данных

Метод statistics() позволяет пользователям получить информацию о показателях оценки, торговой информации, финансовых показателях и многом другом.

Примечание: этот метод доступен только для акций.

>>> yapi.ticker('AAPL').statistics()
{'Рыночная капитализация (на момент закрытия) ': 'N/A',
 'Предприятическая стоимость ': 'N/A',
 'P/E по последним данным ': 'N/A',
 'P/E прогнозируемый ': 'N/A',
...
 'Текущее соотношение (mrq)': '0.94',
 'Книжная стоимость акции (mrq)': '3.58',
 'Операционный денежный поток (ttm)': '109.19B',
 'Свободный денежный поток с учетом долга (ttm)': '84.73B'}

IX. Получение профильных данных

Метод profile() позволяет пользователям получить информацию о географическом расположении, секторах и описании актива.

Примечание: этот метод доступен только для акций и ETF.

>>> yapi.ticker('AAPL').profile()
{'Полное название': 'Apple Inc.',
 'Адрес': 'One Apple Park Way',
 'Город': 'Cupertino, CA 95014',
 'Страна': 'Соединенные Штаты',
 'Телефон': '408 996 1010',
 'Веб-сайт': 'https://www.apple.com',
 'Сектор(ы)': 'Технологии',
 'Отрасль': 'Потребительская электроника',
 'Количество сотрудников': '164,000',
 'Описание': 'Apple Inc. была основана в 1977 году и имеет штаб-квартиру в Купертино, Калифорния.'}

_Если вы хотите поддержать мою работу, вы можете Купить мне кофе** и также _**подписаться на меня в Medium и LinkedIn. Я не являюсь инвестиционным советником, я не несу ответственности за потерю вашего капитала. Если вы хотите инвестировать, вам следует обратиться за профессиональной консультацией. Я все еще новичок в программировании на Python, поэтому если у вас есть какие-либо предложения по добавлению функций или если у вас есть вопросы, не стесняйтесь!