netlogo - 在 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 的类似模型。
解决方案
推荐阅读
- java - Android:使用 DevicePolicyManager 授予权限
- html - CSS Flex 一个孩子顶另一个底
- javascript - 如何使用类而不是 ID 选择对象
- python - 在 matplotlib 中绘制 Shapley Multiploygon 的更有效方法
- python - 如何用python批量按键?
- java - Css媒体查询不适用于Spring框架
- excel - VBA for Excel - 按条件复制数据 -
- python - 运行时错误:给定组=721,在维度 0 处的预期权重至少为 721,但得到的权重大小为 [3, 1, 5, 5]
- r - 咕噜声或循环表以自动化绑定行过程
- python - 如何在 dask_cudf 和 cudf 中使用 tqdm 进度条