1

我有一个由 5 只股票组成的投资组合,我想为其找到最小化投资组合方差和最大化预期未来股息的最佳组合。后者来自分析师的预测。我的问题是我知道如何解决最小方差问题,但我不确定如何将二次形式转换为 quadprog 目标函数的正确矩阵形式。

标准最小方差问题读取

Min! ( portfolio volatility )

哪里
r有五只股票的 252 日收益,
d有预期的年度股息收益率(firm_A支付 1 %firm_B支付 2 %等)

我将其编程如下

dat = rep( rnorm( 10, mean = 0, sd = 1 ), 252*5 )
r   = matrix( dat, nr = 252, nc = 5 )
d   = matrix( c( 1, 2, 1, 2, 2 ) )

library(quadprog)
# Dmat (covariance) and dvec (penalized returns) are generated easily

risk.param = 0.5
Dmat = cov(r)
Dmat[is.na(Dmat)]=0

dvec = matrix(colMeans(r) * risk.param)
dvec[is.na(dvec)]=1e-5

# The weights sum up to 1
n   = 5
A   = matrix( rep( 1, n ), nr = n )
b   = 1
meq = 1

res = solve.QP( Dmat, dvec, A, b, meq = 1 )

显然,r标准正常的回报,因此每只股票的权重约为 20%。

Q1:我如何解释firm_A支付股息 1、firm_B股息 2 等的事实?

新的目标函数如下:

Max! ( 0.5 * Portfolio_div - 0.5 * Portfolio_variance )

但我不知道如何对其进行硬编码。投资组合方差很容易输入,Dmat但新的目标函数具有Portfolio_div定义为具有五个权重Portfolio_div = w * d的元素。w

非常感谢。

EDIT:也许添加一个更高级别的问题描述是有意义的:我可以对上面的代码使用最小方差优化。最小化投资组合方差意味着优化方差协方差矩阵Dmat(维度为 5x5)的权重。但是,我想在优化中添加一个额外的部分,即红利d乘以权重(因此尺寸为 5x1)。相同的权重也用于Dmat.

Q2:如何将向量添加d到代码中?

EDIT2:我想答案是简单地使用

dvec = -1/d

因为我通过最小化负数的倒数来最大化预期股息。

Q3:有人可以告诉我这是否正确吗?

4

1 回答 1

0

打开一罐蠕虫:

TLDR虽然我尊重 Harry MARKOWITZ(1990 年诺贝尔奖)所做的出色工作,但我更欣赏他出色的 CACI Simulations 衍生确定性模拟框架 COMET III,而不是投资组合理论假设,即投资组合variance本身就是投资组合的主要最小驱动因素优化过程。

推动这一主要观点(这仍然可能满足大基金的一些不正确的动机,由于“他们”对直接事物的看法的倾斜视角的性质和规模,他们从 2 乘 20 的费用中过着幸福的生活损失他们认为这是与人群恐慌流失相关的非后天巨额和无风险管理费用归因于 AUM 侵蚀,而不是实际利润和损失,从他们(无法)提供任何高于平均 AUM 回报的能力中获得)进一步,更接近您的想法,问题在于函数的正确表述。










{ penalty | utility }

虽然variance在经典有效前沿理论中被视为惩罚因子,在min!全局搜索中运行,但它与实际利润的产生没有太大关系。即使是正侧方差分量,您也会受到惩罚,这本身就是无稽之谈。

相反,进入优化过程dividend是直接的、绝对的。utilitymax!

Q3因此, &的第一步Q1应该是设计一个utility function与相对的、与收入无关的因素保持一致的设计,但要包含所有其他绝对因素——进入成本、交易成本、再平衡成本——否则你的实用新型将是误导您的投资组合财富管理策略。

A2:如果没有这个先验设计的属性,没有人可以声称一个模型值得一个 CPU 小时来启动模型的全局优化工作。

于 2016-04-28T05:53:10.297 回答