Estimativas de momentos amostrais
O método padrão para estimar os momentos do portfólio é o método amostral. Os momentos são calculados em optimize.portfolio() ao avaliar a função passada para o argumento momentFUN. O padrão de momentFUN é set.portfolio.moments(), que por sua vez calcula os momentos amostrais. Em seguida, os momentos são usados como entradas nas funções objetivo. Os momentos que precisam ser estimados dependem dos objetivos. Por exemplo, um objetivo de minimizar o desvio padrão do portfólio requer apenas uma estimativa do segundo momento. Compare com o objetivo de maximizar o Sharpe Ratio, que requer a estimação do primeiro e do segundo momentos. Estimativas amostrais dos momentos têm desvantagens, incluindo erro de estimação e a maldição da dimensionalidade. Há um risco maior de erro de estimação à medida que aumenta a dimensão dos ativos e a quantidade de parâmetros a serem estimados.
Este exercício faz parte do curso
Análise Intermediária de Portfólio em R
Instruções do exercício
- Adicione um objetivo de retorno com
"mean"como nome do objetivo. - Calcule os momentos amostrais usando
set.portfolio.moments. Atribua a uma variável chamadamoments. - Verifique se o primeiro momento é igual à estimativa amostral dos retornos médios.
- Adicione um objetivo de risco com
"StdDev"como nome do objetivo. - Calcule os momentos amostrais usando
set.portfolio.moments. Atribua a uma variável chamadamoments. - Verifique se o segundo momento é igual à estimativa amostral da matriz de variância-covariância.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Add a return objective with "mean" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)
# Calculate the sample moments
moments <- set.portfolio.moments(R = ___, portfolio = ___)
# Check if moments$mu is equal to the sample estimate of mean returns
moments$mu == colMeans(asset_returns)
# Add a risk objective with "StdDev" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)
# Calculate the sample moments using set.portfolio.moments. Assign to a variable named moments.
moments <- set.portfolio.moments(R = ___, portfolio = ___)
# Check if moments$sigma is equal to the sample estimate of the variance-covariance matrix
moments$sigma == cov(asset_returns)