Instruções para Resolução da Avaliação
Questão 1 (6 pts)
Você foi contratado como consultor por um centro de pesquisa aplicada que desenvolve tanto projetos científicos quanto projetos aplicados para empresas parceiras. Atualmente, a equipe utiliza planilhas de Excel e softwares proprietários com interface gráfica para suas análises. A coordenação está preocupada com questões de reprodutibilidade científica e eficiência operacional, e solicita sua orientação sobre a modernização de suas práticas metodológicas e tecnológicas.
Com base nos conceitos estudados sobre metodologia CRISP-DM, pesquisa reproduzível e ferramentas modernas de ciência de dados, elabore um “parecer” técnico explicando:
(2 pts) Por que a abordagem atual pode comprometer tanto a credibilidade científica das pesquisas quanto a eficiência operacional dos projetos aplicados;
(2 pts) Como a metodologia CRISP-DM poderia beneficiar tanto projetos de pesquisa científica quanto análises aplicadas na indústria;
(2 pts) De que forma ferramentas como a linguagem R, o sistema Quarto (que envolve markdown, LaTeX, entre outros componentes) e Git/GitHub para controle de versão contribuiriam para atender aos padrões de reprodutibilidade científica e às demandas de transparência e auditabilidade no contexto empresarial.
Dica: Sua resposta completa deve ser clara, objetiva e concisa. Priorize a demonstração de compreensão dos conceitos e suas interconexões. Respostas bem articuladas com reflexão crítica serão valorizadas sobre textos extensos sem profundidade analítica.
Questão 2 (6 pontos)
O artigo de Franco (2022), publicado na Revista de Administração Contemporânea (que adota política de reprodutibilidade com disponibilização pública de dados e código), investigou como o sentimento atua como canal entre incerteza e mercados no Brasil (2002-2019), utilizando os seguintes índices mensais:
Medidas de Incerteza:
INC
(Índice de Incerteza Macroeconômica / Index of Macroeconomic Uncertainty): Baseado em Jurado, Ludvigson e Ng (2015), construído com indicadores de pib, nível de preços, consumo, e setores financeiros.EPU
(Economic Policy Uncertainty – Incerteza da Política Econômica):
Medida baseada em mídia (Baker, Bloom e Davis (2016)).IEM
: Índice de Incerteza da Mídia, componente de mídia do IIE-BR (Índice de Incerteza da Economia Brasileira produzido pelo IBRE/FGV).
Medidas de Sentimento:
ICCFGV
: Índice de Confiança do Consumidor (FGV).ICCFEC
: Índice de Confiança (Fecomércio-SP).
Os dados estão no arquivo dados_franco2022.csv
, com as colunas:
data
(mês), EPU
, IEM
, INC
, ICCFEC
, ICCFGV
.
a) (3 pts) Considerando que você deseja tentar reproduzir os resultados obtidos por Franco (2022), importe o arquivo dados_franco2022.csv
utilizando o pacote here para definir o caminho relativo do arquivo e a função apropriada do pacote readr para importar esse arquivo, ao final utilize a função apropriada do pacote dplyr para verificar a estrutura dos dados importados
b) (3 pts) Crie um pipeline usando a função apropriada do pacote dplyr para renomear as variáveis originais para:
data
→mes
EPU
→indice_epu
IEM
→indice_iem
ICCFEC
→icc_fec
ICCFGV
→icc_fgv
Salve o resultado do pipeline no objeto dados_franco_limpos
e, ao final, use novamente a função apropriada do pacote dplyr para verificar a estrutura dos dados limpos.
Questão 3 (7 pontos)
A habilidade de reorganizar dados do formato “amplo” (wide) para o formato “longo” (long) usando a função pivot_longer()
é crítica tanto em análises aplicadas na indústria quanto em pesquisa científica.
No mercado financeiro, analistas frequentemente recebem relatórios gerenciais onde diferentes períodos aparecem como colunas separadas, mas precisam reorganizá-los para análises estatísticas, modelagem preditiva e visualizações. Na pesquisa acadêmica, essa transformação é fundamental para aplicar métodos estatísticos e econométricos adequados.
Imagine que você trabalha como analista financeiro e recebeu um relatório executivo sobre o patrimônio de referência (Nível I) de alguns dos principais bancos brasileiros ao longo de diferentes anos, organizado no formato típico de planilhas gerenciais.
a) (4 pts) Execute o código abaixo para criar a data frame patrimonio_wide
que simula um relatório do Banco Central sobre patrimônio de referência:
# Dados simulando relatório do BCB sobre patrimônio de referência (em bilhões de R$)
<- tribble(
patrimonio_wide ~instituicao, ~`2019`, ~`2020`, ~`2021`, ~`2022`, ~`2023`,
"Itaú Unibanco", 186.4, 203.7, 218.9, 234.5, 251.2,
"Banco do Brasil", 142.8, 156.3, 169.7, 182.1, 198.4,
"Bradesco", 158.7, 171.2, 184.6, 197.8, 213.3,
"Santander Brasil", 89.3, 96.7, 104.2, 112.8, 121.5,
"Caixa Econômica Federal", 118.6, 127.9, 138.4, 149.7, 162.3,
"BTG Pactual", 28.4, 32.1, 36.8, 42.3, 48.7
)
# Visualiza os dados em formato amplo
patrimonio_wide
Utilizando a função pivot_longer()
do pacote tidyr
, transforme a tibble (data frame) patrimonio_wide
para o formato longo, criando um pipeline que:
Transforme as colunas de anos (
2019
,2020
,2021
,2022
,2023
) em valores de uma nova coluna chamadaano
Transforme os valores de patrimônio em uma nova coluna chamada
patrimonio_referencia
Converta a coluna
ano
de caractere para numérico usando a funçãomutate()
Ordene os dados primeiro por
instituicao
e depois porano
usando a funçãoarrange()
Salve o resultado no objeto patrimonio_longo
e exiba o resultado completo.
Dica: Lembre-se de que os nomes das colunas de anos são caracteres e precisam ser especificados corretamente no argumento cols
da função pivot_longer()
. Use aspas e acentos graves para referenciar os anos como "'2019'":"'2023'"
ou liste individualmente.
b) (3 pts) Com base nos dados organizados em patrimonio_longo
, responda utilizando as funções apropriadas da linguagem R:
b.1) Qual a estrutura dos dados transformados?
b.2) Quantas observações possui a data frame patrimonio_longo
após a transformação?
b.3) Quantas variáveis possui a data frame patrimonio_longo
? Quais os nomes dessas variáveis?
Questão 4 (7 pontos)
A análise de indicadores financeiros frequentemente requer a combinação de informações de diferentes fontes de dados. Nesta questão, você aplicará conceitos de joins e manipulação de dados para analisar a estrutura de capital dos bancos australianos.
a) (3 pts) Usando as data frames aus_banks
e aus_bank_funds
, crie um pipeline que:
Combine as duas tabelas usando um join apropriado para manter todas as informações de
aus_bank_funds
e adicionar os nomes dos bancosRemova possíveis observações com valores ausentes
Selecione apenas as variáveis:
co_name
,ticker
,datadate
,at
,ceq
Ordene os dados por nome do banco (
co_name
) e depois por data (datadate
)
Salve o resultado no objeto dados_combinados
e exiba as primeiras 10 linhas.
b) (4 pts) A partir do objeto dados_combinados
, calcule o equity ratio (índice de capitalização), que representa a proporção do patrimônio líquido em relação ao ativo total, usando a fórmula: equity_ratio = ceq / at
Crie um pipeline que:
Calcule o equity_ratio para cada observação usando a função
mutate()
Agrupe os dados por banco (
co_name
)Calcule o equity_ratio médio de cada banco no período disponível, nomeie a nova variável como
equity_ratio_medio
Ordene os resultados do maior para o menor equity_ratio médio
Identifique qual banco apresentou o maior equity_ratio médio
Salve o resultado no objeto ranking_equity
e exiba a tabela completa.
Nota: O equity ratio (índice de capitalização) é um indicador importante de solidez financeira - valores mais altos indicam maior proporção de capital próprio em relação ao ativo total, sugerindo menor alavancagem e potencialmente maior estabilidade financeira.
Questão 5 (7 pontos)
Desenvolva um pipeline completo que integre as três data frames (aus_banks
, aus_bank_funds
, aus_bank_rets
) para responder à seguinte questão de pesquisa: “Existe relação entre o tamanho do banco (ativo total) e seu desempenho no mercado de ações (retorno médio)?”**
Seu pipeline deve:
a) (2 pts) Integrar as três tabelas de forma apropriada, mantendo apenas observações com dados completos para as análises.
b) (2 pts) Calcular, para cada banco, o Ativo total médio (variável at
de aus_bank_funds
)
c) (3 pts) Com base nos dados calculados no item anterior (b), use a função case_when()
para criar uma nova variável chamada categoria_tamanho
que classifique os bancos em três grupos:
- “Pequeno”: bancos com ativo total médio menor que 50.000 milhões USD
- “Médio”: bancos com ativo total médio entre 50.000 e 200.000 milhões USD
- “Grande”: bancos com ativo total médio acima de 200.000 milhões USD