Identidades Contábeis do PIB
Sabemos através dos conceitos de Contabilidade Nacional (SNA 93) que o PIB pode ser cálculado por três óticas distintas, sendo elas: Demanda (ou dispêndio), Oferta e Renda.
O PIB pela ótica da Demanda (Dispêndio): \[Y_{pm}\equiv C+I+G+X-M\;\;\;\;\;\;(1)\] Sendo \(I\equiv FBCF+\Delta E\), onde \(Y_{pm}\) é o PIB calculado em preço de mercado, \(C\) é o consumo das famílias; \(I\) é o investimento agregado (público e privado), pondendo ser separado em formaçâo bruta de capital fixo (\(FBCF\)) e variação de estoques (\(\Delta E\)); \(G\) é o consumo do governo; \(X\) são as exportações de bens e serviços, \(M\) são as importações de bens e serviços.
O PIB pela ótica da Oferta (Valor Adicionado): \[Y_{pm}\equiv \sum_{i=1}^{N}{VA_i}+Imp.M-Sub.pM=\sum_{i=1}^{N}{\left(VBP_i-CI_i\right)+Imp.M-Sub.pM}\;\;\;\;\;\;(2)\] sendo \(VA_i\) o valor adicionado de cada unidade representativa da economia; \(Imp.M\) os impostos sobre produtos e importação; \(Sub.pM\) os subsídios sobre os produtos e importação; \(VBP_i\) é o valor bruto de produção por unidade representativa; \(CI_i\) é o consumo intermediário por unidade representativa.
O PIB pela ótica da Renda (remuneração dos fatores de produção)
\[Y_{pm}\equiv EOD+W+Imp.M-Sub.pM\;\;\;\;\;\;(3)\] sendo \(EOD\) é o excedente operacional bruto, que na sua construção equivale a soma massa de lucros + alugueis e juros. Equivale ao agregado da soma de lucro antes dos juros e impostos. Nele, também está incluído a massa de remuneração dos autônomos; \(W\) é a massa bruta de salários. Nela está inclusa os encargos trabalhistas envolvidos.
A Decomposição Temporal do Crescimento
Seja o PIB composto por apenas dois componentes, \(A\) e \(B\): \[Y\equiv A+B\] Se aplicarmos o log na base neperiana em ambos os lados, temos: \[\ln Y\equiv \ln (A+B)\] Derivando no tempo, temos: \[\frac{1}{Y}.\frac{dY}{dt}=\frac{1}{A+B}.\left(\frac{dA}{dt}+\frac{dB}{dt}\right)\] Substituindo \(Y\equiv A+B\) na equação anterior, e mudando a notação de \(dY/dt\) para \(\dot{Y}\) temos: \[\frac{\dot{Y}}{Y}=\frac{1}{Y}.\left(\dot{A}+\dot{B}\right)\] Podemos agora multiplicar o termo \(\dot{A}\) por \(A/A\) e o termo \(\dot{B}\) por $B/B, sem alterar a equação anterior. Dessa forma, obtemos: \[\frac{\dot{Y}}{Y}=\frac{A}{Y}.\frac{\dot{A}}{A}+\frac{B}{Y}.\frac{\dot{B}}{B}\] Dessa forma, temos que a expressão anteior nos informa, que se o PIB fosse representado apenas por duas rubricas, a sua taxa de crescimento seria explicado pela taxa de crescimento de cada rubrica vezes o seu share (participação percentual da rubrica no PIB)
Se aplicássemos para o lado da demanda, teríamos: \[\hat{Y}=\frac{C}{Y}.\hat{C}+\frac{I}{Y}.\hat{I}+\frac{G}{Y}.\hat{G}+\frac{X}{Y}.\hat{X}-\frac{M}{Y}.\hat{M}\;\;\;\;\;\;(4)\] onde \(\hat{X}=\dot{X}/X\) é a notação agora assumida para a taxa de crescimento de uma variável qualquer.
A equação anterior nos permite concluir algumas definições: a. Uma variável só pode ser puxadora do crescimento (Growth Led) se ela crescer acima da taxa de crescimento do PIB. b. Por maior que seja o share de uma variável, ela só pode ser considerada indutora do crescimento se for efetivamente descorrelacionada temporalmente da taxa de crescimento do PIB atual. ex.: O consumo das famílias é a rubrica de maior share pela ótica da demanda. Todavia, o principal fator explicativo do consumo é a renda das famílias. Dessa forma, devido a alta dependência entre elas, o consumo dificilmente pode ser o fator explicador do crescimento de maneira autônoma.
Relações Funcionais das Variáveis
Na sessão acima falamos da decomposição da dinâmica do crescimento, pelas identidades contábeis. Agora queremos saber quais são os determinantes das variáveis do crescimento em nível.
- O Consumo das Famílias
Para o consumo das famílias, espera-se que a variável mais importante seja a renda disponível corrente e/ou defasada. Como renda disponível, definimos \(Yd\equiv Y-T\equiv (1-t).Y\). Dessa forma, nossa primeira definição é \[C=f(Yd,\bullet)\;\;\;\;\;\partial C/\partial Yd>0\]
Esperamos que também haja algum compenente autônomo do consumo, que seria um nível de consumo agregado mínimo que independe da renda. Algum canal expectacional (foward looking) pode ser esperado, partindo da premissa da Hipótese de Renda Permanente (HRP) das Famílias1. Se essa hipótese for atendida, devemos encontrar alguma dependência do consumo hoje para as expectivas futuras, bem como para a taxa de juros.
Dessa forma, em alguma medida podemos ter a ampliação da especificação anterior para: \[C=f(Yd,E_{t+1}\left(Yd\right),Yd_{-1},r,\sigma,\bullet)\]
- O Consumo do Governo
Com relação ao consumo do governo, podemos considerar que ela em alguma medida pode ser autônoma mas também pode ser explicada pelo próprio crescimento da economia. Conforme a economia cresce, mais do Estado passa a ser requisitado e a máquina pública acompanha o seu crescimento. Em períodos de crise, algum comportamento anticíclico é esperado pela sua capacidade em ser uma variável estabilizadora da renda. Não é por acaso que os déficits orçamentários, usualmente, possuem comportamento anticíclico. Isso ocorre porque a arrecadação de impostos é sensível ao nível de atividade, \(T=f(Y)\) e \(dT/dY>0\). O gasto sendo variável mais exógenamente determinada, ela varia menos e o ciclo de déficits e superávits se formam. Dessa forma, em termos funcionais, temos que: \[G=f(OC^T,G_{-1},Y_{-1},\bullet)\] Sendo \(OC^T\) é uma meta orçamentária de déficit ou superávit sobre o PIB.
- O Investimento
O Investimento é a rubrica geral para falar a respeito de bens para consumo futuro, máquinas, equipamentos e edificações. Eles podem ser planejados, como a formação bruta de capital fixo, \(FBCF\), como podem ser não planejados, tal como a variação de estoques, \(\Delta E\). Como a variação de estoques é não planejada, trataremos ela como variável de ajuste de curto prazo para a equivalência de contas entre a oferta agregada frente a demanda agregada. Assim, não nos preocuparemos em especificar uma função para determiná-la.
Dessa forma, a conta de nosso interesse passa a ser a \(FBCF\). Cabe ressaltar que ela não é uma conta de investimento exclusiva do setor privado. Ela engloba tanto a esfera pública quanto a privada. A respeito das variáveis explicativas que podemos ter aqui: Uma relação negativa com a taxa de juros, principalmente a taxa de juros de longo prazo (em termos reais); um caráter expectacional, tanto de olhar para frente (forward looking) quanto olhando para trás (backward looking).
Em termos funcionais: \[I_t=f(Y_{-1},E_{t}(Y_{t+1}),r_t,E_{t}(r_{t+1}),\bullet)\]
- As Exportações de Bens e Serviços
A Rubrica de exportações de bens e serviços pode ser entendida como dependente da taxa de câmbio real efetiva das exportações, \(REER\). Esse efeito iremos chamar de efeito competitividade preço das exportações. Como as exportações são feitas através de contratos, imaginamos que algum grau de rigidez ocorra e por essa razão devemos utilizar defasagens da \(REER\). Não obstante, não há suspeita de alguma relação com a renda interna e sim com a renda externa. Por essa razão, especificaremos como sendo função da renda mundial, \(Z\). Testaremos também algum efeito defasagem por conta dos contratos.
Em termos funcionais: \[X=f(REER_t,\ldots,REER_{t-n},Z_t,\ldots,Z_{t-n})\]
- As Importações de Bens e Serviços
No caso das importações, o que difere das exportações é que a taxa de câmbio real efetiva é a das importações, pois essa considera a relação dos principais parceiros comerciais que importamos e suas respectivas taxas de câmbio real bilateral. Não obstante, o efeito renda que agora importa é o da renda interna do páis e não a do resto do mundo. Dessa forma, em termos funcionais: \[M=f(REER_t,\ldots,REER_{t-n},Y_t,\ldots,Y_{t-n})\]
Os Dados - Plataforma SIDRA IBGE
Nesta parte, iremos coletar os dados do IBGE para o PIB trimestral. O
link é https://sidra.ibge.gov.br/home/cnt.
Iremos inicialmente limpar o ambiente global de variáveis com o
rm(list=ls()). Os pacotes utilizados serão o
sidrar que permite acessar os dados da SIDRA por API. Os
pacotes para manipular as bases de dado são dplyr,
tidyr, tidyverse. O pacote para manipular
strings é o stringr. Os pacotes para os plots
são highcharter e o RColorBrewer.
Navegando pelo site da SIDRA obtivemos o link para o API. Através da
função get_sidra() fizemos o download e visualizamos os
dados.
rm(list=ls())
library(sidrar)
library(highcharter)
library(RColorBrewer)
library(dplyr)
library(tidyr)
library(stringr)
library(tidyverse)
# Link obtido através do acesso manual ao site.
link_API <- "/t/6613/n1/all/v/all/p/all/c11255/all/d/v9319%202"
tabela <- get_sidra(api= link_API)
head(tabela)## Nível Territorial (Código) Nível Territorial Unidade de Medida (Código)
## 2 1 Brasil 1550
## 3 1 Brasil 1550
## 4 1 Brasil 1550
## 5 1 Brasil 1550
## 6 1 Brasil 1550
## 7 1 Brasil 1550
## Unidade de Medida Valor Brasil (Código) Brasil Variável (Código)
## 2 Milhões de Reais 8426.83 1 Brasil 9319
## 3 Milhões de Reais 41775.34 1 Brasil 9319
## 4 Milhões de Reais 1153.13 1 Brasil 9319
## 5 Milhões de Reais 25478.55 1 Brasil 9319
## 6 Milhões de Reais 3788.77 1 Brasil 9319
## 7 Milhões de Reais 10966.24 1 Brasil 9319
## Variável Trimestre (Código)
## 2 Valores encadeados a preços de 1995 com ajuste sazonal 199601
## 3 Valores encadeados a preços de 1995 com ajuste sazonal 199601
## 4 Valores encadeados a preços de 1995 com ajuste sazonal 199601
## 5 Valores encadeados a preços de 1995 com ajuste sazonal 199601
## 6 Valores encadeados a preços de 1995 com ajuste sazonal 199601
## 7 Valores encadeados a preços de 1995 com ajuste sazonal 199601
## Trimestre Setores e subsetores (Código)
## 2 1º trimestre 1996 90687
## 3 1º trimestre 1996 90691
## 4 1º trimestre 1996 90692
## 5 1º trimestre 1996 90693
## 6 1º trimestre 1996 90695
## 7 1º trimestre 1996 90694
## Setores e subsetores
## 2 Agropecuária - total
## 3 Indústria - total
## 4 Indústrias extrativas
## 5 Indústrias de transformação
## 6 Eletricidade e gás, água, esgoto, atividades de gestão de resíduos
## 7 Construção
Pronto. Fizemos o download da base mas os dados estão desorganizados.
Precisamos primeiro transfomar os dados empilhados em datas
correspondentes. Para isso iremos usar a função mutate()
para criar uma nova variável, que no caso será a coluna de datas. Como
foram 21 níveis setoriais que fizemos o download, iremos estabelecer uma
sequência de datas que começa no 1ºT de 1996 até a última observação
obtida. Como todos os dados estão empilhados, precisamos repetir 21
vezes para empilhar de maneira igual as datas geradas.
Outro detalhe importate é o uso das funções select() e
spread(). A primeira serve para filtramos apenas as
variáveis do nosso interesse, que são: Os valores, o nome do
setor/subsetor, o Trimestre e as Datas. A segunda função serve para
desempilhar os dados, saindo do formato empilhado para wide. Ela
funciona tendo um par de valor chave para ser distribuído em distintas
colunas. No nosso caso será o nome do setor e o seu valor.
### Sabemos previamente que são 21 níveis setoriais que fizemos download.
Dados_df <- tabela %>%
mutate("Datas" = rep(seq(as.Date("1996/1/1"),
by = "quarters",
length.out = NROW(tabela)/21),
each = 21)) %>%
select(Valor,`Setores e subsetores`, Trimestre, Datas) %>%
spread("Setores e subsetores", Valor)
head(Dados_df)## Trimestre Datas
## 1 1º trimestre 1996 1996-01-01
## 2 1º trimestre 1997 1997-01-01
## 3 1º trimestre 1998 1998-01-01
## 4 1º trimestre 1999 1999-01-01
## 5 1º trimestre 2000 2000-01-01
## 6 1º trimestre 2001 2001-01-01
## Administração, saúde e educação públicas e seguridade social
## 1 26087.69
## 2 26609.20
## 3 26978.89
## 4 28085.07
## 5 28129.19
## 6 29292.24
## Agropecuária - total
## 1 8426.83
## 2 9012.70
## 3 8860.58
## 4 9908.26
## 5 10456.78
## 6 10707.95
## Atividades financeiras, de seguros e serviços relacionados
## 1 16575.40
## 2 16834.93
## 3 16498.85
## 4 16578.54
## 5 16925.46
## 6 16932.56
## Atividades imobiliárias Comércio Construção
## 1 15362.27 13757.97 10966.24
## 2 15567.11 14534.06 11493.53
## 3 16021.30 14555.45 12156.05
## 4 16627.28 14108.17 11456.98
## 5 16731.13 14434.83 11369.82
## 6 17531.20 15289.30 11794.27
## Despesa de consumo da administração pública Despesa de consumo das famílias
## 1 36626.81 110899.0
## 2 37059.82 119658.6
## 3 37469.09 119077.8
## 4 37666.24 117949.8
## 5 38921.00 121439.4
## 6 39311.55 126235.5
## Eletricidade e gás, água, esgoto, atividades de gestão de resíduos
## 1 3788.77
## 2 4003.62
## 3 4153.43
## 4 4067.43
## 5 4301.20
## 6 4345.31
## Exportação de bens e serviços Formação bruta de capital fixo
## 1 13109.42 34590.22
## 2 13971.67 38768.46
## 3 15339.25 39743.11
## 4 15460.14 36271.47
## 5 17597.94 35966.39
## 6 19834.48 39458.39
## Importação de bens e serviços (-) Indústria - total
## 1 15140.33 41775.34
## 2 19845.87 42991.39
## 3 21218.42 42936.66
## 4 17295.18 41155.65
## 5 17467.07 42816.69
## 6 21199.61 44424.91
## Indústrias de transformação Indústrias extrativas Informação e comunicação
## 1 25478.55 1153.13 3793.75
## 2 26106.30 1141.22 4019.55
## 3 25097.62 1228.31 4200.96
## 4 24130.33 1214.33 4990.13
## 5 25537.68 1207.81 5492.67
## 6 26634.77 1318.56 6132.75
## Outras atividades de serviços PIB a preços de mercado Serviços - total
## 1 22993.75 175527.6 104619.0
## 2 23474.13 184248.2 106582.9
## 3 23720.82 185426.6 107898.5
## 4 24103.55 186712.8 110654.9
## 5 24961.42 192373.7 113901.5
## 6 24761.81 200577.1 116603.6
## Transporte, armazenagem e correio Valor adicionado a preços básicos
## 1 5541.31 152576.1
## 2 5630.99 158324.6
## 3 5729.57 159721.5
## 4 5610.35 162227.7
## 5 5925.09 165949.4
## 6 5931.76 172189.3
Agora na sequência, separaremos as contas do PIB pela ótica da
Demanda. Continuaremos usando a notação dos dados tidyr. O
Pipeline %>% serve para indicar que iremos continuar a
programação na linha de baixo. A função select() é para
filtrar as variáveis que queremos no data.frame final. O comando
mutate() cria novas variáveis. Iremos utilizá-lo para criar
as razões percentuais das contas no PIB. O comando
arrange() serve para ranquear os dados, que no nosso caso
será pelas datas.
PIB_Demanda <- Dados_df %>%
select(Datas,
`PIB a preços de mercado`,
`Valor adicionado a preços básicos`,
`Despesa de consumo das famílias`,
`Formação bruta de capital fixo`,
`Despesa de consumo da administração pública`,
`Exportação de bens e serviços`,
`Importação de bens e serviços (-)`) %>%
mutate(`C/Y` = `Despesa de consumo das famílias`/
`PIB a preços de mercado`) %>%
mutate(`I/Y` = `Formação bruta de capital fixo`/
`PIB a preços de mercado`) %>%
mutate(`G/Y` = `Despesa de consumo da administração pública`/
`PIB a preços de mercado`) %>%
mutate(`X/Y` = `Exportação de bens e serviços`/
`PIB a preços de mercado`) %>%
mutate(`M/Y` = `Importação de bens e serviços (-)`/
`PIB a preços de mercado`) %>%
mutate(`(X-M)/Y` = `X/Y` - `M/Y`) %>%
mutate(`(X+M)/Y` = `X/Y` + `M/Y`) %>%
arrange(Datas)
head(PIB_Demanda)## Datas PIB a preços de mercado Valor adicionado a preços básicos
## 1 1996-01-01 175527.6 152576.1
## 2 1996-04-01 177502.2 153576.4
## 3 1996-07-01 184128.3 159435.1
## 4 1996-10-01 182357.4 155618.4
## 5 1997-01-01 184248.2 158324.6
## 6 1997-04-01 185272.8 159407.5
## Despesa de consumo das famílias Formação bruta de capital fixo
## 1 110899.0 34590.22
## 2 113426.8 35426.77
## 3 116860.6 36667.79
## 4 122759.1 38229.16
## 5 119658.6 38768.46
## 6 120224.2 38885.96
## Despesa de consumo da administração pública Exportação de bens e serviços
## 1 36626.81 13109.42
## 2 37218.99 12758.65
## 3 38513.25 12712.64
## 4 32695.20 13356.71
## 5 37059.82 13971.67
## 6 36911.48 14795.97
## Importação de bens e serviços (-) C/Y I/Y G/Y X/Y
## 1 15140.33 0.6318035 0.1970642 0.2086669 0.07468578
## 2 16718.20 0.6390159 0.1995849 0.2096818 0.07187882
## 3 17899.81 0.6346694 0.1991426 0.2091653 0.06904229
## 4 19817.00 0.6731789 0.2096387 0.1792919 0.07324470
## 5 19845.87 0.6494424 0.2104143 0.2011408 0.07583071
## 6 20543.05 0.6489035 0.2098848 0.1992277 0.07986044
## M/Y (X-M)/Y (X+M)/Y
## 1 0.08625610 -0.01157031 0.1609419
## 2 0.09418586 -0.02230704 0.1660647
## 3 0.09721379 -0.02817150 0.1662561
## 4 0.10867124 -0.03542654 0.1819159
## 5 0.10771271 -0.03188200 0.1835434
## 6 0.11087999 -0.03101955 0.1907404
Agora, precisamos transformar os dados do data.frame em dados ts. Sem
essa conversão, não temos a compatibilidade dos gráficos do pacote
highcharter. Dessa forma, converteremos na sequência e
montaremos a figura para o plot. No uso das funções highchater, temos a
hchart() para plotar a primeira série. Dentro dela devemos
indicar a cor e o nome da série que iremos rotular. Usando o pipeline,
continuamos plotando mais séries através da função
hc_add_series(). Indicamos a série, a cor e o rótulo. Ao
fim, usamos o hc_title() para adicionar um título e
hc_subtitle() para adicionar um subtítulo no gráfico. O
primeiro Gráfico é do valor das contas em unidade monetária
deflacionada. O segundo gráfico são os respectivos shares.
PIB_Demanda_ts <- ts(PIB_Demanda[,-1], start = c(1996,1), frequency = 4)
### Figura 1 - PIB em Unidade Monetária Deflacionada.
hchart(PIB_Demanda_ts[,1], color = "black", name = "PIB_pm") %>%
hc_add_series(PIB_Demanda_ts[,2], color = "grey", name = "PIB_pb") %>%
hc_add_series(PIB_Demanda_ts[,3], color = "orange", name = "Consumo das Famílias") %>%
hc_add_series(PIB_Demanda_ts[,4], color = "green", name = "FBCF") %>%
hc_add_series(PIB_Demanda_ts[,5], color = "red", name = "Consumo do Governo") %>%
hc_add_series(PIB_Demanda_ts[,6], color = "cyan", name = "Exportações") %>%
hc_add_series(PIB_Demanda_ts[,7], color = "magenta", name = "Importações") %>%
hc_title(text = "Componentes do PIB pela Ótica da Demanda", margin = 10,
style = list(fontSize= "14px")) %>%
hc_subtitle(text = "Série Dessazonalizada em valores constantes de 1995 - Dados Trimestrais: 1T1996 a 2T2022")### Figura 2 - Shares das Contas pela Ótica da Demanda
hchart(PIB_Demanda_ts[,8], color = "orange", name = "C/Y") %>%
hc_add_series(PIB_Demanda_ts[,9], color = "green", name = "I/Y") %>%
hc_add_series(PIB_Demanda_ts[,10], color = "red", name = "G/Y") %>%
hc_add_series(PIB_Demanda_ts[,11], color = "cyan", name = "X/Y") %>%
hc_add_series(PIB_Demanda_ts[,12], color = "magenta", name = "M/Y") %>%
hc_add_series(PIB_Demanda_ts[,13], color = "grey", name = "(X-M)/Y") %>%
hc_add_series(PIB_Demanda_ts[,14], color = "purple", name = "(X+M)/Y") %>%
hc_title(text = "Componentes do PIB pela Ótica da Demanda - Shares das Contas", margin = 10,
style = list(fontSize= "14px")) %>%
hc_subtitle(text = "Série Dessazonalizada em valores constantes de 1995 - Dados Trimestrais: 1T1996 a 2T2022")Na sequência, sabendo os respectivos Shares, vamos agora avaliar a
taxa de crescimento anual das rubricas. Para isso, criaremos um novo
data.frame, avaliando qual a diferença da taxa de crescimento da rubrica
frente a taxa de crescimento do PIB. Caso cresça acima, ganhará share e
caso abaixo, perderá share. Agora, ao final do cálculo iremos usar o
pacote ggplot2 para plotar as figuras. Esse pacote é muito
útil por ter ferramentas de separação de grupos e estimações dentro do
plot. Para utilizá-lo, precisamos empilhar os dados. Para isso, usamos a
função gather().
## Cálculo das Taxas de Crescimento Diferenciais entre o Setor e o PIB.
g_PIB_Demanda <- PIB_Demanda %>%
select(Datas,
`PIB a preços de mercado`,
`Despesa de consumo das famílias`,
`Formação bruta de capital fixo`,
`Despesa de consumo da administração pública`,
`Exportação de bens e serviços`,
`Importação de bens e serviços (-)`) %>%
mutate(`g_PIB` = `PIB a preços de mercado`/
dplyr::lag(`PIB a preços de mercado`,3) -1) %>%
mutate(`g_C` = `Despesa de consumo das famílias`/
dplyr::lag(`Despesa de consumo das famílias`,3) -1) %>%
mutate(`g_G` = `Despesa de consumo da administração pública`/
dplyr::lag(`Despesa de consumo da administração pública`,3) -1) %>%
mutate(`g_I` = `Formação bruta de capital fixo`/
dplyr::lag(`Formação bruta de capital fixo`,3) -1) %>%
mutate(`g_X` = `Exportação de bens e serviços`/
dplyr::lag(`Exportação de bens e serviços`,3) -1) %>%
mutate(`g_M` = `Importação de bens e serviços (-)`/
dplyr::lag(`Importação de bens e serviços (-)`,3) -1) %>%
mutate(`g_C_d` = g_C - g_PIB) %>%
mutate(`g_G_d` = g_G - g_PIB) %>%
mutate(`g_I_d` = g_I - g_PIB) %>%
mutate(`g_X_d` = g_X - g_PIB) %>%
mutate(`g_M_d` = g_M - g_PIB) %>%
gather("g_C_d", "g_G_d", "g_I_d", "g_X_d", "g_M_d",
key = Taxas, value = Valor) %>%
select(Datas,Taxas,Valor)
head(g_PIB_Demanda, n = 20)## Datas Taxas Valor
## 1 1996-01-01 g_C_d NA
## 2 1996-04-01 g_C_d NA
## 3 1996-07-01 g_C_d NA
## 4 1996-10-01 g_C_d 0.068035899
## 5 1997-01-01 g_C_d 0.016936574
## 6 1997-04-01 g_C_d 0.022566989
## 7 1997-07-01 g_C_d -0.057001567
## 8 1997-10-01 g_C_d -0.030069885
## 9 1998-01-01 g_C_d -0.010365068
## 10 1998-04-01 g_C_d -0.008305351
## 11 1998-07-01 g_C_d 0.004229352
## 12 1998-10-01 g_C_d -0.016968906
## 13 1999-01-01 g_C_d 0.001720573
## 14 1999-04-01 g_C_d -0.005722163
## 15 1999-07-01 g_C_d 0.006744236
## 16 1999-10-01 g_C_d 0.008963166
## 17 2000-01-01 g_C_d 0.002952995
## 18 2000-04-01 g_C_d -0.007369475
## 19 2000-07-01 g_C_d -0.005524077
## 20 2000-10-01 g_C_d 0.001349413
Vamos agora detalhar o plot usando o ggplot. Usaremos
também os pacotes tidyquant, ggmisc e
scales.
library(ggplot2)
library(tidyquant)
library(ggpmisc)
library(scales)
ggplot(data = g_PIB_Demanda, aes(y = Valor, x = Datas)) +
geom_point(aes(color = Taxas), alpha = 0.2) +
ggtitle('Taxas de Crescimento Diferenciais Anuais (Observações Trimestrais)') +
ylab('Valor da Taxa de Crescimento') +
xlab('Anos') +
facet_wrap( ~ Taxas, scales='free_y') +
geom_ma(ma_fun = SMA, n = 16, aes(linetype = 'solid', color = Taxas), size = 1) +
stat_peaks(colour = "cyan", span = 21) +
stat_peaks(geom = "text", colour = "cyan",
vjust = -0.5, angle = 45, span = 21) +
stat_valleys(colour = "pink", span = 21) +
stat_valleys(geom = "text", colour = "pink", angle = 45,
vjust = 1.5, hjust = 1, span = 21) +
theme_get()Agora avançaremos para explorar o lado da Oferta e a composição setorial no PIB.
#### Lado da Oferta
PIB_Oferta1 <- Dados_df %>%
select(Datas,
`PIB a preços de mercado`,
`Valor adicionado a preços básicos`,
`Agropecuária - total`,
`Indústria - total`,
`Serviços - total`,
`Administração, saúde e educação públicas e seguridade social`,
`Atividades financeiras, de seguros e serviços relacionados`,
`Atividades imobiliárias`,
`Comércio`,
`Construção`,
`Eletricidade e gás, água, esgoto, atividades de gestão de resíduos`,
`Indústrias de transformação`,
`Indústrias extrativas`,
`Informação e comunicação`,
`Outras atividades de serviços`,
`Transporte, armazenagem e correio`) %>%
mutate(`Agro/Y` = `Agropecuária - total`/
`Valor adicionado a preços básicos`) %>%
mutate(`Ind/Y` = `Indústria - total`/
`Valor adicionado a preços básicos`) %>%
mutate(`Ser/Y` = `Serviços - total`/
`Valor adicionado a preços básicos`) %>%
mutate(`Soma` = `Agro/Y` + `Ind/Y` + `Ser/Y`) %>%
mutate(`Administração, saúde e educação públicas e seguridade social/Y` = `Administração, saúde e educação públicas e seguridade social`/
`Valor adicionado a preços básicos`) %>%
mutate(`Atividades financeiras, de seguros e serviços relacionados/Y` = `Atividades financeiras, de seguros e serviços relacionados`/
`Valor adicionado a preços básicos`) %>%
mutate(`Atividade Imobiliárias/Y` = `Atividades imobiliárias`/
`Valor adicionado a preços básicos`) %>%
mutate(`Comércio/Y` = `Comércio`/
`Valor adicionado a preços básicos`) %>%
mutate(`Construção/Y` = `Construção`/
`Valor adicionado a preços básicos`) %>%
mutate(`Eletricidade e gás, água, esgoto, atividades de gestão de resíduos/Y` = `Eletricidade e gás, água, esgoto, atividades de gestão de resíduos`/
`Valor adicionado a preços básicos`) %>%
mutate(`Indústrias de Transformação/Y` = `Indústrias de transformação`/
`Valor adicionado a preços básicos`) %>%
mutate(`Indústrias Extrativas/Y` = `Indústrias extrativas`/
`Valor adicionado a preços básicos`) %>%
mutate(`Informação e comunicação/Y` = `Informação e comunicação`/
`Valor adicionado a preços básicos`) %>%
mutate(`Outros Serviços/Y` = `Outras atividades de serviços`/
`Valor adicionado a preços básicos`) %>%
mutate(`Transporte, armazenagem e correio/Y` = `Transporte, armazenagem e correio`/
`Valor adicionado a preços básicos`) %>%
arrange(Datas)
head(PIB_Oferta1)## Datas PIB a preços de mercado Valor adicionado a preços básicos
## 1 1996-01-01 175527.6 152576.1
## 2 1996-04-01 177502.2 153576.4
## 3 1996-07-01 184128.3 159435.1
## 4 1996-10-01 182357.4 155618.4
## 5 1997-01-01 184248.2 158324.6
## 6 1997-04-01 185272.8 159407.5
## Agropecuária - total Indústria - total Serviços - total
## 1 8426.83 41775.34 104619.0
## 2 8543.37 40049.94 104898.2
## 3 9001.83 43774.31 106226.7
## 4 11122.76 41106.89 104047.6
## 5 9012.70 42991.39 106582.9
## 6 8878.72 43291.03 107173.4
## Administração, saúde e educação públicas e seguridade social
## 1 26087.69
## 2 26618.14
## 3 26753.43
## 4 26599.55
## 5 26609.20
## 6 26433.15
## Atividades financeiras, de seguros e serviços relacionados
## 1 16575.40
## 2 16609.63
## 3 16609.44
## 4 15166.65
## 5 16834.93
## 6 16777.30
## Atividades imobiliárias Comércio Construção
## 1 15362.27 13757.97 10966.24
## 2 15460.00 13948.21 10930.39
## 3 15600.02 14337.90 11011.36
## 4 15218.17 14530.65 10958.78
## 5 15567.11 14534.06 11493.53
## 6 15682.15 14683.08 11644.98
## Eletricidade e gás, água, esgoto, atividades de gestão de resíduos
## 1 3788.77
## 2 3829.44
## 3 3851.40
## 4 3935.53
## 5 4003.62
## 6 4028.75
## Indústrias de transformação Indústrias extrativas Informação e comunicação
## 1 25478.55 1153.13 3793.75
## 2 24179.41 1138.94 3890.15
## 3 27867.68 1091.10 4041.31
## 4 25221.82 1137.93 3949.46
## 5 26106.30 1141.22 4019.55
## 6 26436.69 1182.05 4118.84
## Outras atividades de serviços Transporte, armazenagem e correio Agro/Y
## 1 22993.75 5541.31 0.05523033
## 2 23083.67 5416.58 0.05562945
## 3 23155.56 5596.05 0.05646078
## 4 23025.74 5376.13 0.07147456
## 5 23474.13 5630.99 0.05692545
## 6 23606.80 5825.73 0.05569826
## Ind/Y Ser/Y Soma
## 1 0.2738000 0.6856840 1.0147143
## 2 0.2607819 0.6830357 0.9994471
## 3 0.2745588 0.6662694 0.9972889
## 4 0.2641518 0.6686070 1.0042334
## 5 0.2715395 0.6731925 1.0016575
## 6 0.2715746 0.6723232 0.9995961
## Administração, saúde e educação públicas e seguridade social/Y
## 1 0.1709815
## 2 0.1733218
## 3 0.1678014
## 4 0.1709280
## 5 0.1680674
## 6 0.1658212
## Atividades financeiras, de seguros e serviços relacionados/Y
## 1 0.10863691
## 2 0.10815224
## 3 0.10417680
## 4 0.09746049
## 5 0.10633173
## 6 0.10524787
## Atividade Imobiliárias/Y Comércio/Y Construção/Y
## 1 0.10068593 0.09017118 0.07187389
## 2 0.10066652 0.09082262 0.07117233
## 3 0.09784557 0.08992938 0.06906484
## 4 0.09779156 0.09337357 0.07042083
## 5 0.09832401 0.09179912 0.07259472
## 6 0.09837774 0.09211035 0.07305164
## Eletricidade e gás, água, esgoto, atividades de gestão de resíduos/Y
## 1 0.02483200
## 2 0.02493508
## 3 0.02415654
## 4 0.02528961
## 5 0.02528741
## 6 0.02527328
## Indústrias de Transformação/Y Indústrias Extrativas/Y
## 1 0.1669891 0.007557735
## 2 0.1574422 0.007416114
## 3 0.1747901 0.006843537
## 4 0.1620748 0.007312308
## 5 0.1648910 0.007208102
## 6 0.1658435 0.007415272
## Informação e comunicação/Y Outros Serviços/Y
## 1 0.02486463 0.1507034
## 2 0.02533039 0.1503074
## 3 0.02534768 0.1452350
## 4 0.02537913 0.1479628
## 5 0.02538803 0.1482658
## 6 0.02583843 0.1480909
## Transporte, armazenagem e correio/Y
## 1 0.03631833
## 2 0.03526961
## 3 0.03509923
## 4 0.03454687
## 5 0.03556611
## 6 0.03654615
PIB_Oferta1_ts <- ts(PIB_Oferta1[,-1], start = c(1996,1), frequency = 4) Nessa parte, a geração das figuras. Primeiro iremos plotar uma figura
da economia dividida em três setores, sendo eles a Agricultura, Serviços
e Industria. A participação do share é calculada na razão sobre o valor
adicionado a preços básicos. A segunda figura, temos a divisão do lado
da oferta em 11 setores. Utilizamos a função colnames()
para capturar os títulos das colunas. Lá temos os rótulos setoriais.
Utilizamos a função brewer.pal() para gerar uma paleta com
11 cores para utilizamos na marcação de cores da figura.
### Figura 3
hchart(PIB_Oferta1_ts[,17]*100, color = "green", name = "Agro/Y") %>%
hc_add_series(PIB_Oferta1_ts[,18]*100, color = "orange", name = "Ind/Y") %>%
hc_add_series(PIB_Oferta1_ts[,19]*100, color = "blue", name = "Ser/Y") %>%
hc_title(text = "Share dos Componentes do PIB pela Ótica da Oferta - 3 Setores", margin = 10,
style = list(fontSize= "14px")) %>%
hc_subtitle(text = "Participação Percentual - Dados Trimestrais: 1T1996 a 2T2022")Nomes <- colnames(PIB_Oferta1_ts)
Cores <- RColorBrewer::brewer.pal(n = 11, name = "Spectral")
### Figura 4
hchart(PIB_Oferta1_ts[,21]*100, color = Cores[1], name = Nomes[21]) %>%
hc_add_series(PIB_Oferta1_ts[,22]*100, color = Cores[2], name = Nomes[22]) %>%
hc_add_series(PIB_Oferta1_ts[,23]*100, color = Cores[3], name = Nomes[23]) %>%
hc_add_series(PIB_Oferta1_ts[,24]*100, color = Cores[4], name = Nomes[24]) %>%
hc_add_series(PIB_Oferta1_ts[,25]*100, color = Cores[5], name = Nomes[25]) %>%
hc_add_series(PIB_Oferta1_ts[,26]*100, color = Cores[6], name = Nomes[26]) %>%
hc_add_series(PIB_Oferta1_ts[,27]*100, color = Cores[7], name = Nomes[27]) %>%
hc_add_series(PIB_Oferta1_ts[,28]*100, color = Cores[8], name = Nomes[28]) %>%
hc_add_series(PIB_Oferta1_ts[,29]*100, color = Cores[9], name = Nomes[29]) %>%
hc_add_series(PIB_Oferta1_ts[,30]*100, color = Cores[10], name = Nomes[30]) %>%
hc_add_series(PIB_Oferta1_ts[,31]*100, color = Cores[11], name = Nomes[31]) %>%
hc_title(text = "Share dos Componentes do PIB pela Ótica da Oferta - 11 Setores", margin = 10,
style = list(fontSize= "14px")) %>%
hc_subtitle(text = "Participação Percentual - Dados Trimestrais: 1T1996 a 2T2022")A HRP define que as famílias tentam suavizar o seu consumo na decisão de alocação intertemporal. Fatores como a taxa de juros, taxa de impaciência intertemporal, mudanças expectacionais podem mudar a distribuição do consumo entre períodos temporais. Essa hipótese mostra através do processo de otimização intertemporal dos agentes que na margem, deve ser satisfeito que \(C_t=\frac{1+\rho}{1+r}.E_t(C_{t+1})\), onde \(\rho\) é a taxa de impaciência intertemporal e \(r\) é a taxa de juros real.↩︎