2022华中杯量化投资思路与程序 - 知乎

admin 热门赛事 2024-03-28 46 0
2022华中杯量化投资思路与程序 - 知乎

  早上五点十几分起床,当我打开题目第一眼,我就开心了...作为常年做建模的我来说,这个题目做过类似的啊!,去年美赛C题不就是吗?一个关于比特币和黄金投资的问题,请看我去年该比赛的解析:川川菜鸟:2022美赛C题股票投资回顾讲解,教你正确打数学建模比赛

  总收益率、夏普率、最大回撤率,风险率这些都在美赛C题有用到,所以值得研究。

  好了,不能一直高兴,开始读题,边读题边解析理解。

  第一个自然段:大概介绍了量化投资的基本概念,玩炒股的人很懂吧?至少我的计算机学长就是用代码做的市场预测。

  第二个自然段:给了一堆可以参考的指标,暂时也不知道怎么用:

  我们就打开数据表看看哈:

  哎呀卧槽,这数据太熟悉!!如果要预测,是否考虑LSTM?股票预测一般用收盘价作为指标进行预测。除了LSTM,还有什么更先进的方法?如果要赚钱,是否考虑策略设计?既然玩股票,K线图少得了? 这里只是我第一次读题的想法,这里面的问题,我都在我的CSDN做过详细讲解和代码阐述,这里暂时不说,先读题,不能傻高兴。

  补充一下吧,这里有facebook最先进得预测模型案例:川川菜鸟:Prophet时间序列模型预测石油股票

  俄罗斯股票预测案例:川川菜鸟:写点代码分析一下俄罗斯的股票

  第一问:画重点了!就是相关性分析啊。

  相关性分析有哪些?皮尔逊相关系数斯皮尔曼相关性系数肯德尔相关性系数

  这里暂不做过多介绍,下面有讲解。

  第二问就是训练和预测了,这比美赛简单多了,该问题直接说明了用规定数据作为训练集,测试集,机器学习的常规操作了,可以参考我题目导读部分。

  建立一个模型,似乎你的代码并不怎么变,只需自己设计一个模型,添加理论即可:

  这个问题就更简单了,只要你打过美赛的C题,对你并不难,该问题是怼股票的量化交易,策略设计,请直接参考我知乎的美赛策略分析美赛

  美赛的结束的时候,我还给我的群友发了六十多种交易策略和代码,相信在群里的人高兴麻了!哈哈哈哈,欢迎自行下载,任何收费行为与本人无关,个人仅仅是鼓励大家比赛,不传答案,思路到此基本已经非常详细了,代码资料都有了:

  这题不难,但是对于新手来说,你可能举手无措,但是当你看到本篇文章的时候,你一定豁然开朗,后续更新请看知乎:川川菜鸟,公众号:玩转大数据。

  此时已经早上六点了,后续更新请关注本博主,但是我不会传答案,仅仅会对相关知识点做类似讲解,你要是不关注,就找不到我啦,哈哈,本次为第一次更新,但我觉得思路很好了。

  一次数模,终身受益!!!yyds

  2022-4-30-10:38 更新来了,仔细看看数据表:

  指数代码全部一样,说明整个数据是某一种代码,代码号为:931582.CSI。首先值得一提的是,CSI代表的就是数字经济主题,931582.CSI又是什么?根据财经频道相关查询得知,该数据为中证数字经济指数,它跟数字人民币非常相似。

  下图来自东方财富关于该股票得信息版图:

  抱歉。。不是带大家炒股,只是一个题目,你要做就全面了解它,才知道怎么做。

  注意:这个excel有多个表,不要以为只有一个股票买卖数据!

  2022-4-30 15:36 更新....

  查了一下国家统计局数据,对该数据进行实际值填充:

  数据填充依据来源:国家统计局,一月和二月的总额为69737,且一二月只能同时发布,填充两个平均值为:34868.5

  算了,再补充一下,你们不晓得画什么图,这里我把我美赛的股票C题画的图给你们看一下,代码自己写,看清楚,画的是我美赛的图,不是华中杯的图,这里我不能给答案,所以只能美赛的给你们借鉴一下。

  回测图:

  股票每日绘制:

  黄金平均线:

  回报率:

  直方图分布全面了解:

  投资风险率:

  看,这么多图,一写,牛逼一吹,就上档次了。可以对比借鉴绘制类似图形。不说了,看华东杯去了。

  更新怎么写论文,哈哈,论文咋个写,我就把粉丝群的回答截图直接放进来,语文建模也可以拿奖:

  看大家做得实在糊涂,所以决定更新一下,五月三号凌晨更新。。。完整代码和文件可qun 238608065下载,或者自己跑出来也一样、

  对所提供的各项指标进行分析,从中提取出与“数字经济”板块有关的主要指标。所以第一问实际上跟其它的几个表没有关系,后面才会用到。

  首先要绘制趋势图的代码:

  结果如下:

  这一段数据的收益率变化(自己看代码部分,公式就是后一天减去前一天除以前一天)

  Pearson 显著性检验

  输出如下:

  Pearson 相关系数矩阵,在后面继续追加一部分代码:

  Kendalltau相关系数矩阵(另一个相关系数方法了),我们直接在后面继续追加一部分代码即可:

  Spearman系数(又是另一个相关系数方法了),底部添加一部分这个代码即可:

  本次相关系数参考我的这篇相关系数文章:川川菜鸟:matlab相关性分析(皮尔逊,肯德尔,斯皮尔曼)

  以上的方法选择一种即可,比如选择Pearson 相关系数矩阵,根据绘制的图可以得到与收盘价最相关的为开盘价,最高价,最低价。第一问做完了。

  先把数据简单处理一下,无关的列直接删除:

  导入模块:

  读取数据:

  如下:

  只取每一天的最后时间作为指标:(如果你要这一天的每个事件都作为指标,在此基础上循环)

  如下:

  查看股票基本统计描述:

  根据以上结果可以得到,样本数为:130,均值为1535.76(看闭盘),标准差为62.22(波动不算大),最大值为1682.60

  画个简单的趋势图:

  画蜡烛图:

  绘制蜡烛和趋势:

  绘制移动平均线:

  计算每日收益率:

  如下:

  按照月份计算收益率:

  按照季度计算收益率:

  绘制每日百分比变化daily_pct_change的分布

  累积日收益率:

  如下:

  总体来说这个股票不太行,要我真的买,我可不会买。

  2022-5-7 更新一下第四问,思路就是使用SMA算法 ,百度一下能搜到不少相关方法,不知道为啥,我根据这个算法买下来把钱亏安逸了,我调整好再更新。

  补充一个简单的策略吧,大家可以作为参考,数据还是用的上面数据分析里面的数据:

  导入模块:

  读取数据:

  筛选每天的最后时刻为指标:

  如下:

  查看一下数据信息:

  没有空值:

  导入回测和绘图模块:

  设计一个SMA均值策略,当日Close价格上涨突破均值时,则做多,当日Close价格跌破均值时,则做空:

  重新准备一下数据:

  回测设置

  运行如下:

  获取策略的表现:

  结果如下:

  通过cerebro自带的plot函数可以将整个结果画出来,这里可以看到在股票价格上升时买入,在股票价格下降时卖出,符合我们所定的策略规律。

  但同时也可以看到操作的频率比较高,而且整个AAPL在2021年是整体上升的,在不做任何参数优化的前提下,可能从最开始保有股票不做任何操作再到年底全部卖出(Buy-and-hold策略)拿到的收益会更多,下面我们算一下。

  结果如下:

  以上就是一个简单的策略与回测实现本题第四问,总体可以看出我们的策略是较好的。

  欢迎加入粉丝qun ,免费答疑:238608065,其它大群满了,不要重复加,鼓励大家在比赛中提升自己能力。

  推一下我自己:关于个人收徒这事

  绘制热力图是,如果你使用的版本过低会报错如下:

  原因:改函数适用于2019版本以及以后的版本

  参考官方文档:创建热图 - MATLAB heatmap - MathWorks 中国参考官方文档:创建热图 - MATLAB heatmap - MathWorks 中国

评论