Stock Scanner & Screener: A yfinance-based Stock Scanner and Screener, focusing on Fundamental Properties of scanned stocks.
yfinance
[non-API based] +yahooquery
[API-based] - Stock Scanner & Screener Based on a Core Equation of Fundamental Financial Properties, followed by a Multi-dimensional Scan Ranking process.http://bit.ly/SssCoreEquation
https://bit.ly/MultiDimensionalScan
Within the code, the following libraries and fonts are used:
Python 3.6
or higher from https://www.python.org/downloads/Pycharm Community Edition
from https://www.jetbrains.com/pycharm/download/sss
source code)pip[3]
installing relevant libraries:
pip[3] install pandas
pip[3] install yfinance
pip[3] install yahooquery
pip[3] install fpdf
pip[3] install pyPdf
pip[3] install numpy
pip[3] install forex_python
and/or pip[3] install forex-python
pip[3] install CurrencyConverter
pip[3] install PyCurrency-Converter
pip[3] install currency.converter
multi_dim_scan_mode
to False
and for 1st time run, you may set reference_run_<mode>
to None
(or to latest relevant directory in results)custom
/tase
/nsr
/all
) in sss_config.py
and run sss_run.py
Results/<scan_mode>/<date_and_time>_..._<num_results>
directory shall be created under Results/<mode>/
directoryResults
path into the multi_dim_scan_mode = True
(Multi-Dimensional Scan). A PDF
and results_sss_*.csv
files shall be created in the same directoryTASE
latest components via https://info.tase.co.il/eng/MarketData/Stocks/MarketData/Pages/MarketData.aspx into Indices/Data_TASE.csv
-> This operation is done automatically upon each scan (with research_mode = False
) via sss_indices.py
NASDAQ100
latest components via https://www.nasdaq.com/market-activity/quotes/nasdaq-ndx-index into Indices/nasdaq100-components.csv
Russel1000
latest components via https://en.wikipedia.org/wiki/Russell_1000_Index into russell-1000-index.csv
S&P500
latest components into Indices/snp500-components.csv
(Remove last line indicating creation date)NASDAQ
latest components (otherlisted.txt
, nasdaqlisted.txt
, otherlisted.txt
) via ftp://ftp.nasdaqtrader.com/symboldirectory/
into the Indices/
directory (Convert .txt
to .csv
) using an FTP Client (such as https://filezilla-project.org/) -> This operation is done automatically upon each scan (with research_mode = False
)sss_config.py
$
in stock names, 5-letter stocks ending with Y
, etc)CMRE
’s yfinance
earningsQuarterlyGrowth
is -0.298
, and website shows -29.80%
so the match yields that yfinance
reports in direct ratio (not %
)sss_results_performance.py
)EQG
s, etc) Copyright (C) 2021 Asaf Ravid <asaf.rvd@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.