2022年第三届“大湾区杯”粤港澳金融数学数学建模竞赛
文章目录
前言
大湾区杯,作为新型的数学建模比赛,参加费用200元,对大家来说还是偏贵的,比赛足足有七天,大家也可以在平台上结合其他的思路,优化自己的模型,下面是我自己的一些拙见,可以借鉴一下,下面是我的QQ,大家有什么独特的可以加我。a题后续也会出思路,但就不会再a题展示论文了。
2892053776
qq空间有一篇b题的论文链接,大家加完自己去空间里面找,因为是和小伙伴连夜肝出来的,所以有点欠缺。
一、分析B题 券商研报对公司股票走势的影响和投资策略
1、解读题目
大类资产配置是这道题的前言,高达1页去介绍背景,所以解读题目就变得很重要,如何在一众的论文中脱颖而出这也是重点。大类资产配置的重点是如何确定不同资产的比例,在经济处于上升的阶段,我们的投资是更加的激进的,所以四种资产配置中,高收益的会成为首选的目标,所占的权重也会更高;在经济处于衰退阶段,投资则会更加的保守,投资债券、持有现金、等价物(黄金、白银)的比例会更高。
在这里面有一个比较特殊的投资,期货投资(大宗商品)是可以选择买多和卖空两种的,所以在熊市和牛市中都可以选择看多或者看空来达到收益的目的,在题目中应该指的是买多的期货或者是持有现货。
解析题目不难发现,题目其实是给定了特定的结果,而且结果很明显就是指向最有有名的美林时钟框架,下面是一张抄袭过来的图,很形象的表达了在特定的情况下,应该采取什么样的投资策略,如果单纯想拿奖,那就完全跟着美林时钟框架走,完全可以达到三等奖的水平。如果想更进一步,那就需要拿出一些创新,竞赛从来都不是循规蹈矩,创新才会有出路。
2、第一问解析
寻找出高频有效的宏观经济指标,题目所给的宏观指标一共有9个,2级指标28个,筛选数据成为首要的一步,筛选的关键在于你想划分出什么样的宏观经济运行状况,通过知网搜索到的结论通过相关分析得到主要因子,由结果倒推主要指标这是一种方法,这种方法比较不合理,也不好说明,得出来的结果你需要在论文中加以文艺修饰。另外一种就是通过整合数据来得到主要因子的方法,下面主要讲第二种方法。
题目中给到的例子是美林时钟框架将宏观经济运行状况,所选取的指标是经济增长率(GDP)和通货膨胀率(CPI)这2个宏观指标。这两个指标代表了人民生活水平和投资水平的度量衡,选择的原因是重点,大家可以参考论文《The Investment Clock》。
那我们自己选择指标的时候,也理所应当的选择最为具有代表性的指标。同时数据的完整性是必要的,你选择的指标如果有数据缺失,缺失的数据建议是进行填补,插值、拟合都可以,其中GDP、CPI、利率水平、就业率、银行超额准备金利率可以重点关注一下。你选择了什么样的指标不重要,重要的是如何解释(不知道怎么解释的,借助知网上别人的论文,用自己的话表述一下)。后续有论文可以给大家伙们参考,其中就有说明。这里也是创新点,你可以打破原有的束缚,不一定要分成衰退,复苏,过热,滞胀这四个时期,可以到国外的网站找一下,会得到很多启发,国外论文查询网站的链接放在下面了。
https://www.paperswithcode.com/
https://www.tandfonline.com/
https://www.researchgate.net/
https://peerj.com/
https://www.sciencedirect.com/
3、第二问解析
第二问的解析反而是最简单的,同样有两种方法,第一种只要通过第一题建立的模型,建立走向的预测图,直接进行自回归进行预测就可以了,预测接下去中国的经济状态(如一个经济周期大概是多久,现在处于的周期的哪一个位置,就可以预测5年的中国面临的经济状态);第二种是通过其它数学模型模拟中国未来五年的经济增长,通过拟合的主要指标数据套到第一问的模型,同样可以得到应该处于什么样的经济状态,注意不要割裂上下文之间的联系。
注:数据是贴合国家统计局发布的数据的,所以预测的时候一定要考虑实际的状况,下面是国家统计局和题目所给人口数据的对比,是完全一样的。
4、第三问解析
这里就运用到了之前所说的背景了,注意,到了这里要额外的注意四类资产的代表性,什么是代表性,越先出现越具有代表性?其实在我们生活中,最常常提起的越具有代表性,最经典的例子,我们说的a股走势,指的就是上证50的走势,而不是其他股票,当然你也可以选择沪深300,选择的理由有沪深300覆盖的面更加广阔,包括了深圳上海两个证券交易所。
同理的,其他的指标选择都要有相应的解释,我自己的推荐建议是:上证50、标普高盛商品全收益指数、中债-综合财富(3-5年)指数、货币基金。(仅供参考)
选择完就需要进行解释选择的原因,解释完就是预测风险特征和指标之间的相关性,我都放在下面的代码中了,也省得大家去一个一个找。
4、第四问解析
第四问就是第二问和第三问的结合体,在特定的环境下需要投资的决策,注意这里是有投资上限的,因为在背景中就有介绍说到你不能精确预测未来的走势,所以需要固定指数的投资上限。下面是美林时钟框架的投资组合。
衰退期(低GDP+低CPI: 产能过剩和大宗商品价格下跌使得GDP增速放缓,通胀率也较低。 企业收益率下降,收益率曲线向下移动并陡峭,因为央行会降低短期利率,试图使经济回到其可持续增长道路。此时,由于安全性最重要,债券稳健,还能收获利息,因此债券是最好的投资配置。
复苏期(高GDP+低CPI):经济复苏时,宽松的政策逐步开始奏效,经济增长开始加速。然而,通货膨胀继续下降,因为多余的产能还没有完全被利用起来,但周期性生产力的增长强劲,利润改善。中央银行仍然保持政策松动,债券收益率曲线仍在较低位置。 此时,由于股票能获得经济发展的红利,因此最宜投资股票。
过热期(高GDP+高CPI): 经济过热时,生产率增长放缓,产能受限,通货膨胀上升。中央银行加息使过热的经济回到可持续增长路径,GDP增长仍保持在较高水平。 债券表现较差,因为收益率曲线向上移动和并平坦化。 股票回报如何取决于利润增长导致估值上升和利率上升导致的估值下降两方面。此时,由于大宗商品抗通账性较好,因此选择大宗商品表现最好。
滞涨期(低GDP+高CPI): 随着通货膨胀进一步加剧,生产力下降,工资、价格螺旋式上升,公司提高价格以保护其利润边际,GDP增速放缓,高成本促使企业通过裁员来消减成本,失业率不断攀升。同时减少投资,经进一步收缩。而由于通胀太高,央行也不愿意放松货币政策,此时市场严重缺少流动性,因此,现金是最好的投资资产。
有了投资的方向还需要确定投资的比例,这就需要用到预测,通过四个指标的自回归预测出接下来5年的数据,再通过预测的数据进行投资组合的风险收益模型,就可以得到对应的结果,听起来复杂,其实代码量也就几行,重要的是你写论文的水平。
二、代码
matlab代码如下:
%%怎样配置资产组合为最优组合
clear,clc
load matlab.mat %导入数据
R = cov(test) %生成协方差矩阵
ExpReturn=[ ; ; ;]; %组合中每个证券的预期收益率
%组合中证券的协方差矩阵
ExpCovariance = [];
PortWts=1/4.*ones(1,4);
%NumPorts=10;
%p = Portfolio;
%p = setAssetMoments(p, ExpReturn, ExpCovariance);
%p = setDefaultConstraints(p);
[PortRisk, PortReturn] = portstats(ExpReturn, ExpCovariance, PortWts)
%风险(标准差) PortRisk、组合收益率 PortReturn
figure(1)
plotFrontier(p, NumPorts); %画图
%%各个资产投资上限为50%,求解有效前沿
AssetBounds=[0,0,0;0.5,0.5,0.5,0.5];
LowerBound=AssetBounds(1,:);
UpperBound=AssetBounds(2,:);
NumPorts=4;%输入投资组合权重有 4 个资产,投资组合对象有4 项资产。
p = Portfolio;
p = setAssetMoments(p, ExpReturn, ExpCovariance);
p = setDefaultConstraints(p);
p = setBounds(p, LowerBound, UpperBound);
PortWts = estimateFrontier(p, NumPorts)'
[PortRisk, PortReturn] = estimatePortMoments(p, PortWts)
%画图
disp([PortRisk, PortReturn]);
figure(2)
subplot(1,2,1);
plotFrontier(p, NumPorts);
xlabel('收益率方差');
ylabel('期望收益率');
title('均值-方差模型的有效边界')
subplot(1,2,2);
plot([0.0008 0.0010 0.0004 0.0005 0.0014 0.0039 0.0016],[10.9 8.9 7.0 6.6 6.4 6.3 6.3]);
title('均值-方差模型风险收益比随 p 变化的趋势');
xlabel('p');
ylabel('PortRisk/PortReturn');
%%夏普比率sharpe函数
load sy %导入数据
Rate=price2ret(sy);
text1=Rate(:,2);
text2=Rate(:,3);
text3=Rate(:,4);
text4=Rate(:,5);
daynum=fix(length(Rate)/2);
Cash=(1+0.03)^(1/daynum)-1;
Ratiotext1 = sharpe(text1(1:daynum),Cash)
Ratiotext11 = sharpe(text1(daynum+1:2*daynum),Cash)
Ratiotext2 = sharpe(text2(1:daynum),Cash)
Ratiotext22 = sharpe(text2(daynum+1:2*daynum),Cash)
Ratiotext3 = sharpe(text3(1:daynum),Cash)
Ratiotext33 = sharpe(text3(daynum+1:2*daynum),Cash)
Ratiotext4 = sharpe(text4(1:daynum),Cash)
Ratiotext44 = sharpe(text4(daynum+1:2*daynum),Cash)
%%信息比率
load sy %导入数据
Rate=price2ret(sy);
text0 = Rate(:,1); %对比于某一个指标的收益率
text1=Rate(:,2);
text2=Rate(:,3);
text3=Rate(:,4);
text4=Rate(:,5);
daynum=fix(length(Rate)/2);
Cash=(1+0.03)^(1/daynum)-1;
daynum = fix(length(Rate)/2);
Ratiotext1 = inforatio(text1(1:daynum),text0(1:daynum))
Ratiotext11 = inforatio(text1(daynum+1:2*daynum),text0(daynum+1:2*daynum))
Ratiotext2 = inforatio(text2(1:daynum),text0(1:daynum))
Ratiotext22 = inforatio(text2(daynum+1:2*daynum),text0(daynum+1:2*daynum))
Ratiotext3 = inforatio(text3(1:daynum),text0(1:daynum))
Ratiotext33 = inforatio(text3(daynum+1:2*daynum),text0(daynum+1:2*daynum))
Ratiotext4 = inforatio(text4(1:daynum),text0(1:daynum))
Ratiotext44 = inforatio(text4(daynum+1:2*daynum),text0(daynum+1:2*daynum))
版权归原作者 饿哦批挖 所有, 如有侵权,请联系我们删除。