/stocks-valuation

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

Primary LanguageJupyter NotebookMIT LicenseMIT

Winning Investments Logo

Winning Investments é um Sistema em Python que aplica as estratégias e técnicas empregadas pelos mais renomados investidores do mundo aqui no mercado de ações brasileiro, visando um rigoroso processo de análise fundamentalista comparativa. 🥋

Ao eleger uma estratégia, o sistema desencadeia um processo de ranqueamento, revelando as jóias do mercado até as oportunidades menos promissoras, sempre alinhado com a estratégia selecionada do investidor desejado.

Os dados essenciais são minuciosamente capturados através de diversas APIs disponíveis gratuitamente na vasta rede da internet.

Neste momento, é possível aplicar as estratégias dos seguintes mestres da arte financeira:

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

Além de outras estratégias bastante interessantes, como encontrar as Dividend Aristocrats aqui no Mercado Brasileiro, que era uma estratégia adotada somente no Mercado de Ações Americano.

É importante ressaltar que também foi empreendida uma extensa busca na literatura especializada, com o propósito de identificar e incorporar as estratégias de investimento mais promissoras e eficazes. Este projeto, de minha autoria, promete desvendar jóias do mercado brasileiro e auxiliar na tomada de decisões estratégicas do investidor, já que agora suas decisões terão o alicerce nas decisões dos maiores investidores do mundo 🙌

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 do mercado de ações brasileiro, que é o Mercado de Ações brasileiro, 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 do mercado de ações brasileiro, 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 do mercado de ações brasileiro, 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 do mercado de ações brasileiro, 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 do mercado de ações brasileiro, 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...

Contact


*This repository is maintained and developed by Victor Cordeiro Costa. For inquiries, partnerships, or support, don't hesitate to get in touch.