是论坛的新手,所以希望这个问题能正确解释。
我正在尝试通过导入excel表(以下示例)使用Scipy创建优化的投资组合。目的是最大程度地减少预期收益与风险因素(即-预期收益/风险因素)的负比。
+-------------+--------------+-----------------+-------------+
| Asset_Class | Asset_Class2 | Expected Return | Risk Factor |
+-------------+--------------+-----------------+-------------+
| Govt | Sov | 0.6% | 0.5% |
| Govt | Muni | 1.3% | 0.5% |
| Govt | Supra | 1.5% | 0.5% |
| Corp | HY | 10.0% | 20.0% |
| Corp | Financials | 1.6% | 5.0% |
| Corp | Industrials | 1.3% | 5.0% |
| Corp | Utilites | 1.8% | 5.0% |
| Corp | EM | 6.0% | 10.0% |
| Equity | Growth | 8.0% | 30.0% |
| Equity | Value | 6.0% | 20.0% |
+-------------+--------------+-----------------+-------------+
我遇到的问题是我需要在'Asset_Class'级别对投资组合应用约束,因此,例如,应用于Sov,Muni和Supra存储桶的权重之和必须> 10%且< 100%。限制表的示例如下。
+-------------+-----------+------------+
| Asset_Class | Low_Limit | High_Limit |
+-------------+-----------+------------+
| Govt | 10% | 100% |
| Corp | 10% | 60% |
| Equity | 0% | 10% |
+-------------+-----------+------------+
有什么想法可以在分组级别上限制权重? 感谢您的帮助!
编辑:预期输出将是一个按“ Asset_Class2”(或“ Asset_Class”)分组的数据框,例如下面的示例,同时还会输出预期收益和风险。
+--------------+--------+
| Asset_Class2 | Weight |
+--------------+--------+
| Sov | 0.2 |
| Supra | 0.1 |
| HY | 0.15 |
| Financials | 0.2 |
| Industrials | 0.015 |
| Utilities | 0.1 |
| EM | 0.185 |
| Growth | 0.02 |
| Value | 0.03 |
+--------------+--------+
+--------------------------+-------+
| Weighted Expected Return | 0.041 |
| Weighted Risk Factor | 0.112 |
+--------------------------+-------+