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

Onde encontrar dados e ferramentas para text mining?

A aplicação das técnicas de mineração de texto pode trazer análises quantitativas informativas sobre a emoção, tom, categoria e outros padrões de interesse em documentos textuais. O primeiro passo é identificar, coletar e preparar estes dados brutos. Neste artigo, apresentamos bases de dados públicas de Economia e Finanças que podem ser exploradas, assim como ferramentas de programação úteis.

O que é mineração de textos e sua relação com IA?

Com uma matéria prima em comum, a mineração de textos e a inteligência artificial generativa usam grandes volumes de dados não estruturados para fins distintos e com aplicações em Economia, Finanças, Marketing e outras áreas. Mas quando devemos usar uma técnica e não a outra? O que é possível fazer e o que é mineração de textos? Neste artigo introduzimos estes tópicos e fornecemos alguns exemplos de aplicações.

Avaliando a evolução do Funcionalismo Público nos Estados Brasileiros usando Controle Sintético no R

O objetivo deste exercício é introduzir o uso do método de Controle Sintético na linguagem de programação R, aplicando-o a um exemplo prático relevante para a análise de políticas públicas. Vamos focar na utilização dessa técnica para avaliar o impacto do Regime de Recuperação Fiscal (RRF) sobre o número de vínculos do poder executivo nos estados brasileiros, com ênfase no caso do Rio de Janeiro.

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.