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

Como treinar e selecionar os melhores modelos de previsão no Python?

Em previsão, há uma infinidade de modelos que podem ser usados. O processo de escolha do(s) modelo(s) deve ser empírico-científico, usando métodos que visem avaliar a generalização dos algoritmos para dados novos. Neste artigo, mostramos como implementar a metodologia de validação cruzada com algoritmos de machine learning no Python, exemplificando para a previsão do IPCA.

Como selecionar variáveis para modelos de previsão no Python?

Em oposição à crença popular, grande parte dos modelos de machine learning não produzem previsões magicamente. É papel do cientista de dados executar uma boa engenharia de variáveis para não cair no clássico problema de “garbage in, garbage out” (GIGO) em aprendizado de máquina. Neste sentido, aprender a fazer uma boa seleção de variáveis é fundamental e neste artigo exploramos algumas possibilidades práticas usando o Python.

Resultado IPCA-15 - Novembro/2024

A Análise Macro apresenta os resultados do IPCA-15 de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

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.