finvizfinance is a package which collects financial information from FinViz website. The package provides the information of the following:
- Stock charts, fundamental & technical information, insider information and stock news
- Forex charts and performance
- Crypto charts and performance
Screener and Group provide dataframes for comparing stocks according to different filters and trading signals.
Docs: https://finvizfinance.readthedocs.io/en/latest/
To download the latest version from GitHub:
$ git clone https://github.com/lit26/finvizfinance.git
Or install from PyPi:
$ pip install finvizfinance
Getting information (fundament, description, outer rating, stock news, inside trader) of an individual stock.
from finvizfinance.quote import finvizfinance
stock = finvizfinance('tsla')
stock.ticker_charts()
stock_fundament = stock.ticker_fundament()
# result
# stock_fundament = {'Company': 'Tesla, Inc.', 'Sector': 'Consumer Cyclical',
# 'Industry': 'Auto Manufacturers', 'Country': 'USA', 'Index': '-', 'P/E': '849.57',
# 'EPS (ttm)': '1.94', 'Insider Own': '0.10%', 'Shs Outstand': '186.00M',
# 'Perf Week': '13.63%', 'Market Cap': '302.10B', 'Forward P/E': '106.17',
# ...}
stock_description = stock.ticker_description()
# stock_description
# stock_description = 'Tesla, Inc. designs, develops, manufactures, ...'
outer_ratings_df = stock.ticker_outer_ratings()
news_df = stock.ticker_news()
inside_trader_df = stock.ticker_inside_trader()
Getting recent financial news from finviz.
from finvizfinance.news import News
fnews = News()
all_news = fnews.get_news()
Finviz News include 'news' and 'blogs'.
all_news['news'].head()
all_news['blogs'].head()
Getting insider trading information.
from finvizfinance.insider import Insider
finsider = Insider(option='top owner trade')
# option: latest, top week, top owner trade
# default: latest
insider_trader = finsider.get_insider()
Getting multiple tickers' information according to the filters.
from finvizfinance.screener.overview import Overview
foverview = Overview()
filters_dict = {'Index':'S&P 500','Sector':'Basic Materials'}
foverview.set_filter(filters_dict=filters_dict)
df = foverview.screener_view()
df.head()
Getting list of tickers according to the filters.
Developed by Tianning Li. Feel free to give comments or suggestions.