All Projects → terzim → StockScreener

terzim / StockScreener

Licence: MIT license
A handy tool for screening stocks based on certain criteria from several markets around the world. The list can then be delivered to your email address (one-off or regularly via crontab).

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to StockScreener

intrinio-realtime-java-sdk
Intrinio Java SDK for Real-Time Stock Prices
Stars: ✭ 22 (-56.86%)
Mutual labels:  stock-market, stock-data, stock-prices
TerminalStocks
Pure terminal stock ticker for Windows.
Stars: ✭ 88 (+72.55%)
Mutual labels:  stock-market, stock-data, stock-prices
intrinio-realtime-python-sdk
Intrinio Python SDK for Real-Time Stock Prices
Stars: ✭ 79 (+54.9%)
Mutual labels:  stock-market, stock-data, stock-prices
alpha-vantage-cli
Command line tool and API for retrieving stock market data from Alpha Vantage
Stars: ✭ 33 (-35.29%)
Mutual labels:  stock-market, stock-data, stock-trading
robinhood.tools
📈🤑💰 Advanced trading tools and resources for Robinhood Web.
Stars: ✭ 27 (-47.06%)
Mutual labels:  stock-market, stock-data, stock-trading
Stocks.js
💰 stocks.js is an easy-to-use stock market API for Javascript
Stars: ✭ 240 (+370.59%)
Mutual labels:  stock-market, stock-data
Deep Learning Machine Learning Stock
Stock for Deep Learning and Machine Learning
Stars: ✭ 240 (+370.59%)
Mutual labels:  stock-market, stock-data
dukascopy-tools
✨ Download historical price tick data for Crypto, Stocks, ETFs, CFDs, Forex via CLI and Node.js ✨
Stars: ✭ 128 (+150.98%)
Mutual labels:  stock-data, stock-prices
FAIG
Fully Automated IG Trading
Stars: ✭ 134 (+162.75%)
Mutual labels:  stock-market, stock-data
stockbot
Alpaca algo stock trading bot
Stars: ✭ 105 (+105.88%)
Mutual labels:  stock-market, stock-trading
MarketCycles.jl
Digital Signal Processing Indicators For Market Data.
Stars: ✭ 26 (-49.02%)
Mutual labels:  stock-market, stock-trading
Tushare
TuShare is a utility for crawling historical data of China stocks
Stars: ✭ 11,288 (+22033.33%)
Mutual labels:  stock-market, stock-data
insomnia-workspace
An Insomnia Workspace for Alpaca API
Stars: ✭ 34 (-33.33%)
Mutual labels:  stock-market, stock-trading
TradeTheEvent
Implementation of "Trade the Event: Corporate Events Detection for News-Based Event-Driven Trading." In Findings of ACL2021
Stars: ✭ 64 (+25.49%)
Mutual labels:  stock-market, stock-trading
Sumzerotrading
A Java API for Developing Automated Trading Applications for the Equity, Futures, and Currency Markets
Stars: ✭ 128 (+150.98%)
Mutual labels:  stock-market, stock-data
Simplestockanalysispython
Stock Analysis Tutorial in Python
Stars: ✭ 126 (+147.06%)
Mutual labels:  stock-market, stock-data
pyEX
Python interface to IEX and IEX cloud APIs
Stars: ✭ 407 (+698.04%)
Mutual labels:  stock-market, stock-data
Stocky
Machine Learning Stock Trading Risk Analysis (Spring 2017)
Stars: ✭ 27 (-47.06%)
Mutual labels:  stock-data, stock-trading
mftool
Python library for getting real-time Mutual Funds data in India
Stars: ✭ 76 (+49.02%)
Mutual labels:  stock-market, stock-data
Technicalindicators
A javascript technical indicators written in typescript with pattern recognition right in the browser
Stars: ✭ 1,328 (+2503.92%)
Mutual labels:  stock-market, stock-data

Google-based Stock Screener

Have you ever wished a good selection of stocks be delivered daily to your inbox? Have you ever wished you could navigate in a few moments through the thousands of names available for investment in the stock markets? So did I.

Therefore, I created this module to support my own investment activity.

What it does:

The module support multi-exchange queries, and a maximum of 8 criteria at a time.

Installation Instructions

Tested with, and assumes you already have at your disposal:

  • Ubuntu 16.04;
  • Anaconda Python 3.5.3
  • Gmail email server.

Install git

sudo apt-get update
sudo apt-get install git

Copy the repository on your computer and rename the sample config file

git clone https://github.com/terzim/StockScreener.git
cd StockScreener
mv config-sample.ini config.ini

Install the python requirements

conda install --yes --file requirements.txt  # If using Anaconda Python distribution

or

pip3 install -r requirements.txt # If using a standard Python3 distributions

Configuration

Open the config.ini file in your favourite text editor. Edit the configuration parameters accordingly.

See the myconfigs folder for a few screening config ideas.

Screener data

Sample config file:

[screener_data]
csv_file = YOUR_CSV_FILE_NAME (e.g. csv_file.csv)
json_file = YOUR_JSON_FILE_NAME (e.g. json_file.json)
currency = YOUR_CURRENCY_OF_CHOICE (e.g. USD)
; Note - if left empty, defaults to standard currency of exchange
exchanges = YOUR, LIST, OF, EXCHANGES, SEPARATED, BY COMMAS (e.g. NYSE, LON, BIT)
sector = YOUR_SECTOR_OF_CHOICE ** TODO **
; Note - to do leave sector empty for now

Email Data

[email_data]
send_email = TRUE/FALSE
; set send_email to True is wish to send the email
sender = YOUR_SENDER_USERNAME (e.g. [email protected])
recipient = YOUR_RECIPIENT_EMAIL (e.g. [email protected])
pwd_sender = YOUR_SENDER_PASSWORD (e.g. catdog123)
server_name = YOUR_SMTP_SERVER_NAME (e.g. smtp.gmail.com)
; Note - gmail server_name is smtp.gmail.com
server_port = YOUR_SMTP_SERVER_PORT (e.g. 587)
; Note - gmail server_post is 587

Screening Criteria

These are also set at the bottom of the configuration file. A full list of the criteria (organized by topic) is to be found in the class documentation. Leave blank the criteria you do not use

[screening_criteria]
CRITERIA1 = (e.g. pe_ratio)
CRITERIA1_MIN = (e.g. 5)
CRITERIA1_MAX = (e.g. 15)
CRITERIA2 = (e.g. price_to_book)
CRITERIA2_MIN = (e.g. 1)
CRITERIA2_MAX = (e.g. 3)
CRITERIA3 =
CRITERIA3_MIN =
CRITERIA3_MAX =
CRITERIA4 =
CRITERIA4_MIN =
CRITERIA4_MAX =
CRITERIA5 =
CRITERIA5_MIN =
CRITERIA5_MAX =
CRITERIA6 =
CRITERIA6_MIN =
CRITERIA6_MAX =
CRITERIA7 =
CRITERIA7_MIN =
CRITERIA7_MAX =
CRITERIA8 =
CRITERIA8_MIN =
CRITERIA8_MAX =

Run the screen

The screen can be run one-off

python StockScreener.py

or - in alternative - scheduled for periodical execution via crontab (and - possibly - a VPS). For instructions to setup crontab on a VPS, read a shorthand guide here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].