学生t分布以优化R

问题描述

如何在R中使用Student-t分布进行投资组合优化?

我将通过估计的参数拟合数据,然后将新分布放入投资组合优化包中。

从一开始:我正在尝试通过Meucci的熵池方法进行投资组合优化。作为基础(参考模型),我想使用由多元偏斜t分布拟合的历史数据。

基础:熵池方法基于Black-Litterman-简单地说:您可以将视图(绝对视图或相对视图)合并到模型/组合优化中。与BL的区别在于,您可以使用非正态分布(甚至不返回),非线性视图以及各种参数视图。 (返回值,cor,sd等)。因此,您可以将任何随机数据作为参考模型放入模型中。下一步是将此模型与您选择的各个视图混合。

所以现在,我有一个分发对象,但是如何将分发放入优化器中。 (optimize.portfolio-包“ PortfolioAnalytics”)。因此,要求是“资产收益的xts,向量,矩阵,数据帧,timeSeries或zoo对象”。我所知的空白是从分布到新数据集的过渡。

预先感谢!

我的后续代码

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)

解决方法

您应该寻找情景优化,例如https://quant.stackexchange.com/questions/31818/optimize-portfolio-of-non-normal-binary-return-assets/31847#31847。有关R中的实现,请参见例如https://quant.stackexchange.com/questions/42339/target-market-correlation-for-long-short-equity-portfolio/50622#50622(尽管它不使用PortfolioAnalytics)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...