All Projects → astro30 → valinvest

astro30 / valinvest

Licence: MIT license
A value investing tool based on Warren Buffett, Joseph Piotroski and Benjamin Graham thoughts

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to valinvest

datascienv
datascienv is package that helps you to setup your environment in single line of code with all dependency and it is also include pyforest that provide single line of import all required ml libraries
Stars: ✭ 53 (-36.9%)
Mutual labels:  numpy, pandas
onelinerhub
2.5k code solutions with clear explanation @ onelinerhub.com
Stars: ✭ 645 (+667.86%)
Mutual labels:  numpy, pandas
hamilton
A scalable general purpose micro-framework for defining dataflows. You can use it to create dataframes, numpy matrices, python objects, ML models, etc.
Stars: ✭ 612 (+628.57%)
Mutual labels:  numpy, pandas
Engezny
Engezny is a python package that quickly generates all possible charts from your dataframe and saves them for you, and engezny is only supporting now uni-parameter visualization using the pie, bar and barh visualizations.
Stars: ✭ 25 (-70.24%)
Mutual labels:  numpy, pandas
degiro-trading-tracker
Simplified tracking of your investments
Stars: ✭ 16 (-80.95%)
Mutual labels:  pandas, investment
Datscan
DatScan is an initiative to build an open-source CMS that will have the capability to solve any problem using data Analysis just with the help of various modules and a vast standardized module library
Stars: ✭ 13 (-84.52%)
Mutual labels:  numpy, pandas
saddle
SADDLE: Scala Data Library
Stars: ✭ 23 (-72.62%)
Mutual labels:  numpy, pandas
py-investment
Extensible Algo-Trading Python Package.
Stars: ✭ 19 (-77.38%)
Mutual labels:  investing, investment
UDACITY-Deep-Learning-Nanodegree-PROJECTS
These are the projects I did on my Udacity Deep Learning Nanodegree 🌟 💻 💻. 💥 🌈
Stars: ✭ 18 (-78.57%)
Mutual labels:  numpy, pandas
ml-workflow-automation
Python Machine Learning (ML) project that demonstrates the archetypal ML workflow within a Jupyter notebook, with automated model deployment as a RESTful service on Kubernetes.
Stars: ✭ 44 (-47.62%)
Mutual labels:  numpy, pandas
covid-19
Data ETL & Analysis on the global and Mexican datasets of the COVID-19 pandemic.
Stars: ✭ 14 (-83.33%)
Mutual labels:  numpy, pandas
Python-for-data-analysis
No description or website provided.
Stars: ✭ 18 (-78.57%)
Mutual labels:  numpy, pandas
Data-Wrangling-with-Python
Simplify your ETL processes with these hands-on data sanitation tips, tricks, and best practices
Stars: ✭ 90 (+7.14%)
Mutual labels:  numpy, pandas
Data-Science-Resources
A guide to getting started with Data Science and ML.
Stars: ✭ 17 (-79.76%)
Mutual labels:  numpy, pandas
Udacity-Data-Analyst-Nanodegree
Repository for the projects needed to complete the Data Analyst Nanodegree.
Stars: ✭ 31 (-63.1%)
Mutual labels:  numpy, pandas
introduction to ml with python
도서 "[개정판] 파이썬 라이브러리를 활용한 머신 러닝"의 주피터 노트북과 코드입니다.
Stars: ✭ 211 (+151.19%)
Mutual labels:  numpy, pandas
Orange3
🍊 📊 💡 Orange: Interactive data analysis
Stars: ✭ 3,152 (+3652.38%)
Mutual labels:  numpy, pandas
value-investing-studies
Data Analysis Studies on Value Investing
Stars: ✭ 66 (-21.43%)
Mutual labels:  investing, value-investing
datasets
🤗 The largest hub of ready-to-use datasets for ML models with fast, easy-to-use and efficient data manipulation tools
Stars: ✭ 13,870 (+16411.9%)
Mutual labels:  numpy, pandas
content
Synced content from our gitbook site.
Stars: ✭ 37 (-55.95%)
Mutual labels:  investing, investment


Valinvest

A value investing tool based on Warren Buffett, Joseph Piotroski and Benjamin Graham thoughts

Welcome to Valinvest

🔥 Important update 🔥

The Financial API used by valinvest to get financial data has been rewritten and now requires a API Key in order to make request. So, the first step now is to register on https://financialmodelingprep.com/login and get an API key. Keep it, you will need it to use valinvest ;)

tl;dr

For a given stock ticker, valinvest calculates a score from 0 to 9. The higher the score, the better the company is according to the scoring methodology.

  1. Install it
pip install valinvest
  1. Calculate score
>>> import valinvest
>>> aapl = valinvest.Fundamental('AAPL', YOUR_API_KEY)
>>> aapl.fscore()
6.8

Table of contents 📚

Introduction

The aim of the package is to evaluate a stock according to his fundamentals by setting a score and identify buy and sells opportunies through technical indicators.

Methodology description

The scoring methodology is based on Joseph Piotroski's study (Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers). The F-Score is used to help financial investment decisions by finding the best value stocks on the market.

The Piostroski score is calculated based on 9 criteria divided into 3 groups:

Profitability

  • Return on Assets (1 point if it is positive in the current year, 0 otherwise)
  • Operating Cash Flow (1 point if it is positive in the current year, 0 otherwise)
  • Change in Return of Assets (ROA) (1 point if ROA is higher in the current year compared to the previous one, 0 otherwise)
  • Accruals (1 point if Operating Cash Flow/Total Assets is higher than ROA in the current year, 0 otherwise)

Leverage, Liquidity and Source of Funds

  • Change in Leverage (long-term) ratio (1 point if the ratio is lower this year compared to the previous one, 0 otherwise)
  • Change in Current ratio (1 point if it is higher in the current year compared to the previous one, 0 otherwise)
  • Change in the number of shares (1 point if no new shares were issued during the last year)

Operating Efficiency

  • Change in Gross Margin (1 point if it is higher in the current year compared to the previous one, 0 otherwise)
  • Change in Asset Turnover ratio (1 point if it is higher in the current year compared to the previous one, 0 otherwise)

This software calculates an alternate version of the F-Score as follows:

Growth

  • Net Revenue
  • EBITDA
  • Earnings per share (EPS)

Profitability

  • CROIC
  • ROIC

Debts

  • EBITDA cover ratio
  • Debt coverage

Market sensibility

  • Beta

Investment

  • Equity buyback

Installation

pip install valinvest

Examples

Starbucks Corporation (SBUX)

2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 Score
REV_G 1 1 1 1 1 1 1 1 1 1 1
EBT_G 1 1 1 0 1 1 1 0 0 1 0.7
EPS_G 1 1 1 0 1 0 1 1 1 0 0.7
ROIC 0 0 1 0 0 0 0 0 0 0 0 0.1
CROIC 1 1 1 1 1 0 1 1 1 1 1 0.9
5YRS_BETA 1
EBITDA_COVER 1 1 1 1 1 1 1 1 1 1 1 1
DEBT_COST 0 0 0 0 1 1 1 1 1 1 1 0.7
EQ_BUYBACK 1 0 0 1 0 0 1 1 1 1 0.6
F-SCORE 6.7
>>> import valinvest
>>> sbux = valinvest.Fundamental('SBUX')
>>> sbux.fscore()
6.7

Apple Inc. (AAPL)

2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 Score
REV_G 1 1 1 1 1 1 0 1 1 0 0.8
EBT_G 1 1 1 0 1 1 0 1 1 0 0.7
EPS_G 1 1 1 0 0 1 0 1 1 0 0.6
ROIC 1 1 1 1 1 1 1 1 1 1 1 1
CROIC 1 1 1 1 1 1 1 1 1 1 1 1
5YRS_BETA 0
EBITDA_COVER 1 1 1 1 1 1 1 1 1 1 1 1
DEBT_COST 1 1 1 1 1 1 1 1 1 1 1 1
EQ_BUYBACK 1 0 0 1 0 1 1 1 1 1 0.7
F-SCORE 6.8
>>> import valinvest
>>> aapl = valinvest.Fundamental('AAPL')
>>> aapl.fscore()
6.8

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Credits

This software uses code from several open source packages:

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].