Relatório Mensal de Derivativos

 UNIVERSIDADE FEDERAL DA PARAÍBA

Autores

Prof. Dr. Sinézio Fernandes Maia

Analista Acadêmico: Natan Henrique Alves

Data de Publicação

26 de agosto de 2024

Introdução

Neste relatório, serão analisados duas das principais commodities negociadas no Brasil: a soja e o boi gordo. Ambos os produtos são fundamentais para o setor agropecuário brasileiro, sendo fortemente influenciados por variáveis econômicas como exportação, importação, estoque, disponibilidade interna e produção.

O objetivo deste relatório é explorar as dinâmicas dos preços no mercado futuro com fins especulativos. Para isso, será utilizada uma abordagem quantitativa, aplicando técnicas estatísticas, como a metodologia dos Mínimos Quadrados Ordinários (MQO) e testes nos resíduos, para verificar a robustez e a validade dos modelos estimados. Esse processo será realizado, principalmente, para definir como o preço spot pode afetar marginalmente o preço futuro. A análise dessas variáveis fornece informações valiosas sobre a formação de preços e a relação entre os mercados spot e futuro, além de destacar as tendências recentes de oferta e demanda que afetam diretamente esses mercados.

Boi Gordo

O Boi Gordo é uma das principais commodities agropecuárias produzidas no Brasil. A cadeia produtiva do boi gordo abrange desde a reprodução e engorda até o abate e comercialização, passando por uma série de processos que envolvem cuidados veterinários e manejo alimentar. Além dos produtores é importante destacar os frigoríficos, que são um dos principais responsáveis pela logística da carne em nível nacional e internacional.

O gráfico abaixo mostra a evolução do rebanho bovino, onde podemos ver que atualmente o Brasil chega no seu auge de produção com 242.931.900 milhões de cabeças de gado, atingindo seu maior patamar. Essa maior oferta gerou um impacto considerável nos preços spot e futuro.

A exportação de carne bovina brasileira foi um dos pontos de maior destaque dos últimos anos, até o atual momento de 2024 o volume exportado chegou a 109,7 mil toneladas até a terceira semana de agosto. O surpreendente volume de exportações representou uma das maiores âncoras para os preços da @. O gráfico abaixo mostra a evolução histórica das exportações da carcaça entre os periodos de 1997 até o atual momento de 2024.

De acordo com dados da Secex, no primeiro semestre, foram enviadas 1,14 milhão de toneladas de carne bovina in natura ao exterior, 29% a mais que no mesmo período do ano passado. Em julho, os embarques seguiram recordes.

O gráfico abaixo mostra a disponibilidade per capita, que representa a quantidade de carne bovina disponível para consumo por pessoa em um determinado período, nele podemos ver uma situação diferente das outras que foram apresentadas, onde esta está em uma situação pior do que em outros anos e não apresenta a mesma tendência dos outros gráficos, isso mesmo com o crescimento da produção brasileira de carne.

Segundo o Cepea, em seu último relatório (07/2024), a renda do brasileiro tem crescido, e, com isso, também aumentam as perspectivas de crescimento do consumo de carne bovina. De acordo com cálculos dos pesquisadores do Cepea, uma elevação de 1% na renda tem o potencial de aumentar em aproximadamente 0,7% o consumo de carne bovina de primeira, enquanto pode reduzir em quase 1% as compras de carnes de segunda.

Mesmo com as exportações recordes registradas, os preços da arroba caíram significativamente durante os primeiros meses do ano, ficando abaixo de R$ 230,00 por várias semanas. Essa pressão sobre os preços foi fortemente sentida pelos produtores. Como resposta, eles passaram a abater fêmeas para reduzir a oferta de bezerros, o que influenciou diretamente a cadeia produtiva, reduzindo a oferta futura de boi gordo.

O abate de fêmeas pelos produtores, com o objetivo de reduzir a oferta e alcançar preços mais confortáveis, é comumente associado ao ciclo pecuário. O ciclo possui três etapas fundamentais. Na primeira, os preços da carne estão elevados, incentivando os produtores a aumentar a oferta, o que resulta na retenção de fêmeas para expandir o rebanho. Na segunda fase, o aumento da oferta impacta negativamente os preços, diminuindo a lucratividade para os produtores e forçando-os a abater fêmeas. Por fim, na terceira etapa, o abate de fêmeas reduz a oferta, o que faz com que os preços voltem a subir.

O gráfico abaixo mostra a evolução dos preços spot e futuros entre 2014 e 2024, permitindo contextualizar o ciclo atual da pecuária. Em 2022, o preço spot atingiu seu pico de R$ 344,71, enquanto o preço futuro alcançou R$ 343,94. Esse aumento foi causado principalmente pela demanda de exportação no período, além da baixa oferta de animais prontos para o abate. Esses preços incentivaram os produtores, resultando na oferta recorde que observamos atualmente.

Atualmente, os preços da arroba vêm se recuperando, apresentando uma tendência de alta consistente há alguns meses. No entanto, ainda existem fatores que pressionam os preços, sendo um dos mais relevantes o confinamento de animais, que coloca os frigoríficos em uma situação mais confortável em relação à oferta. Mesmo assim, considerando o Agromensal do Cepea, que sinalizou um possível aumento na demanda interna, além das exportações, é esperado que os preços continuem subindo.

Preços Spot

Preços Futuros

Ciclo e Decomposição

Soja

A soja é uma das principais commodities agrícolas do Brasil, o Brasil, por sua vez é um dos maiores produtores e exportadores mundiais de soja, abastecendo diversas cadeias produtivas, desde a alimentação animal até a produção de biocombustíveis, além disso é importante mensionar que a soja brasileira é reconhecida internacionalmente pela sua extrema qualidade.

No mercado de grãos, a soja é fundamental para a alimentação animal, sendo uma fonte essencial de proteína para a produção de rações. A dinâmica dos preços desses produtos é influenciada por uma série de fatores, incluindo a oferta e demanda global, a produção doméstica, os estoques, e as políticas comerciais de grandes mercados consumidores como a China.

Os gráficos abaixo mostram a evolução das últimas safras de soja brasileiras entre 2020 e 2024, tanto para o grão, quanto o farelo e o óleo.

Atualmente, os preços da soja estão refletindo o crescimento abrupto na oferta mundial, em função da safra recorde que está sendo produzida nos EUA. Segundo o relatório do USDA publicado em 12 de agosto, a produção para 2024/25 é estimada em 4,6 bilhões de bushels, um aumento de 154 milhões em relação ao mês anterior, devido a uma área maior. A área colhida é projetada em 86,3 milhões de acres, um aumento de 1 milhão de acres em relação ao mês passado.

Os suprimentos de soja para 2024/25 são projetados em 4,9 bilhões de bushels, um aumento de 11% em relação ao ano anterior. Os estoques finais são estimados em 560 milhões de bushels, um aumento de 125 milhões em relação ao mês passado.

As exportações de soja dos EUA são previstas para aumentar em 25 milhões de bushels devido ao aumento da oferta. O preço médio da soja para 2024/25 é projetado em $10,80 por bushel, uma redução de $0,30 em relação ao mês anterior. Os preços da farinha de soja e do óleo de soja também foram ajustados, com a farinha reduzida para $320 por tonelada curta e o óleo mantido em 42 centavos por libra.

Por fim, a produção global de soja para 2024/25 foi aumentada em 6,9 milhões de toneladas, totalizando 428,7 milhões de toneladas. Isso se deve a aumentos na produção dos EUA, Ucrânia, Rússia, Índia e Benin. As exportações globais de soja são aumentadas em 1 milhão de toneladas, totalizando 181,2 milhões de toneladas.

Essa maior oferta de soja e seus derivados dos EUA pode acabar afetando os produtores brasileiros. Mesmo com uma qualidade superior do grão, os preços menores da soja americana causados pela maior oferta fazem com que o produto se torne mais competitivo.

Para o produtor brasileiro, segundo o Agromensal do Cepea os preços e os prêmios de exportação do óleo de soja subiram no Brasil em julho, impulsionados pela maior demanda, sobretudo de indústrias domésticas de biodiesel.

Ciclo e Decomposição

Resultado da Última Semana

Data Resultado Boi Gordo(%) Resultado Soja(%)
12/08/2024 - -
13/08/2024 -4,50 -0,15
14/08/2024 -0,50 -1,15
15/08/2024 -0,50 2,53
16/08/2024 -0,50 0,70

Regressões

Código
Mensal_boi <- lm(boiS ~ boif)
Mensal_soja <- lm(SojaS ~ Sojaf)

Boi Gordo Spot x Futuro

Código
summary(Mensal_boi)

Call:
lm(formula = boiS ~ boif)

Residuals:
    Min      1Q  Median      3Q     Max 
-38.428  -2.927   0.138   2.824  17.955 

Coefficients:
            Estimate Std. Error t value            Pr(>|t|)    
(Intercept) 13.97286    4.21708   3.313              0.0012 ** 
boif         0.94428    0.01509  62.590 <0.0000000000000002 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.493 on 126 degrees of freedom
Multiple R-squared:  0.9688,    Adjusted R-squared:  0.9686 
F-statistic:  3917 on 1 and 126 DF,  p-value: < 0.00000000000000022

Resíduos

Código
#----Residuos-----#
par(mfrow = c(1,1))
residuos <- residuals(Mensal_boi); head(residuos)
         1          2          3          4          5          6 
-1.3538003 -4.3807467 -3.1163002  1.2061731  2.5533822  0.6771623 
Código
plot(residuos, type="l", col="red")
abline(h=0, col="blue", lw=3)

Código
par(mfrow=c(1,2))
hist(residuos, main="", col="cadetblue", prob=T, xlab = names(residuos)[1], breaks = 30)
curve(expr=dnorm(x,mean=mean(residuos),sd=sd(residuos)),col="red",add= TRUE, lwd=2)
qqnorm(residuos, col="blue")
qqline(residuos, col="red")

Normalidade

Código
#----Normalidade------#
jarqueberaTest(residuos)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 537.193
  P VALUE:
    Asymptotic p Value: < 0.00000000000000022 

Testes para presença de heteroscedasticidade

Teste de Goldfeld-Quandt:

Código
gqtest(Mensal_boi, fraction = length(residuos)*0.15, alternative = "greater")

    Goldfeld-Quandt test

data:  Mensal_boi
GQ = 4.3436, df1 = 53, df2 = 52, p-value = 0.0000001967
alternative hypothesis: variance increases from segment 1 to 2

Teste de Breusch-Pagan-Godfrey:

Código
  bptest(Mensal_boi)

    studentized Breusch-Pagan test

data:  Mensal_boi
BP = 4.0908, df = 1, p-value = 0.04312

Teste de White:

Código
library(whitestrap)
white_test(Mensal_boi)
White's test results

Null hypothesis: Homoskedasticity of the residuals
Alternative hypothesis: Heteroskedasticity of the residuals
Test Statistic: 8.52
P-value: 0.014123

Testes de autocorrelação

Teste de Durbin Watson:

Código
dwtest(Mensal_boi)

    Durbin-Watson test

data:  Mensal_boi
DW = 2.1435, p-value = 0.769
alternative hypothesis: true autocorrelation is greater than 0

Teste de Breusch-Godfrey (1978):

Código
bgtest(Mensal_boi, order = 4)

    Breusch-Godfrey test for serial correlation of order up to 4

data:  Mensal_boi
LM test = 4.3722, df = 4, p-value = 0.358

Teste de Arch:

Código
ArchTest(residuos, lags = 4)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  residuos
Chi-squared = 3.1139, df = 4, p-value = 0.5389

Soja Spot x Futura

Código
summary(Mensal_soja)

Call:
lm(formula = SojaS ~ Sojaf)

Residuals:
     Min       1Q   Median       3Q      Max 
-27.6837  -4.4608  -0.1208   6.2816  26.5271 

Coefficients:
            Estimate Std. Error t value            Pr(>|t|)    
(Intercept)  9.69045    5.86456   1.652               0.101    
Sojaf        0.88104    0.03858  22.835 <0.0000000000000002 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 10.36 on 126 degrees of freedom
Multiple R-squared:  0.8054,    Adjusted R-squared:  0.8038 
F-statistic: 521.4 on 1 and 126 DF,  p-value: < 0.00000000000000022

Resíduos

Código
#----Residuos-----#
par(mfrow = c(1,1))
residuos <- residuals(Mensal_soja); head(residuos)
        1         2         3         4         5         6 
-1.856731 17.296668 14.280171 14.698587 12.546201 -3.225554 
Código
plot(residuos, type="l", col="red")
abline(h=0, col="blue", lw=3)

Código
par(mfrow=c(1,2))
hist(residuos, main="", col="cadetblue", prob=T, xlab = names(residuos)[1], breaks = 30)
curve(expr=dnorm(x,mean=mean(residuos),sd=sd(residuos)),col="red",add= TRUE, lwd=2)
qqnorm(residuos, col="blue")
qqline(residuos, col="red")

Normalidade

Código
#----Normalidade------#
jarqueberaTest(residuos)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 1.6925
  P VALUE:
    Asymptotic p Value: 0.429 

Testes para presença de heteroscedasticidade

Teste de Goldfeld-Quandt:

Código
gqtest(Mensal_soja, fraction = length(residuos)*0.15, alternative = "greater")

    Goldfeld-Quandt test

data:  Mensal_soja
GQ = 1.3034, df1 = 53, df2 = 52, p-value = 0.1704
alternative hypothesis: variance increases from segment 1 to 2

Teste de Breusch-Pagan-Godfrey:

Código
  bptest(Mensal_soja)

    studentized Breusch-Pagan test

data:  Mensal_soja
BP = 6.273, df = 1, p-value = 0.01226

Teste de White:

Código
library(whitestrap)
white_test(Mensal_soja)
White's test results

Null hypothesis: Homoskedasticity of the residuals
Alternative hypothesis: Heteroskedasticity of the residuals
Test Statistic: 6.39
P-value: 0.041038

Testes de autocorrelação

Teste de Durbin Watson:

Código
dwtest(Mensal_soja)

    Durbin-Watson test

data:  Mensal_soja
DW = 0.59512, p-value = 0.0000000000000002831
alternative hypothesis: true autocorrelation is greater than 0

Teste de Breusch-Godfrey (1978):

Código
bgtest(Mensal_soja, order = 4)

    Breusch-Godfrey test for serial correlation of order up to 4

data:  Mensal_soja
LM test = 68.533, df = 4, p-value = 0.0000000000000463

Teste de Arch:

Código
ArchTest(residuos, lags = 4)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  residuos
Chi-squared = 36.791, df = 4, p-value = 0.0000001989

Janelamento dos Preços

Código
boif_janela <- window(boif, start = c(2021, 1), end = c(2024, 8))
boiS_janela <- window(boiS, start = c(2021, 1), end = c(2024, 8))


sojaf_janela <- window(sojaf, start = c(2021, 1), end = c(2024, 7))
SojaS_janela <- window(SojaS, start = c(2021, 1), end = c(2024, 7))

dolar_janela <- window(dolar, start = c(2021, 1), end = c(2024, 7))
Código
Mensal_boiJ <- lm(boif_janela ~ boiS_janela)
Mensal_sojaJ <- lm(sojaf_janela ~ SojaS_janela)

Boi Gordo Spot x Futura

Código
summary(Mensal_boiJ)

Call:
lm(formula = boif_janela ~ boiS_janela)

Residuals:
     Min       1Q   Median       3Q      Max 
-19.5075  -4.6360  -0.1932   3.9679  21.4693 

Coefficients:
            Estimate Std. Error t value            Pr(>|t|)    
(Intercept) -6.16560    8.06195  -0.765               0.449    
boiS_janela  1.02354    0.02745  37.282 <0.0000000000000002 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 7.91 on 42 degrees of freedom
Multiple R-squared:  0.9707,    Adjusted R-squared:   0.97 
F-statistic:  1390 on 1 and 42 DF,  p-value: < 0.00000000000000022

Resíduos

Código
#----Residuos-----#
par(mfrow = c(1,1))
residuos <- residuals(Mensal_boiJ); head(residuos)
         1          2          3          4          5          6 
 8.9153457 -2.2977780  4.2356278 -5.0692314  1.9026058  0.7498359 
Código
plot(residuos, type="l", col="red")
abline(h=0, col="blue", lw=3)

Código
par(mfrow=c(1,2))
hist(residuos, main="", col="cadetblue", prob=T, xlab = names(residuos)[1], breaks = 30)
curve(expr=dnorm(x,mean=mean(residuos),sd=sd(residuos)),col="red",add= TRUE, lwd=2)
qqnorm(residuos, col="blue")
qqline(residuos, col="red")

Normalidade

Código
#----Normalidade------#
jarqueberaTest(residuos)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 2.2663
  P VALUE:
    Asymptotic p Value: 0.322 

Testes para presença de heteroscedasticidade

Teste de Goldfeld-Quandt:

Código
gqtest(Mensal_boiJ, fraction = length(residuos)*0.15, alternative = "greater")

    Goldfeld-Quandt test

data:  Mensal_boiJ
GQ = 1.3263, df1 = 17, df2 = 16, p-value = 0.2885
alternative hypothesis: variance increases from segment 1 to 2

Teste de Breusch-Pagan-Godfrey:

Código
  bptest(Mensal_boiJ)

    studentized Breusch-Pagan test

data:  Mensal_boiJ
BP = 1.8198, df = 1, p-value = 0.1773

Teste de White:

Código
library(whitestrap)
white_test(Mensal_boiJ)
White's test results

Null hypothesis: Homoskedasticity of the residuals
Alternative hypothesis: Heteroskedasticity of the residuals
Test Statistic: 1.82
P-value: 0.402488

Testes de autocorrelação

Teste de Durbin Watson:

Código
dwtest(Mensal_boiJ)

    Durbin-Watson test

data:  Mensal_boiJ
DW = 2.3896, p-value = 0.8769
alternative hypothesis: true autocorrelation is greater than 0

Teste de Breusch-Godfrey (1978):

Código
bgtest(Mensal_boiJ, order = 4)

    Breusch-Godfrey test for serial correlation of order up to 4

data:  Mensal_boiJ
LM test = 5.6876, df = 4, p-value = 0.2237

Teste de Arch:

Código
ArchTest(residuos, lags = 4)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  residuos
Chi-squared = 11.23, df = 4, p-value = 0.0241

Soja Spot x Futura

Código
summary(Mensal_sojaJ)

Call:
lm(formula = sojaf_janela ~ SojaS_janela)

Residuals:
    Min      1Q  Median      3Q     Max 
-23.121  -7.265  -1.334   9.197  23.670 

Coefficients:
             Estimate Std. Error t value           Pr(>|t|)    
(Intercept)   7.81371   13.86902   0.563              0.576    
SojaS_janela  0.98337    0.08438  11.654 0.0000000000000136 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 11.54 on 41 degrees of freedom
Multiple R-squared:  0.7681,    Adjusted R-squared:  0.7625 
F-statistic: 135.8 on 1 and 41 DF,  p-value: 0.00000000000001365

Resíduos

Código
#----Residuos-----#
par(mfrow = c(1,1))
residuos <- residuals(Mensal_sojaJ); head(residuos)
         1          2          3          4          5          6 
  2.849246  -6.240302 -12.260349 -16.714617  -6.929790  -1.132985 
Código
plot(residuos, type="l", col="red")
abline(h=0, col="blue", lw=3)

Código
par(mfrow=c(1,2))
hist(residuos, main="", col="cadetblue", prob=T, xlab = names(residuos)[1], breaks = 30)
curve(expr=dnorm(x,mean=mean(residuos),sd=sd(residuos)),col="red",add= TRUE, lwd=2)
qqnorm(residuos, col="blue")
qqline(residuos, col="red")

Normalidade

Código
#----Normalidade------#
jarqueberaTest(residuos)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 1.1185
  P VALUE:
    Asymptotic p Value: 0.5716 

Testes para presença de heteroscedasticidade

Teste de Goldfeld-Quandt:

Código
gqtest(Mensal_sojaJ, fraction = length(residuos)*0.15, alternative = "greater")

    Goldfeld-Quandt test

data:  Mensal_sojaJ
GQ = 1.6392, df1 = 17, df2 = 16, p-value = 0.1645
alternative hypothesis: variance increases from segment 1 to 2

Teste de Breusch-Pagan-Godfrey:

Código
  bptest(Mensal_sojaJ)

    studentized Breusch-Pagan test

data:  Mensal_sojaJ
BP = 0.32933, df = 1, p-value = 0.5661

Teste de White:

Código
library(whitestrap)
white_test(Mensal_sojaJ)
White's test results

Null hypothesis: Homoskedasticity of the residuals
Alternative hypothesis: Heteroskedasticity of the residuals
Test Statistic: 0.4
P-value: 0.819832

Testes de autocorrelação

Teste de Durbin Watson:

Código
dwtest(Mensal_sojaJ)

    Durbin-Watson test

data:  Mensal_sojaJ
DW = 0.53724, p-value = 0.000000001349
alternative hypothesis: true autocorrelation is greater than 0

Teste de Breusch-Godfrey (1978):

Código
bgtest(Mensal_sojaJ, order = 4)

    Breusch-Godfrey test for serial correlation of order up to 4

data:  Mensal_sojaJ
LM test = 23.948, df = 4, p-value = 0.00008183

Teste de Arch:

Código
ArchTest(residuos, lags = 4)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  residuos
Chi-squared = 8.1328, df = 4, p-value = 0.08683

Corrigindo Altocorrelação da Soja

Código
lag <- stats::lag
Regressao <- dynlm(sojaf_janela ~ SojaS_janela + lag(sojaf_janela,-1))
summary(Regressao)

Time series regression with "ts" data:
Start = 2021(2), End = 2024(7)

Call:
dynlm(formula = sojaf_janela ~ SojaS_janela + lag(sojaf_janela, 
    -1))

Residuals:
    Min      1Q  Median      3Q     Max 
-16.363  -3.901   1.422   5.024  12.050 

Coefficients:
                      Estimate Std. Error t value       Pr(>|t|)    
(Intercept)           -0.98005    8.87517  -0.110         0.9126    
SojaS_janela           0.28235    0.09974   2.831         0.0073 ** 
lag(sojaf_janela, -1)  0.72528    0.08760   8.280 0.000000000403 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 7.117 on 39 degrees of freedom
Multiple R-squared:  0.9109,    Adjusted R-squared:  0.9063 
F-statistic: 199.3 on 2 and 39 DF,  p-value: < 0.00000000000000022

Resíduos

Código
#----Residuos-----#
par(mfrow = c(1,1))
residuos <- residuals(Regressao); head(residuos)
  Feb 2021   Mar 2021   Apr 2021   May 2021   Jun 2021   Jul 2021 
 -6.488354  -1.927998  -2.827727  -4.898634 -14.978002   7.775759 
Código
plot(residuos, type="l", col="red")
abline(h=0, col="blue", lw=3)

Código
par(mfrow=c(1,2))
hist(residuos, main="", col="cadetblue", prob=T, xlab = names(residuos)[1], breaks = 30)
curve(expr=dnorm(x,mean=mean(residuos),sd=sd(residuos)),col="red",add= TRUE, lwd=2)
qqnorm(residuos, col="blue")
qqline(residuos, col="red")

Normalidade

Código
#----Normalidade------#
jarqueberaTest(residuos)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 2.8653
  P VALUE:
    Asymptotic p Value: 0.2387 

Testes para presença de heteroscedasticidade

Teste de Goldfeld-Quandt:

Código
gqtest(Regressao, fraction = length(residuos)*0.15, alternative = "greater")

    Goldfeld-Quandt test

data:  Regressao
GQ = 1.3285, df1 = 15, df2 = 14, p-value = 0.3004
alternative hypothesis: variance increases from segment 1 to 2

Teste de Breusch-Pagan-Godfrey:

Código
  bptest(Regressao)

    studentized Breusch-Pagan test

data:  Regressao
BP = 2.5124, df = 2, p-value = 0.2847

Teste de White:

Código
library(whitestrap)
white_test(Regressao)
White's test results

Null hypothesis: Homoskedasticity of the residuals
Alternative hypothesis: Heteroskedasticity of the residuals
Test Statistic: 0.68
P-value: 0.710153

Testes de autocorrelação

Teste de Durbin Watson:

Código
dwtest(Regressao)

    Durbin-Watson test

data:  Regressao
DW = 1.3001, p-value = 0.00458
alternative hypothesis: true autocorrelation is greater than 0

Teste de Breusch-Godfrey (1978):

Código
bgtest(Regressao, order = 4)

    Breusch-Godfrey test for serial correlation of order up to 4

data:  Regressao
LM test = 6.1834, df = 4, p-value = 0.1859

Teste de Arch:

Código
ArchTest(residuos, lags = 4)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  residuos
Chi-squared = 4.5439, df = 4, p-value = 0.3374

Usando Dolar na Regressão da Soja

Soja Spot x Futura

Código
lag <- stats::lag
RegreD <- dynlm(sojaf_janela ~ SojaS_janela + lag(sojaf_janela,-1)+dolar_janela)
summary(RegreD)

Time series regression with "ts" data:
Start = 2021(2), End = 2024(7)

Call:
dynlm(formula = sojaf_janela ~ SojaS_janela + lag(sojaf_janela, 
    -1) + dolar_janela)

Residuals:
    Min      1Q  Median      3Q     Max 
-16.476  -3.364   2.000   4.039  12.247 

Coefficients:
                        Estimate Std. Error t value    Pr(>|t|)    
(Intercept)           164.069823 142.055454   1.155      0.2553    
SojaS_janela            0.246180   0.104037   2.366      0.0232 *  
lag(sojaf_janela, -1)   0.646516   0.110370   5.858 0.000000892 ***
dolar_janela           -0.007566   0.006499  -1.164      0.2516    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 7.085 on 38 degrees of freedom
Multiple R-squared:  0.914, Adjusted R-squared:  0.9072 
F-statistic: 134.5 on 3 and 38 DF,  p-value: < 0.00000000000000022

Resíduos

Código
#----Residuos-----#
par(mfrow = c(1,1))
residuos <- residuals(RegreD); head(residuos)
  Feb 2021   Mar 2021   Apr 2021   May 2021   Jun 2021   Jul 2021 
 -7.049711  -2.608743  -2.957989  -5.216980 -16.476273   4.626316 
Código
plot(residuos, type="l", col="red")
abline(h=0, col="blue", lw=3)

Código
par(mfrow=c(1,2))
hist(residuos, main="", col="cadetblue", prob=T, xlab = names(residuos)[1], breaks = 30)
curve(expr=dnorm(x,mean=mean(residuos),sd=sd(residuos)),col="red",add= TRUE, lwd=2)
qqnorm(residuos, col="blue")
qqline(residuos, col="red")

Normalidade

Código
#----Normalidade------#
jarqueberaTest(residuos)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 3.5498
  P VALUE:
    Asymptotic p Value: 0.1695 

Testes para presença de heteroscedasticidade

Teste de Goldfeld-Quandt:

Código
gqtest(Mensal_sojaJ, fraction = length(residuos)*0.15, alternative = "greater")

    Goldfeld-Quandt test

data:  Mensal_sojaJ
GQ = 1.6392, df1 = 17, df2 = 16, p-value = 0.1645
alternative hypothesis: variance increases from segment 1 to 2

Teste de Breusch-Pagan-Godfrey:

Código
  bptest(RegreD)

    studentized Breusch-Pagan test

data:  RegreD
BP = 2.3181, df = 3, p-value = 0.5091

Teste de White:

Código
library(whitestrap)
white_test(RegreD)
White's test results

Null hypothesis: Homoskedasticity of the residuals
Alternative hypothesis: Heteroskedasticity of the residuals
Test Statistic: 0.13
P-value: 0.938736

Testes de autocorrelação

Teste de Durbin Watson:

Código
dwtest(RegreD)

    Durbin-Watson test

data:  RegreD
DW = 1.2589, p-value = 0.001804
alternative hypothesis: true autocorrelation is greater than 0

Teste de Breusch-Godfrey (1978):

Código
bgtest(RegreD, order = 4)

    Breusch-Godfrey test for serial correlation of order up to 4

data:  RegreD
LM test = 10.63, df = 4, p-value = 0.03106

Teste de Arch:

Código
ArchTest(residuos, lags = 4)

    ARCH LM-test; Null hypothesis: no ARCH effects

data:  residuos
Chi-squared = 5.1539, df = 4, p-value = 0.2719

Conclusão da Regressão

Após corrigir os probelmas de heteroscedasticidade, altocorrelação e ter mantido a normalidade da série é possivel avaliar por meio das regressões que foram feitas o efeito marginal dos preços spot sobre os preços Futuros a apartir dos Betas.

Para cada R$ 1,00 em spot de boi gordo, futuro varia em R$ 1,02354.

Para cada R$ 1,00 em spot de soja, futuro varia em R$ 0,28235