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.

  1. 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.

  2. 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.

  3. 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.

  1. 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)\]

  1. 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.

  1. 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)\]

  1. 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})\]

  1. 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")

  1. 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.↩︎