Expectativas médias

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon R no OSM, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

Estamos dando um tempo na nossa análise extensa de reequilíbrio para voltar às outras partes importantes da construção do portfólio. Não desistimos de nos aprofundar nos méritos ou desvantagens do reequilíbrio, mas sentimos que precisamos levar a discussão adiante para manter o ritmo. Em última análise, isso deve estar ligado ao reequilíbrio, mas de um ângulo diferente. Agora começaremos a examinar as expectativas do mercado de capitais.

As expectativas do mercado de capitais são a base da construção do portfólio. De fundos de pensão a fundos de hedge, de gerentes de portfólio a consultores financeiros, é preciso fazer algum tipo de suposição sobre o futuro – explícito ou não. O motivo: você está criando um portfólio para alcançar o retorno esperado. O ponto de partida, então, é estimar os retornos esperados de várias classes de ativos dignos de inclusão em um portfólio satisfatório. No entanto, de onde vêm essas expectativas?

Os praticantes usam três métodos principais:

  • Meios históricos
  • Fluxo de caixa descontado
  • Prémios de risco

Cada um tem suas vantagens e desvantagens. Neste post, apresentaremos o conceito de uso de meios históricos para formular retornos esperados sem entrar em uma análise exaustiva dos benefícios e desvantagens desse método.

O retorno médio durante um período suficiente é uma maneira muito econômica de estimar os retornos esperados. Os dados e o cálculo são relativamente fáceis de obter. E o conceito é fácil de entender: o futuro parecerá um pouco com o passado. Mas há vários problemas com essa abordagem:

  • Qual é a confiança de que esse meio é o correto?
  • Qual é o período certo para calcular a média?
  • Como sabemos que o futuro se parecerá com o passado?

Usaremos o S&P 500 para explorar algumas dessas perguntas. Começamos por representar graficamente um histograma de retornos mensais de 1950 até o presente. Sobrepomos uma distribuição normal (linha vermelha) e limites para dois desvios padrão (linhas azuis verticais).

Como é evidente, os retornos não se enquadram em uma distribuição normal, são inclinados negativamente (mais observações negativas) e têm cauda de gordura (mais observações perfuram a linha vermelha nas extremidades do gráfico). Por que isso é um problema? O uso das propriedades de uma distribuição normal em dados não normais não produzirá o mesmo grau de confiança que a média calculada é uma boa estimativa da média verdadeira. Além disso, a gama de resultados prováveis ​​será diferente de uma distribuição normal. A distribuição normal estima que apenas 5% das observações ficarão fora de dois desvios padrão. Para o S&P, é mais do que isso e não simétrico – mais observações fora de dois desvios padrão negativos, menos observações fora de dois positivos.

Existem maneiras de contornar isso. Uma é inicializar os dados para chegar a estimativas não paramétricas. Ou seja, obtém retornos dos dados milhares de vezes para chegar a várias amostras de retornos médios. Como o conjunto de dados atual é muito grande, a inicialização não produzirá uma enorme diferença. mas mostraremos os resultados para conclusão na tabela abaixo.

Tabela 1: Estimativas com níveis de confiança inferior e superior (%)
Estimativa Retorna Mais baixo Superior
Amostra 8.4 5.0 11,8
Bootstrap 8.2 4.7 11,7
Leia Também  Por que McKinsey Analytics + Ken Benoit Talk

Como se pode ver, o retorno de inicialização não está muito longe do retorno da amostra e os intervalos de confiança também são muito próximos. Mas devemos usar o conjunto de dados inteiro para estimar o retorno médio?

Há um bom argumento para afirmar que o período de 1950 a 1980 foi muito diferente do período seguinte, e não por nostalgia. Os EUA, a principal economia subjacente ao S&P, viram uma mudança siginficante de uma manufatura para uma economia orientada ao consumidor. Depois, há mudança tecnológica, globalização e inovação financeira.

Nosso ponto não é argumentar que estamos vivendo em um admirável mundo novo; pelo contrário, é importante enfatizar que os fatores que geram retornos muitas décadas no passado não são os mesmos fatores que geram retornos no futuro. Portanto, por que os retornos há muito tempo deveriam ter o mesmo peso que o curto prazo em nossas estimativas do futuro, que é o que está implícito quando se usa uma média simples? Um gráfico deve ajudar a destacar esse fenômeno. No gráfico abaixo, apresentamos o retorno médio calculado durante um período que começa todos os anos desde o início de nosso conjunto de dados até o presente. O último ano inicial é 2000, portanto, mesmo o período mais curto apresenta 20 anos de dados.

Como se pode ver, mesmo por longos períodos de tempo, os retornos médios não são estáveis. O intervalo é de 4,8 pontos percentuais. Embora isso possa parecer pequeno, o uso da extremidade superior renderia 20% mais dinheiro do que a base após cinco anos. E isso não leva em consideração o intervalo de confiança dessa estimativa. Representamos graficamente o retorno médio, juntamente com o intervalo de confiança de 95% abaixo.

Aqui vemos que não apenas o retorno médio está diminuindo, mas o intervalo de confiança está ficando maior. Isso sugere que devemos ter menos certeza de quão perto essa estimativa única de retorno está do retorno verdadeiro.

Para ver quão amplos os intervalos de confiança se tornaram, no gráfico abaixo, representamos graficamente o valor absoluto da faixa potencial de retorno como uma porcentagem da média. Em outras palavras, pegamos a largura padrão do intervalo de confiança (para cima ou para baixo) e a dividimos pelo retorno médio. Isso fornece uma estimativa padronizada de quão amplos os resultados podem ser.

Alguns pontos a serem observados com este gráfico. Primeiro, mesmo na extremidade baixa, um intervalo de confiança que é 40% acima ou abaixo da média é bastante amplo. Mas um que é 129% da média (a proporção na extremidade alta) beira o absurdo. Na verdade, se o seu intervalo de confiança ultrapassar zero (implicado na proporção de 100% ou mais), você também pode supor que a média da amostra não seja muito diferente do ruído. A linha vermelha na plotagem mostra onde esse corte ocorre. Em outras palavras, a partir de 1997, é realmente difícil identificar qual pode ser o verdadeiro retorno médio.

Mas não deixe que as estatísticas atrapalhem uma boa história! Esse período incluiu dois grandes recuos – a bolha tecnológica e a crise financeira global – junto com uma queda sem precedentes nas taxas de juros globalmente e uma enorme impressão de dinheiro. Portanto, ele não deve apresentar retornos diferentes dos anteriores? Se representarmos graficamente as distribuições antes e depois de 1997, um corte artificial para dizer o mínimo, não vemos uma diferença dramática

Leia Também  Por que R? Seminário on-line - | R-bloggers

Quando inicializamos a diferença de médias para o período pré e pós-1997, descobrimos que apenas 25% das amostras produziram uma média mais baixa para os dados pós-1997 versus os dados anteriores a 1997. Isso sugere que as diferenças que vemos nos retornos médios (pós-1997 são inferiores às pré-dados reais) provavelmente são devidas ao acaso. Parece que estamos em um dilema.

Por fim, mesmo se tivéssemos muita confiança de que o retorno médio que calculamos era o número correto, que confiança temos de que esse será o número certo no futuro? Todas essas brochuras de investimentos não nos dizem que esse desempenho passado não é indicativo de resultados futuros?

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Parte do problema pode ser metodológica. A abordagem que estamos usando assume que existe alguma média populacional real e os dados que temos são apenas uma amostra dessa população. Nossa confiança de que os retornos médios que calculamos são as médias reais, pressupõe que haja alguma ordem subjacente à distribuição da população. O bootstrapping não assume tanto, mas certamente não acredita que estamos tirando dados de uma sopa caótica. No entanto, outras abordagens não assumem a população. Eles mudam, acreditando que é possível adivinhar a distribuição com base nos dados observados. Essa abordagem ajusta a distribuição aos dados vs. os dados à distribuição, como no método anterior.1 Talvez usando essa segunda abordagem, possamos obter mais confiança sobre qual retorno médio ao uso. Mas teríamos que testar isso em outra postagem.

Uma abordagem diferente pode ser usar algum tipo de média móvel dos retornos passados ​​para prever um retorno futuro. Podemos calcular a média dos últimos cinco anos de dados mensais como forma de prever o próximo ano ou alguns anos de retorno. Por exemplo, quando regredimos os retornos mensais anuais de cinco anos consecutivos contra os retornos anualizados de três anos futuros, chegamos às estatísticas a seguir.

Prazo Estimativa (%) Estatística
Interceptar 8.6 18,2
Retornos em cinco anos -0,1 -2,3

As estimativas são significativas e a interceptação se aproxima do retorno médio de longo prazo que calculamos anteriormente, capturando algum grau de reversão média. Queremos analisar essa abordagem usando uma divisão de teste de trem para ver como isso funcionaria fora da amostra. Pode ser interessante, mas isso também terá que esperar por outro post.

Vamos revisar. O retorno médio histórico é um proxy intuitivo e fácil de usar para retornos futuros esperados. Mas ter confiança em qualquer estimativa em particular é relativamente baixo. Uma série de resultados prováveis ​​pareceria melhor, exceto que, dependendo do período usado, essa faixa pode ser muito ampla para ser útil. O que nos leva a um terceiro ponto: decidir qual período usar leva a estimativas muito diferentes do futuro.

Claramente, este não foi um exame exaustivo do uso da média histórica para formular retornos esperados. Ele fez mais perguntas do que respostas. Mas o objetivo era apenas introduzir o conceito. A seguir, examinaremos os outros métodos mencionados acima; ou seja, métodos de fluxo de caixa descontado e prêmios de risco. Depois de discutirmos todas essas abordagens, podemos analisar qual abordagem ou combinação de abordagens provavelmente produzirá a previsão mais precisa. Até lá, aqui está todo o código por trás da postagem desta semana.

### Load packages
suppressPackageStartupMessages({
  library(tidyquant)
  library(tidyverse)
  library(boot)
  })

options("getSymbols.warning4.0"=FALSE)

### Load data
# SP500 price 
sp % 
  Ad() %>% 
  `colnames<-`("sp")

sp_mon <- to.monthly(sp, indexAt = "lastof", OHLC = FALSE)
sp_ret <- ROC(sp_mon, type='discrete')
df % 
  ggplot(aes(sp*100)) +
  geom_histogram(aes(y = ..density..), 
                 fill = "blue",
                 bins = 100) +
  stat_function(fun = dnorm, 
                args = list(mean = mean(df$sp*100, na.rm = TRUE),
                            sd = sd(df$sp*100, na.rm = TRUE)),
                color = "red",
                lwd = 1.25) +
  geom_vline(xintercept = sd(df$sp*100, na.rm = TRUE)*-2, size = 1.25, color = "slateblue") +
  geom_vline(xintercept = sd(df$sp*100, na.rm = TRUE)*2, size = 1.25, color = "slateblue") +
  geom_text(aes(x = -12, y = .08,
                label = "2 Std. deviation"),
            size = 4,
            color = "slateblue") +
  geom_segment(aes(x = -14, xend = -9,
                   y = .07, yend = .07),
               arrow = arrow(length = unit(2, "mm")),
               color = "slateblue") +
  labs(x = "Returns (%)",
       y = "Density",
       title = "S&P 500 monthly return distribuion 1950-Present")

mean_ret <- round(mean(df$sp, na.rm = TRUE),3)*1200

med_ret <- round(median(df$sp, na.rm = TRUE),3)*1200


t_test <- t.test(df$sp)
t_stat <- t_test$statistic
low <- round(t_test$conf.int[1],3)*1200
high <- round(t_test$conf.int[2],3)*1200

## Create function for boot
mean_boot <- function(df,index){
  dat <- df[index,]
  mean(dat$sp, na.rm = TRUE)
}


## Run boot
set.seed(123)
b_strap <- boot(df,mean_boot,1000)

## Create summmry stats
bs_mean <- mean(b_strap$t)*1200
bs_up <- (mean(b_strap$t)+2*sd(b_strap$t))*1200
bs_low <- (mean(b_strap$t)-2*sd(b_strap$t))*1200

sderr <- sd(df$sp,na.rm = TRUE)/sqrt(nrow(df))
samp_mean <- mean_ret
samp_up <- (mean_ret/1200 + 2*sderr)*1200
samp_low <- (mean_ret/1200 - 2*sderr)*1200

## Compile data frame
stats % 
  mutate_at(vars(-Estimate), function(x) round(x,1)) %>% 
  knitr::kable(caption = "Estimates with lower and upper confidence levels (%)")


## Create rolling forward to present mean return

# create index and function
index <- data.frame(start = seq(as.Date("1950-01-01"),length = 51, by = "years"),
                    end = rep(as.Date("2019-12-31"),51))

time_func <- function(start, end, dframe){
  out % 
    filter(date >= start, date % 
    summarise(mean = mean(sp, na.rm = TRUE),
              sd = sd(sp, na.rm = TRUE),
              sderr = sd(sp,na.rm = TRUE)/sqrt(n())) %>% 
    as.numeric()
  
  out
  
}

## Create rolling avege data frame
roll_est <- data.frame(ret = rep(0,51), sd = rep(0,51), sderr = rep(0,51))
for(i in 1:51){
  roll_est[i,] <- time_func(index[i,1], index[i,2], df)
}
roll_est % 
  mutate(date = seq(1950,2000,1)) %>% 
  select(date, everything())

# Graph results
roll_est %>% 
  ggplot(aes(date, ret*1200))+
  geom_bar(stat = 'identity', fill = "blue") + 
  labs(x = "",
       y = "Return (%)",
       title = "Mean return from start year to present")

range % 
  mutate(upper = ret + sderr,
         lower = ret - sderr) %>%  
  ggplot(aes(x=date))+
  geom_line(aes(y = ret*1200), color = "blue", size =1) +
  geom_pointrange(aes(y=ret*1200,
                      ymin = lower*1200, 
                      ymax = upper*1200), 
                  color = "blue", 
                  fill = "white",
                  fatten = 3,
                  size = 0.8,
                  shape = 21) +
  labs(x = "",
       y = "Return (%)",
       title = "Mean return start year to present with std error range")

# Sderr as % of mean
roll_est %>% 
  mutate(ret_range = (2*sderr)/ret * 100) %>% 
  ggplot(aes(date, ret_range)) +
  geom_bar(stat = "identity", fill = "blue") +
  geom_hline(yintercept = 82, color = "red") + 
  geom_text(aes(x = 1975,
                y = 100,
                label = "Significance line"),
            color = "red",
            size = 4)+
  labs(x = "",
       y = "Interval over mean (%)",
       title = "Confidence interval as a percent of the mean")

conf_int % 
  mutate(ret_range = (2*sderr)/ret * 100) %>% 
  summarise(max = max(ret_range),
            min = min(ret_range)) %>% 
  as.numeric() %>% 
  round()

## Pre and post 1997 histogram
df %>% 
  mutate(div = ifelse(date %
  ggplot(aes(sp*100)) +
  geom_density(aes(fill = div), alpha = 0.4) +
  scale_fill_manual("", labels = c("Pre-1997", "Post-1997"),
                    values = c("blue", "pink"),
                    drop = FALSE) +
  labs(x = "Return (%)",
       y = "Density",
       title = "Monthly return distributions pre and post 1997") +
  theme(legend.position = "top")

# T-test
diff_func <- function(df, index){
  df1 % filter(date < "1997-01-01")
  df2 % filter(date >= "1997-01-01")
  dat1 <- df1[index,]
  dat2 <- df2[index,]
  mean(dat2 < dat1, na.rm = TRUE)
}

t_boot <- boot(df, diff_func, 1000)
t_out % 
  mutate(five_yr = rollapply(sp, width = 60, mean, align = "right", fill = NA)*1200,
         three_yr = rollapply(sp, width = 36, mean, align = "left", fill = NA)*1200) %>%
  lm(three_yr ~ five_yr, .) %>% 
  broom::tidy() %>% 
  mutate(Term = c("Intercept", "Five-year returns")) %>% 
  select(Term, estimate, statistic) %>% 
  rename("Estimate" = estimate,
         "Statistic" = statistic) %>%
  mutate_at(vars(-Term), function(x) round(x,1)) %>% 
  knitr::kable()

  1. É claro que estamos discutindo as diferenças entre as abordagens freqüentista e bayesiana.↩

var vglnk = {key: ‘949efb41171ac6ec1bf7f206d57e90b8’};

(função (d, t) {
var s = d.createElement
s.src = ‘//cdn.viglink.com/api/vglnk.js’;
var r = d.getElementsByTagName
} (documento, ‘script’));

Para Deixe um comentário para o autor, siga o link e comente no blog: R no OSM.

R-bloggers.com oferece atualizações diárias por email sobre notícias e tutoriais do R sobre o aprendizado do R e muitos outros tópicos. Clique aqui se você deseja publicar ou encontrar um emprego em ciência da dados / R.


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br