A package to get stock data from Yahoo Finance
Project description
Stockdex
Stockdex is a Python package that provides a simple interface to access financial data from Yahoo Finance. Data is returned as a pandas DataFrame.
Installation
Install the package using pip:
pip install stockdex -U
Usage
To access main functions, use ticker
property from TickerFactory
class. The Ticker
class is used to access data from Various data sources. The TickerFactory
class requires a data source to be passed to it. Here is an example of how to begin using the package:
from stockdex import TickerFactory
ticker = TickerFactory(ticker="AAPL", data_source="yahoo_api").ticker
After creating the Ticker
object, you can access functions defined for each data source. Below are some examples of how to access data from supported data sources.
Data from Yahoo Finance
API (fast queries through Yahoo Finance API):
from stockdex import TickerFactory
ticker = TickerFactory(ticker="AAPL", data_source="yahoo_api").ticker
# Price data (use range and dataGranularity to make range and granularity more specific)
price = ticker.price(range='1y', dataGranularity='1d')
# Current trading period of the stock (pre-market, regular, post-market trading periods)
current_trading_period = ticker.current_trading_period
# Fundamental data (use frequency, format, period1 and period2 to fine-tune the returned data)
income_statement = ticker.income_statement(frequency='quarterly')
cash_flow = ticker.cash_flow(format='raw')
balance_sheet = ticker.balance_sheet(period1=datetime(2020, 1, 1))
financials = ticker.financials(period1=datetime(2022, 1, 1), period2=datetime.today())
Data from Yahoo Finance
website (web scraping):
from stockdex import TickerFactory
ticker = TickerFactory(ticker="AAPL", data_source="yahoo_web").ticker
# Summary including general financial information
summary = ticker.summary
# Financial data as it is seen in the yahoo finance website
income_stmt_web = ticker.income_stmt_web
balance_sheet = ticker.balance_sheet_web
cash_flow = ticker.cashflow_web
# Analysts and estimates
analysis = ticker.analysis
# Data about options
calls = ticker.calls
puts = ticker.puts
# Profile data
key_executives = ticker.key_executives
description = ticker.description
corporate_governance = ticker.corporate_governance
# Data about shareholders
major_holders = ticker.major_holders
top_institutional_holders = ticker.top_institutional_holders
top_mutual_fund_holders = ticker.top_mutual_fund_holders
# Statistics
valuation_measures = ticker.valuation_measures
financial_highlights = ticker.financial_highlights
trading_information = ticker.trading_information
Stocks data from Digrin
(web scraping):
Data on Digrin website includes all historical data of the stock in certain categories, unlike Yahoo Finance which only provides the last 5 years of data at most.
from stockdex import TickerFactory
ticker = TickerFactory(ticker="AAPL", data_source="digrin").ticker
# Complete historical data of the stock in certain categories
dividend = ticker.dividend
payout_ratio = ticker.payout_ratio
stock_splits = ticker.stock_splits
EU ETF data from justETF
(web scraping):
For EU ETFS, the isin
and security_type
should be passed to the Ticker
object. The isin
is the International Securities Identification Number of the ETF and the security_type
should be set to etf
.
from stockdex import TickerFactory
etf = TickerFactory(isin="IE00B4L5Y983", security_type="etf", data_source="justetf").ticker
etf_general_info = etf.etf_general_info
etf_wkn = etf.etf_wkn
etf_description = etf.etf_description
# Basic data about the ETF
etf_basics = etf.etf_basics
# Holdings of the ETF by company, country and sector
etf_holdings_companies = etf.etf_holdings_companies
etf_holdings_countries = etf.etf_holdings_countries
etf_holdings_sectors = etf.etf_holdings_sectors
Check out sphinx documentation here for more information about the package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.