Искате ли да извлечете данни от фондовия пазар с помощта на Python? Вие сте на правилното място. В тази статия ще научите как да получавате борсови данни с помощта на Python. Можете допълнително да използвате данните, за да анализирате, визуализирате и да получите представа от тях.

Ще използвате yfinance Библиотека на Python за получаване на текущи и минали данни за борсовите цени от Yahoo Finance.

Инсталиране на необходимите библиотеки

Yahoo Finance е една от широко използваните платформи, която предоставя данни за фондовия пазар. Можете лесно да изтеглите набора от данни от техния уебсайт, но ако искате да получите достъп до него директно от програма на Python, можете да използвате yfinance библиотека. За да инсталирате yfinance с помощта на pip, трябва да изпълните следната команда в командния ред:

пип Инсталирай yfinance

Библиотеката на yfinance Python е безплатна за използване и не изисква API ключ.

Кодът, използван в този проект, е наличен в a GitHub хранилище и е безплатен за използване под лиценза на MIT.

instagram viewer

Вземете текущи данни за цената на акциите

Трябва да имате тикер на акцията, за която искате да извлечете данните. В следващия пример ще намерим пазарната цена и предишната цена на затваряне за GOOGL.

импортиране yfinance като yf
тикер = yf. Тикер ('GOOGL').информация
пазарна_цена = тикер ['редовна пазарна цена']
предишна_цена_закриване = тикер['regularMarketPreviousClose']
печат ('Тикер: GOOGL')
печат ('Пазарна цена:', пазарна_цена)
печат ('Предишна цена на затваряне:', предишна_цена_затваряне)

Това произвежда следния изход:

Този пример използва редовна пазарна цена и regularMarketPreviousClose свойства, за да получите необходимите данни. Библиотеката yfinance предоставя множество други свойства, които можете да изследвате. Те включват пощенски код, сектор, FullTimeEmployees, longBusinessSummary, град, телефон, държава и държава. Можете да получите пълния списък на наличните свойства, като използвате този код:

импортиране yfinance като yf
тикер = yf. Тикер ('GOOGL').информация
печат(ticker.keys())

Вземете исторически данни за цените на акциите

Можете да получите всички исторически данни за цените, като предоставите начална дата, крайна дата и тикер.

# Импортиране на пакета yfinance
импортиране yfinance като yf

# Задайте начална и крайна дата
начална_дата = '2020-01-01'
крайна_дата = '2022-01-01'

# Задаване на тикер
тикер = 'GOOGL'

# Вземете данните
данни = yf.download (тикер, начална_дата, крайна_дата)

# Отпечатайте последните 5 реда
печат(data.tail())

Това произвежда следния изход:

Горният код ще извлече данните за цената на акциите от 2020-01-01 до 2022-01-01.

Ако искате да изтеглите данни от няколко тикера наведнъж, можете да го направите, като предоставите тикерите под формата на низ, разделен с интервал.

импортиране yfinance като yf
начална_дата = '2020-01-01'
крайна_дата = '2022-01-01'

# Добавете тук множество тикери, разделени с интервал
тикер = 'GOOGL MSFT TSLA'
данни = yf.download (тикер, начална_дата, крайна_дата)
печат(data.tail())

Трансформиране на данни за анализ

В горния набор от данни, Дата е индексът на набора от данни, а не колона. За да извършите анализ на тези данни, трябва да преобразувате този индекс в колона. По-долу е описано как можете да направите това:

импортиране yfinance като yf
начална_дата = '2020-01-01'
крайна_дата = '2022-01-01'
тикер = 'GOOGL'
данни = yf.download (тикер, начална_дата, крайна_дата)
данни["Дата"] = данни.индекс

данни = данни[["Дата", "Отворете", "Високо",
"ниско", "Близо", "Adj Затвори", "Сила на звука"]]

data.reset_index(изпускайте=Вярно, inplace=Вярно)
печат(data.head())

Това произвежда следния изход:

Тези трансформирани данни са същите като данните, които бихте изтеглили от Yahoo Finance.

Съхраняване на получените данни в CSV файл

Можеш експортирайте обект DataFrame в CSV файл използвайки to_csv() метод. Тъй като горните данни вече са под формата на pandas DataFrame, можете да експортирате данните в CSV файл, като използвате следния код:

импортиране yfinance като yf
начална_дата = '2020-01-01'
крайна_дата = '2022-01-01'
тикер = 'GOOGL'
данни = yf.download (тикер, начална_дата, крайна_дата)
печат(data.tail())
# Експортирайте данни в CSV файл
data.to_csv("GOOGL.csv")

Pandas е широко използваната Python библиотека за анализ на данни. Ако не се чувствате добре с тази библиотека, трябва да започнете основни операции с помощта на Pandas.

Визуализирайте данните

Библиотеката на yfinance Python е една от най-удобните библиотеки за настройка, извличане на данни и изпълнение на задачи за анализ на данни. Можете да използвате тези данни, за да визуализирате резултатите и да улавяте прозрения с помощта на библиотеки като Matplotlib, Seaborn или Bokeh.

Можете дори да покажете тези визуализации директно на уеб страница с помощта на PyScript.