finvizfinance

Finviz analysis python library.

MIT License

Downloads
17.1K
Stars
452
Committers
5

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

Screener and Group provide dataframes for comparing stocks according to different filters and trading signals.

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

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',
# ...}

Description

stock_description = stock.ticker_description()

# stock_description
# stock_description = 'Tesla, Inc. designs, develops, manufactures, ...'

Outer Ratings

outer_ratings_df = stock.ticker_outer_ratings()

Stock News

news_df = stock.ticker_news()

Inside Trader

inside_trader_df = stock.ticker_inside_trader()

News

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()

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

insider_trader = finsider.get_insider()

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.set_filter(filters_dict=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.