RELATORIO SEMANAL COM RESULTADOS DAS ÚLTIMAS ESCOLHAS

UNIVERSIDADE FEDERAL DA PARAÍBA

Author

Gabriela Oliveira, Natan Henrique, Alisson Rodrigues

Published

June 1, 2024

Resultados da primeira e segunda semana

Criando Função de Compra e Venda

Code
options(scipen=999)
options(max.print = 100000)

library(tidyverse)
library(readxl)
library(ggthemes)
library(knitr)
library(deflateBR)
library(fBasics)
library(mFilter)

# função de venda
venda <- function(var1, var2, var3) {
  resultado <- (var3*((var1-var2)*10))-3000
  return(resultado)
}

# função de compra
compra <- function(var1, var2, var3) {
  resultado <- (var3*((var2-var1)*10))-3000
  return(resultado)
}

Primeira e Segunda Semana

Code
# resultado referente a semana 1 e 2.
milho <- venda(58.64, 58.20, 450)
ouro <- compra(2428.60, 2449.50, 100)
soja <- compra(26.68, 27.53, 450)
resultado <- sum(milho, ouro, soja)
knitr::kable(data.frame(milho,soja,ouro,resultado),
             capition = "Primeira e Segunda Semana")
milho soja ouro resultado
-1020 825 17900 17705

Terceira Semana e Resulltado Final (RF)

Code
# terceira semana
boiG <- compra(223.70, 222.50, 330)
soja3 <- compra(27.51, 27.51, 450)
resultado3 <- sum(boiG,soja3)

# resultado final 
RF <- resultado + resultado3
knitr::kable(data.frame(boiG,soja3,resultado3,RF),
             capition = "Terceira Semana e Resultado Final (RF)")
boiG soja3 resultado3 RF
-6960 -3000 -9960 7745

Escolha da Semana

  • Soja Venda (26,57 no dia 31/05)
  • Boi Gordo, Venda (226,05 no dia 31/05)

Como as atenções estão muito voltadas para a soja o relatório irá focar nela.

Neste momento, foco do mercado está na safra Americana. Com boas expectativas climáticas é esperado Safra cheia nos EUA, com uma boa umidade do solo e um bom avanço do plantio. O ambiente para desenvolvimento da safra americana está muito bom. Os contratos devem ficar abaixo de US$12,50/Bushel em Chicago.

Notícia

Soja amplia perdas em Chicago nesta 4ª feira e vencimentos mais distantes perdem os US$ 12/bushel

“Os futuros refletem as boas condições climáticas e o avanço no progresso de plantio dos EUA”, afirmam os analistas da Pátria Agronegócios. Além disso, “na Argentina, a expectativa de um avanço na colheita e a volta dos esmagamentos são fatores baixistas para o grão em Chicago”.

Preço Spot

Diário

Code
diario <- read_excel("Soja_D.xlsx") |> 
  ggplot(aes(x = Data, y = `À vista R$`))+
  geom_line() +
  geom_line(color = 'red') +
        labs(title = 'Preço Spot Diário',
             x = 'Data',
             y = 'Preços') +
        theme_economist()

 knitr::kable(head(diario$data),caption = "Preços Diários")
Preços Diários
Data À vista R\(| À vista US\)
2024-04-01 124.67 24.61
2024-04-02 124.86 24.68
2024-04-03 124.61 24.73
2024-04-04 124.28 24.62
2024-04-05 124.85 24.65
2024-04-08 126.02 25.06
Code
diario

Preço Futuro

Code
diarioF <- read_excel("Soja_F.xlsx") |> 
  ggplot(aes(x = Data, y = `Último`))+
  geom_line() +
  geom_line(color = 'blue') +
        labs(title = 'Preço Futuro Diário',
             x = 'Data',
             y = 'Preços') +
        theme_economist()

 knitr::kable(head(diarioF$data),caption = "Preços Diários")
Preços Diários
Data Último
2024-04-01 26.14
2024-04-02 25.88
2024-04-03 26.06
2024-04-04 26.01
2024-04-05 26.12
2024-04-08 26.05
Code
diarioF

Futuro VS Spot

Code
cambio <- diario$data$`À vista R$`/diario$data$`À vista US$`
futuro <- diarioF$data$Último*cambio

df <- data.frame(diario$data, futuro) |> 
  ggplot(aes(x = Data))+
  geom_line(aes(y = futuro, color = "Futuro"))+
  geom_line(aes(y = `À.vista.R.`, color = "Spot"))+
  labs(
    title = "Spot vs Futuro",
    xlab = "Data",
    ylab = "Preço"
  )+
  theme_economist()
df

Estatísticas

Code
ggplot(data = df$data, aes(x = df$data$À.vista.R.)) +
  geom_histogram(binwidth = 2.5, fill = "red", color = "black") +
  labs(title = "Histograma dos Preços Spot",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
ggplot(data = df$data, aes(x = df$data$futuro)) +
  geom_histogram(binwidth = 2.5, fill = "blue", color = "black") +
  labs(title = "Histograma dos Preços Futuro",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
variancia_spot <- var(df$data$À.vista.R.)
variancia_futuro <- var(df$data$futuro)
desvio_spot <- sd(df$data$À.vista.R.)
desvio_futuro <- sd(df$data$futuro)


kable(data.frame(variancia_futuro,variancia_spot,desvio_futuro,desvio_spot),
      caption = "Medidas de desvio")
Medidas de desvio
variancia_futuro variancia_spot desvio_futuro desvio_spot
15.83016 26.97725 3.978714 5.193963

Retorno

Code
RetornoF <- diff(log(df$data$futuro))
RetornoS <- diff(log(df$data$À.vista.R.))

ggplot(data = data.frame(RetornoS), aes(x = RetornoS)) +
  geom_histogram(binwidth = 0.008, fill = "red", color = "black") +
  labs(title = "Histograma dos Retornos de Spot",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
ggplot(data = data.frame(RetornoF), aes(x = RetornoF)) +
  geom_histogram(binwidth = 0.008, fill = "blue", color = "black") +
  labs(title = "Histograma dos Retornos de Futuro",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
media_futuro <- mean(RetornoF)
media_spot <- mean(RetornoS)
var_retornoF <- var(RetornoF)
var_retornoS <- var(RetornoS)
desvioF <- sd(RetornoF)
desvioS <- sd(RetornoS)
Coef.Var.F<-(desvioF/media_futuro)*100
Coef.Var.S<-(desvioS/media_spot)*100

kable(data.frame(nomes = c("Spot", "Futuro"),
                 media = c(media_spot, media_futuro),
                 variancia = c(var_retornoS, var_retornoF),
                 desvio = c(desvioS, desvioF),
                 Coef_var = c(Coef.Var.S, Coef.Var.F)),
      caption = "")
nomes media variancia desvio Coef_var
Spot 0.0024334 0.0000527 0.0072600 298.3473
Futuro 0.0012281 0.0000936 0.0096746 787.7625

Normalidade

Code
jarqueberaTest(RetornoS)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 0.5519
  P VALUE:
    Asymptotic p Value: 0.7588 
Code
jarqueberaTest(RetornoF)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 3.1967
  P VALUE:
    Asymptotic p Value: 0.2022 

Dados Mensais (valores nominais)

Code
mensal <- read_excel("DadosM.xlsx") |> 
  ggplot(aes(x = Data))+
  geom_line(aes(y = Futuro, color = "Futuro"))+
  geom_line(aes(y = spot, color = "Spot"))+
  labs(
    title = "Spot vs Futuro em Valores Mensais",
    xlab = "Data",
    ylab = "Preço"
  )+
  theme_economist()

Valores Deflacionados

Code
futuro <- ts(mensal$data$Futuro, frequency = 12, start = c(2014, 05,01))
spot <- ts(mensal$data$spot, frequency = 12, start = c(2014, 05,01))

times1 <- seq(as.Date("2003/1/1"), by = "month", length.out = length(futuro))

futuro <- futuro |> 
  deflate( nominal_dates = times1, real_date = '04/2024', index = 'igpm')

spot <- spot |> 
  deflate( nominal_dates = times1, real_date = '01/2024', index = 'igpm')

df_mes <- data.frame(data = mensal$data$Data, Futuro = futuro, spot = spot )

  ggplot(data = df_mes, aes(x = data))+
  geom_line(aes(y = Futuro, color = "Futuro"))+
  geom_line(aes(y = spot, color = "Spot"))+
  labs(
    title = "Spot vs Futuro em Valores Mensais Deflacionados",
    xlab = "Data",
    ylab = "Preço"
  )+
  theme_economist()

Estatísticas

Code
ggplot(data = df_mes, aes(x = futuro)) +
  geom_histogram(binwidth = 20, fill = "blue", color = "black") +
  labs(title = "Histograma dos preços Futuro",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
ggplot(data = df_mes, aes(x = spot)) +
  geom_histogram(binwidth = 20, fill = "red", color = "black") +
  labs(title = "Histograma dos preços Spot",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
media_futuro <- mean(futuro)
media_spot <- mean(spot)
var_retornoF <- var(futuro)
var_retornoS <- var(spot)
desvioF <- sd(futuro)
desvioS <- sd(spot)
Coef.Var.F<-(desvioF/media_futuro)*100
Coef.Var.S<-(desvioS/media_spot)*100

#volatilidade
VolF<-(desvioF*100)*sqrt(252)
VolS<-(desvioS*100)*sqrt(252)

kable(data.frame(nomes = c("Spot", "Futuro"),
                 media = c(media_spot, media_futuro),
                 variancia = c(var_retornoS, var_retornoF),
                 desvio = c(desvioS, desvioF),
                 Coef_var = c(Coef.Var.S, Coef.Var.F),
                 Volatilidade = c(VolS, VolF)
                 ),
      caption = "")
nomes media variancia desvio Coef_var Volatilidade
Spot 318.5916 7542.515 86.84766 27.25987 137866.4
Futuro 299.0625 7041.610 83.91430 28.05912 133209.8

Retornos

Code
RetornoF <- diff(log(futuro))
RetornoS <- diff(log(spot))

ggplot(data = data.frame(RetornoS), aes(x = RetornoS)) +
  geom_histogram(binwidth = 0.05, fill = "red", color = "black") +
  labs(title = "Histograma dos Retornos de Spot",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
ggplot(data = data.frame(RetornoF), aes(x = RetornoF)) +
  geom_histogram(binwidth = 0.05, fill = "blue", color = "black") +
  labs(title = "Histograma dos Retornos de Futuro",
       x = "Valor",
       y = "Frequência") +
  theme_economist()

Code
media_futuro <- mean(RetornoF)
media_spot <- mean(RetornoS)
var_retornoF <- var(RetornoF)
var_retornoS <- var(RetornoS)
desvioF <- sd(RetornoF)
desvioS <- sd(RetornoS)
Coef.Var.F<-(desvioF/media_futuro)*100
Coef.Var.S<-(desvioS/media_spot)*100
VolF<-(desvioF*100)*sqrt(252)
VolS<-(desvioS*100)*sqrt(252)

kable(data.frame(nomes = c("Spot", "Futuro"),
                 media = c(media_spot, media_futuro),
                 variancia = c(var_retornoS, var_retornoF),
                 desvio = c(desvioS, desvioF),
                 Corf_var = c(Coef.Var.S, Coef.Var.F),
                 Volatilidade = c(VolS, VolF)
                 ),
      caption = "")
nomes media variancia desvio Corf_var Volatilidade
Spot 0.0001697 0.0025022 0.0500222 29472.64 79.40779
Futuro -0.0000737 0.0043763 0.0661537 -89770.23 105.01576

Normalidade

Code
jarqueberaTest(RetornoS)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 0.1409
  P VALUE:
    Asymptotic p Value: 0.932 
Code
jarqueberaTest(RetornoF)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 3.8721
  P VALUE:
    Asymptotic p Value: 0.1443 

Decomposição da Série

Code
cicloSpot <- hpfilter(spot)

hiato1 <- data.frame(data = mensal$data$Data, ciclo = cicloSpot$cycle) |> 
  ggplot(aes(x = data, y = ciclo ))+
  geom_area(color = 'red') +
        labs(title = 'Spot',
             x = 'Data',
             y = 'Preços') +
        theme_economist()
hiato1

Code
cicloFuturo <- hpfilter(futuro)

hiato <- data.frame(data = mensal$data$Data, ciclo = cicloFuturo$cycle) |> 
  ggplot(aes(x = data, y = ciclo ))+
  geom_area(color = 'blue') +
        labs(title = 'Futuro',
             x = 'Data',
             y = 'Preços') +
        theme_economist()
hiato

Code
df_hiato <- data.frame(data = mensal$data$Data,
                       Futuro = cicloFuturo$cycle,
                       spot = cicloSpot$cycle )

  ggplot(data = df_hiato, aes(x = data))+
  geom_area(aes(y = Futuro, color = "Futuro"))+
  geom_area(aes(y = spot, color = "Spot"),alpha = 0.5, position = "identity")+
  labs(
    title = "Comparação dos Cíclos de Spot e Futuro",
    xlab = "Data",
    ylab = "Preço"
  )+
  theme_economist()