【问题标题】:Solving for the least difference when buying shares and desired portfolio weights解决购买股票和所需投资组合权重时的最小差异
【发布时间】:2018-04-20 14:23:33
【问题描述】:
快速且希望简单的问题。假设我想在股票上投资一些钱,我总共有 5 只我想要,我想在这 5 只股票中平均投资,每只股票占总资本权重的 20%。
问题当然是每个股票价格都有不同的成本,所以我不太可能购买能让我在每只股票中获得正好 20% 的股票组合。
所以问题是,有没有一种快速的方法或功能来解决这样的非线性问题,这样我就可以输入股票价格,然后输入所需的权重并获得最小总差异的解决方案?
为帮助干杯!
【问题讨论】:
标签:
r
solver
stocks
performanceanalytics
【解决方案1】:
可以使用 MIP(混合整数规划)求解器。问题可以表述为:
min sum(i, abs(target(i) - price(i)*purchase(i)))
subject to
sum(i, price(i)*purchase(i)) <= budget
purchase(i): integer variable
绝对值可以线性化:
min sum(i,z(i))
-z(i) <= target(i) - price(i)*purchase(i) <= z(i)
您也可以使用二次目标:
min sum(i, (target(i) - price(i)*purchase(i))^2 )
subject to
sum(i, price(i)*purchase(i)) <= budget
purchase(i): integer variable
这需要 MIQP 求解器。