Stock Scanner & Screener: A yfinance+investpy combined-based Stock Scanner & Screener for the Israeli and US Stock Markets (Extendable to other stock markets as well). Within the code, the following libraries and fonts are used:
- https://pypi.org/project/yfinance/
- https://pypi.org/project/investpy/
- https://pypi.org/project/fpdf/
- https://fonts2u.com/dejavu-sans-condensed.font
http://bit.ly/SssBigDataAnalysis
- Install
Python 3.7or higher from https://www.python.org/downloads/ - Install
Pycharm Community Editionfrom https://www.jetbrains.com/pycharm/download/ - Download the
SSSsource code as a Zip file from this page (https://github.com/asafravid/sss/archive/master.zip) or clone/fork the repository directly - Open Project from folder (to which you unzipped the
ssssource code) - No further steps required apart from
pip3installing relevant libraries:cd <[path to]Python 3.7>pip3 install pandaspip3 install yfinancepip3 install investpy
- Note that for
yfinance- I'm providing updated sources since they take time to update by the developers, and my forks are, well - mine, and I prefer one topip3installyfinancefrom the origin, and then update (using comparison SW) the necessary changes I made (not too many) to run theSSSmost efficiently and informatively.
- 1: Run the scanning mode by uncommenting the
Run Build DB Onlylines insss_run.py - 2: A result folder shall be created under
ResultsFolder - 3: Run research mode, selecting profit margin (
pm) Enterprise value to Revenue Ratio (evr) scanning parameters (just use the defaults - they are fine) - 4: Reccomendation list shall appear in the result folder fed to the Research Mode
- 5: Optional (and recommended) - Run
diffmodule (sss_diff.run()) to observe differnces (new/removed/moved up/down stocks) from last run
http://bit.ly/SssResultsInvestmentTracking
- Download
TASElatest components via https://info.tase.co.il/eng/MarketData/Stocks/MarketData/Pages/MarketData.aspx intoIndices/Data_TASE.csv - Download
NASDAQ100latest components via https://www.barchart.com/stocks/quotes/$IUXX/components?viewName=main (Remove last line indicating creation date) or https://www.nasdaq.com/market-activity/quotes/nasdaq-ndx-index intoIndices/nasdaq100-components.csv - Download
Russel1000latest components via https://www.barchart.com/stocks/indices/russell/russell1000 (Remove last line indicating creation date) or https://en.wikipedia.org/wiki/Russell_1000_Index intorussell-1000-index.csv - Download
S&P500latest components via https://www.barchart.com/stocks/quotes/$SPX/components intoIndices/snp500-components.csv(Remove last line indicating creation date) - Download
NASDAQlatest components viaftp://ftp.nasdaqtrader.com/symboldirectory/intoIndices/nasdaqlisted.csv(Convert.txtto.csvand remove last line indicating creation date) - Download
NASDAQOther Listed components viaftp://ftp.nasdaqtrader.com/symboldirectory/intoIndices/otherlisted.csv(Convert.txtto.csvand remove last line indicating creation date) - You can also create your own indice/group of stocks by either overriding the above files' contents or simply adding your own indice to the code support.
- Make your analysis before buying the reccommended stocks
- This Stock Screener/Scanner shall only provide reccomendations
- Buying the reccommended stocks is at your own risk
- Study the companies reccommended - read their financial reports, and only then decide if and how much to buy
yfinanceis a known library which this scanner uses- Several Bugs were found upon examining the code of
yfinance, and I have created pull requests for those. - For simplicity, unzip
yfinance.7zand beyond[or other comparison software]-compare it with the official [pip3it] one, and take the changes provided within this library'syfinance.7z.
- Units can compared to https://www.macroaxis.com/stock-analysis/CMRE/Costamare (i.e. CMRE can be replaced for any stock ticker/symbol)
- Use case:
CMRE'syfinanceearningsQuarterlyGrowthis-0.298, and website shows-29.80%so the match yields thatyfinancereports in direct ratio (not%)
- Good luck and you are welcome to contribute to this project:
- Add other contries' stocks
- Past reccomendations and present results - for proving that the model works
- Multi-Dimentional Big Data research mode (scan over
EQGs, etc) - For any questions / issues / suggestions: You can reach me here: asaf.rvd@gmail.com