2线性规划模型建模实战

news/2025/10/1 17:16:16/文章来源:https://www.cnblogs.com/flowers-city/p/19122578

线性规划模型建模实战(投资组合优化案例)笔记

一、案例背景与目标

1.1 投资场景设定

  • 市场存在 n种可投资资产Sᵢ(i=1,2,...,n),需用大额资金M进行一期投资;
  • 资产核心参数(示例):
    资产Sᵢ 平均收益率rᵢ 风险损失率qᵢ 交易费率pᵢ 最低交易定额uᵢ(元)
    S₁ - - - 103
    S₂ 21% 1.5% 2% 198
    S₃ 23% 5.5% 4.5% -
    S₄ 25% 2.6% 6.5% 40
  • 无风险参考:同期银行定期利率 r₀=5%(几乎无风险)。

1.2 核心目标

双目标优化:

  1. 最大化净收益;
  2. 最小化总风险。

二、符号规定与基本假设

2.1 符号定义(建模基础)

  • Sᵢ:第i种投资项目(如股票、债券);
  • rᵢ:Sᵢ的平均收益率;
  • qᵢ:Sᵢ的风险损失率(衡量单资产风险);
  • pᵢ:Sᵢ的交易费率;
  • uᵢ:Sᵢ的最低交易定额(低于此金额按uᵢ算费率);
  • xᵢ:投资于Sᵢ的资金金额;
  • α:投资风险度(可接受的最大风险上限);
  • Q:总收益风险度(需最小化的指标);
  • M:总投资资金(数额极大)。

2.2 关键假设(简化建模场景)

  1. 资金规模假设:M极大,投资到各资产的金额通常>uᵢ(简化交易费计算);
  2. 风险度量假设:总风险用“所有资产中最大风险”度量(避免风险值超100%的不合理情况);
  3. 收益分散假设:投资越分散,总收益越小;
  4. 参数固定假设:投资期内rᵢ、qᵢ、pᵢ均固定,不受其他因素干扰;
  5. 净收益影响假设:净收益仅由rᵢ、pᵢ、xᵢ决定,与其他无关。

三、核心计算:交易费与净收益

3.1 交易费计算(分段函数)

  • 当xᵢ ≤ uᵢ时:交易费 = pᵢ × uᵢ(按最低定额收费);
  • 当xᵢ > uᵢ时:交易费 = pᵢ × xᵢ(按实际金额收费);
  • 简化处理:因M极大,xᵢ通常>uᵢ,交易费直接按“pᵢ × xᵢ”计算。

3.2 净收益计算

  • 单资产净收益 =(平均收益率 - 交易费率)× 投资金额 = (rᵢ - pᵢ) × xᵢ
  • 总净收益 = Σ[(rᵢ - pᵢ) × xᵢ](需最大化)。

四、核心方法:多目标规划转线性规划

原问题为多目标规划(最大化收益+最小化风险),需转化为单目标线性规划求解,3种核心转化思路:

转化方法 核心思路 适用场景
固定风险边界 1. 设定可接受的风险度α;
2. 约束条件:qᵢ×xᵢ/M ≤ α(所有i);
3. 目标:最大化净收益
已知投资者风险承受能力(如“最多接受0.6%风险”)
固定盈利水平 1. 设定最低盈利目标k;
2. 约束条件:总净收益 ≥ k;
3. 目标:最小化总风险
投资者有明确收益底线(如“净收益≥20%”)
引入偏好系数 1. 设定偏好系数λ(0≤λ≤1,λ越大越重视收益);
2. 目标函数:max [λ×总收益 - (1-λ)×总风险]
投资者对风险和收益有明确偏好

五、模型构建与求解(以“固定风险边界”为例)

5.1 目标函数(适配Matlab linprog

linprog仅支持最小化,需对总净收益加负号转化:
min Z = -Σ[(rᵢ - pᵢ) × xᵢ]

5.2 约束条件

  1. 风险约束qᵢ×xᵢ/M ≤ α(所有i,控制总风险不超可接受上限);
  2. 资金约束Σ[(1 + pᵢ)×xᵢ] = M(总投资金额+总交易费=总资金M);
  3. 非负约束xᵢ ≥ 0(投资金额不能为负)。

5.3 求解步骤

  1. 设定α范围:α从0开始,每次递增0.001,直至α=0.5(覆盖合理风险区间);
  2. 循环求解:对每个α,用linprog求解线性规划,得到最优xᵢ(各资产投资金额)和对应最优收益;
  3. 结果记录:整理不同α下的最优收益,用于后续分析。

六、结果分析与投资建议

6.1 风险与收益规律

  • 总体趋势:风险度α越高,净收益越高(符合“高风险高收益”原则);
  • 关键拐点(实战结果):
    1. 第一个拐点(α≈0.006/0.6%)
      • 拐点左侧(α<0.006):风险小幅上升→收益快速增长(“风险性价比最高”区间);
      • 拐点右侧(α>0.006):风险上升→收益增长放缓;
    2. 第二个拐点(α≈0.025/2.5%)
      • 拐点右侧(α>0.025):风险继续上升→收益几乎无变化(“风险无效区间”)。

6.2 投资建议

  • 无风险偏好投资者:选择α≈0.006,对应净收益约20%(低风险+高性价比);
  • 中等风险承受者:α控制在0.006~0.025之间(平衡风险与收益);
  • 所有投资者:α建议不超过0.025(避免进入“风险无效区间”)。

七、编程注意事项(Matlab linprog

  1. 约束符号处理:若约束为“≥”(如固定盈利目标),需对约束两边加负号,转化为“≤”;
  2. 上下限设置:仅需下限(如xᵢ≥0)时,上限ub设为空([]);仅需上限时,下限lb设为空;
  3. 目标函数符号:需“最大化”目标时,必须对目标函数加负号(适配linprog的最小化逻辑);
  4. 矩阵格式:约束条件需整理为A×x ≤ b的矩阵形式,符合linprog输入要求。

八、课后作业(线性规划实战)

某厂生产3种产品,每种产品需经A、B两道工序加工,已知工序产能、产品利润等参数,构建线性规划模型求解“最优生产计划”(目标:最大化总利润),课下完成建模与求解,后续讲解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络技术:基本结构与协议

铺垫网络技术基本原理网络(Network)是 20 世纪的一个重要发明,其使得计算机可以互相连接,提供了无限的可能性。 概念 & 术语 有必要先理清一些概念。图自:https://blog.csdn.net/fiberroad/article/details/1…

Excel工作表自动追加工具项目总结报告 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

《电路基础》第三章学习笔记

《电路基础》第三章学习笔记任何伟大的事情都不是一蹴而就的,做任何伟大的事情都需要时间、耐心和毅力I’m back,完成到任务8了,回来继续学习电路! 这一章是本书中最为重要的一章,应给予足够的重视。 主要介绍:1…

移植Linux(No MMU)到ESP32-S3

主要原理是利用mini-rv32ima,在EPS32上运行一个riscv32模拟器,在模拟器里运行无需MMU版的主线Linux 6.X 这位大佬已经把mini-rv32ima移植到esp32-s3的PlatformIO里的Arduino平台上,代码看着好像很简单,就几个脚本:…

关于ws连接coinex偶尔会出现几分钟不更新数据的问题 - Charlie

一、环境 1、语言:go 二、服务概况三、现象 lark告警群中偶尔会出现coinex的btc和eth同时告警,但是他们的最后一次告警时间不相同,代码的告警逻辑是:每隔30s定时从数据库中查询redis中btc和eth的数据updateTime字段…

dz网站后台好的网页制作公司有哪些

智慧公安作为公安信息化开展到高级阶段的一种警务形态,“智慧公安”主要采用物联网、云计算、无线通讯、智能动态感知分析等新一代信息技术,将公安工作IT根底设备与物理设备、人际环境等高度交融,以提供智能化公安决策与效劳。智慧警务大数据云平台开发情报研判系统…

网站建设目标和功能介绍潍坊网站建设方案

华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 本文一是记录自己开发华为北向网管遇到的坑,二是给需要的人&…

购物网站的前台功能网页设计教程书籍推荐

安装 VirtualBox 地址:https://www.virtualbox.org/wiki/Downloads 版本: 6.1和7.0+版本都可以 安装: windows上安装需要admin权限,右键菜单选中 “Run as administrator” 安装 CentOS 6.10 地址:https://vault.centos.org/6.10/isos/x86_64/ 版本: 如果不需要GUI,选择…

【C#】以 BlockingCollection 为核心的多相机 YOLO 检测任务处理框架 - 指南

【C#】以 BlockingCollection 为核心的多相机 YOLO 检测任务处理框架 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fami…

上手 cpp-httplib:轻量级 C++ HTTP 库的安装与实战指南 - 教程

上手 cpp-httplib:轻量级 C++ HTTP 库的安装与实战指南 - 教程2025-10-01 17:04 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impo…

CAD安装Error 1402权限问题解决

问题描述 由于历史版本卸载不干净,在安装CAD过程中报错 1402,具体如下: Error 1402 Could not open key:UNKNOWN\Components\BCC6186334A64285641057ABAF4A6…Verify that you have sufficient access to that key,…

题解:P9868 [NOIP2023] 词典

原题传送门。 显然,如果我们想要把一个字符串字典序尽量小,我们把这个字符串中的字符从小到大排序就行了;反过来就是把字符串中的字符从大到小排序就行了。 我们可以暴力地对于每个字符串排序,然后对于每一个字符串…

304、渭城曲

304、渭城曲304、渭城曲 唐●王维 渭城朝雨浥轻尘,客舍青青柳色新。 劝君更尽一杯酒,西出阳关无故人。【现代诗意译】 清晨的渭城 下起了一场春雨 沾湿了路边的轻尘 旅店周围 青青柳条越发清新老朋友 再喝一杯饯别酒…

AtCoder Beginner Contest 425

AtCoder Beginner Contest 425 A ~ G 题解A,B H₂O题。 A 题直接模拟,记得 \(-1^x\) 的性质。 B 题构造题,每次往空格里填最小的可用数字即可。 C 这道题就相当于有一个数字圆环,每次求其中的一段区间的和。、 嗯?…

实用指南:MySQL InnoDB表压缩:性能优化全解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

采集网站开发网站页面设计和结构的技巧

一、 开始的开始——调研、还是调研、一直在路上…… 在只有关于疫情给老年人的带来的问题大方向下,我去到街上随机的拉老年人进行调研。这是我第一次如此频繁的跟陌生老年人沟通。此期间,跟他们的沟通中我发现除了口音上的差异,还有更多的是…

AT_agc052_b [AGC052B] Tree Edges XOR

考虑边权转点权,让边权满足其为相邻点权的异或和,操作变成交换两个点的点权。 随便钦定一个为根,设 d i ​ 为初始时 i 的点权,f i ​ 是 i 期望得到为多少。如果存在 d,f,满足它们是相同的集合,就有解。 注意到…

pc开奖网站开发绵阳网站建设维护

1. 安装软件准备1.1. 软件准备1.zabbix-2.4.8.tar.gz zabbix-3.0.31.tar.gz下载地址:https://www.zabbix.com/download2.php5.4.16.tar.gz下载地址:https://www.php.net/downloads.php1.2. 注意事项安装过程路径、密码尽量不要出现中文、特殊字符、空格、…

详细介绍:C语言指针进阶(进阶)

详细介绍:C语言指针进阶(进阶)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

背单词 纯英文 2025年10月

2025-10-02coronation, horrific, pal, 2025-10-01quack, dais, notation, replicate, despoil,bizarre, differentiate, banister, intelligible, incest,obligatory, deviate, recourse, delineate, haversack