天天看点

【比赛总结】2022十四届华中杯数学建模比赛总结

好久没写博客了,因为最近在忙别的事情,事情比较多就不想写东西了

所以没在比赛结束的时候直接写总结,拖到了现在

最后的结果是忘记写附录、忘记提交代码和附件了,最终只有三等奖的成绩,这里没有怪我队友的意思,其实有队员记错比赛时间应该所有人都有责任的。

好了,正经说说我们的解法吧,要是觉得特别差劲请嘴下留情。

以下只写我给队友的readme.txt的文件的内容吧,其他的不放了,想要的可以联系我。

我们选的是B题。

第一问是“数字经济”板块的主要指标,我们用的是PCA的做法。

对于第一问我们做了数据的处理,并且使用PCA实现了主成分分析。

readme.txt:

有一个特征值叫ARBR 它后面缺失的比较多 就直接把这个特征值舍弃掉了
剩下的采用的SPSSPro里面的按照线性趋势填充缺失值
数据处理的时候要把“数字经济版块信息”中的5min求平均到每一天赋值
归一化就是(a[i]-min)/(max-min)的值
然后用程序把有所有指标的日期都整理到一个表(final中),预处理结束。

PCA是调用的sklearn里面的API,PCA求权重是用的SPSSPro
求权重的根据是这个链接
https://www.jianshu.com/p/f4d8597f3906
剩下要写的可能要结合PCA的原理啥的了
           

第二问队友找到了LSTM的模型,我发现是个多参数的求最值的问题,考虑用PSO(粒子群)算法,于是给出了pso-lstm的模型

readme.txt:

PSO(粒子群算法)不是可以解决像 f(x1,x2,x3)=****,其中x1∈(),x2∈(),x3∈()这种很多个变量的函数的最值嘛

变量:

可以给它设置7×47个xi,因为有7个指标嘛,每个指标又有47个5min间隔的时间组成,把第1个时间的这个指标的值设成附件中给的那个

形式化来说:xij表示第i个指标第j个时间间隔的变化率,j>=1&&j<=47,xi0=附件中给的数据

这样就能把每5min的第i个指标的值求出来

函数:

不是题目给我们分了训练集和验证集嘛

我们其实可以把训练集中再分出一部分做测试集,方便求函数的返回值(看下文)

所以我们现在就有训练集、测试集、验证集三组数据

先用LSTM训练训练集的数据,之后再将测试集带入到训练完的LSTM模型中

可以用类似于方差的东西,把误差求出来

这个误差就可以表示为函数的返回值,函数的输入就是那7×47个变量的值嘛

训练的数据:x:每5min每个指标的值的组合;y:第二问是成交量,第三问是收盘价

让PSO求这个函数的最小值,迭代一段时间之后,PSO会返回算出的最优的7×47个变量的值

最后再用这组数据带入到LSTM模型中,带入验证集得到答案

(其他:
    我不排除可能存在哪里复杂度偏高的情况,但是我觉得思路这么想应该不会有大问题
    你们先看看有没有问题或者疑问,没问题的话论文里先按照这个写
)
           

第三问其实我觉得主要就是计算,让队友帮忙找了一下每个指标5min变化率的范围,然后用这个反推出计算时需要的一些量的值

(说的不清楚吗?敷衍吗?因为已经半个多月了,我已经记不太清细节了ovo)

readme.txt:

1:

根据1月4号的市场总值,然后根据每一天的成交额可以算出每一天的市场总值(或者直接都查出来)

然后用成交额÷市场总值

2:

把中证500指数的每5min涨跌幅的一个数字特征 看作 当日中证500指数收益率

这样就能算出来 信息比率

3:

第一问知道了每天的收益率,就可以根据100w和佣金,算出每天的资产

直接代入公式求出 最大回撤率


           

不管咋说,吸取教训,也吸取记错时间的教训,以后加油吧。

如果对其中有一部分有问题的或者有想要跟我交流的可以私信我,或者直接前往cls1277.com获取我的联系方式。

我还是个菜鸟,还在学习中,欢迎大家与我交流呀!

补充个我与队友的聊天记录哈哈哈

【比赛总结】2022十四届华中杯数学建模比赛总结

继续阅读