Skip to content

This repository enables traders/investors to spot undervlaued stocks automatically in the market efficiently to help them maximise their profits.

License

Notifications You must be signed in to change notification settings

mynunoribeiro/Stock_Screeners

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Capture1 Capture

This is a finance repository that currently does the following:

1}Data fetching for Stocks listed on NSE India with automatic csv generation for individual ticker.(CSVGenerator.py)

  1.1 -> List of tickers available (Tickers.csv)

  1.2 -> Garbage Collector is prepared to filter out delisted companies from the stock exchange (GarbageCollector.py)

2}CandleStick Pattern Recognition with involvement of multiple technical indicators to build a basic coded trading strategy. (talibtest.py,PatternRecognition.py)

  2.1 -> Outputs a csv file with ticker name indicating the specific pattern formed. (BullishEngufing.csv,BearishEngufing.csv,Gravestone.csv)

3}Financials Data Extraction at a single click for all the listed tickers using Thread Pool Executors.(FinancialsExtractor.py)

  3.1 -> List of tickers available (Tickers.csv)
  
  3.2 -> Outputs a csv file with all the financial data for individual tickers fetched from Yahoo Finance. (Financials.csv)
  
  3.3 -> Garbage collector is prepared to fix the the rows containing insufficient data in the output csv file to avoid interruptions in processing later. (FinancialsGarbageCollector.py)
    
         3.3.1 -> Outputs a csv file with complete data after fixing the previous output csv file. (FinancialsBunch.csv)

4} Fundamental Screening of stocks to sort the undervalued list of stocks based on three criterias:

  4.1 -> Picks the list of stocks that are trading n% below their book value where n is variable indicating amount of percentage. (FundamentalScreener.py)
  
         4.1.1 -> Outputs a csv file containing the financial data of the filtered stocks. (Filtered_50_percent.csv)
         
  4.2 -> Picks the list of stocks that are trading with PriceToSales ratio of below 1.25. (FundamentalScreener3.py)
  
         4.2.1 -> Outputs a csv file containing the financial data of the filtered stocks. (MCapPTS.csv)
         
  4.3 -> Picks the list of stocks that are trading with EV/EBITDA ratio ranging in 0.1 - 10.9 (evebitda_screening.py)
  
         4.3.1 -> Outputs a csv file containing the financial data of the filtered stocks. (EVToEbitda_Output.csv)

5} Chart Plotting Demo for stocks using Cufflinks Library including involvement of technical indicators (Cuffinks Demo.py):

  5.1 -> Outputs a technical chart for specified tickers with specified parameters.

6}Valutation determiner from all the ticker's data available in FinancialsBunch.csv based on following criterias (Valuation.py):

  -> Book Value Per Share
  -> Annual Sales
  
  6.1 -> Outputs a csv file containing the valuations for all the stocks as per their book value, annual sales. (Valuations.csv)

7} Screening of stocks present in Valuations.py to spot the ones trading at a discount (DiscountValuations.py):

  7.1 -> Outputs a csv file containing name of tickers trading at a discount along with amount of discount(%) based on their BookValue (Discount_BookValue.csv)
  
  7.2 -> Outputs a csv file containing name of tickers trading at a discount along with amount of discount(%) based on their annual sales (Discount_Sales.csv)

8} Provision to mail the necessary output files at a single click is available. (Mailer.py)


Note:

Driver Script development which enables UI integration for the entire project is currently in progress...

Before executing the scripts, make sure to turn on 'Less Secure App access' option from your gmail ID that will be used to send out the mails. To do so, get going with the following steps:

1.Log into the Gmail account that will be used to send the emails.

2.Go to Gmail's Less Secure App Access

3.Set the Allow less secure apps option to ON.

Libraries to be installed:

  1. yfinance
  2. yahoofinancials
  3. numpy
  4. more-itertools
  5. pandas
  6. talib
  7. cufflinks

Installation can be done using the pip command. (Example: pip install pandas)

Inbuilt libraries required:

  1. datetime
  2. csv
  3. os
  4. smtplib
  5. itertools
  6. concurrent.futures
  7. math
  8. traceback
  9. mimetypes

About

This repository enables traders/investors to spot undervlaued stocks automatically in the market efficiently to help them maximise their profits.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%