2020年新冠肺炎全球蔓延,M国发行“拯救地球”债券,未来教育基金会如何投资以最大化收益?
2020\u5e74\uff0c\u65b0\u51a0\u80ba\u708e\u5168\u7403\u6563\u5c55\uff0c\u4e25\u91cd\u5f71\u54cd\u4e86\u4e16\u754c\u798f\u7949\u3002\u4e3a\u523a\u6fc0\u7ecf\u6d4e\u53d1\u5c55\uff0c\u4e00\u56fd\u8ba1\u5212\u53d1\u884c\u5404\u7c7b\u4ee3\u53f7\u4e3a\u201c\u6551\u62a4\u5730\u7403\u201d\u7684\u56fd\u5bb6\u7d27\u6025\u503a\u5238\uff08SEB\uff09\u3002\u503a\u5238\u5230\u671f\u5e74\u9650\u67092\uff0c3\uff0c4\uff0c5\uff0c9\uff0c12\uff0c15\uff0c18\uff0c20\uff0c25\u5e74\u7b49\u5341\u79cd\uff0c\u503a\u5238\u6bcf\u5e74\u521d\u53d1\u884c\uff0c\u53d1\u884c\u65f6\u95f4\u4e3a2021-2049\u5e74\u3002\u503a\u5238\u6bcf\u5e74\u672b\u5151\u73b0\uff0c\u5151\u73b0\u6709\u6548\u7ed3\u675f\u65f6\u95f4\u4e3a2050\u5e74\u3002\u503a\u5238\u670d\u52a1\u8303\u56f4\u6267\u65bd\u836f\u8853\u5065\u5eb7\uff0c\u4ea4\u901a\u8fd0\u8f93\uff0c\u79d1\u6280\u7814\u53d1\uff0c\u8bbe\u5907\u5236\u9020\uff0c\u56fd\u6c11\u798f\u5229\u4e94\u5927\u9886\u57df\u3002\u503a\u5238\u5230\u671f\u540e\uff0c\u5141\u8bb8\u503a\u5238\u8d2d\u4e70\u8005\u6240\u5728\u7684\u5730\u65b9\u653f\u5e9c\u6536\u53d6\u7a0e\u7387\u4e0d\u7b49\u7684\u7a0e\u6536\u3002\u503a\u5238\u7c7b\u578b\uff0c\u5230\u671f\u5e74\u9650\uff0c\u6536\u76ca\u7387\uff0c\u7a0e\u6536\u6bd4\u7387\u7b49\u89c1\u88681\u3002\n\u672a\u6765\u6559\u80b2\u57fa\u91d1\u4f1a\uff08\u4ee5\u4e0b\u79f0FFE\uff09\u8ba1\u5212\u57282050\u5e74\u524d\uff08\u542b2050\u5e74\uff09\u5411\u4e00\u56fd\u90e8\u5206\u9ad8\u7b49\u5b66\u6821\u652f\u52a9\u4e00\u6279\u7ecf\u8d39\u4ee5\u5e2e\u52a9\u8d2b\u7a0b\u5b66\u751f\u3002\u4e3a\u4e86\u589e\u52a0\u652f\u52a9\u91d1\u989d\uff0cFFE\u5c06\u73b0\u6709\u76848000\u4e07\u7f8e\u5143\u8d44\u91d1\u8fdb\u884c\u503a\u5238\u6295\u8d44\u3002\u4e3a\u8010\u968f\u8d77\u89c1\uff0cFFE\u59d4\u6258\u98ce\u9669\u673a\u6784\u5bf9\u5404\u7c7b\u503a\u5238\u8fdb\u884c\u98ce\u9669\u7b49\u7ea7\u8bc4\u4f30\u3002\u540c\u65f6\uff0cFFE\u8fd8\u5236\u5b9a\u4e86\u6295\u8d44\u8981\u6c42\uff1a\u2460\u836f\u8853\u5065\u5eb7\u503a\u5238\u8d2d\u4e70\u91d1\u989d\u4e0d\u5f97\u5c11\u4e8e\u503a\u5238\u8d2d\u4e70\u603b\u91d1\u989d\u768420\uff05\uff0c\u5176\u4f59\u6bcf\u4e2a\u884c\u4e1a\u7684\u503a\u5238\u8d2d\u4e70\u603b\u91d1\u989d\u4e0d\u5f97\u5c11\u4e8e\u503a\u5238\u8d2d\u4e70\u603b\u91d1\u989d\u768410\uff05\uff1b\u2461\u6240\u8d2d\u503a\u5238\u7684\u5e73\u5747\u98ce\u9669\u7b49\u7ea7\u4e0d\u5f97\u4f4e\u4e8e2.5\uff0c\u7b49\u7ea7\u6570\u5b57\u8d8a\u5927\uff0c\u98ce\u9669\u8d8a\u4f4e\uff1b\u2462\u8981\u6c42\u6240\u8d2d\u4e70\u7684\u503a\u5238\u7684\u5e73\u5747\u5230\u671f\u5e74\u9650\u4e0d\u8d85\u8fc710\u5e74\uff1b\u2463\u8981\u6c42\u652f\u52a9\u6d3b\u52a8\u7ed3\u675f\u540eFFE\u7ee7\u7eed\u4fdd\u75598000\u4e07\u7f8e\u5143\u8d44\u91d1\u3002\n\u8bf7\u4f60\u5efa\u7acb\u6570\u5b66\u6a21\u578b\uff0c\u89e3\u51b3\u4ee5\u4e0b\u95ee\u9898\uff1a\n1\u3002\u5982\u679cSEB\u503a\u5238\u6295\u8d44\u53ea\u5141\u8bb8\u5728\u7b2c\u4e00\u5e74\u521d\u8fdb\u884c\uff0c\u90a3\u4e48\u8fd9\u4e9b\u6295\u8d44\u5c06\u5206\u522b\u5728\u7b2c2\uff0c3\uff0c4\uff0c5\uff0c9\uff0c12\uff0c15\uff0c18\uff0c20\uff0c25\u5e74\u6536\u56de\u672c\u91d1\u548c\u6536\u76ca\u3002\u8bf7\u95ee\uff0c8000\u4e07\u7f8e\u5143\u8d44\u91d1\u5982\u4f55\u5206\u914d\uff0c\u4f7f\u5f9715\u4e2a\u4ea7\u54c1\u7684\u603b\u6536\u76ca\u8fbe\u5230\u6700\u5927\uff1f\n\u503a\u5238\u9886\u57df\t\u98ce\u9669\u7b49\u7ea7\t\u5730\u65b9\u653f\u5e9c\u7a0e\u7387\uff08\uff05\uff09\t\u5230\u671f\u5e74\u9650\t\u5230\u671f\u7a0e\u524d\u603b\u6536\u76ca\uff08\uff05\uff09\n\u836f\u8853\u5065\u5eb7\t5\t0\t2\t4.45\n\t\t\t9\t39.89\n\t\t\t20\t232.11\n\u4ea4\u901a\u8fd0\u8f93\t2\t20\t3\t8.0\n\t\t\t12\t58.27\n\t\t\t25\t300.54\n\u79d1\u6280\u7814\u53d1\t4\t0\t4\t12.55\n\t\t\t15\t180.09\n\t\t\t20\t232.11\n\u8bbe\u5907\u5236\u9020\t3\t10\t4\t12.55\n\t\t\t9\t39.89\n\t\t\t18\t206.12\n\u56fd\u6c11\u798f\u5229\t1\t30\t2\t4.45\n\t\t\t5\t18.77\n\t\t\t18\t206.12\n\u7ed9\u51fa\u4ee3\u7801\u5185\u5bb9\uff1a\n```pythonfrom ortools.linear_solver import pywraplp
数据investment_amount = 80000000 # 投资金额bond_areas = ['\u836f\u8853\u5065\u5eb7', '\u4ea4\u901a\u8fd0\u8f93', '\u79d1\u6280\u7814\u53d1', '\u8bbe\u5907\u5236\u9020', '\u56fd\u6c11\u798f\u5229']bond_risk_levels = [5, 2, 4, 3, 1]bond_tax_rates = [0, 20, 0, 10, 30]bond_maturities = [2, 3, 4, 5, 9, 12, 15, 18, 20, 25]bond_returns = [ [4.45, 39.89, 232.11, 0, 0], [0, 8.0, 0, 58.27, 300.54], [0, 0, 12.55, 0, 180.09], [0, 0, 12.55, 39.89, 0], [4.45, 0, 0, 0, 18.77, 0, 0, 206.12, 0, 0]]
创建求解器solver = pywraplp.Solver.CreateSolver('SCIP')
定义决策变量variables = []for i in range(len(bond_areas)): variables.append([]) for j in range(len(bond_maturities)): variables[i].append(solver.IntVar(0, 1, f'x{i}{j}'))
定义目标函数objective = solver.Objective()for i in range(len(bond_areas)): for j in range(len(bond_maturities)): objective.SetCoefficient(variables[i][j], bond_returns[i][j])objective.SetMaximization()
添加约束条件# 每个行业的债券购买总金额不得少于债券购买总金额的10%for i in range(len(bond_areas)): solver.Add(sum([variables[i][j] for j in range(len(bond_maturities))]) >= investment_amount * 0.1)
医药健康债券购买金额不得少于债券购买总金额的20%solver.Add(sum([variables[0][j] for j in range(len(bond_maturities))]) >= investment_amount * 0.2)
所购债券的平均风险等级不得低于2.5total_risk_level = sum([variables[i][j] * bond_risk_levels[i] for i in range(len(bond_areas)) for j in range(len(bond_maturities))])solver.Add(total_risk_level / len(bond_areas) * len(bond_maturities) >= 2.5)
所购买的债券的平均到期年限不超过10年total_maturity = sum([variables[i][j] * bond_maturities[j] for i in range(len(bond_areas)) for j in range(len(bond_maturities))])solver.Add(total_maturity / len(bond_areas) * len(bond_maturities) <= 10)
解决模型solver.Solve()
输出结果if solver.Status() == pywraplp.Solver.OPTIMAL: print(f'\u6700\u5927\u603b\u6536\u76ca\uff1a {solver.Objective().Value()}') for i in range(len(bond_areas)): for j in range(len(bond_maturities)): if variables[i][j].solution_value() > 0: print(f'\u8d2d\u4e70 {bond_areas[i]} {bond_maturities[j]} \u5e74\u503a\u5238 {variables[i][j].solution_value()} \u4efd')else: print('\u65e0\u53ef\u884c\u89e3
原文地址: https://www.cveoy.top/t/topic/pZay 著作权归作者所有。请勿转载和采集!