Automatizando a coleta de dados de demonstrativos financeiros: criando a atualização

Chegamos na última etapa do processo de criação do nosso Dashboard automatizado de dados de demonstrativos financeiros. Na primeira postagem aprendemos a como importar os dados fornecidos pela CVM e como criar indicadores contábeis a partir dos dados. Na segunda postagem, colocamos o processo de coleta e criação de indicadores em um Dashboard. Por fim, na postagem de hoje, finalizaremos colocando o Dashboard em uma página Web, com atualizações programadas da coleta de dados por meio do Shiny Apps e do Github Actions.

É possível acompanhar a série através das postagens:

O Github Actions é uma plataforma de integração continua e entrega continua (CI/CD) que permite automatizar o pipeline de um projeto. O Worflow do Actions é um processo automatizado configurável que executa um ou mais trabalhos. Os fluxos de trabalho são definidos por um arquivo YAML no repositório e que será executado quando acionado por um evento no repositório, manualmente ou de acordo com um cronograma definido.

O Shiny Apps permite realizar o deploy de aplicações Shiny. Basicamente é um servidor que permite manter o Dashboard criado por R ou Python online em uma página própria.

A combinação do Actions com o Shiny permite criarmos um Workflow que possibilita a atualização do arquivo get_data.R com um cronograma definido, e que a partir da obtenção de novos dados, seja realizado o deploy automaticamente dentro do Shiny App.

O processo necessitará de algumas condições antes de colocarmos o Dashboard em um ambiente online. Deve-se:

  • possuir uma conta no Github;
  • possuir o Git instalado e com o usuário configurado na máquina (para mais detalhes veja o seguinte post: Conectando Git, Github e RStudio em 3 passos);
  • possuir uma conta no Shiny Apps;
  • ter o projeto do Dashboard criado com o Rstudio.

Com as condições acima satisfeitas, devemos seguir os seguintes passos:

Todo o processo abaixo pode ser conferido através da plataforma do Clube AM, o repositório de código da Análise Macro, onde disponibilizamos um vídeo explicando o o post, e também os arquivos utilizados.

1 - Criando um arquivo Renv.lock do projeto

O Github Actions funciona como se fosse uma máquina virtual, portanto, é necessário criar dentro do Workflow um ambiente para o R, e portanto, uma forma de que o sistema instale os pacotes no qual o projeto é dependente (aqueles que são carregados nos arquivos .R e .Rmd). Para isso, podemos utilizar o pacote {renv}, que permite controlarmos as informações dos pacotes dos quais são utilizados no Dashboard.

Com o projeto aberto, deve-se:

  1. usar o comando renv::init() para inicializar o ambiente do projeto local.
  2. use o comando renv::snapshot() para salvar o estado projeto local em um lockfile (chamado renv.lock). É neste arquivo que estará contido as informações dos pacotes utilizados no projeto.

2 - Enviando os arquivos para um repositório no Github

Deve-se realizar a transferência dos arquivos hospedados localmente para um repositório no Github através do Rstudio.

Vamos criar um repositório no Github, chamado de dashboard_financeiro, como abaixo.

Após a criação, utilizaremos o primeiro bloco de comandos do Git dentro do Terminal Git Bash do Rstudio

E por fim, realizamos o Commit inserindo o código Git abaixo no Terminal ou utilizamos as abas do Git dentro do Rstudio para criar o Commit.

Pronto! Temos o repositório com os arquivos do Dashboard.

3 - Configurando o repositório com o Shiny App

Antes de produzir o Dashboard dentro do ambiente Shiny App com o Actions, é necessário permitir que o Github tenha as credenciais para produzir o sistema no site do Shiny. Para realizar essa configuração, selecionamos dentro do repositório do Github, a aba Settings -> Secrets -> Actions -> New repository Secret. No bloco que será aberto, é necessário colocar o nome (Name*) que referenciará o Secret no Workflow do Github Actions e em Secret* colocaremos os Tokens do Shiny App.

Criaremos três Secret, um para o usuário, um para o token e outro para o secret do Shiny App. Os seus nomes serão:

  • RSCONNECT_USER
  • RSCONNECT_TOKEN
  • RSCONNECT_SECRET

Cada nome estará referenciado no Workflow do Github Actions.

E os Secrets de cada nome? Obtemos através da conta criada no site do Shiny App, acessando na Aba lateral superior a opção Tokens, "+ Add Token", e em "Show".

Portanto, o resultado de cada inserção ficará igual a imagem abaixo, que possui como exemplo a inserção do Token.

4 - Criando o arquivo do Github Actions

Agora podemos criar o Workflow do Github Actions para rodar o código em um ambiente a cada período de tempo.  Para tanto, acessamos a aba do repositório Github Actions e criamos um novo arquivo em Set up a workflow yourself.

Agora será criado um novo arquivo chamado main.yml. Aqui, podemos alterar o nome para qualquer um que se deseja, no caso, alterei para update.yml.

E o que inserir dentro do arquivo? Será um código que indicará o sistema os passos para a o período de execução do código, a construção do ambiente do R, a instalação do pacote do projeto, a execução dos arquivos get_data.R e index.Rmd e o deploy no Shiny Apps. O código segue abaixo:

Obs: É necessário seguir corretamente a identação

Uma vez construído o Workflow, é possível realizar o Commit e esperar o Actions fazer o seu trabalho. O processo pode ser demorado, normalmente de 20 a 40 minutos. Ao final, será gerado o link do site do Dashboard no site do Shiny Apps.

Quer saber mais?

Veja nossos cursos da trilha de Ciência de dados para Economia e Finanças onde ensinamos a coletar dados financeiros e econômicos e também a construir Dashboard com o R.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Quais são as ferramentas de IA?

Um aspecto crucial dos Agentes de IA é a sua capacidade de tomar ações, que acontecem por meio do uso de Ferramentas (Tools). Neste artigo, vamos aprender o que são Tools, como defini-las de forma eficaz e como integrá-las ao seu Agente por meio da System Prompt. Ao fornecer as Tools certas para o seu Agente — e ao descrever claramente como essas Tools funcionam — você pode aumentar drasticamente o que sua IA é capaz de realizar.

Otimizando um Portfólio de Investimentos com Machine Learning

A construção de portfólio ótimo refere-se ao processo de alocar eficientemente capital entre um conjunto predefinido de ativos ou títulos. O campo da construção de portfólio tem sido extensivamente estudado por acadêmicos e profissionais desde a década de 1950, quando Markowitz introduziu sua inovadora abordagem de média-variância para a construção de portfólio. Diante disso, podemos melhorar o processo de alocação de peso de um investimento em um portfólio através do Aprendizado não supervisionado com a aplicação do Hierarchical Risk Parity (HRP). Neste exercício, realizamos uma introdução ao método e mostramos os resultados de um exemplo criado através do Python.

Como usar IA + Python para o Mercado Financeiro?

Neste post, mostramos como a Inteligência Artificial, aliada à linguagem Python, está revolucionando o mercado financeiro. Exploramos as principais áreas onde essa tecnologia pode ser aplicada — como gestão de carteiras, análise de demonstrações contábeis, estratégias quantitativas, trading e análise macroeconômica — com foco em aplicações práticas e exemplos voltados para o contexto brasileiro.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.