Finviz analysis python library.
finvizfinance
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
Docs: https://finvizfinance.readthedocs.io/en/latest/
Downloads
To download the latest version from GitHub:
$ git clone https://github.com/lit26/finvizfinance.git
Or install from PyPi:
$ pip install finvizfinance
Quote
Getting information (fundament, description, outer rating, stock news, inside trader) of an individual stock.
from finvizfinance.quote import finvizfinance
stock = finvizfinance('tsla')
Chart
stock.ticker_charts()
Fundament
stockfundament = stock.tickerfundament()
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',
...}
Description
stockdescription = stock.tickerdescription()
stock_description
stock_description = 'Tesla, Inc. designs, develops, manufactures, ...'
Peer
stockpeer = stock.tickerpeer()
stock_peer
stock_peer = ['LI', 'XPEV', 'NIO', 'RIVN', 'LCID', 'TM', 'HMC', 'GM', 'STLA', 'F']
ETF Holders
stocketfholders = stock.tickeretfholders()
stocketfholders
stocketfholders = ['VTI', 'VOO', 'IVV', 'SPY', 'VUG', 'QQQ', 'VGT', 'IWF', 'XLK', 'SPLG']
Outer Ratings
outerratingsdf = stock.tickerouterratings()

Stock News
newsdf = stock.tickernews()

Inside Trader
insidetraderdf = stock.tickerinsidetrader()

News
Getting recent financial news from finviz.
from finvizfinance.news import News
fnews = News() allnews = fnews.getnews()
Finviz News include 'news' and 'blogs'.
all_news['news'].head()

all_news['blogs'].head()

Insider
Getting insider trading information.
from finvizfinance.insider import Insider
finsider = Insider(option='top owner trade')
option: latest, top week, top owner trade
default: latest
insidertrader = finsider.getinsider()

Screener (Overview, Valuation, Financial, Ownership, Performance, Technical)
Getting multiple tickers' information according to the filters.
Example: Overview
from finvizfinance.screener.overview import Overview
foverview = Overview() filters_dict = {'Index':'S&P 500','Sector':'Basic Materials'} foverview.setfilter(filtersdict=filters_dict) df = foverview.screener_view() df.head()

Screener (Ticker)
Getting list of tickers according to the filters.
Misc (Proxy)
Optional proxy can be used for getting information from FinViz website. Accessible from finvizfinance it's an extension of requests library proxies
from finvizfinance.util import set_proxy
proxies={'http': 'http://127.0.0.1:8080'} set_proxy(proxies)
Credit
Developed by Tianning Li. Feel free to give comments or suggestions.