Passados 70 anos da publicação de Portfolio Selection, parte significativa das gestoras de recursos ainda não incorporou a adoção de um otimizador no processo de construção de portfolios.
Existem motivos legítimos para esse ceticismo, especialmente quando os resultados não são intuitivos do ponto de vista teórico.
Vejamos abaixo um exemplo:
library(quadprog)
# Invariance Quest
x <- diff(log(EuStockMarkets))
colnames(x) <- colnames(EuStockMarkets)
num_assets <- ncol(x)
# Full Investment Constraint
Aeq <- matrix(1, 1, num_assets)
beq <- 1
# Non Negativity Constraint
A <- rbind(-diag(num_assets), diag(num_assets))
b <- c(-rep(1, num_assets), rep(0, num_assets))
# Optimization
optimization <- solve.QP(
Dmat = 2 * cov(x),
dvec = colMeans(x),
Amat = t(rbind(Aeq, A)),
bvec = c(beq, b),
meq = length(beq)
)
round(optimization$solution, 2)
## [1] 0 1 0 0
O famoso dataset EuStockMarkets
que acompanha a instalação do R
é utilizado para a construção de um portfolio “ótimo” com base no trade-off entre média e variância. O otimizador recomenda que o portfolio seja \(100\%\)
alocado no mercado francês (CAC).
Ainda que o universo de ativos disponíveis estivesse inteiramente representado nesses \(4\)
índices, será que algum gestor sério seguiria essa recomendação? Por outro lado, se as decisões não são micro-fundamentadas, são baseadas em quê? Heurística?
É ai que entra a análise bayesiana e, em especial, uma técnica quase desconhecida no Brasil chamada “entropy-pooling”.
Entropy-pooling permite que qualquer opinião subjetiva seja convertida em uma afirmação quantitativa precisa por meio dos momentos condicionais de uma distribuição de probabilidade. Entropy-pooling contrói a ponte entre o mundo sistemático e o idiossincrático tornando mais fácil para gestores conciliarem suas opiniões com os resultados de modelos micro-fundamentados.
Pense em entropy-pooling como uma técnica mais poderosa do que Black-Litterman, pois as opiniões podem tomar qualquer forma, não estão restritas ao mundo linear e nem requerem normalidade.
Permita-me detalhar esse tema um pouco mais. No framework bayesiano tradicional o gestor (ou risk manager) impôe suas visões de mundo por meio de uma distribuição que chamammos de prior. A prior é construída com base na experiência pessoal levando em conta os cenários considerados mais prováveis. A distribuição que resulta da combinação da prior com os dados históricos é o que chamamos de posterior, uma PDF que acomoda o mundo quantitativo (dos dados) com o mundo subjetivo (do gestor).
Até ai nenhuma novidade. A questão é que o approach tradicional requer um conhecimento profundo sobre como as variáveis macroeconômicas impactam os parâmetros de diferentes distribuições. Infelizmente, não há garantia de que os coeficientes de informação desses parâmetros sejam conhecidos, mesmo por profissionais experientes em suas áreas de atuação.
Entropy-pooling contorna esse problema ao reinterpretar o approach bayesiano via teoria da informação. O foco é transferido das funções de densidade de probabilidade para o conceito de entropia. Em particular, a entropia mínima relativa (EMR), o vetor \(p\)
de probabilidades que minimiza:
$$ p^* = argmin \sum_{j=1}^J x_j(ln(x_j) - ln(p_j)) $$
sujeito as restrições:
$$ Fx \leq f $$ $$ Hx = h $$
Essa formulação é engenhosa: agora são as probabilidades de cada evento ocorrer que são consideradas como variáveis aleatórias, não os eventos em si. Os eventos estão dados!
As priors (matrizes \(F\)
e \(H\)
) atuam como restrições lineares e o vetor \(p^*\)
se ajusta de modo a distorcer ao mínimo as probabilidades originais.
Nos próximos posts demonstrei como implementar essa ideia na prática, abrindo os códigos e mostrando sugestões de aplicação.
Enquanto isso, se você quiser saber mais sobre a técnica fantástica, recomendo a leitura do paper Fully Flexible Views: Theory and Practice e da documentação do pacote ffp.