How can i use a student-t distribution for portfolio optimization in R?
I would fit the data via the estimated parameter and then throw my new distribution into a portfolio optimization package.
From the beginning: I'm trying to do a Portfolio Optimization via the Entropy Pooling Approach by Meucci. As a Basis (Reference Model) i would like to use historical data fitted by a multivariate skewed t-distribution.
Basics: The Entropy Pooling Approach is build upon Black-Litterman - simply said: you can incorporate Views (absolute or relative) into your Model/Portfolio Optimization. The difference compared to the BL is, that you can use a non-normal distribution (not even returns), non-linear Views and views on a variety of parameters. (returns, cor, sd etc.) Therefore, you can put any random data into your model as a reference model. The following step is to blend this model with your individual selected views.
So now, i have a distribution object, but how do i get the distribution into my optimizer. (optimize.portfolio - package 'PortfolioAnalytics'). The requirement therefore is "an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns". The gap in my knowledge is at the transition from the distribution to the new data set.
Thx in Advance!
My code subsequent:
return_distribution = sn::mst.mple(y=returns[,-1])
xi = c(return_distribution[['dp']]$beta)
omega = return_distribution[['dp']]$Omega
alpha = return_distribution[['dp']]$alpha
df = return_distribution[['dp']]$nu
marketDistribution = BLCOP::mvdistribution('mst', xi = xi, Omega = omega,
alpha = alpha, nu = df)
You should look for scenario optimisation, see e.g. https://quant.stackexchange.com/questions/31818/optimize-portfolio-of-non-normal-binary-return-assets/31847#31847 . For an implementaion in R, see for instance https://quant.stackexchange.com/questions/42339/target-market-correlation-for-long-short-equity-portfolio/50622#50622 (though it does not use
PortfolioAnalytics
).