Intro

Sempre me interessei pelo mercado financeiro e por toda a tecnologia que esse mercado já usa de ferramenta, como por exemplo HFT’s (High-Frequency Trading) e Quantitative Trading, temas que unem o melhor do mercado de tecnologia e financeiro.

Pesquisando sobre o tema vi que grandes bancos já usam essas e outras tecnologias para ajudar na tomada de decisão ou para recomendar investimentos para os seus clientes, e pensando em uma escala menor decidi criar um advisor que pudesse me ajudar a analisar todas as ações da bolsa brasileira de forma massiva e me mostrasse apenas aquelas ações que estivessem com algum sinal “interessante” com base em alguns parâmetros.

Bom, mas como e onde conseguir os dados para fazer essas análises?

Navegando bastante entre um post e outro encontrei o post do Ran Aroussi criador dessa lib fantástica escrita em python, era exatamente o que eu precisava para começar o meu projeto de bot que iria fazer todo o trabalho chato no meu lugar.

Como instalar e usar a lib yfinance

Para usar a lib yfinance voce vai precisar ter o python >=3.4 e o pip instalado, veja aqui como instalar no Windows, Linux e MacBook

Com o python e pip instalados, execute o comando à seguir no terminal:

pip install yfinance --upgrade --no-cache-dir

Pronto, agora voce já consegue comecar a usar.

Fazendo o download de dados históricos uma ação por vez

Primeiro crie um arquivo com a extensão *.py e adicione as seguintes linhas:

import yfinance as yf

ticker = "VALE3.SA"
period = "1y"
interval = "1wk"

historical_data = yf.Ticker(ticker).history(period, interval, actions=False).dropna()

print(historical_data)

"""
                 Open       High        Low      Close       Volume
Date                                                               
2019-12-29  51.497285  52.313177  51.065340  51.766048   46722600.0
2020-01-05  51.641265  52.188394  50.921359  51.218922   88179900.0
2020-01-12  51.487684  54.799253  51.362899  54.712864  126412900.0
2020-01-19  54.712866  55.058422  51.535679  51.641266  102226200.0
2020-01-26  49.587132  49.999879  47.801764  48.252907  138220500.0
"""

Vou fazer uma série de posts, mostrando as soluções que estou usando na construção desse “advisor”, irei organizar todos os posts dessa série na tag Financial Advisor Bot.

Click aqui para ir para o próximo post.

No final iremos gerar um relatório igual à esse:

Analise