首页 > 解决方案 > 在 netlogo 中应用二次风险规划

问题描述

谁能告诉我如何在 netlogo 中使用二次风险规划?我希望使用以下投资组合选择规则 -

最大值:U = E - φσ

其中,U = 效用,E = 资产预期收益,φ = 风险厌恶参数,σ = 方差

在 R 中,我得到以下代码来执行这样的模型 -

创建投资组合规范

port_spec <-portfolio.spec(assets = colnames(index_returns))

添加一个完整的投资约束,使权重总和为 1

port_spec <- add.constraint(portfolio = port_spec, type = "full_investment")

添加一个 long only 约束,使资产的权重在 0 和 1 之间

port_spec <- add.constraint(portfolio = port_spec, type = "long_only")

添加目标以最大化投资组合平均回报

port_spec <- add.objective(portfolio = port_spec, type = "return", name = "mean")

添加目标以最小化投资组合方差

port_spec <- add.objective(portfolio = port_spec, type = "risk", name = "var", risk_aversion = 10)

解决优化问题

opt <- optimize.portfolio(R = index_returns,投资组合 = port_spec,optimize_method = “ROI”)

但是,netlogo中是否有类似的代码?我尝试了所有可能的来源,但未能在 netlogo 中获得类似的代码或模型。我的模型的主要部分是在 netlogo 中执行的。所以,我需要一个基于 netogo 的类似模型。

标签: netlogoquadratic-programmingrnetlogo

解决方案


推荐阅读