一、定义

如果规划模型的目标函数是决策向量的二次函数,约束条件都是线性的,那么这个模型称为二次规划(QP)模型。二次规划模型的一般形式为

 

二、性质

凸性判定准则

二次规划问题的凸性完全由Hessian矩阵H决定:

​严格凸QP​​:H正定(所有特征值>0),有唯一全局最优解

​凸QP​​:H半正定(所有特征值≥0),可能有多个最优解

​非凸QP​​:H不定,存在多个局部最优解

判定条件

二次规划的最优解必须满足​KKT条件​:

原始可行性​​:x满足所有约束条件

对偶可行性​​:拉格朗日乘子非负

互补松弛条件​​:乘子与约束的乘积为零

平稳性条件​​:∇f(x) + Aᵀλ = 0

三、内点法求解

代码

clear
clc%生成数据
%资产数量
nAssets = 5;             
%生成收益率数据
returns = randn(100, nAssets);
%预期收益率
mu = mean(returns)';    
%协方差矩阵
Sigma = cov(returns);        
%目标收益率
targetReturn = 0.05;                    %构建QP参数
H = Sigma;                
%无线性项
f = zeros(nAssets, 1);        
%预算约束和收益约束、约束右端项
Aeq = [ones(1, nAssets); mu'];         
beq = [1; targetReturn];          
lb = zeros(nAssets, 1);       %求解
[w, risk] = quadprog(H, f, [], [], Aeq, beq, lb);%绘图
%创建图形窗口
figure('Position', [100, 100, 800, 600]);%资产配置比例
h_bar = bar(w, 'FaceColor', 'flat'); % 使用彩色条形图%添加数值标签
for i = 1:length(w)text(i, w(i)+0.01, sprintf('%.2f%%', w(i)*100), ...'HorizontalAlignment', 'center', ...'FontSize', 10);
end
title('最优资产配置比例', 'FontSize', 12, 'FontWeight', 'bold');
xlabel('资产编号', 'FontSize', 10);
ylabel('配置比例', 'FontSize', 10);
grid on;
set(gca, 'XTick', 1:nAssets, 'XTickLabel', compose('资产%d',1:nAssets));
ylim([0, max(w)*1.2]);

运行结果

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

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

相关文章

4. 那在详细说一下 http 2.0 的特点

总结 二进制协议:文本通信改为二进制帧通信,数据可以划分为更小的帧,便于高效解析和传输。多路复用:废除 pipeline 管道,避免了“队头阻塞”问题。允许同一个 TCP 连接同时发送多个请求和协议,提高网络资源…

Qt中遍历QMap的多种方法及性能分析

Qt中遍历QMap的多种方法及性能分析遍历QMap的方法**1、使用迭代器&#xff08;STL风格&#xff09;****2、使用Java风格迭代器****3、使用C11范围循环****4、使用键值分离遍历**性能分析使用建议遍历QMap的方法 1、使用迭代器&#xff08;STL风格&#xff09; QMap<QStrin…

Unity3D物理引擎性能优化策略

前言 在Unity3D中优化物理引擎性能&#xff0c;尤其是处理3D碰撞器与2D碰撞器的映射问题&#xff0c;需要结合系统特性和最佳实践。以下是关键策略和实现方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀…

集群与集群应用

负载均衡与高可用综合实验一、集群是什么&#xff1f;是有一组独立的计算机系统构成的一个松耦合的多处理系统&#xff0c;作为一个整体向用户提供一组网络资源&#xff0c;这些单个的计算机就是集群的节点。二、集群类型Load Balance cluster&#xff08;负载均衡集群&#xf…

jmm,`as - if - serial` 与 `happens - before` 原则

在Java并发编程中&#xff0c;as - if - serial 与 happens - before 原则是确保程序在多线程环境下正确执行的重要规则&#xff0c;下面为你详细讲解&#xff1a; as - if - serial原则 定义&#xff1a;as - if - serial 原则是指&#xff0c;不管编译器和处理器如何优化&…

主流大模型Agent框架 AutoGPT详解

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《GPT多模态大模型与AI Agent智能体》&#xff08;跟我一起学人工智能&#xff09;【陈敬雷编著】【清华大学出版社】 GPT多模态大模型与AI Agent智能体书籍本章配套视频课程【陈敬雷】 文…

kotlin学习,val使用get()的问题

疑问&#xff1a;定义val怎么还能使用get()代码示例&#xff1a;private val nametype:Intget()Business.carInfo?.let{carSc(it)}?:LType.AS回答&#xff1a;Kotlin 允许为属性定义自定义 getter&#xff0c;每次访问属性时会执行该方法疑问&#xff1a;这里引出另一个不解&…

解决el-select数据类型相同但是显示数字的问题

这个不是我写的&#xff0c;只是遇到的bug&#xff0c;写法问题&#xff0c;忽略了值的绑定的问题源代码bug&#xff1a;<el-selectv-model"schemeInfo.horizon"placeholder"请选择起报月份"clearablefilterable><el-option v-for"(option,i…

熟练掌握RabbitMQ和Kafka的使用及相关应用场景。异步通知与解耦,流量削峰,配合本地消息表实现事务的最终一致性并解决消息可靠、顺序消费和错误重试等问题

RabbitMQstock.#.nyse &#xff0c;#匹配多个字符&#xff0c;*匹配一个字符。 Confirm Callback 到达exchange的回调。 Return Callback 到达queue失败的回调。 Kafka Kafka生产端分区器&#xff1a; 1.直接指定partition 指定0,1。 2.设置hashkey&#xff0c;计算key的hash值…

飞算科技:以原创技术赋能数字转型

在数字科技迅猛发展的浪潮中&#xff0c;飞算数智科技&#xff08;深圳&#xff09;有限公司&#xff08;简称 “飞算科技”&#xff09;作为一家自主创新型的数字科技公司&#xff0c;同时也是国家级高新技术企业&#xff0c;正以扎实的技术实力和丰富的实践经验&#xff0c;在…

基于 Rust 的Actix Web 框架的应用与优化实例

基于 Rust 的Actix Web 框架的应用与优化实例 Actix Web 框架概述 Actix Web 是一个基于 Rust 的高性能、轻量级 Web 框架,构建于 Actix 异步运行时之上。它支持异步编程模型,适合构建高并发、低延迟的 Web 服务和 API。 核心特性 异步支持:基于 async/await 语法,充分利…

springMVC01-特点、创建项目、@RequestMapping、获取参数请求,三种域对象

一、简介 SpringMVC 就是 Spring 框架中的 MVC 模块&#xff0c;用于构建 Web 应用中的“控制层”。 SpringMVC 是 Spring 提供的一个基于 Servlet 的 Web MVC 框架模块&#xff0c;是 Spring 整个体系中的“Web 层核心”。 SpringMVC 是 Spring 的一部分&#xff0c;Spring…

Java基础,反射破坏封装性 - 单例模式的崩塌

目录一、容易出现问题的小李代码小李的单例设计看似完美&#xff0c;实则存在三个致命问题&#xff1a;1、反射攻击的天然漏洞2、序列化的隐患3、性能瓶颈二、隔壁老王的优化方案三、为什么这样优化&#xff1f;四、小结周五下午&#xff0c;代码审查会议上&#xff0c;小李自信…

Neo4j 综合练习作业

Neo4j 综合练习作业 作业说明 这个作业涵盖了 Neo4j 的多个重要知识点&#xff0c;包括节点和关系的创建、查询、更新、删除以及高级查询功能。请使用 Cypher 语句完成以下所有题目。 数据准备 首先执行以下语句创建示例数据&#xff1a; ACTED_IN: 表示出演关系 DIRECTED: 表示…

基于PA算法的FTL引导

一、抽象绑定关系 1. 什么是 AF Block,什么是 NF Block,为什么要将多个 NF Block 绑定为一个 AF Block AF Block(Allocation Flash Block) 和 NF Block(NAND Flash Block) 是在 NAND Flash 存储架构中用于管理数据的基本单位。 AF Block 定义:AF Block 是一组多个 NF…

快速入门Java中的IO操作

以下是 Java 中常用的 IO 知识点总结&#xff1a; 1. 流的分类 按数据流向&#xff1a;输入流&#xff08;读取数据&#xff09;和输出流&#xff08;写入数据&#xff09;。按数据类型&#xff1a;字节流&#xff08;处理二进制数据&#xff0c;以字节为单位&#xff09;和字符…

小程序软装: 组件库开发

本节概述 经过前面小节的学习&#xff0c;我们已经搭建起了小程序的编译构建环境&#xff0c;能够将我们开发的小程序项目编译成为对应的逻辑代码文件 logic.js&#xff0c;页面渲染文件 view.js&#xff0c;样式文件 style.css 和配置文件 config.json 在编译小程序的过程中…

250708-Debian系统安装Edge浏览器并配置最小中文输入法

在 Debian 系统上安装 Microsoft Edge 浏览器可以通过以下几种方式进行。Microsoft 官方提供了 .deb 安装包&#xff0c;适用于 Debian、Ubuntu 及其衍生系统。 A. 如何安装&#xff1f; ✅ 方法一&#xff1a;使用 .deb 安装包&#xff08;推荐&#xff09; 步骤 1&#xff…

docker所占硬盘内存指令

使用下面命令可以查看docker所占的硬盘大小&#xff0c;如&#xff1a;docker system dfdocker system df -v

A1126LLHLX-T Allegro霍尔效应锁存器,5kHz+推挽输出,汽车级转速检测专家!

A1126LLHLX-T&#xff08;Allegro&#xff09;产品解析一、产品定位A1126LLHLX-T是Allegro MicroSystems推出的全极性霍尔效应锁存器&#xff0c;采用超薄SOT-23W封装&#xff08;1mm厚度&#xff09;&#xff0c;专为高可靠性位置检测与转速测量设计&#xff0c;具有低功耗、高…