Aula Introdutória
Abstract
Apresentação da disciplina
Keywords: econometria, finanças, \(R\), atuarial.
Parte 1 - Objetivo
Apresentar o cronograma da disciplina
- 27/03/2024 Presencial 4 horas Apresentação da Disciplina, Apresentação do R, do Rstúdio, ferramentas de abertura de planilhas e importação de dados.
- 03/04/2024 Presencial 4 horas Linguagem R, operadores lógicos, loopings, vetores, matrizes, e funçõs
- 10/04/2024 Presencial 4 horas Econometria Básica
- 17/04/2024 Assíncrona 4 horas Gauss-Markov
- 24/04/2024 Presencial 4 horas Estimador de OLS
- 01/05/2024 Presencial 4 horas Prova 1
- 08/05/2024 Assíncrona 4 horas Estimador de MQO
- 15/05/2024 Presencial 4 horas Estamoador de GMM
- 22/05/2024 Assíncrona 4 horas Dados em Painel
- 29/05/2024 Presencial 4 horas Aplicações
- 05/06/2024 Assíncrona 4 horas Revisão
- 12/06/2024 Presencial 4 horas Prova 2
- 19/06/2024 Assíncrona 4 horas Vista de Prova
- 26/06/2024 Presencial 4 horas VS
Introdução
Serão apresentados aspectos básicos da econometria, bem como, aplicação em R, e utilização da ferramenta a realidade financeira e atuarial. Como cálculo do VaR, TVaR, regressões, métodos de estimação, interpretação dos resultados
Figure 1: Figure Caption.
You should use Pandoc’s markdown but you also can use \(\LaTeX\) commands:
- Java or \(\proglang{Java}\)
- plyr, plyr or \(\pkg{plyr}\)
print("abc")or \(\code{print("abc")}\)
Econometria Financeira
Outras ferramentas financeiras como os gráficos de BoxBox, é uma empresa que realiza o compartilhamento de arquivos online e fornece o serviço de gerenciamento de conteúdo em nuvem pessoal para empresas. Fundada em 2005 e sediada em Los Altos. Box oferece às empresas uma plataforma de compartilhamento de conteúdo, seguro e escalável. e de DROPBOXDropbox é um serviço para armazenamento e partilha de arquivos. É baseado no conceito de “computação em nuvem”. Ele pertence ao Dropbox Inc., sediada em San Francisco, Califórnia, EUA. A empresa desenvolvedora do programa disponibiliza centrais de computadores que armazenam os arquivos de seus clientes. onde podemos tecer algumas análise com base na demanda por serviços, expectativa de lucro futuro e crescimento da empresa.
Figure 2: Figure Caption.
Figure 3: Figure Caption.
Dados resumidos
Podemos resumir os dados coletados a partir da seguinte análise:
# A tibble: 1 × 3
media risco crescimento
<dbl> <dbl> <dbl>
1 24.1 12.1 0.642
# A tibble: 1 × 3
media risco crescimento
<dbl> <dbl> <dbl>
1 23.9 7.22 0.352
Análise Econométrica
R> # Merge
R> merged <- merge(boxx, dropbox, by=c("date"))
R> head(merged)
date symbol.x open.x high.x low.x close.x volume.x adjusted.x symbol.y
1 2020-01-02 BOX 16.95 17.24 16.860 17.24 1470200 17.24 DBX
2 2020-01-03 BOX 16.98 17.09 16.860 16.94 731600 16.94 DBX
3 2020-01-06 BOX 16.72 17.38 16.690 17.32 1183900 17.32 DBX
4 2020-01-07 BOX 17.38 17.38 16.865 16.97 1534900 16.97 DBX
5 2020-01-08 BOX 16.95 17.20 16.760 16.86 2803300 16.86 DBX
6 2020-01-09 BOX 16.93 17.03 16.720 16.98 1291200 16.98 DBX
open.y high.y low.y close.y volume.y adjusted.y
1 18.06 18.460 17.975 18.09 4186500 18.09
2 17.98 18.200 17.820 18.00 2731500 18.00
3 18.07 18.610 17.980 18.53 4524300 18.53
4 18.62 18.770 18.190 18.53 2902200 18.53
5 18.43 18.630 18.220 18.46 2994300 18.46
6 18.43 18.635 18.220 18.37 3507000 18.37
R> # Subset
R> df = subset(merged, select=c("date","adjusted.x","adjusted.y"))
R>
R> # Rename
R> names(df)[names(df) == "adjusted.x"] <- "box"
R> names(df)[names(df) == "adjusted.y"] <- "dropbox"
R>
R>
R> #attach(df)
R>
R> reg <- lm(box~dropbox, data=df)
R> summary(reg)
Call:
lm(formula = box ~ dropbox, data = df)
Residuals:
Min 1Q Median 3Q Max
-11.1366 -4.0088 -0.8818 4.0318 11.2483
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.5340 0.8801 13.11 <2e-16 ***
dropbox 0.5254 0.0363 14.47 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.501 on 1063 degrees of freedom
Multiple R-squared: 0.1646, Adjusted R-squared: 0.1638
F-statistic: 209.5 on 1 and 1063 DF, p-value: < 2.2e-16
R> library(lmtest)
Warning: package 'lmtest' was built under R version 4.3.1
R> grangertest(box ~ dropbox, order = 3, data=df)
Granger causality test
Model 1: box ~ Lags(box, 1:3) + Lags(dropbox, 1:3)
Model 2: box ~ Lags(box, 1:3)
Res.Df Df F Pr(>F)
1 1055
2 1058 -3 0.1301 0.9422
R> dwtest(reg)
Durbin-Watson test
data: reg
DW = 0.012547, p-value < 2.2e-16
alternative hypothesis: true autocorrelation is greater than 0
#Análise dos resíduos
R> residuals = reg$residuals
R> plot(residuals, type='l')
#Subconjuntos
R> sub_box <- subset(df, select=c("date","box"))
R> sub_dropbox <- subset(df, select=c("date","dropbox"))
R>
R> d_box = diff(as.numeric(unlist(sub_box["box"])))
R> d_dbox = diff(as.numeric(unlist(sub_dropbox["dropbox"])))
R>
R> lagged_reg <- lm(d_box~d_dbox)
R> summary(lagged_reg)
Call:
lm(formula = d_box ~ d_dbox)
Residuals:
Min 1Q Median 3Q Max
-4.4035 -0.2451 -0.0028 0.2219 2.8881
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.00761 0.01543 0.493 0.622
d_dbox 0.46592 0.02647 17.602 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.5032 on 1062 degrees of freedom
Multiple R-squared: 0.2259, Adjusted R-squared: 0.2251
F-statistic: 309.8 on 1 and 1062 DF, p-value: < 2.2e-16
R> lagged_reg_res = lagged_reg$residuals
R> plot(lagged_reg_res, type='l')
R> acf_residual_reg = acf(residuals)
R> acf_lag_residual_reg = acf(lagged_reg_res)
R> acf_residual_reg
Autocorrelations of series 'residuals', by lag
0 1 2 3 4 5 6 7 8 9 10 11 12
1.000 0.993 0.986 0.978 0.971 0.964 0.957 0.950 0.943 0.935 0.928 0.920 0.913
13 14 15 16 17 18 19 20 21 22 23 24 25
0.906 0.899 0.892 0.885 0.878 0.871 0.863 0.857 0.851 0.846 0.841 0.836 0.831
26 27 28 29 30
0.827 0.824 0.820 0.817 0.813
R> acf_lag_residual_reg
Autocorrelations of series 'lagged_reg_res', by lag
0 1 2 3 4 5 6 7 8 9 10
1.000 0.018 0.010 -0.003 0.008 -0.037 -0.036 0.033 0.019 -0.028 0.027
11 12 13 14 15 16 17 18 19 20 21
-0.055 0.030 -0.042 0.040 0.005 -0.004 0.017 0.009 -0.065 -0.002 -0.050
22 23 24 25 26 27 28 29 30
-0.027 -0.020 -0.040 -0.047 -0.023 0.024 -0.007 0.000 0.017
Cointegração
R> library(egcm)
Warning: package 'egcm' was built under R version 4.3.3
R> library(tseries)
Warning: package 'tseries' was built under R version 4.3.3
R> egcm(as.numeric(unlist(sub_box["box"])), as.numeric(unlist(sub_dropbox["dropbox"])))
Y[i] = 0.3133 X[i] + 16.3878 + R[i], R[i] = 0.9944 R[i-1] + eps[i], eps ~ N(0, 0.5211^2)
(0.0216) (0.5931) (0.0046)
R[1065] = -0.8046 (t = -0.232)
WARNING: X and Y do not appear to be cointegrated.
R> egcm(d_box, d_dbox)
Warning in pp.test(X): p-value smaller than printed p-value
Warning in pp.test(X): p-value smaller than printed p-value
Y[i] = 0.4848 X[i] + 0.0009 + R[i], R[i] = -0.0156 R[i-1] + eps[i], eps ~ N(0, 0.5132^2)
(0.0275) (0.2571) (0.0307)
R[1064] = 0.1451 (t = 0.283)
WARNING: X does not seem to be integrated. Y does not seem to be integrated. X and Y do not appear to be cointegrated.
R> plot(egcm(as.numeric(unlist(sub_box["box"])), as.numeric(unlist(sub_dropbox["dropbox"]))))
Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
of ggplot2 3.3.4.
ℹ The deprecated feature was likely used in the egcm package.
Please report the issue to the authors.
This warning is displayed once every 8 hours.
Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
generated.
R> plot(egcm(d_box, d_dbox))
Warning in pp.test(X): p-value smaller than printed p-value
Warning in pp.test(X): p-value smaller than printed p-value