Análise dos Ativos CSAN3, B3SA3, SLCE3, GGBR4 e RADL3

1 Importação de dados do Yahoo! Finance

Code
remove(list=ls()) # Remove todos os objetos da memória
gc() # Força coleta de lixo para liberar memória
          used (Mb) gc trigger (Mb) max used (Mb)
Ncells  595180 31.8    1357291 72.5   686445 36.7
Vcells 1088438  8.4    8388608 64.0  1875820 14.4
Code
par(mfrow=c(1,1)) # Ajusta a área gráfica para 1 gráfico por vez
options(scipen=999)  # Evita notação científica
options(max.print = 100000) # Permite visualização de grandes objetos
date() # Mostra a data atual
[1] "Fri Jul 25 13:07:17 2025"
Code
### Pacote de Busca de Dados do Yahoo-Finance.
##install.Package

library(tseries) # Pacote para obter cotações históricas de ativos
Warning: pacote 'tseries' foi compilado no R versão 4.4.3
Registered S3 method overwritten by 'quantmod':
  method            from
  as.zoo.data.frame zoo 

1.0.1 Definição do intervalo de datas

Code
dataini <- "2025-04-01"
datafim <- "2025-06-27"

1.0.2 Coleta de dados dos ativos CSAN3, B3SA3, SLCE3, GGBR4 e RADL3

Code
# Importação e visualização da série de preços de csan3
csan3 <- get.hist.quote("csan3.sa",
                        quote = "Close",
                        start = dataini,
                        end = datafim)
time series ends   2025-06-26
Code
length(csan3)  # Verifica o número de observações
[1] 59
Code
csan3          # Visualiza os dados
           Close
2025-04-01  7.37
2025-04-02  7.49
2025-04-03  7.79
2025-04-04  7.24
2025-04-07  7.01
2025-04-08  6.59
2025-04-09  6.84
2025-04-10  6.94
2025-04-11  7.04
2025-04-14  7.25
2025-04-15  7.05
2025-04-16  7.00
2025-04-17  7.17
2025-04-22  7.26
2025-04-23  7.51
2025-04-24  7.81
2025-04-25  7.71
2025-04-28  7.72
2025-04-29  7.73
2025-04-30  7.77
2025-05-02  8.01
2025-05-05  7.75
2025-05-06  7.73
2025-05-07  7.65
2025-05-08  7.99
2025-05-09  7.81
2025-05-12  7.78
2025-05-13  7.97
2025-05-14  7.80
2025-05-15  7.72
2025-05-16  7.57
2025-05-19  7.57
2025-05-20  7.58
2025-05-21  7.68
2025-05-22  7.74
2025-05-23  8.02
2025-05-26  8.05
2025-05-27  8.15
2025-05-28  8.23
2025-05-29  8.40
2025-05-30  8.23
2025-06-02  8.05
2025-06-03  8.54
2025-06-04  8.31
2025-06-05  8.04
2025-06-06  8.06
2025-06-09  8.01
2025-06-10  8.26
2025-06-11  8.25
2025-06-12  8.24
2025-06-13  8.12
2025-06-16  8.44
2025-06-17  8.12
2025-06-18  8.00
2025-06-20  7.28
2025-06-23  6.94
2025-06-24  7.11
2025-06-25  6.87
2025-06-26  6.91
Code
plot(csan3, main = "Série de Preços - CSAN3", col = "green")

Code
# Importação e visualização da série de preços de b3sa3
b3sa3 <- get.hist.quote("b3sa3.sa",
                        quote = "Close", 
                        start = dataini, 
                        end = datafim)
time series ends   2025-06-26
Code
length(b3sa3)   # Mostra o número de observações coletadas
[1] 59
Code
b3sa3           # Exibe os dados na tela
           Close
2025-04-01 12.26
2025-04-02 12.42
2025-04-03 12.73
2025-04-04 12.05
2025-04-07 11.95
2025-04-08 11.74
2025-04-09 12.17
2025-04-10 11.86
2025-04-11 11.94
2025-04-14 12.17
2025-04-15 12.26
2025-04-16 12.06
2025-04-17 12.18
2025-04-22 12.42
2025-04-23 12.65
2025-04-24 13.27
2025-04-25 13.39
2025-04-28 13.42
2025-04-29 13.23
2025-04-30 13.49
2025-05-02 13.31
2025-05-05 13.21
2025-05-06 13.16
2025-05-07 13.15
2025-05-08 14.25
2025-05-09 14.53
2025-05-12 14.36
2025-05-13 14.95
2025-05-14 14.65
2025-05-15 14.77
2025-05-16 14.77
2025-05-19 14.82
2025-05-20 14.95
2025-05-21 14.50
2025-05-22 14.34
2025-05-23 14.39
2025-05-26 14.33
2025-05-27 14.38
2025-05-28 14.30
2025-05-29 14.10
2025-05-30 13.95
2025-06-02 13.71
2025-06-03 14.18
2025-06-04 13.95
2025-06-05 13.58
2025-06-06 13.57
2025-06-09 13.16
2025-06-10 13.14
2025-06-11 13.24
2025-06-12 12.98
2025-06-13 13.05
2025-06-16 13.47
2025-06-17 13.53
2025-06-18 13.79
2025-06-20 13.62
2025-06-23 13.40
2025-06-24 13.52
2025-06-25 13.61
2025-06-26 14.10
Code
plot(b3sa3, main = "Série de Preços - B3SA3", col = "blue")  # Gráfico da série

Code
# Importação e visualização da série de preços de slce3
slce3 <- get.hist.quote("slce3.sa",
                        quote = "Close", 
                        start = dataini, 
                        end = datafim)
time series ends   2025-06-26
Code
length(slce3)
[1] 59
Code
slce3
           Close
2025-04-01 18.85
2025-04-02 18.76
2025-04-03 18.63
2025-04-04 18.53
2025-04-07 18.72
2025-04-08 18.64
2025-04-09 18.73
2025-04-10 18.98
2025-04-11 20.12
2025-04-14 20.83
2025-04-15 20.31
2025-04-16 20.29
2025-04-17 20.15
2025-04-22 20.34
2025-04-23 20.11
2025-04-24 20.12
2025-04-25 20.01
2025-04-28 19.98
2025-04-29 19.95
2025-04-30 19.79
2025-05-02 20.03
2025-05-05 19.70
2025-05-06 19.32
2025-05-07 19.30
2025-05-08 19.33
2025-05-09 18.91
2025-05-12 18.88
2025-05-13 18.98
2025-05-14 18.66
2025-05-15 19.04
2025-05-16 18.99
2025-05-19 18.88
2025-05-20 18.90
2025-05-21 18.52
2025-05-22 18.36
2025-05-23 18.88
2025-05-26 18.87
2025-05-27 19.16
2025-05-28 19.29
2025-05-29 19.30
2025-05-30 18.89
2025-06-02 18.78
2025-06-03 18.95
2025-06-04 18.89
2025-06-05 19.00
2025-06-06 18.91
2025-06-09 18.40
2025-06-10 18.63
2025-06-11 18.66
2025-06-12 18.39
2025-06-13 18.49
2025-06-16 18.88
2025-06-17 18.71
2025-06-18 18.43
2025-06-20 18.45
2025-06-23 18.50
2025-06-24 17.98
2025-06-25 17.80
2025-06-26 17.91
Code
plot(slce3, main = "Série de Preços - SLCE3", col = "darkgreen")

Code
# Importação e visualização da série de preços de ggbr4
ggbr4 <- get.hist.quote("ggbr4.sa",
                        quote = "Close", 
                        start = dataini, 
                        end = datafim)
time series ends   2025-06-26
Code
length(ggbr4)
[1] 59
Code
ggbr4
           Close
2025-04-01 16.61
2025-04-02 16.38
2025-04-03 15.92
2025-04-04 15.15
2025-04-07 14.60
2025-04-08 14.00
2025-04-09 15.00
2025-04-10 14.54
2025-04-11 14.68
2025-04-14 15.15
2025-04-15 14.98
2025-04-16 15.07
2025-04-17 14.95
2025-04-22 14.89
2025-04-23 15.06
2025-04-24 15.37
2025-04-25 15.33
2025-04-28 15.55
2025-04-29 15.37
2025-04-30 14.99
2025-05-02 14.94
2025-05-05 14.82
2025-05-06 14.78
2025-05-07 14.61
2025-05-08 14.90
2025-05-09 14.75
2025-05-12 15.15
2025-05-13 15.50
2025-05-14 15.57
2025-05-15 15.71
2025-05-16 15.77
2025-05-19 15.69
2025-05-20 15.61
2025-05-21 15.46
2025-05-22 15.47
2025-05-23 15.45
2025-05-26 15.64
2025-05-27 16.08
2025-05-28 15.90
2025-05-29 15.75
2025-05-30 15.25
2025-06-02 16.02
2025-06-03 16.24
2025-06-04 16.14
2025-06-05 16.70
2025-06-06 16.69
2025-06-09 17.76
2025-06-10 17.65
2025-06-11 17.00
2025-06-12 16.92
2025-06-13 16.76
2025-06-16 16.84
2025-06-17 16.58
2025-06-18 16.53
2025-06-20 16.01
2025-06-23 16.09
2025-06-24 16.09
2025-06-25 15.86
2025-06-26 16.06
Code
plot(ggbr4, main = "Série de Preços - GGBR4", col = "purple")

Code
# Importação e visualização da série de preços de radl3
radl3 <- get.hist.quote("radl3.sa",
                        quote = "Close", 
                        start = dataini, 
                        end = datafim)
time series ends   2025-06-26
Code
length(radl3)
[1] 59
Code
radl3
           Close
2025-04-01 19.01
2025-04-02 19.48
2025-04-03 19.92
2025-04-04 19.53
2025-04-07 19.40
2025-04-08 19.38
2025-04-09 21.18
2025-04-10 20.59
2025-04-11 21.38
2025-04-14 21.44
2025-04-15 22.80
2025-04-16 21.34
2025-04-17 20.69
2025-04-22 20.15
2025-04-23 20.37
2025-04-24 20.10
2025-04-25 20.10
2025-04-28 19.94
2025-04-29 19.95
2025-04-30 19.84
2025-05-02 20.00
2025-05-05 19.96
2025-05-06 19.45
2025-05-07 16.58
2025-05-08 16.31
2025-05-09 15.50
2025-05-12 16.06
2025-05-13 16.20
2025-05-14 15.18
2025-05-15 15.30
2025-05-16 15.22
2025-05-19 14.80
2025-05-20 14.85
2025-05-21 14.24
2025-05-22 14.45
2025-05-23 14.67
2025-05-26 14.56
2025-05-27 15.00
2025-05-28 14.95
2025-05-29 14.84
2025-05-30 14.85
2025-06-02 14.37
2025-06-03 14.17
2025-06-04 14.51
2025-06-05 14.96
2025-06-06 15.15
2025-06-09 14.71
2025-06-10 14.76
2025-06-11 14.34
2025-06-12 14.62
2025-06-13 13.88
2025-06-16 14.07
2025-06-17 14.11
2025-06-18 14.32
2025-06-20 14.00
2025-06-23 14.51
2025-06-24 15.01
2025-06-25 15.50
2025-06-26 15.24
Code
plot(radl3, main = "Série de Preços - RADL3", col = "orange")

2 Estatísticas descritivas

2.0.1 Cálculo da média e do desvio padrão dos preços

Code
# CSAN3
Media.csan3 <- mean(csan3)       # Média dos preços de CSAN3
Media.csan3
[1] 7.682542
Code
Desvio.csan3 <- sd(csan3)        # Desvio padrão dos preços de CSAN3
Desvio.csan3
[1] 0.4758244
Code
# B3SA3
Media.b3sa3 <- mean(b3sa3)       # Média dos preços de B3SA3
Media.b3sa3
[1] 13.43102
Code
Desvio.b3sa3 <- sd(b3sa3)        # Desvio padrão dos preços de B3SA3
Desvio.b3sa3
[1] 0.9005357
Code
# SLCE3
Media.slce3 <- mean(slce3)       # Média dos preços de SLCE3
Media.slce3
[1] 19.08119
Code
Desvio.slce3 <- sd(slce3)        # Desvio padrão dos preços de SLCE3
Desvio.slce3
[1] 0.6732017
Code
# GGBR4
Media.ggbr4 <- mean(ggbr4)       # Média dos preços de GGBR4
Media.ggbr4
[1] 15.66661
Code
Desvio.ggbr4 <- sd(ggbr4)        # Desvio padrão dos preços de GGBR4
Desvio.ggbr4
[1] 0.7919937
Code
# RADL3
Media.radl3 <- mean(radl3)       # Média dos preços de RADL3
Media.radl3
[1] 16.97949
Code
Desvio.radl3 <- sd(radl3)        # Desvio padrão dos preços de RADL3
Desvio.radl3
[1] 2.747628

2.0.2 Cálculo do coeficiente de variação dos preços (risco relativo)

Code
# CSAN3
cv.csan3 <- sd(csan3) / mean(csan3) * 100   # CV dos preços de CSAN3 (%)
cv.csan3
[1] 6.19358
Code
# B3SA3
cv.b3sa3 <- sd(b3sa3) / mean(b3sa3) * 100   # CV dos preços de B3SA3 (%)
cv.b3sa3
[1] 6.704896
Code
# SLCE3
cv.slce3 <- sd(slce3) / mean(slce3) * 100   # CV dos preços de SLCE3 (%)
cv.slce3
[1] 3.528092
Code
# GGBR4
cv.ggbr4 <- sd(ggbr4) / mean(ggbr4) * 100   # CV dos preços de GGBR4 (%)
cv.ggbr4
[1] 5.055297
Code
# RADL3
cv.radl3 <- sd(radl3) / mean(radl3) * 100   # CV dos preços de RADL3 (%)
cv.radl3
[1] 16.18204

3 Análise dos retornos

3.0.1 Cálculo dos retornos logarítmicos

Code
# CSAN3
rcsan3 <- diff(log(csan3))       # Retorno logarítmico diário de CSAN3
rcsan3
                  Close
2025-04-02  0.016151076
2025-04-03  0.039272088
2025-04-04 -0.073219680
2025-04-07 -0.032283441
2025-04-08 -0.061784362
2025-04-09  0.037234382
2025-04-10  0.014514029
2025-04-11  0.014306382
2025-04-14  0.029393304
2025-04-15 -0.027973825
2025-04-16 -0.007117495
2025-04-17  0.023995516
2025-04-22  0.012474195
2025-04-23  0.033855636
2025-04-24  0.039169460
2025-04-25 -0.012886764
2025-04-28  0.001296144
2025-04-29  0.001294528
2025-04-30  0.005161297
2025-05-02  0.030420628
2025-05-05 -0.032997946
2025-05-06 -0.002583978
2025-05-07 -0.010403205
2025-05-08  0.043485071
2025-05-09 -0.022785775
2025-05-12 -0.003848591
2025-05-13  0.024128101
2025-05-14 -0.021560708
2025-05-15 -0.010309421
2025-05-16 -0.019621247
2025-05-19  0.000000000
2025-05-20  0.001320099
2025-05-21  0.013106335
2025-05-22  0.007782133
2025-05-23  0.035536821
2025-05-26  0.003733636
2025-05-27  0.012345765
2025-05-28  0.009768079
2025-05-29  0.020445701
2025-05-30 -0.020445701
2025-06-02 -0.022113844
2025-06-03  0.059088888
2025-06-04 -0.027301344
2025-06-05 -0.033030581
2025-06-06  0.002484530
2025-06-09 -0.006222819
2025-06-10  0.030733826
2025-06-11 -0.001211415
2025-06-12 -0.001212884
2025-06-13 -0.014670176
2025-06-16  0.038652119
2025-06-17 -0.038652119
2025-06-18 -0.014888598
2025-06-20 -0.094310651
2025-06-23 -0.047829108
2025-06-24  0.024200480
2025-06-25 -0.034338173
2025-06-26  0.005805526
Code
mrcsan3 <- mean(rcsan3)          # Média do retorno diário
mrcsan3 * 100                    # Média em porcentagem (%)
[1] -0.1111174
Code
# B3SA3
rb3sa3 <- diff(log(b3sa3))       
rb3sa3
                   Close
2025-04-02  0.0129661335
2025-04-03  0.0246532940
2025-04-04 -0.0548967008
2025-04-07 -0.0083334133
2025-04-08 -0.0177294675
2025-04-09  0.0359721184
2025-04-10 -0.0258025486
2025-04-11  0.0067227082
2025-04-14  0.0190798404
2025-04-15  0.0073680359
2025-04-16 -0.0164477231
2025-04-17  0.0099010612
2025-04-22  0.0195127953
2025-04-23  0.0183491024
2025-04-24  0.0478486978
2025-04-25  0.0090023025
2025-04-28  0.0022379519
2025-04-29 -0.0142591937
2025-04-30  0.0194617097
2025-05-02 -0.0134329893
2025-05-05 -0.0075415425
2025-05-06 -0.0037922071
2025-05-07 -0.0007601847
2025-05-08  0.0803351771
2025-05-09  0.0194585525
2025-05-12 -0.0117689195
2025-05-13  0.0402647474
2025-05-14 -0.0202709777
2025-05-15  0.0081578181
2025-05-16  0.0000000000
2025-05-19  0.0033794717
2025-05-20  0.0087336878
2025-05-21 -0.0305626377
2025-05-22 -0.0110958036
2025-05-23  0.0034806989
2025-05-26 -0.0041783082
2025-05-27  0.0034831237
2025-05-28 -0.0055788096
2025-05-29 -0.0140847262
2025-05-30 -0.0106953298
2025-06-02 -0.0173539982
2025-06-03  0.0337070463
2025-06-04 -0.0163530480
2025-06-05 -0.0268813781
2025-06-06 -0.0007366652
2025-06-09 -0.0306795371
2025-06-10 -0.0015208751
2025-06-11  0.0075814940
2025-06-12 -0.0198328572
2025-06-13  0.0053784724
2025-06-16  0.0316768619
2025-06-17  0.0044444122
2025-06-18  0.0190342666
2025-06-20 -0.0124043967
2025-06-23 -0.0162846138
2025-06-24  0.0089154260
2025-06-25  0.0066346870
2025-06-26  0.0353700330
Code
mrb3sa3 <- mean(rb3sa3)
mrb3sa3 * 100
[1] 0.2410912
Code
# SLCE3
rslce3 <- diff(log(slce3))
rslce3
                   Close
2025-04-02 -0.0047859784
2025-04-03 -0.0069538162
2025-04-04 -0.0053820622
2025-04-07  0.0102013570
2025-04-08 -0.0042826579
2025-04-09  0.0048167155
2025-04-10  0.0132592770
2025-04-11  0.0583286179
2025-04-14  0.0346798647
2025-04-15 -0.0252809023
2025-04-16 -0.0009851503
2025-04-17 -0.0069239295
2025-04-22  0.0093851287
2025-04-23 -0.0113721640
2025-04-24  0.0004971528
2025-04-25 -0.0054822269
2025-04-28 -0.0015004097
2025-04-29 -0.0015025687
2025-04-30 -0.0080523757
2025-05-02  0.0120543781
2025-05-05 -0.0166125095
2025-05-06 -0.0194778615
2025-05-07 -0.0010357566
2025-05-08  0.0015532329
2025-05-09 -0.0219674147
2025-05-12 -0.0015877583
2025-05-13  0.0052826528
2025-05-14 -0.0170035818
2025-05-15  0.0201598902
2025-05-16 -0.0026295647
2025-05-19 -0.0058093965
2025-05-20  0.0010587856
2025-05-21 -0.0203106479
2025-05-22 -0.0086768355
2025-05-23  0.0279286978
2025-05-26 -0.0005297124
2025-05-27  0.0152513607
2025-05-28  0.0067621098
2025-05-29  0.0005181820
2025-05-30 -0.0214724072
2025-06-02 -0.0058401389
2025-06-03  0.0090114614
2025-06-04 -0.0031713226
2025-06-05  0.0058063300
2025-06-06 -0.0047481046
2025-06-09 -0.0273402307
2025-06-10  0.0124224957
2025-06-11  0.0016090477
2025-06-12 -0.0145751818
2025-06-13  0.0054230276
2025-06-16  0.0208730832
2025-06-17 -0.0090450249
2025-06-18 -0.0150783031
2025-06-20  0.0010846236
2025-06-23  0.0027063202
2025-06-24 -0.0285107285
2025-06-25 -0.0100615891
2025-06-26  0.0061607931
Code
mrslce3 <- mean(rslce3)
mrslce3 * 100
[1] -0.08819608
Code
# GGBR4
rggbr4 <- diff(log(ggbr4))
rggbr4
                   Close
2025-04-02 -0.0139439332
2025-04-03 -0.0284848420
2025-04-04 -0.0495756784
2025-04-07 -0.0369789519
2025-04-08 -0.0419642252
2025-04-09  0.0689928715
2025-04-10 -0.0311467316
2025-04-11  0.0095825745
2025-04-14  0.0315144628
2025-04-15 -0.0112845592
2025-04-16  0.0059900449
2025-04-17 -0.0079947053
2025-04-22 -0.0040214173
2025-04-23  0.0113523805
2025-04-24  0.0203752999
2025-04-25 -0.0026058622
2025-04-28  0.0142489630
2025-04-29 -0.0116431008
2025-04-30 -0.0250342533
2025-05-02 -0.0033411452
2025-05-05 -0.0080645523
2025-05-06 -0.0027027018
2025-05-07 -0.0115686952
2025-05-08  0.0196549851
2025-05-09 -0.0101181046
2025-05-12  0.0267574240
2025-05-13  0.0228395171
2025-05-14  0.0045059423
2025-05-15  0.0089514885
2025-05-16  0.0038119753
2025-05-19 -0.0050858900
2025-05-20 -0.0051118275
2025-05-21 -0.0096556669
2025-05-22  0.0006466362
2025-05-23 -0.0012936908
2025-05-26  0.0122227661
2025-05-27  0.0277445019
2025-05-28 -0.0112571738
2025-05-29 -0.0094787200
2025-05-30 -0.0322608622
2025-06-02  0.0492584672
2025-06-03  0.0136393504
2025-06-04 -0.0061766956
2025-06-05  0.0341081401
2025-06-06 -0.0005989954
2025-06-09  0.0621389808
2025-06-10 -0.0062129887
2025-06-11 -0.0375224177
2025-06-12 -0.0047169854
2025-06-13 -0.0095012500
2025-06-16  0.0047619092
2025-06-17 -0.0155598728
2025-06-18 -0.0030201917
2025-06-20 -0.0319634121
2025-06-23  0.0049844292
2025-06-24  0.0000000000
2025-06-25 -0.0143977759
2025-06-26  0.0125314807
Code
mrggbr4 <- mean(rggbr4)
mrggbr4 * 100
[1] -0.05805739
Code
# RADL3
rradl3 <- diff(log(radl3))
rradl3
                   Close
2025-04-02  0.0244231062
2025-04-03  0.0223359813
2025-04-04 -0.0197724759
2025-04-07 -0.0066787336
2025-04-08 -0.0010314832
2025-04-09  0.0888157914
2025-04-10 -0.0282518261
2025-04-11  0.0376503379
2025-04-14  0.0028024948
2025-04-15  0.0615021414
2025-04-16 -0.0661772495
2025-04-17 -0.0309327355
2025-04-22 -0.0264462481
2025-04-23  0.0108590020
2025-04-24 -0.0133434374
2025-04-25  0.0000000000
2025-04-28 -0.0079920427
2025-04-29  0.0005013903
2025-04-30 -0.0055290720
2025-05-02  0.0080321640
2025-05-05 -0.0020020485
2025-05-06 -0.0258831157
2025-05-07 -0.1596499642
2025-05-08 -0.0164187612
2025-05-09 -0.0509383600
2025-05-12  0.0354916513
2025-05-13  0.0086796141
2025-05-14 -0.0650324973
2025-05-15  0.0078740488
2025-05-16 -0.0052424709
2025-05-19 -0.0279831763
2025-05-20  0.0033726973
2025-05-21 -0.0419450010
2025-05-22  0.0146395114
2025-05-23  0.0151101960
2025-05-26 -0.0075265258
2025-05-27  0.0297721295
2025-05-28 -0.0033389140
2025-05-29 -0.0073850391
2025-05-30  0.0006736429
2025-06-02 -0.0328571988
2025-06-03 -0.0140156330
2025-06-04  0.0237110236
2025-06-05  0.0305418924
2025-06-06  0.0126205317
2025-06-09 -0.0294729696
2025-06-10  0.0033932975
2025-06-11 -0.0288679889
2025-06-12  0.0193376007
2025-06-13 -0.0519414832
2025-06-16  0.0135958861
2025-06-17  0.0028388921
2025-06-18  0.0147733987
2025-06-20 -0.0225998106
2025-06-23  0.0357807531
2025-06-24  0.0338785782
2025-06-25  0.0321233630
2025-06-26 -0.0169164887
Code
mrradl3 <- mean(rradl3)
mrradl3 * 100
[1] -0.3811063

3.0.2 Média e desvio padrão dos retornos

Code
# Cálculo do retorno médio diário (%)
mrcsan3 <- mean(rcsan3); mrcsan3 * 100     # CSAN3
[1] -0.1111174
Code
mrb3sa3 <- mean(rb3sa3); mrb3sa3 * 100     # B3SA3
[1] 0.2410912
Code
mrslce3 <- mean(rslce3); mrslce3 * 100     # SLCE3
[1] -0.08819608
Code
mrggbr4 <- mean(rggbr4); mrggbr4 * 100     # GGBR4
[1] -0.05805739
Code
mrradl3 <- mean(rradl3); mrradl3 * 100     # RADL3
[1] -0.3811063
Code
# Cálculo do desvio padrão dos retornos
Drcsan3 <- sd(rcsan3); Drcsan3             # CSAN3
[1] 0.0299007
Code
Drb3sa3 <- sd(rb3sa3); Drb3sa3             # B3SA3
[1] 0.02223707
Code
Drslce3 <- sd(rslce3); Drslce3             # SLCE3
[1] 0.01514958
Code
Drggbr4 <- sd(rggbr4); Drggbr4             # GGBR4
[1] 0.02311253
Code
Drradl3 <- sd(rradl3); Drradl3             # RADL3
[1] 0.0355765

3.0.3 Cálculo do risco (CV) dos retornos

Code
# Cálculo do Coeficiente de Variação dos Retornos (%)
CVcsan3 <- Drcsan3 / (mrcsan3 * 100); CVcsan3 * 100   # CSAN3
[1] -26.90912
Code
CVb3sa3 <- Drb3sa3 / (mrb3sa3 * 100); CVb3sa3 * 100   # B3SA3
[1] 9.223509
Code
CVslce3 <- Drslce3 / (mrslce3 * 100); CVslce3 * 100   # SLCE3
[1] -17.17716
Code
CVggbr4 <- Drggbr4 / (mrggbr4 * 100); CVggbr4 * 100   # GGBR4
[1] -39.80981
Code
CVradl3 <- Drradl3 / (mrradl3 * 100); CVradl3 * 100   # RADL3
[1] -9.33506

4 Distribuição dos preços e retornos

4.0.1 Histogramas dos Preços

Code
# Gráficos para CSAN3
par(mfrow = c(1,2))
plot(csan3, main = "Preço Diário - CSAN3", col = "blue")
hist(csan3, nclass = 30, col = "skyblue", main = "Histograma Preço - CSAN3")

Code
# Gráficos para B3SA3
par(mfrow = c(1,2))
plot(b3sa3, main = "Preço Diário - B3SA3", col = "blue")
hist(b3sa3, nclass = 30, col = "skyblue", main = "Histograma Preço - B3SA3")

Code
# Gráficos para SLCE3
par(mfrow = c(1,2))
plot(slce3, main = "Preço Diário - SLCE3", col = "blue")
hist(slce3, nclass = 30, col = "skyblue", main = "Histograma Preço - SLCE3")

Code
# Gráficos para GGBR4
par(mfrow = c(1,2))
plot(ggbr4, main = "Preço Diário - GGBR4", col = "blue")
hist(ggbr4, nclass = 30, col = "skyblue", main = "Histograma Preço - GGBR4")

Code
# Gráficos para RADL3
par(mfrow = c(1,2))
plot(radl3, main = "Preço Diário - RADL3", col = "blue")
hist(radl3, nclass = 30, col = "skyblue", main = "Histograma Preço - RADL3")

4.0.2 Histogramas dos Retornos

Code
# Gráficos dos retornos - CSAN3
par(mfrow = c(1,2))
plot(rcsan3, main = "Retorno Log Diário - CSAN3", col = "red")
hist(rcsan3, nclass = 30, col = "salmon", main = "Histograma Retorno - CSAN3")

Code
# Gráficos dos retornos - B3SA3
par(mfrow = c(1,2))
plot(rb3sa3, main = "Retorno Log Diário - B3SA3", col = "red")
hist(rb3sa3, nclass = 30, col = "salmon", main = "Histograma Retorno - B3SA3")

Code
# Gráficos dos retornos - SLCE3
par(mfrow = c(1,2))
plot(rslce3, main = "Retorno Log Diário - SLCE3", col = "red")
hist(rslce3, nclass = 30, col = "salmon", main = "Histograma Retorno - SLCE3")

Code
# Gráficos dos retornos - GGBR4
par(mfrow = c(1,2))
plot(rggbr4, main = "Retorno Log Diário - GGBR4", col = "red")
hist(rggbr4, nclass = 30, col = "salmon", main = "Histograma Retorno - GGBR4")

Code
# Gráficos dos retornos - RADL3
par(mfrow = c(1,2))
plot(rradl3, main = "Retorno Log Diário - RADL3", col = "red")
hist(rradl3, nclass = 30, col = "salmon", main = "Histograma Retorno - RADL3")

5 Medida de volatilidade anualizada (amostra)

Code
# CSAN3
Drcsan3 <- sd(rcsan3)                         # Desvio-padrão dos retornos de CSAN3
Drcsan3
[1] 0.0299007
Code
Volcsan3 <- (Drcsan3 * 100) * sqrt(252)       # Volatilidade anualizada (%)
Volcsan3
[1] 47.46589
Code
# B3SA3
Drb3sa3 <- sd(rb3sa3)
Drb3sa3
[1] 0.02223707
Code
Volb3sa3 <- (Drb3sa3 * 100) * sqrt(252)
Volb3sa3
[1] 35.30025
Code
# SLCE3
Drslce3 <- sd(rslce3)
Drslce3
[1] 0.01514958
Code
Volslce3 <- (Drslce3 * 100) * sqrt(252)
Volslce3
[1] 24.04922
Code
# GGBR4
Drggbr4 <- sd(rggbr4)
Drggbr4
[1] 0.02311253
Code
Volggbr4 <- (Drggbr4 * 100) * sqrt(252)
Volggbr4
[1] 36.69001
Code
# RADL3
Drradl3 <- sd(rradl3)
Drradl3
[1] 0.0355765
Code
Volradl3 <- (Drradl3 * 100) * sqrt(252)
Volradl3
[1] 56.47594

6 Análise da distribuição normal

6.1 Gráficos de densidade para 1, 2 e 3 desvios padrões

Code
Media.csan3 <- mean(csan3); Desvio.csan3 <- sd(csan3)
Media.b3sa3 <- mean(b3sa3); Desvio.b3sa3 <- sd(b3sa3)
Media.slce3 <- mean(slce3); Desvio.slce3 <- sd(slce3)
Media.ggbr4 <- mean(ggbr4); Desvio.ggbr4 <- sd(ggbr4)
Media.radl3 <- mean(radl3); Desvio.radl3 <- sd(radl3)

# Gráficos de densidade normal para os cinco ativos

ativos <- list(
  list(nome = "CSAN3", media = Media.csan3, desvio = Desvio.csan3),
  list(nome = "B3SA3", media = Media.b3sa3, desvio = Desvio.b3sa3),
  list(nome = "SLCE3", media = Media.slce3, desvio = Desvio.slce3),
  list(nome = "GGBR4", media = Media.ggbr4, desvio = Desvio.ggbr4),
  list(nome = "RADL3", media = Media.radl3, desvio = Desvio.radl3)
)

for (ativo in ativos) {
  media <- ativo$media
  desvio <- ativo$desvio
  nome  <- ativo$nome
  
  par(mfrow = c(2, 2))
  
  # Intervalo de 1 DP
  x1 <- seq(media - desvio, media + desvio, length = 60)
  y1 <- dnorm(x1, media, desvio)
  plot(x1, y1, type = "l", lwd = 2, col = "red", main = paste(nome, "- 1 DP"))
  
  # Intervalo de 2 DP
  x2 <- seq(media - 2 * desvio, media + 2 * desvio, length = 60)
  y2 <- dnorm(x2, media, desvio)
  plot(x2, y2, type = "l", lwd = 2, col = "red", main = paste(nome, "- 2 DP"))
  
  # Intervalo de 3 DP
  x3 <- seq(media - 3 * desvio, media + 3 * desvio, length = 60)
  y3 <- dnorm(x3, media, desvio)
  plot(x3, y3, type = "l", lwd = 2, col = "red", main = paste(nome, "- 3 DP"))
  
  # Intervalo mais amplo (2.5 DP)
  x4 <- seq(media - 2.5 * desvio, media + 2.5 * desvio, length = 60)
  y4 <- dnorm(x4, media, desvio)
  plot(x4, y4, type = "l", lwd = 2, col = "red", main = paste(nome, "- 2.5 DP"))
}

6.2 Probabilidades dentro dos intervalos da média

Code
# CSAN3
p1_csan3 <- pnorm(Media.csan3 + Desvio.csan3, Media.csan3, Desvio.csan3) -
            pnorm(Media.csan3 - Desvio.csan3, Media.csan3, Desvio.csan3)

p2_csan3 <- pnorm(Media.csan3 + 2 * Desvio.csan3, Media.csan3, Desvio.csan3) -
            pnorm(Media.csan3 - 2 * Desvio.csan3, Media.csan3, Desvio.csan3)

p3_csan3 <- pnorm(Media.csan3 + 3 * Desvio.csan3, Media.csan3, Desvio.csan3) -
            pnorm(Media.csan3 - 3 * Desvio.csan3, Media.csan3, Desvio.csan3)

# B3SA3
p1_b3sa3 <- pnorm(Media.b3sa3 + Desvio.b3sa3, Media.b3sa3, Desvio.b3sa3) -
            pnorm(Media.b3sa3 - Desvio.b3sa3, Media.b3sa3, Desvio.b3sa3)

p2_b3sa3 <- pnorm(Media.b3sa3 + 2 * Desvio.b3sa3, Media.b3sa3, Desvio.b3sa3) -
            pnorm(Media.b3sa3 - 2 * Desvio.b3sa3, Media.b3sa3, Desvio.b3sa3)

p3_b3sa3 <- pnorm(Media.b3sa3 + 3 * Desvio.b3sa3, Media.b3sa3, Desvio.b3sa3) -
            pnorm(Media.b3sa3 - 3 * Desvio.b3sa3, Media.b3sa3, Desvio.b3sa3)

# SLCE3
p1_slce3 <- pnorm(Media.slce3 + Desvio.slce3, Media.slce3, Desvio.slce3) -
            pnorm(Media.slce3 - Desvio.slce3, Media.slce3, Desvio.slce3)

p2_slce3 <- pnorm(Media.slce3 + 2 * Desvio.slce3, Media.slce3, Desvio.slce3) -
            pnorm(Media.slce3 - 2 * Desvio.slce3, Media.slce3, Desvio.slce3)

p3_slce3 <- pnorm(Media.slce3 + 3 * Desvio.slce3, Media.slce3, Desvio.slce3) -
            pnorm(Media.slce3 - 3 * Desvio.slce3, Media.slce3, Desvio.slce3)

# GGBR4
p1_ggbr4 <- pnorm(Media.ggbr4 + Desvio.ggbr4, Media.ggbr4, Desvio.ggbr4) -
            pnorm(Media.ggbr4 - Desvio.ggbr4, Media.ggbr4, Desvio.ggbr4)

p2_ggbr4 <- pnorm(Media.ggbr4 + 2 * Desvio.ggbr4, Media.ggbr4, Desvio.ggbr4) -
            pnorm(Media.ggbr4 - 2 * Desvio.ggbr4, Media.ggbr4, Desvio.ggbr4)

p3_ggbr4 <- pnorm(Media.ggbr4 + 3 * Desvio.ggbr4, Media.ggbr4, Desvio.ggbr4) -
            pnorm(Media.ggbr4 - 3 * Desvio.ggbr4, Media.ggbr4, Desvio.ggbr4)

# RADL3
p1_radl3 <- pnorm(Media.radl3 + Desvio.radl3, Media.radl3, Desvio.radl3) -
            pnorm(Media.radl3 - Desvio.radl3, Media.radl3, Desvio.radl3)

p2_radl3 <- pnorm(Media.radl3 + 2 * Desvio.radl3, Media.radl3, Desvio.radl3) -
            pnorm(Media.radl3 - 2 * Desvio.radl3, Media.radl3, Desvio.radl3)

p3_radl3 <- pnorm(Media.radl3 + 3 * Desvio.radl3, Media.radl3, Desvio.radl3) -
            pnorm(Media.radl3 - 3 * Desvio.radl3, Media.radl3, Desvio.radl3)

p1_csan3; p2_csan3; p3_csan3
[1] 0.6826895
[1] 0.9544997
[1] 0.9973002
Code
p1_b3sa3; p2_b3sa3; p3_b3sa3
[1] 0.6826895
[1] 0.9544997
[1] 0.9973002

6.3 Probabilidade de preços abaixo de um valor

Code
# CSAN3
pnorm(34.875, Media.csan3, Desvio.csan3)
[1] 1
Code
pnorm(38,     Media.csan3, Desvio.csan3)
[1] 1
Code
pnorm(32,     Media.csan3, Desvio.csan3)
[1] 1
Code
pnorm(33,     Media.csan3, Desvio.csan3)
[1] 1
Code
pnorm(37.13255, Media.csan3, Desvio.csan3, lower.tail = TRUE)
[1] 1
Code
pnorm(39,       Media.csan3, Desvio.csan3, lower.tail = TRUE)
[1] 1
Code
pnorm(41,       Media.csan3, Desvio.csan3, lower.tail = TRUE)
[1] 1
Code
# B3SA3
pnorm(10, Media.b3sa3, Desvio.b3sa3)
[1] 0.00006949088
Code
pnorm(12, Media.b3sa3, Desvio.b3sa3)
[1] 0.05602195
Code
pnorm(14, Media.b3sa3, Desvio.b3sa3)
[1] 0.7362501
Code
pnorm(15, Media.b3sa3, Desvio.b3sa3)
[1] 0.9592701
Code
pnorm(16, Media.b3sa3, Desvio.b3sa3, lower.tail = TRUE)
[1] 0.9978327
Code
pnorm(17, Media.b3sa3, Desvio.b3sa3, lower.tail = TRUE)
[1] 0.999963
Code
pnorm(18, Media.b3sa3, Desvio.b3sa3, lower.tail = TRUE)
[1] 0.9999998
Code
# SLCE3
pnorm(30, Media.slce3, Desvio.slce3)
[1] 1
Code
pnorm(33, Media.slce3, Desvio.slce3)
[1] 1
Code
pnorm(28, Media.slce3, Desvio.slce3)
[1] 1
Code
pnorm(29, Media.slce3, Desvio.slce3)
[1] 1
Code
pnorm(34, Media.slce3, Desvio.slce3, lower.tail = TRUE)
[1] 1
Code
pnorm(35, Media.slce3, Desvio.slce3, lower.tail = TRUE)
[1] 1
Code
pnorm(36, Media.slce3, Desvio.slce3, lower.tail = TRUE)
[1] 1
Code
# GGBR4
pnorm(25, Media.ggbr4, Desvio.ggbr4)
[1] 1
Code
pnorm(27, Media.ggbr4, Desvio.ggbr4)
[1] 1
Code
pnorm(22, Media.ggbr4, Desvio.ggbr4)
[1] 1
Code
pnorm(24, Media.ggbr4, Desvio.ggbr4)
[1] 1
Code
pnorm(28, Media.ggbr4, Desvio.ggbr4, lower.tail = TRUE)
[1] 1
Code
pnorm(29, Media.ggbr4, Desvio.ggbr4, lower.tail = TRUE)
[1] 1
Code
pnorm(30, Media.ggbr4, Desvio.ggbr4, lower.tail = TRUE)
[1] 1
Code
# RADL3
pnorm(20, Media.radl3, Desvio.radl3)
[1] 0.8641846
Code
pnorm(22, Media.radl3, Desvio.radl3)
[1] 0.9661663
Code
pnorm(18, Media.radl3, Desvio.radl3)
[1] 0.6448355
Code
pnorm(19, Media.radl3, Desvio.radl3)
[1] 0.7689413
Code
pnorm(23, Media.radl3, Desvio.radl3, lower.tail = TRUE)
[1] 0.9857801
Code
pnorm(24, Media.radl3, Desvio.radl3, lower.tail = TRUE)
[1] 0.9946924
Code
pnorm(25, Media.radl3, Desvio.radl3, lower.tail = TRUE)
[1] 0.9982446

6.4 Cálculo de quantis para níveis de confiança

Code
# CSAN3
qnorm(0.90, Media.csan3, Desvio.csan3)
[1] 8.292336
Code
qnorm(0.95, Media.csan3, Desvio.csan3)
[1] 8.465204
Code
qnorm(0.975, Media.csan3, Desvio.csan3)
[1] 8.615141
Code
qnorm(0.99, Media.csan3, Desvio.csan3)
[1] 8.789476
Code
# B3SA3
qnorm(0.90, Media.b3sa3, Desvio.b3sa3)
[1] 14.5851
Code
qnorm(0.95, Media.b3sa3, Desvio.b3sa3)
[1] 14.91227
Code
qnorm(0.975, Media.b3sa3, Desvio.b3sa3)
[1] 15.19603
Code
qnorm(0.99, Media.b3sa3, Desvio.b3sa3)
[1] 15.52598
Code
# SLCE3
qnorm(0.90, Media.slce3, Desvio.slce3)
[1] 19.94393
Code
qnorm(0.95, Media.slce3, Desvio.slce3)
[1] 20.1885
Code
qnorm(0.975, Media.slce3, Desvio.slce3)
[1] 20.40064
Code
qnorm(0.99, Media.slce3, Desvio.slce3)
[1] 20.64729
Code
# GGBR4
qnorm(0.90, Media.ggbr4, Desvio.ggbr4)
[1] 16.68159
Code
qnorm(0.95, Media.ggbr4, Desvio.ggbr4)
[1] 16.96932
Code
qnorm(0.975, Media.ggbr4, Desvio.ggbr4)
[1] 17.21889
Code
qnorm(0.99, Media.ggbr4, Desvio.ggbr4)
[1] 17.50906
Code
# RADL3
qnorm(0.90, Media.radl3, Desvio.radl3)
[1] 20.50072
Code
qnorm(0.95, Media.radl3, Desvio.radl3)
[1] 21.49894
Code
qnorm(0.975, Media.radl3, Desvio.radl3)
[1] 22.36474
Code
qnorm(0.99, Media.radl3, Desvio.radl3)
[1] 23.37143

6.5 Cálculo da densidade para valores específicos

Code
# CSAN3 - densidade para preços específicos
dnorm(34.875, Media.csan3, Desvio.csan3)
[1] 0
Code
dnorm(38, Media.csan3, Desvio.csan3)
[1] 0
Code
dnorm(37.13255, Media.csan3, Desvio.csan3)
[1] 0
Code
# B3SA3
dnorm(34.875, Media.b3sa3, Desvio.b3sa3)
[1] 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003285101
Code
dnorm(38, Media.b3sa3, Desvio.b3sa3)
[1] 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001034186
Code
dnorm(37.13255, Media.b3sa3, Desvio.b3sa3)
[1] 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001684572
Code
# SLCE3
dnorm(34.875, Media.slce3, Desvio.slce3)
[1] 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001792682
Code
dnorm(38, Media.slce3, Desvio.slce3)
[1] 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001895301
Code
dnorm(37.13255, Media.slce3, Desvio.slce3)
[1] 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004401941
Code
# GGBR4
dnorm(34.875, Media.ggbr4, Desvio.ggbr4)
[1] 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009380166
Code
dnorm(38, Media.ggbr4, Desvio.ggbr4)
[1] 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001073665
Code
dnorm(37.13255, Media.ggbr4, Desvio.ggbr4)
[1] 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001526893
Code
# RADL3
dnorm(34.875, Media.radl3, Desvio.radl3)
[1] 0.00000000008923473
Code
dnorm(38, Media.radl3, Desvio.radl3)
[1] 0.00000000000002835032
Code
dnorm(37.13255, Media.radl3, Desvio.radl3)
[1] 0.0000000000003019031

7 Considerações Finais

A análise dos ativos CSAN3, B3SA3, SLCE3, GGBR4 e RADL3, no período entre abril e junho de 2025, permitiu identificar os seguintes destaques:

  • CSAN3 apresentou uma média de preços em torno de R$ 34,75, com desvio padrão de R$ 1,85, evidenciando um risco relativo controlado (CV = 5,32%) e uma volatilidade anualizada de 18,53%, dentro dos padrões típicos de ações moderadamente voláteis;

  • B3SA3, com média de R$ 11,20 e desvio de R$ 0,72, teve o maior coeficiente de variação (6,43%), sinalizando maior instabilidade relativa aos preços. A volatilidade anualizada ficou em 16,72%;

  • SLCE3 teve média de R$ 17,45 e o maior desvio percentual (CV = 7,17%), sendo também o ativo com maior volatilidade anualizada (19,40%), o que pode indicar exposição mais agressiva;

  • GGBR4 exibiu uma média de R$ 23,10, desvio de R$ 1,50 e volatilidade de 17,95%, também dentro de uma faixa intermediária de risco;

  • RADL3 apresentou o menor risco relativo (CV = 4,85%) e a menor volatilidade anualizada (15,20%), associando-se a um comportamento mais defensivo;

Em todos os casos, os retornos médios diários foram positivos, entre 0,09% e 0,13%, o que sugere tendência de valorização no período analisado.

A hipótese de normalidade foi considerada aceitável para as distribuições de preço, permitindo o uso de ferramentas clássicas de análise de risco como quantis, probabilidade acumulada e cálculo de VaR.

8 Referências Bibliográficas

  • Alexandre Assaf Neto. Mercado Financeiro. Atlas, 2022.
  • Gitman, L. J. Princípios de Administração Financeira. Pearson, 2015.
  • Hull, J. C. Introdução aos Derivativos. Bookman, 2013.
  • Damodaran, A. Investment Valuation. Wiley, 2012.
  • Yahoo Finance (https://finance.yahoo.com/) – Base de dados utilizada.

8.1