2018年五一杯数学建模B题商业银行人民币贷款规模分配及盈利问题解题全过程文档及程序

news2024/11/15 21:47:29

2019年五一杯数学建模

B题 商业银行人民币贷款规模分配及盈利问题

原题再现

  商业银行贷款投放的简单模型是:从客户端吸收存款,缴存法定准备金(法定准备金率:大型金融机构15.5%,中小金融机构12%;法定准备金利率1.62%),预留一定比例备付水平(商业银行承担支付结算金融中介作用,满足流动性安全),剩余资金用于贷款投放或其他资产配置。
  对商业银行而言,贷款规模增长受限于其存款规模增长,只有在存款有效增长的情况下银行才有充足资金用于贷款投放。具体来说,某家商业银行在全国存款总额中所占比例相对稳定,每年可增长的存款量受限于社会资金总量的增长情况。从经济指标上来看,社会存款增长与GDP、CPI、工业增加值等宏观经济指标密切相关(附件1为2010-2017宏观经济指标及2018年预测情况)。
  在贷款分配模式上,商业银行过去多采用年初预分配、全年限额管理模式,即年初一次性预分配全年规模至各家分行,年度内不再调增。该模式存在较多弊端,如未考虑全年实际可支配贷款规模、环境变化、需求变化等,效率低、弹性差。目前,商业银行多采用以存定贷、存贷结合、表内外协同、资产负债动态平衡模式,既要努力获取全行最大收益,也要平衡各区域发展差异,调动各单位展业积极性,同时也要对国家重大项目、重点政策、民生工程等倾斜扶持,支持实体经济有效发展。
  现有某中型商业银行A,其各家省级分行近三年存贷款业务发展情况见附件2。请查阅相关文献和资料,在对商业银行经营模式有所掌握,对未来经济、利率、汇率等政策及趋势有充分了解和预判的基础上回答以下问题。
  1. 假设该银行除客户存款外无其他资金来源,且暂不考虑备付水平。请根据附件2商业银行A各项存贷款历史数据及附件1宏观经济指标历史数据,建立数学模型,预测该银行2018年存、贷款增量情况。
  2. 假设该银行除客户存款外无其他资金来源,且暂不考虑备付水平。请根据问题1预测的结果并结合附件3相关数据,建立数学模型,给出2018年商业银行A 各分行贷款规模的分配方案,使得全行增量存贷款利息净收入最大,并将该分配方案填入表1。
  3. 若商业银行A将于2018年5月1日发行500亿规模的15年期商业银行普通债(利率约为5.1%),请结合该条件对问题2进一步优化,暂不考虑备付水平情况下,重新设计商业银行A各分行贷款规模的分配方案,使得全行增量存贷款利息净收入最大,并将该分配方案填入表1。
  4. 为保证每日交易正常进行,各家分行每日需预留一定的备付资金(备付资金不足易引起客户不满,严重的会引起社会恐慌,引发挤兑;预留资金过多,会降低银行盈利水平),以确保最低的备付水平(备付水平=备付资金÷存款余额)。假设每个客户存取款的行为是随机的,请根据附件4各分行2017年每日存取款交易数据,建立数学模型,计算在置信水平99%的情况下,2018年商业银行A各分行日常经营所需最低备付金额,并将结果填入表1。
  5. 在贷款规模分配问题上,为了帮助商业银行A处理好收益与风险、企业经营与国际政策导向,区域化差异与分行公平考核等之间的关系,以期达到双赢或多赢,请对以上模型进行改进,并给出相关建议。
  注:所有数据均为假设数据。
在这里插入图片描述

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

  本文利用支持向量机(svm)回归模型、主成分分析、分位数回归、层次分析法等方法,使用 python 语言对方法进行实现,建立了银行贷款额度分配模型,并引入了收益与风险、企业经营与国际政策导向,区域化差异与分行公平考核对于模型进行优化,最后针对商业银行 A 给出了合理的贷款额度分配方案。
  针对问题一,将季度数据合并为年度数据,对数据特征采用主成分分析进行处理并修复缺失值,利用 svm 模型进行回归预测得到 A 行 2018 年贷款增量。
  针对问题二,对利率和存款进行 svm 回归预测得到 2018 年 A 行各地预测值,然后对贷款值进行分位数回归求得贷款规模的上下限,将利率和存款作为固定参数,贷款规模分配作为自变量,贷款规模上下限和问题 1 求得贷款总额作为约束条件,以利息收入为目标,建立数学规划模型,得到使得全行增量存贷款利息净收入最大的贷款规模分配方案。
  针对问题三,加入普通债所获资金 500 亿,调整贷款总额度和贷款规模上限后使用 python 语言的 scipy 包中的 linprog 线性规划模块求解最优贷款规模分配方案。
  针对问题四,统计各地分行每日的存取款之差发现其规律符合正态分布,求得其均值估计和方差估计。利用 2017 年的各分行存款数额、分布均值和方差,得到 2018 年的各分行存款预测数额、分布均值和方差。利用其对各分行贷款额度分配在 99%置信区间对上下界区间进行预测,下界即每日存款小于取款的差额的最大值,可以将此值看作各分行日常经营所需最低备付金额。
  针对问题五,为了实现收益与风险、企业经营与国际政策导向、区域化差异与分行公平考核的多赢。利用层次分析法赋予这三对因素权重,引入风险系数、地区国际化指数、不公平差异,对三对因素在不同贷款规模分配方案上进行量化,最终得到三对因素收益最大的贷款规模分配方案。

模型假设:

  1.假设 2018 年经济情况平稳发展。
  2.假设城市国际化指数和城市风险系数真实有效。
  3.假设每个客户存取款的行为是随机的;
  4.假设银行普通债能够全部卖出,并在普通债到期日付清本息。
  5.假设按照某地存款量来分配贷款额度是公平的。

问题分析:

  问题一的分析
  第一问中要求预测2018年存、贷款增量情况。筛选出附件1主要指标建立与金融机构人民币各项存款余额差值之间的数学模型,对于2018年金融机构人民币各项存款增量进行预测。题目中给出某家商业银行在全国存款总额中所占比例相对稳定,每年可增长的存款量受限于社会资金总量的增长情况,可以由此建立回归预测模型得出该银行存、贷款增量情况。
  问题二的分析
  第二问要求建立数学模型,给出2018年商业银行A使得全行增量存贷款利息净收入最大时的各分行贷款规模的分配方案。可以考虑根据附件1中2015-2018年短期贷款利率以及附件3的各地区存贷款利率水平数据,使用线性回归方法建立宏观指标与地区平均贷款利率的关系式,得到2015-2018年的综合平均贷款利率。再使用线性回归方法分别建立2015-2017年每个地区的贷款利率与其相对应的综合平均贷款利率的关系,进而得到2018年商业银行A各地区分行贷款规模分配方案。
  问题三的分析
  第三问要求在第二问的基础上追加500亿15年期利率为5.1%的商业银行普通债,重新设计使得全行增量存贷款利息净收入最大时的贷款规模分配方案。考虑到商业银行普通债在期末时才会给客户支付利息,因此只代表商业银行A贷款总规模在第二个问的基础上增加了500亿。所以将总贷款规模加500亿带入第二问的数学模型中,得到使得全行增量存贷款利息净收入最大时新的贷款规模分配方案。
  问题四的分析
  第四问要求考虑备付水平,根据各分行 2017 年每日存取款交易数据建立数学模型,计算在置信水平 99%的情况下,2018 年商业银行 A 各分行日常经营所需最低备付金额。在这里,备付资金主要用于客户取款,不考虑其他用途。因此我们统计各地分行每日的存取款之差,作频率图可发现大多数具有类似正态分布的形状,考虑到用户存取款的行为存在随机性,所以假设每日存取款的额度服从正态分布。根据作图观察分析,我们发现分行存款总额和分行存取款差额的均值、分行存款总额和分行存取款差额的方差都存在相关性。因此本文假设 2018 年的各分行的存取款数额也符合正态分布,以 2017 年的数据为基础,建立回归预测模型对 2018 年各分行存取款数额分布的参数进行预测。根据预测获得的参数构建分布,最终获得置信水平 99%的情况下,2018 年商业银行 A 各分行日常经营所需最低备付金额。
  问题五的分析
  第五问要求在贷款规模分配问题上,为了达到双赢或多赢的目标,考虑收益与风险、企业经营与国际政策导向、区域化差异与分行公平考核等之间的关系,对贷款规模分配模型进行优化,并给出相关建议。考虑到实际问题中,贷款规模分配不只是依据利率水平的高低,而是由许多内外部因素综合影响决定的。因此,我们引入量化指标:风险系数向量、各分行所在地区的国际化指数SBII、总体区域化差异以及各地区公平差异向量,分别建立收益与风险、企业经营与国际政策导向、区域化差异与分行公平考核与贷款规模分配比例向量的函数关系,进而得到商业银行A总体效益与贷款规模分配比例向量的关系式。最终即可计算得到使得商业银行A总体效益最大时的贷款规模分配方案。

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

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

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

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

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

npls=[1,1.25,1.67,1.74,1.74,1.83,1.88,1.84,1.73]
year = [i for i in range(2013, 2022)]

p1 = plt.figure(figsize=(8, 4.944))
p1.add_subplot(111)
bar_width = 0.4  # 设置分组条形的宽度

for x, y in enumerate(npls[0:2], start=2013):
    plt.text(x+0.2, y+0.01, y, ha='left', color="r", alpha=0.7)

for x, y in enumerate(npls[2:8], start=2015):
    plt.text(x+0.08, y+0.028, y, ha='left', color="r", alpha=0.7)

for x, y in enumerate(npls[8:], start=2021):
    plt.text(x, y+0.028, y, ha='left', color="r", alpha=0.7)

plt.plot(year, npls, color='r', marker='o', linestyle='--', alpha=0.7, label='不良贷款率(%)')

plt.ylim(0.9, 2)
plt.ylabel('不良贷款率(%)')

plt.title('2013-2021年我国商业银行不良贷款率变化情况(单位:%)')
plt.xlabel('时间(年)')
plt.legend(loc=2)

plt.show()
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

total_assets = [130.8, 150.94, 175.94, 190.42, 203.41, 232.34, 265.79, 281.29]
growth_rate = [None, 15.4, 16.56, 8.23, 6.82, 14.22, 14.4, 5.83]
growth_rate2 = [15.4, 16.56, 8.23, 6.82, 14.22, 14.4, 5.83]
year = [i for i in range(2014, 2022)]

p1 = plt.figure(figsize=(8, 4.944))
ax1 = p1.add_subplot(111)
bar_width = 0.4  # 设置分组条形的宽度
ax1.bar(year, total_assets, width=bar_width, color='steelblue', alpha=0.7, label='总资产(万亿元)')
for x, y in enumerate(total_assets, start=2014):
    plt.text(x, y + 5, y, ha='center')
for x, y in enumerate(growth_rate2, start=2015):
    plt.text(x, y * 13.2 + 5, y, ha='left', color="r", alpha=0.7)
ax2 = ax1.twinx()
ax2.plot(year, growth_rate, color='r', marker='o', linestyle='--', alpha=0.7, label='增长率(%)')
# plt.ylim(0, 300)
ax1.set_ylim(0, 330)
ax2.set_ylim(0, 25)
ax1.set_ylabel('总资产(万亿元)')
ax2.set_ylabel('增长率(%)')
plt.title('2014-2021年上半年我国商业银行总资产变化情况(单位:万亿元,%)')
plt.xlabel('时间(年)')
ax1.legend(loc=2)
ax2.legend(loc=1)

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

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

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

相关文章

安装 eslint 配置指南 及 遇到的一些问题记录

前端eslint配置指南 背景 当前前端项目风格混乱,每个人有自己的开发习惯,有自己的格式化习惯,不便于项目的风格统一,不利于代码维护有的项目eslint没有用起来,没有起到规范代码的作用,导致出现一些基础代码…

RT-DETR算法优化改进:Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11

本文改进:Inner-IoU引入尺度因子 ratio 控制辅助边框的尺度大小用于计算损失,并与现有的基于 IoU ( GIoU, DIoU, CIoU,SIoU )损失进行有效结合 推荐指数:5颗星 新颖指数:5颗星 RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/category_12497375…

UE5 C++报错:is not currently enabled for Live Coding

解决办法: 再次打开项目,以此法打开:

【汇编】Loop指令、段前缀

文章目录 前言一、Loop指令1.1 Loop指令是什么?1.2 他的条件是什么?1.3 例子示例1示例2 1.4 要点总结 二、段前缀2.1 为什么要引入他2.2 对策 总结 前言 在计算机编程的世界里,了解底层的硬件操作是提升程序员能力的关键一步。汇编语言作为一…

AI技术:分享8个非常实用的AI绘画网站

目录 1、Midjourney 2、Stable Diffusion Omline 3、Microsoft Designer 4、Craiyon 5、NightCafe Studio 6、Wombo 7、Dalle-2 8、Avatar AI 1、Midjourney 特点:业内标杆,效果最强大 Midjourney是基于diffusion的AI图画艺术生成器。生成图片不…

PyTorch DataLoader整理函数详解【collate_fn】

DataLoader 是 PyTorch 中最常用的类之一。 而且,它是你首先学习的内容之一。 该类有很多参数,但最有可能的是,你将使用其中的大约三个参数(dataset、shuffle 和 batch_size)。 今天我想解释一下 collate_fn 的含义—根…

【开源】基于JAVA的快递管理系统

项目编号: S 007 ,文末获取源码。 \color{red}{项目编号:S007,文末获取源码。} 项目编号:S007,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 快递类型模块2.3 快…

windows 10 更新永久关闭

1 winR 输入:services.msc 编辑: 关闭:

【快速解决】实验三 简单注册的实现《Android程序设计》实验报告

目录 前言 实验要求 实验三 简单注册的实现 实验目的: 实验内容: 实验提示: 无 三、遇到的问题总结(如果有问题,请总结。如果没问题请写“无”) 正文开始 第一步建立项目 第二步选择empty views a…

Linux-top命令解释

Linux-top命令解释 常用参数查看所有逻辑核的运行情况:1查看指定进程的情况:-p pid显示进程的完整命令:-c 面板指标解释第一行top第二行tasks第三行%Cpu第四行Mem第五行Swap第六行各进程监控PID:进程IDUSER:进程所有者…

什么是BT种子!磁力链接又是如何工作的?

目录 一.什么是BT?1.BT简介:1.1.BT是目前最热门的下载方式之一1.2.BT服务器是通过一种传销的方式来实现文件共享的 2.小知识:2.1.你知道吗BT下载和常规下载到底有哪些不同2.2.BT下载的灵魂:种子2.3.当下载结束后,如果未…

Redis维护缓存的方案选择

Redis中间件常常被用作缓存,而当使用了缓存的时候,缓存中数据的维护,往往是需要重点关注的,尤其是重点考虑的是数据一致性问题。以下是维护数据库缓存的一些常用方案。 1、先删除缓存,再更新数据库 导致数据不一致的…

vulnhub靶机Momentum

下载地址:https://download.vulnhub.com/momentum/Momentum.ova 主机发现 目标192.168.21.129 端口扫描 端口版本扫描 漏洞扫描 扫出来点目录简单看看 发现js里面有一点东西 这里面告诉了我们了web文件有id传值,而且有aes加密还有密钥 跟二没有啥区别&…

ai的潜力和中短期的未来预测

内容来源:rickawsb ​对于描述ai的潜力和中短期的未来预测,我认为到目前为止可能没有比这篇推文总结得更好的了。 我读了三次。 文章起源于一个用户感叹openai升级chatgpt后,支持pdf上传功能,直接让不少的靠这个功能吃饭的创业公…

FISCOBCOS入门(十)Truffle测试helloworld智能合约

本文带你从零开始搭建truffle以及编写迁移脚本和测试文件,并对测试文件的代码进行解释,让你更深入的理解truffle测试智能合约的原理,制作不易,望一键三连 在windos终端内安装truffle npm install -g truffle 安装truffle时可能出现网络报错,多试几次即可 truffle --vers…

CTFhub-RCE-综合过滤练习

%0a、%0d、%0D%0A burp 抓包 修改请求为 POST /?127.0.0.1%0als 列出当前目录 返回包 http://challenge-135e46015a30567b.sandbox.ctfhub.com:10800/?ip127.0.0.1%0acd%09*here%0ac%27a%27t%09* _311632412323588.php

YOLOv8独家改进: Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11

💡💡💡本文独家改进:Inner-IoU引入尺度因子 ratio 控制辅助边框的尺度大小用于计算损失,并与现有的基于 IoU ( GIoU, DIoU, CIoU,SIoU )损失进行有效结合 推荐指数:5颗星 新颖指数:5颗星 💡💡💡Yolov8魔术师,独家首发创新(原创),适用于Yolov5…

苍穹外卖--员工分页查询

请求参数封装: Data public class EmployeePageQueryDTO implements Serializable {//员工姓名private String name;//页码private int page;//每页显示记录数private int pageSize;}请求结果封装: public class PageResult implements Serializable {…

完整版解答!2023年数维杯国际大学生数学建模挑战赛B题

B题完整版全部5问,问题解答、代码,完整论文、模型的建立和求解、各种图表代码已更新! 大家好,目前已完成2023数维杯国际赛B题全部5问的代码和完整论文已更新,部分展示如下: 部分解答图表 问题分析 B题前三…

c++中的String

文章目录 String定义对象的方式成员函数operatorbegin/endsizecapacityreserversizeoperator/append/push_backoperator[]/at String String是一个类模版,可以定义一个字符/字符串对象。 字符顺序表 定义对象的方式 定义方式有很多重要的就这几种 string s1;stri…