GithubHelp home page GithubHelp logo

0peters / bovespa-winner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tsachetto/bovespa-winner

0.0 0.0 0.0 14.36 MB

Repository dedicated to apply on the brazilian stock market the strategies developed by the most successfull investors.

License: MIT License

Python 11.28% Shell 1.80% Jupyter Notebook 86.92%

bovespa-winner's Introduction

Bovespa Winner 🥇

Este é um Sistema em Python que aplica no Bovespa as estratégias e técnicas desenvolvidas pelos maiores investidores em ações para fins de comparação. 🥋

Ao escolher a estratégia, é construído um sistema de rankeamento onde mostra das melhores ações para as piores ações considerando a estratégia escolhida.

Os dados são capturados principalmente do site fundamentus (https://www.fundamentus.com.br/resultado.php) e também de diversas APIs disponíveis de forma gratuita.

No momento, estratégias dos seguintes grandes investidores podem ser aplicadas:

  1. Benjamin Graham
  2. Joel Greenblatt
  3. Décio Bazin
  4. Joseph D. Piotroski
  5. Kenneth Fisher

Também existem pequenas adaptações nestas estratégias. Elas estão presentes na pasta /mixed_strategies.

Pré-requisitos 🎓

  • Python 3
  • Libs (pip3 install them)
    • pandas
    • lxml
    • yfinance
    • pyfolio
    • click
    • tabulate
    • matplotlib
    • pyperclip

Como usar 🎯

Basta rodar um destes comandos, dependendo da estratégia que deseja-se aplicar.

Ao final de cada comando, é mostrado no terminal a tabela resultante e salvo no Ctrl+C. Para melhor visualizar o resultado, basta colar via Ctrl+V em algum editor de Markdown, como o site https://dillinger.io/

python3 graham.py
python3 greenblatt.py # Aplica tanto ROE e P/L quanto ROIC e EV/EBIT
python3 greenblatt.py "{ 'formula': 'ROE' }" # Aplica ROE e P/L
python3 greenblatt.py "{ 'formula': 'ROIC' }" # Aplica ROIC e EV/EBIT
python3 bazin.py
python3 piotroski.py
python3 fisher.py

Estratégias 📚

Benjamin Graham 📈

  • Arquivo: graham.py

Aplica-se ensinamentos de Benjamin Graham em todas as ações da bovespa, produzindo um ranking com base na análise fundamentalista dos dados de todas as empresas.

Para a análise, são utilizados ensinamentos do livro "O Investidor Inteligente" de Benjamin Graham.

Também é calculado o Valor Intrínseco (Preço Justo) definido por Benjamin Graham para cada ação.

Benjamin Graham foi o mentor dos melhores investidores do mundo, como o grandíssimo Warren Buffet, além do Irving Kahn e Walter Schloss.

No algoritmo, cada ação recebe uma nota que vai de 0 a 14, considerando se ela se adequou a cada uma dessas características abaixo estipuladas por Benjamin Graham.

Backtests 🧐

1. Literature

2. 2009 to 2020

Links 🌐

Artigos Científicos 🔬

  1. http://dspace.insper.edu.br/xmlui/bitstream/handle/11224/2244/Rafael%20Domingues%20dos%20Santos_Trabalho.pdf?sequence=1

Joel Greenblatt 📈

  • Arquivo: greenblatt.py

Aplica-se ensinamentos de Joel Greenblatt em todas as ações da Bovespa, depois rankeia das ações que mais se adequaram para as que menos se adequaram.

Para a análise, são utilizados ensinamentos do livro "The little book that beats the Market" de Joel Greenblatt

Em sua fórmula mágica, Greenblatt utiliza os seguintes indicadores: ROE (indicador de Qualidade) e o P/L (indicador de Preço). Através desses 2 indicadores ele monta dois rankings, um com as empresas de maior ROE (mais rentáveis) e outro com as ações de menor P/L (maior custo-benefício). Feito os 2 rankings, é somado a posição de cada ação nos rankings. As empresas de menor soma são aquelas escolhidas para montar a carteira pois seriam as ações mais baratas e mais rentáveis ao mesmo tempo.

Uma outra abordagem dessa fórmula é utilizar os indicadores: ROIC (indicador de Qualidade) EV/EBIT (indicador de Preço). É seguido então a mesma estratégia de usar ROE+P/L, mas substituindo ROE por ROIC e P/L por EV/EBIT.

  • 1. maior ROE e menor P/L
  • 2. maior ROIC e menor EV/EBIT

Backtests 🧐

1. Literature

2. 2009 to 2020

Links 🌐

Artigos Científicos 🔬

  1. http://bibliotecadigital.fgv.br/dspace/bitstream/handle/10438/15280/Tese%20-%20Leonardo%20Milane%20-%20Magic%20Formula.pdf?sequence=1
  2. http://bibliotecadigital.fgv.br/dspace/bitstream/handle/10438/12099/Disserta%C3%A7%C3%A3o_RodolfoZeidler_MPFE_27.09.2014.pdf?sequence=1&isAllowed=y
  3. http://dspace.insper.edu.br/xmlui/bitstream/handle/11224/2244/Rafael%20Domingues%20dos%20Santos_Trabalho.pdf?sequence=1

Décio Bazin 📈

  • Arquivo: bazin.py

Aplica-se ensinamentos de Décio Bazin em todas as ações da Bovespa, depois rankeia das ações que mais se adequaram para as que menos se adequaram.

Para a análise, são utilizados ensinamentos do livro "Faça Fortuna Com Ações" de Décio Bazin, que é tido como literatura indicada até mesmo por Luis Barsi, o maior investidor na bolsa brasileira de todos os tempos.

Também é calculado o Valor Intrínseco (Preço Justo) definido por Décio Bazin para cada ação.

No algoritmo, cada ação recebe uma nota que vai de 0 a 8, considerando se ela se adequou a cada uma dessas características abaixo estipuladas por Décio Bazin.

  • 1. Preço Justo (Bazin) > 1.5 * Preço. Preço Justo (Bazin) é o Dividend Yield Médio * 16.67 (Por: Décio Bazin)
  • 2. Dívida Bruta/Patrimônio < 0.5 (50%)
  • 3. Dividend Yield > 0.06 (6%)
  • 4. Média do Dividend Yield nos últimos 5 anos > 0.05 (5%)
  • 5. Mediana do Dividend Yield nos últimos 5 anos > 0.05 (5%)
  • 6. Pagamento constante de dividendos nos últimos 5 anos
  • 7. Pagamento crescente de dividendos nos últimos 5 anos
  • 8. 0 < Payout < 1

Backtests 🧐

1. Literature

2. 2009 to 2020

Links 🌐

Artigos Científicos 🔬

  1. Se alguém achar algum artigo de backtest, eu agradeço. No mais, essa estratégia se mostrou uma estratégia extremamente eficiente através dos backtests que eu fiz neste programa.

Joseph D. Piotroski 📈

  • Arquivo: piotroski.py

Aplica-se ensinamentos de Joseph D. Piotroski em todas as ações da Bovespa, depois rankeia das ações que mais se adequaram para as que menos se adequaram.

Para a análise, são utilizados ensinamentos do paper "Value Investing: The Use of Historical Financial Statement Information to Separate Winners from Losers" de Joseph D. Piotroski.

No algoritmo, cada ação recebe uma nota que vai de 0 a 9, considerando se ela se adequou a cada uma dessas características abaixo estipuladas por Piotroski.

Backtests 🧐

1. Literature

2. 2009 to 2020

Links 🌐

Artigos Científicos 🔬

  1. http://dspace.insper.edu.br/xmlui/bitstream/handle/11224/1724/Felippe%20Naccarato%20Baldo_Trabalho.pdf?sequence=1
  2. https://www.quant-investing.com/blogs/backtests/2018/11/06/piotroski-f-score-back-test

Kenneth Fisher 📈

Está ainda em fase de desenvolvimento. 🚧

  • Arquivo: fisher.py

Aplica-se ensinamentos de Kenneth Fisher em todas as ações da Bovespa, depois rankeia das ações que mais se adequaram para as que menos se adequaram.

Kenneth Fisher é o filho de Philip Fisher, têm uma fortuna atual de 4 bilhões de dólares e é dono de um fundo de investimento (Fisher Investments). Com base nas suas ações públicas, estimate-se que o desempenho de Ken Fisher tenha superado o mercado de ações dos EUA em uma média de 4,2 potos percentuais por ano.

No algoritmo, cada ação recebe uma nota que vai de 0 a 4, considerando se ela se adequou a cada uma dessas características abaixo estipuladas por Kenneth Fisher.

Links 🌐

Artigos Científicos 🔬

  1. Se alguém achar algum artigo de backtest, eu agradeço.

Score 📈

  • Arquivo: score.py

Para compor esse Score, é aplicado um mix de estratégias.

Além dos pontos defendidos por Benjamin Graham (Veja os 14 pontos da seção de Benjamin Graham), é também avaliado o ROIC, Margem Líquida, Endividamento, PSR, EV/EBITDA e Peg Ratio. Aplicando, assim, ensinamentos também de Kenneth Fisher por exemplo e de outros grandes investidores.

No algoritmo, cada ação recebe uma nota que vai de 0 a 21, avaliando se cada uma se adequou às características mostradas por Benjamin Graham. Também é avaliado 7 características adicionais, mostradas abaixo...

Contato ✉️ 📞

bovespa-winner's People

Contributors

victorcorcos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.