![PyPI - Python Version](https://img.shields.io/pypi/pyversions/finvizfinance) ![PyPI](https://img.shields.io/pypi/v/finvizfinance) ![PyPI - Wheel](https://img.shields.io/pypi/wheel/finvizfinance) ![PyPI - License](https://img.shields.io/pypi/l/finvizfinance?color=gre) [![Coverage Status](https://coveralls.io/repos/github/lit26/finvizfinance/badge.svg)](https://coveralls.io/github/lit26/finvizfinance) ![Read the Docs](https://img.shields.io/readthedocs/finvizfinance) [![Downloads](https://pepy.tech/badge/finvizfinance)](https://pepy.tech/project/finvizfinance) [![CodeFactor](https://www.codefactor.io/repository/github/lit26/finvizfinance/badge/master)](https://www.codefactor.io/repository/github/lit26/finvizfinance/overview/master) [![Donate PayPal](https://img.shields.io/badge/Donate%20%24-PayPal-brightgreen.svg)](https://www.paypal.me/TIANNINGL/) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) # 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. ```python from finvizfinance.quote import finvizfinance stock = finvizfinance('tsla') ``` #### Chart ```python stock.ticker_charts() ``` #### Fundament ```python 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 ```python stock_description = stock.ticker_description() # stock_description # stock_description = 'Tesla, Inc. designs, develops, manufactures, ...' ``` #### Peer ```python stock_peer = stock.ticker_peer() # stock_peer # stock_peer = ['LI', 'XPEV', 'NIO', 'RIVN', 'LCID', 'TM', 'HMC', 'GM', 'STLA', 'F'] ``` #### ETF Holders ```python stock_etf_holders = stock.ticker_etf_holders() # stock_etf_holders # stock_etf_holders = ['VTI', 'VOO', 'IVV', 'SPY', 'VUG', 'QQQ', 'VGT', 'IWF', 'XLK', 'SPLG'] ``` #### Outer Ratings ```python outer_ratings_df = stock.ticker_outer_ratings() ``` ![Outer Ratings example](asset/outer_rating.png) #### Stock News ```python news_df = stock.ticker_news() ``` ![stock news example](asset/stock_news.png) #### Inside Trader ```python inside_trader_df = stock.ticker_inside_trader() ``` ![insider trader example](asset/insider_trader.png) ### News Getting recent financial news from finviz. ```python from finvizfinance.news import News fnews = News() all_news = fnews.get_news() ``` Finviz News include 'news' and 'blogs'. ```python all_news['news'].head() ``` ![news example](asset/news_news.png) ```python all_news['blogs'].head() ``` ![news example](asset/news_blogs.png) ### Insider Getting insider trading information. ```python 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() ``` ![insider example](asset/insider.png) ### Screener (Overview, Valuation, Financial, Ownership, Performance, Technical) Getting multiple tickers' information according to the filters. #### Example: Overview ```python 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() ``` ![insider example](asset/screen_overview.png) ### 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 ```python 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.