2020年五一杯数学建模B题基于系统性风险角度的基金资产配置策略分析解题全过程文档及程序

2020年五一杯数学建模

B题 基于系统性风险角度的基金资产配置策略分析

原题再现

  近年来,随着改革开放程度的不断提高,我国经济运行中的各种风险逐渐暴露并集中传导和体现于金融领域。党的“十九大”报告提出“守住不发生系统性金融风险的底线”要求,并将防范化解重大风险看成决胜全面建成小康社会三大攻坚战的首要战役。
  作为金融系统的重要组成部分之一,资产管理业务的风险状况同样是我国金融体制改革过程中值得关注的问题。因此,中国人民银行于2018年出台了《关于规范金融机构资产管理业务的指导意见》,旨在规范金融机构资产管理业务,有效防控金融风险,引导社会资金流向实体经济,更好地支持经济结构调整和转型升级。
公募基金是最具代表性的资产管理业务形态。由于采取相对绩效考核制度,竞争压力使得公募基金资产配置变得非常复杂,持股集中度也相对较高,成为影响系统性风险的潜在因素。因此如何平衡基金投资收益和系统性风险之间的关系值得深入探究。
  请考虑下列问题:
  1. 附件1提供了2019年十家公募基金公司在股市中的一部分资产配置信息。请以此样本为例,建立合适的数学模型,度量不同基金公司之间资产配置策略的相似性。
  2. 附件2提供了2019年样本股票价格数据,假设以所有基金的持股市值总和作为初始财富,以投资效用最大化为目标,请建立合适的数学模型,确定最优的股票投资组合策略(不考虑股票之间的相关性且不允许卖空)。
  3. 假设2020年所有基金公司仍然按照2019年的资产配置策略进行投资。请根据附件1和附件2建立合适的数学模型,度量每个基金公司2020年95%置信水平下的风险价值,并进行排序。
  4. 如果要求2020年整个系统(所有样本基金公司组成)既能保证投资效用最大化,同时又能使风险价值最低,请建立合适的数学模型,确定最优的股票投资组合策略,并给出投资效用和风险价值。

整体求解过程概述(摘要)

  针对本文给出的基金资产配置策略问题,本文建立了结合小波分析算法,均值-方差模型,蒙特卡罗模拟方法以及遗传算法的资产配资投资效益优化模型,对企业购买股票以及合理进行资金的配置具有一定的指导作用。
  针对问题一 本文使用皮尔逊相关系数与系统聚类的方法对基金公司的资产配置策略相似性进行度量,将每个公司购买的每种股票的总股价占所有股票总股价的比例作为指标,计算皮尔逊相关系数矩阵,再将比例作为指标进行系统聚类,与相关系数大小做对比,得到基金公司 A、B、C 的资产配置策略相似性较强,基金公司 D、F、G、H、I资产配置相似性较强,基金公司 E、G 与的资产配置策略与其他公司并没有强烈的相关性。
  针对问题二 本文结合小波分析算法与均值-方差模型确定使投资效用最大化的股票投资策略,首先补全股价缺失值,使用小波分析算法对数据进行降噪,再使用样条插值补全数据。之后计算协方差矩阵代入均值方差模型求解确定了投资效用最大的策略:总资金的 11.67% 购买股票 7,14.01% 购买股票 16,22.12% 购买股票 22,1.36% 购买股票 32,11.84% 购买股票 43,30.54% 购买股票 50,8.47% 购买股票 57。
  针对问题三 本文使用历史模拟法、蒙特卡罗方法,参数模拟法度量每个基金公司2020 年 95% 置信水平下的风险价值,首先检验各股票价格是否服从正态分布,之后用三种方法进行多次模拟,得到平均风险价值最高的基金公司为公司 H,其用三种方法计算得到的风险价值分别为 9832885917 元,1194423950 元,1075206716 元,平均风险价值最低的基金公司为公司 F,其用三种方法计算得到的风险价值分别为 201389015 元,274851565 元,238205436 元。
  针对问题四 本文建立了整个系统的兼顾投资效益以及风险价值的投资策略优化模型,并且使用遗传算法,改变初始参数多次进行求解,得到最佳适应度收敛时所对应的股票投资策略,得到当等比例投资股票 5、股票 13、股票 14、股票 19、股票 22、股票 28、股票 37、股票 38、股票 39、股票 54 时,整体适应度最高,其股票收益率期望为 0.0037,整个系统的风险价值为 4088819938 元。

模型假设:

  1 假设 2020 年无金融危机、重大自然灾害、卫生事故等影响股票价格及投资者投资策略决策的因素。
  2 假设所有决策者的市场信息公开透明并且准确。
  3 假设所有投资者均可以根据市场的变化以自身利益最大化、风险最小化为目标进行选股投资。

问题分析:

  问题一分析
  首先应该解决的是如何将公司的资产配置策略定量表示,之后再考虑如何用数学模型衡量两个公司之间的资产配置的相似性。
  问题二分析
  首先要理解股票价格变动的规律,用合理的方法补全数据,之后再用已有数据指标定义投资效用,建立约束条件灵活的规划模型,以投资效用最大化为目标,用软件求解。
  问题三分析
  首先要建立合适的模型对 2020 年的的风险价值进行评估,由于 2019 年的历史数据可以利用,可以用历史模拟法或蒙特卡罗法进行模拟,多次模拟后计算出 95% 置信水平下的风险价值并进行排序。
  问题四分析
  首先需要建立兼顾效益与风险的投资效益模型,其中问题二的结果可以作为参考,之后再选用合适的方法求解模型,例如 Lingo、智能算法等。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:(代码和文档not free)

%根据信号计算噪声强度,给出全局阈值
[thr,sorh,keepapp]=ddencmp('den','wv',x);
%根据全局阈值对信号去噪
xd=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);
%用sym4小波对信号做4层分解
[c,l]=wavedec(x,4,'sym4');
%得到每个层次的分层阈值
[thr1,nkeep]=wdcbm(c,l,2);
%根据分层阈值使用软阈值方法对信号去噪
[xd1,cxd,lxd,perf0,perfl2]=wdencmp('lvd',c,l,'sym4',4,thr1,'s');
%绘制原始信号和去噪后信号的图形
subplot(3,1,1);plot(x);title('原始股票单价');
subplot(3,1,2);plot(xd);title('使用全局阈值去噪后的股票单价');
subplot(3,1,3);plot(xd1);title('使用分层阈值去噪后的股票单价');
%gushu为附件一中每家公司的投资股票的股数
%closeprice为补全后的股票每日的收盘价
%%历史模拟法
value=0;
for i=1:10
value = value+gushu(i).*closeprice(:,i);
end
% 投资组合收益率
ret = price2ret(value);
figure;
subplot(2,1,1);
x=1:244;
plot(x,value);
xlabel('时间');
ylabel('组合市值');
title('投资组合市值')
subplot(2,1,2);
plot(x(2:end),ret,'*');
xlabel('时间');
ylabel('收益率');
title('投资组合日收益率')
%绘制投资组合收益率直方图
figure;
histogram(ret,20);
ylabel('天数');
xlabel('投资组合日收益率');
title('历史模拟法投资组合日收益率直方图');
%在5%置信度时,市值亏损的最大比率
Var = -prctile(ret,5) * value(end);
disp(['历史模拟法投资组合VaR为',num2str(Var)]);
%% 蒙特卡罗模拟
%计算日收益率均值和方差
mu = mean(ret);
vol = std(ret);
% 模拟间隔点
nStep = 250;
% 年化波动率
vol = vol * sqrt(nStep);
%资产初始值
s0 = value(1);
% 模拟时长
T = 1;
% 模拟路径数
nPath = 1000;
%用蒙特卡洛模拟1000次
sPath = simulatePath(s0,mu,vol,T,nStep,nPath);
% 绘制蒙特卡罗法模拟路径
figure;
plot(sPath);
xlabel('模拟时间点');
ylabel('组合市值');
title('蒙特卡罗法模拟路径');
% 计算每条模拟路径的var
ret_mc = price2ret(sPath);
Var = -mean(prctile(ret_mc,5)) * value(end);
disp(['蒙特卡罗法投资组合VaR为',num2str(Var)]);
%% 参数模型法
vol = std(ret);
ValueAtRisk = portvrisk(mu,vol);
Var = ValueAtRisk * value(end);
disp(['参数模型法投资组合VaR为',num2str(Var)]);
%%simulatePath函数
function sPath = simulatePath(S0,mu,sigma,T,nStep,nPath)
%S0资产初始值
%T模拟时长
%nStep模拟间隔点
%nPath模拟路径数
%日收益率均值
% mu=r-q
% time step
deltaT = T / nStep;
% initialize stock price matrix
sPath = nan(nStep+1,nPath);
sPath(1,:) = S0;
% Simulated according to ITO's lemma
p1 = (mu - 0.5 * sigma ^ 2 ) * deltaT;
p2 = sigma * sqrt(deltaT);
for i = 1:nPath
for j = 1:nStep
sPath(j+1,i) = sPath(j,i) * exp(p1 + p2 * randn);
end
end
end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

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

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

相关文章

【云备份项目两万字总结】服务端篇 -----附源码

项目总结 整体回顾逐步实现utill.hppconfig.hppdata.hpphot.hppservice.hpp 代码 整体回顾 服务端的目标是: 对客户端的请求进行处理管理客户端上传的文件 于客户端进行数据交换,我们需要引入网络,所以我们引入第三方库----httplib.h库&am…

【见缝插针】射击类游戏-微信小程序项目开发流程详解

还记得小时候玩过的见缝插针游戏吗,比一比看谁插得针比较多,可有趣了,当然了,通过它可以训练自己的手速反应,以及射击水平,把握时机,得分越高就越有成就感,相信小朋友们会喜欢它的&a…

暴力递归转动态规划(十五)

题目 给定一个正数n,求n的裂开方法数, 规定:后面的数不能比前面的数小 比如4的裂开方法有: 1111、112、13、22、04 。 5种,所以返回5 暴力递归 用暴力递归方法进行尝试,整体思路是这样: 暴力递…

边缘分布式机器学习

目录 通信机制同步Synchronous异步Asynchronous半同步/延时同步通信的拓扑结构基于迭代式MapReduce的通信(同步模式)基于MPI之AllReduce的通信(同步模式)AllReduce有很多变种 基于参数服务器的通信(多为异步&#xff0…

傅里叶分析(1)

1 概述 傅里叶分析是信号分析中常用方法之一。傅里叶分析可将信号在时域和频域之间进行转换,从而分析信号在频域上的特点。 傅里叶分析(Fourier analysis)根据信号的时域数据特征,分为 4 个类别: 傅里叶级数&#x…

如何在 Python 中执行 MySQL 结果限制和分页查询

Python MySQL 限制结果 限制结果数量 示例 1: 获取您自己的 Python 服务器 选择 “customers” 表中的前 5 条记录: import mysql.connectormydb mysql.connector.connect(host"localhost",user"您的用户名",password"您的密码"…

基于安卓android微信小程序的物流仓储系统

项目介绍 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对物流仓储系统进行需求分析,得出物流仓储系统主要功能。接着对物流仓储系统进行总体设计和详细…

Vue.Draggable 踩坑:add 事件与 change 事件中 newIndex 字段不同之谜

背景 最近在弄自定义表单,需要拖动组件进行表单设计,所以用到了 Vue.Draggable(中文文档)。Vue.Draggable 是一款基于 Sortable.js 实现的 vue 拖拽插件,文档挺简单的,用起来也方便,但没想到接下来给我遇到了灵异事件……

PySide/PYQT如何用Qt Designer和代码来设置文字属性,如何设置文字颜色?

文章目录 📖 介绍 📖🏡 环境 🏡📒 实现方法 📒📝 Qt Designer设置📝 代码📖 介绍 📖 本人介绍如何使用Qt Designer/代码来设置字体属性(包含字体颜色) 🏡 环境 🏡 本文使用Pyside6来进行演示📒 实现方法 📒 📝 Qt Designer设置 首先打开Qt De…

如何在ModelScope社区魔搭下载所需的模型

本篇文章介绍如何在ModelScope社区下载所需的模型。 若您需要在ModelScope平台上有感兴趣的模型并希望能下载至本地,则ModelScope提供了多种下载模型的方式。 使用Library下载模型 若该模型已集成至ModelScope的Library中,则您只需要几行代码即可加载…

mysql8安装和驱动jar包下载

方式一:基于docker安装 下拉镜像 docker pull mysql:8.0.21 启动镜像 docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORDhadoop -d mysql:8.0.21 启动成功后,进入容器内部拷贝配置文件,到宿主主机 docker cp mysql:/etc/mysql…

人工智能基础——图像认知与OpenCV

人工智能的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心,我为大家整理了一份600多G的学习资源,基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

pandas笔记:读写excel

1 读excel read_excel函数能够读取的格式包含:xls, xlsx, xlsm, xlsb, odf, ods 和 odt 文件扩展名。 支持读取单一sheet或几个sheet。 1.0 使用的数据 1.1 主要使用方法 pandas.read_excel(io, sheet_name0, header0, namesNone, index_colNone, usecolsNon…

pyqt环境搭建

创建虚拟环境 # 用管理员身份运行 conda create --prefixE:\Python\envs\pyqt5stu python3.6 # 激活虚拟环境 conda activate E:\Python\envs\pyqt5stu # 退出虚拟环境 conda deactivate安装包 pip install PyQt5 -i https://pypi.douban.com/simple pip install PyQt5-tools…

如何用Excel软件制作最小二乘法①

一、用自带的选项(不推荐),因为感觉只是近似,虽然结果一样 1.在Excel中输入或打开要进行在excel中输入或打开要进行最小二乘法拟合的数据,如图所示。 2.按住“shift”键的同时,用鼠标左键单击以选择数据&a…

【4】Gradle-快速入门使用【Gradle多模块项目详解】

目录 【4】Gradle-快速入门使用【Gradle多模块项目详解】创建多项目构建添加子项目命名建议 项目依赖项项目路径不同模块的build.gradle配置 子项目之间共享构建逻辑公约插件跨项目配置buildSrc开发公约插件 调整多模块项目配置修改项目树的元素 了解Gralde配置时间和执行时间并…

红黑树,AVLTree树(平衡二叉树)迭代器原理讲解

红黑树,AVLTree树底层实现逻辑都是平衡二叉树(AVLTree高度平衡,红黑树以某种规则平衡),但终究不像链表的迭代器那样逻辑简单。 简单叙述以下,二叉树上面迭代器的运行逻辑,根据下面的图&#xff…

Nginx:如何实现一个域名访问多个项目

1. 背景介绍 最近在多个项目部署中遇到这样一个问题,一个域名如何实现多个项目的访问。因为不想自己单独去申请域名证书和域名配置,便想到了这个方案,结合Nginx的location功能实现了自己的需求,便记录下来。示例中是以项目演示&a…

从TCP到Socket,彻底理解网络编程是怎么回事

进行程序开发的同学,无论Web前端开发、Web后端开发,还是搜索引擎和大数据,几乎所有的开发领域都会涉及到网络编程。比如我们进行Web服务端开发,除了Web协议本身依赖网络外,通常还需要连接数据库,而数据库连…

OpenWRT配置SFTP远程文件传输,让数据分享更安全

文章目录 前言 1. openssh-sftp-server 安装2. 安装cpolar工具3.配置SFTP远程访问4.固定远程连接地址 前言 本次教程我们将在OpenWRT上安装SFTP服务,并结合cpolar内网穿透,创建安全隧道映射22端口,实现在公网环境下远程OpenWRT SFTP&#xf…