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, ...'
Peer
stock_peer = stock.ticker_peer()
# stock_peer
# stock_peer = ['LI', 'XPEV', 'NIO', 'RIVN', 'LCID', 'TM', 'HMC', 'GM', 'STLA', 'F']
ETF Holders
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
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.
Calendar
Getting the economic calendar (release datetime, impact, actual/expected/prior).
from finvizfinance.calendar import Calendar
fcalendar = Calendar()
df = fcalendar.calendar()
df.head()
Earnings
Partitioning tickers by their earnings dates for a period.
from finvizfinance.earnings import Earnings
# period: This Week (default), Next Week, Previous Week, This Month
fearnings = Earnings(period='This Week')
# mode: financial (default), overview, valuation, ownership, performance, technical
days = fearnings.partition_days(mode='financial')
# optionally export the partitioned tables
fearnings.output_excel('earning_days.xlsx')
fearnings.output_csv('earning_days')
Future
Getting futures performance.
from finvizfinance.future import Future
ffuture = Future()
# timeframe: D (default), W, M, Q, HY, Y
df = ffuture.performance(timeframe='D')
df.head()
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.
Metadata
Release files for finvizfinance 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| finvizfinance-1.5.0.tar.gz | 39.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| finvizfinance-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 91.6 kB
Release files / finvizfinance-1.5.0.tar.gz
| Download URL | finvizfinance-1.5.0.tar.gz |
|---|---|
| Size | 39.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d2ef8000cc281d36e9eccf524cac89f5bf0f41a9d1f38c51ae43defbda3c8858
|
|
BLAKE2b-256 checksum How to use checksums |
eb3bb6e086eca1a616bf7b7b060845ff15fa9f1be049532d5808b1ce29e38f82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / finvizfinance-1.5.0-py3-none-any.whl
| Download URL | finvizfinance-1.5.0-py3-none-any.whl |
|---|---|
| Size | 52.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d30f4fabdc27f660b6f4865321e4e261822e983bee0f75e4722e45d4e239f1f
|
|
BLAKE2b-256 checksum How to use checksums |
76f0de6ebf7bc863c4b83119195e4368cf822939430d6f8d3efdc7d359ed6031
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|