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

1 Introdução

O presente relatório tem como objetivo aplicar os conceitos teóricos de gestão de risco, estatística descritiva e teoria da escolha sob incerteza na análise de cinco ativos listados na B3: CSAN3, B3SA3, SLCE3, GGBR4 e RADL3. A avaliação baseia-se em série histórica de 60 pregões, compreendendo o período de 01 de abril a 27 de junho de 2025. Foram utilizados scripts em linguagem R e o pacote fPortfolio para gerar os resultados.

O conceito de risco no contexto financeiro pode ser compreendido sob diversas perspectivas. Damodaran (2023) o define como a possibilidade de que os resultados obtidos sejam diferentes dos esperados, afetando o valor dos ativos e a tomada de decisão dos investidores. Holton (2004) complementa essa visão destacando que o risco resulta da interação entre incerteza e exposição. No âmbito regulatório, a CVM, por meio das Instruções 30 e 179, reforça a importância da adequação do risco ao perfil do investidor (suitability), papel fundamental do assessor de investimentos.

2 Metodologia e Fundamentação Teórica

A análise utiliza:

  • Estatística descritiva (média, desvio padrão, histograma);

  • Retornos logarítmicos e volatilidade anualizada;

  • Coeficiente de variação como proxy de risco relativo;

  • Análise de distribuição normal (densidade, probabilidade acumulada e quantis);

  • Teoria da escolha intertemporal e utilidade esperada (Varian, caps. 10–12);

  • Definição de risco (Copeland, Damodaran, Desafio aos Deuses);

  • Requisitos da CVM 30 (suitability) e CVM 179 (conduta de assessoria).

3 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  595232 31.8    1357440 72.5   686445 36.7
Vcells 1095357  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] "Tue Jul 29 00:17:08 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 

3.0.1 Definição do intervalo de datas

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

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

CSAN3: A ação da Cosan começou o período cotada a R$ 7,37 e oscilou até R$ 8,40, apresentando um movimento de alta até meados de junho, seguido de uma queda acentuada nos últimos dias, fechando próxima a R$ 6,91. Esse comportamento sugere volatilidade moderada, com momentos de valorização e correção. Segundo Damodaran e Copeland, essa oscilação pode refletir reajustes de mercado frente a expectativas de lucro ou mudança nas condições macroeconômicas. Do ponto de vista da Teoria de Dow, houve tendência de alta com topos e fundos ascendentes até junho, interrompida pela reversão no fim da série.

B3SA3: A série da iniciou com R$ 12,26 e chegou até a casa dos R$ 14,95, apresentando um período de valorização contínua até meados de maio, com correções suaves depois. No geral, o ativo manteve preços elevados e estáveis, o que indica bom desempenho e controle de risco no período. A estabilidade reflete um bom índice de confiança do mercado, reforçado pelos conceitos de risco sistemático controlado (Copeland) e baixa dispersão de retornos (Holton). Pela Teoria de Dow, observa-se uma sequência clara de topos e fundos ascendentes, sem confirmação de reversão.

SLCE3: A cotação do papel oscilou de R$ 18,85 até R$ 20,83 e depois sofreu queda gradual, fechando próximo de R$ 17,91. O movimento sugere que o ativo teve valorização no início, mas passou por uma tendência de desvalorização constante a partir de maio, com baixo nível de recuperação. Em termos de risco, Damodaran afirma que ativos agrícolas tendem a refletir sensibilidade a clima, safra e política comercial, o que pode explicar essa instabilidade. Segundo Dow, a sequência de topos e fundos descendentes confirma uma tendência de baixa, reforçada por médias móveis negativas.

GGBR4: GGBR4 partiu de R$ 16,61, caiu até R$ 14,00 e depois recuperou para níveis superiores a R$ 17,00 em junho. A ação teve uma volatilidade significativa, mas o movimento final foi de valorização consistente, o que indica força compradora e recuperação do setor siderúrgico. Para Copeland, esse é um exemplo de retorno com risco relevante, o que exige boa análise de portfólio. A Teoria de Dow identifica reversão de tendência com topos e fundos ascendentes no segundo mês da série.

RADL3: O ativo começou próximo de R$ 19,92 e apresentou forte queda até meados de maio, chegando a R$ 14,24, com leve recuperação até R$ 15,50 no final. Essa trajetória mostra um comportamento de alto risco, com períodos de recuperação parcial. Holton e Damodaran considerariam esse ativo como carregando alto risco específico, talvez ligado a eventos corporativos ou expectativas setoriais. A leitura gráfica indica uma tendência de baixa, ainda não revertida, com possíveis resistências técnicas em torno de R$ 15.

4 Estatísticas descritivas

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

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

Os resultados mostram o comportamento dos preços das ações CSAN3, B3SA3, SLCE3, GGBR4 e RADL3 ao longo do período analisado. A média indica o preço médio de cada ativo, enquanto o desvio padrão mede quanto os preços variaram em torno dessa média. O coeficiente de variação (CV), por sua vez, mostra o risco relativo de cada ativo em termos percentuais.

A ação SLCE3 teve o menor risco relativo (CV de 3,53%), demonstrando estabilidade de preços. Em contrapartida, RADL3 apresentou o maior risco (CV de 16,18%), indicando alta volatilidade. CSAN3, B3SA3 e GGBR4 mostraram riscos intermediários, com CVs de 6,19%, 6,70% e 5,06%, respectivamente. Assim, mesmo com médias de preços distintas, o CV permite comparar o risco proporcional ao retorno, sendo uma medida importante para análise de risco-retorno entre ativos.

5 Análise dos retornos

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

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

Os resultados obtidos a partir dos retornos logarítmicos diários das ações analisadas permitem avaliar o comportamento de risco e retorno de cada ativo de forma mais precisa. O retorno logarítmico é utilizado por ser aditivo no tempo e considerar a variação percentual contínua entre os preços. A média dos retornos diários indica o ganho ou perda esperado por dia, enquanto o desvio padrão dos retornos mede a sua volatilidade — ou seja, o risco absoluto. Já o coeficiente de variação dos retornos (CV) permite comparar o risco relativo ao retorno: quanto maior o CV, maior o risco para cada unidade de retorno esperado.

Dentre os ativos:

  • B3SA3 foi o único com retorno médio diário positivo (0,24%), apresentando também o menor CV (9,22%). Isso indica uma boa relação risco-retorno e menor dispersão em torno da média, sendo preferido por um investidor avesso ao risco (conforme a CVM 30 e os princípios da escolha intertemporal de Varian – Cap. 10).

  • SLCE3 teve um retorno levemente negativo (-0,088%) e um CV moderado (-17,17%), sugerindo estabilidade, mas sem entregar retorno suficiente ao longo do período.

  • CSAN3, GGBR4 e RADL3 apresentaram retornos médios negativos e CVs elevados, sendo GGBR4 o mais volátil em termos relativos (-39,8%). Esses ativos, apesar de possíveis ganhos pontuais, não atenderiam ao perfil conservador — como defendido por Damodaran (cap. 4) ao definir risco como a possibilidade de perdas permanentes e não apenas como flutuação.

Portanto, B3SA3 se destaca como o único ativo que entregou retorno positivo com risco controlado, sendo o mais recomendado segundo os princípios de suitability da CVM 30, a teoria de aversão ao risco (Varian e Damodaran), e o trabalho diligente do assessor segundo Benjamin Graham (Cap. 10). As demais ações apresentam maior incerteza e instabilidade nos retornos, desaconselhadas a perfis avessos ao risco.

6 Distribuição dos preços e retornos

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

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

Os gráficos de preço diário mostram o comportamento histórico dos preços ao longo de 60 pregões (de abril a junho de 2025). Eles ajudam a visualizar tendências, picos, quedas e estabilidade. Segundo Damodaran (Cap. 4), essa visualização é fundamental para entender o risco total (volatilidade) de um ativo. Os histogramas dos preços indicam a frequência com que certos valores de preço ocorreram. Se o gráfico for simétrico e concentrado em torno da média, há mais estabilidade. Uma distribuição mais espalhada sugere maior variabilidade (risco).

Os gráficos de retorno logarítmico Mostram as variações diárias percentuais (em log) dos preços. Eles capturam o comportamento de risco no curto prazo. Retornos muito voláteis indicam maior risco, como discutido por Holton e Damodaran. Esses histogramas ajudam a verificar se os retornos seguem uma distribuição aproximadamente normal (simétrica, em forma de sino). Isso é importante porque muitas medidas de risco (como o VaR) assumem essa normalidade.

CSAN3 e SLCE3 mostram maior estabilidade visual, com retornos mais próximos da média. RADL3 apresenta mais dispersão tanto nos preços quanto nos retornos, o que reflete alta volatilidade (risco). B3SA3 tem uma distribuição de preços mais equilibrada e retornos relativamente positivos, o que reforça seu perfil de risco mais moderado. GGBR4 revela oscilações nos retornos que devem ser consideradas em decisões de alocação.

7 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

Desvio-padrão dos retornos diários é a medida mais clássica de risco absoluto. Indica o quanto, em média, os retornos diários se afastam da sua média. Quanto maior, maior o risco. Esse conceito é central na literatura de Damodaran (Cap. 4) e Holton, e serve como base para a construção da volatilidade anual. A volatilidade anualizada é o desvio-padrão dos retornos diários multiplicado por √252 (número de pregões em um ano), convertido em %. Serve para padronizar o risco entre ativos e facilitar comparações. É amplamente usada na teoria de finanças corporativas e de portfólios, incluindo em CVM 30, que exige que o perfil de risco do produto esteja alinhado com o do investidor (suitability).

Segundo Varian, um investidor avesso ao risco prefere ativos com menor volatilidade, mesmo que o retorno esperado seja ligeiramente inferior. Damodaran reforça que volatilidade não significa necessariamente perda, mas sim incerteza sobre o retorno, o que exige atenção na diversificação e alocação. Na prática da CVM 30, esse dado ajuda o assessor (conforme a CVM 179 e Benjamin Graham) a indicar produtos compatíveis com o perfil do cliente.

A análise da volatilidade anual permite identificar que SLCE3 é o ativo menos arriscado, enquanto RADL3 e CSAN3 são os mais voláteis. Assim, para um perfil conservador/avesso ao risco, SLCE3 se destaca como o mais adequado. Já RADL3 exigiria um perfil mais agressivo, dado seu comportamento errático e retorno negativo médio.

8 Análise da distribuição normal

8.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"))
}

8.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
Code
# Esses valores devem se aproximar das probabilidades teóricas para uma distribuição normal:
#1 DP ≈ 68,27%
#2 DP ≈ 95,45%
#3 DP ≈ 99,73%

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

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

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

Os gráficos de densidade normal acima mostram a distribuição teórica dos preços de cada ação com base na sua média e desvio padrão. Esses gráficos ajudam a visualizar a probabilidade de os preços se manterem próximos da média, o que é essencial para a avaliação de risco. As curvas mais “altas e estreitas” indicam menor dispersão (como SLCE3), enquanto as mais “achatadas” indicam maior risco (como RADL3).

  • Média (media): indica o preço médio observado no período. Ela representa o “centro” da distribuição.

  • Desvio padrão (desvio): mede a variabilidade dos preços em torno da média. É fundamental para estimar a volatilidade.

  • Distribuição normal: permite calcular probabilidades (ex: 68,27% dentro de ±1DP), como sugerido por Damodaran no Cap. 4.

Essas curvas são úteis para simular cenários e projetar riscos, como também prevê a CVM 30 ao orientar o uso de dados históricos na análise de suitability do investidor. Já a forma simétrica e contínua das curvas confirma os princípios da escolha sob incerteza de Varian, nos quais a dispersão influencia diretamente a preferência do investidor mais ou menos avesso ao risco.

9 Considerações Finais

A relação entre risco e retorno observada nos ativos estudados confirma, em parte, a teoria econômica clássica: ativos com maior volatilidade (risco), como RADL3 (volatilidade anual de 56,47%) e CSAN3 (47,47%), apresentaram retornos médios negativos, sugerindo uma falha de mercado no curto prazo, pois não compensaram adequadamente o risco assumido. Por outro lado, B3SA3 apresentou baixo risco (35,30%) com retorno positivo, evidenciando eficiência de mercado nesse caso.

Segundo Varian (cap. 10 a 12), um investidor avesso ao risco escolhe ativos que maximizam a utilidade esperada com mínima variância. Essa decisão está baseada na escolha intertemporal, ou seja, entre consumo presente e futuro. Com isso, o ranking adequado para esse perfil, considerando risco-retorno e a instrução CVM 30 (suitability), é:

1º B3SA3 (melhor equilíbrio entre retorno positivo e risco moderado)
2º SLCE3 (baixo risco, mesmo com retorno negativo próximo de zero)
3º GGBR4 (moderado risco, mas retorno negativo)
4º CSAN3 (alto risco, retorno negativo)
5º RADL3 (maior risco, pior retorno)

Conforme Damodaran, o coeficiente de aversão ao risco do investidor indica o quanto ele exige de retorno adicional para aceitar maior risco. Ativos como SLCE3 e B3SA3 estariam mais bem posicionados para perfis avessos.

Segundo a teoria da equivalência de certeza da microeconomia, um ativo só é aceito se oferecer retorno certo equivalente superior ao retorno esperado arriscado — o que exclui ativos como RADL3 e CSAN3 para investidores prudentes.

A CVM 179 orienta que o assessor de investimentos, diferentemente do agente autônomo, deve atuar com diligência, transparência e foco no interesse do cliente, o que implica recomendar produtos como B3SA3 e SLCE3 para um perfil conservador.

Por fim, ao aplicar o princípio da confirmação via comparação com o Ibovespa, que cresceu no período analisado, confirmamos que SLCE3 e B3SA3 acompanharam ou se aproximaram da tendência geral de mercado, reforçando sua adequação. No atual ciclo econômico de recuperação moderada, ativos de menor volatilidade e retorno mais estável são preferíveis — o que justifica o ranking final acima com base nos axiomas da teoria da escolha.

10 Referências Bibliográficas

  • Damodaran, A.
    Gestão Estratégica do Risco: Incorporando o risco nos processos de decisão. Capítulos 1 e 2.
  • Copeland, T. E.; Weston, J. F.; Shastri, K.
    Financial Theory and Corporate Policy. Capítulo 3.
  • Bernstein, P. L.
    Desafio aos Deuses: A fascinante história do risco. Capítulo 15.
  • Holton, G. A.
    Defining Risk. (PDF fornecido: HoltonDefiningRisk.pdf)
  • Varian, H. R.
    Microeconomia: Princípios básicos. Capítulos 10, 11 e 12.
  • CVM – Comissão de Valores Mobiliários.
    • Instrução CVM nº 30, de 11 de fevereiro de 2021.
      Dispõe sobre a verificação da adequação dos produtos, serviços e operações ao perfil do cliente (suitability).

    • Instrução CVM nº 179, de 16 de março de 2023.
      Dispõe sobre a atividade do assessor de investimentos e sua relação com os clientes.