当前位置: 首页 > news >正文

2线性规划模型建模实战

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

一、案例背景与目标

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.hskmm.com/?act=detail&tid=22372

相关文章:

  • 网络技术:基本结构与协议
  • 《电路基础》第三章学习笔记
  • 移植Linux(No MMU)到ESP32-S3
  • 关于ws连接coinex偶尔会出现几分钟不更新数据的问题 - Charlie
  • 【C#】以 BlockingCollection 为核心的多相机 YOLO 检测任务处理框架 - 指南
  • CAD安装Error 1402权限问题解决
  • 智能体详解——极简深度研究Agent
  • 题解:P9868 [NOIP2023] 词典
  • 304、渭城曲
  • AtCoder Beginner Contest 425
  • AT_agc052_b [AGC052B] Tree Edges XOR
  • 背单词 纯英文 2025年10月
  • 英语背单词 专八词汇 中英对照 2025年10月
  • 「Diary Solution Set」October 2025 在凉雨停歇的那天
  • macOS Tahoe All In One
  • 风力发电机输出功率模型综述 - 详解
  • 2025年小红书创作者影响力分析报告:基于10.5万条素材构建评估模型,识别高影响力内容特征,优化推荐算法与运营策略,涵盖用户分层、互动数据、地理位置分布,提供内容策略优化与创作者成长建议。
  • MaopaiJD Esp8266 代码
  • 英语_错题集_25-10
  • 公民科学研究奖项众人智慧表彰技术创新项目
  • 25.10.1随笔联考总结
  • C# WPF {x:Reference}的作用
  • Ynoi Easy Round 2015 学习笔记
  • 1数学建模模型分类
  • 数学每日?题
  • 最大公约数和最小公倍数
  • OpenSpeedy最新版下载,夸克百度网盘加速提速|游戏加速工具|官网入口
  • Nginx核心配备详解:访问控制、用户认证与HTTPS部署
  • 5. 最长回文子串
  • 基于Python+Vue开发的婚恋交友管理系统源码+运行步骤