前
好久没写博客了,因为最近在忙别的事情,事情比较多就不想写东西了
所以没在比赛结束的时候直接写总结,拖到了现在
最后的结果是忘记写附录、忘记提交代码和附件了,最终只有三等奖的成绩,这里没有怪我队友的意思,其实有队员记错比赛时间应该所有人都有责任的。
好了,正经说说我们的解法吧,要是觉得特别差劲请嘴下留情。
以下只写我给队友的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获取我的联系方式。
我还是个菜鸟,还在学习中,欢迎大家与我交流呀!
补充个我与队友的聊天记录哈哈哈
|