关闭
您正在使用的浏览器版本较低,无法支持聚宽的某些特性。
为了获得更好的体验,推荐使用:
Google Chrome
或者
Mozilla Firefox
或者
IE9以上
。
返回主题列表
宏观数据预测大盘走势
云帆
发布于2019-03-03
回复 72
浏览 12228
388
listen
分享到:
微信
微博
雪球
最近好久没发文章了,猫在家里研究宏观经济数据怎样预测股市走势。经过反复研究,终于有一个不错的结果。赶紧拿出来分享给小伙伴。讲真,看到结果的时候我是震惊的,只用了宏观数据,没有使用任何其他复合策略,结果竟能有这么高的准确率。 本文的策略可以用于宏观择时,配合行业分析和个股分析,定能有不错的结果。 本文代码大概600行左右,尽量呈现完整简练的策略开发代码框架,另有中间的数据分析和可视化部分删掉了,在其他类似策略研究时只要改一下数据和参数代码就可以直接使用,省时高效。 以下为策略介绍: 量化分析工作从大的方面可以分三部分:宏观、中观和微观。 宏观:通过研究宏观经济数据来分析、判断未来经济走势。 中观:依据行业数据,对行业趋势、轮动等进行分析。 微观:依据公司基本面数据,进行选股。 经济走势很大程度上会反应到股市当中,经济形式向好则股市为牛市的概率大。当经济基本面较弱,下行压力大,则股市冷淡。例如,2018年整体经济下行,股市下跌幅度较大,股市走势和宏观经济走势呈现强相关。在投资决策时,宏观经济预测将是最为重要的参考,在此基础上再做行业和企业层面的分析。 本文选用沪深300为标的,用以衡量大盘走势,依据宏观数据分析,预测未来走势。 采用的预测方法:经过机器学习算法和神经网络算法尝试,最后发现LSTM算法预测效果最好。 训练数据:采用2005年到2016年共11年数据作为训练数据。 预测范围:2016年至2019年,共3年。 预测周期:3个月,即用当前宏观数据预测未来3个月大盘走势。 LSTM数据周期:5,即用过去5期的数据作为输入数据。也就是说,认为过去5个月的宏观数据对未来预测有影响。 预测结果:  上图为基于预测结果进行买卖决策的收益,下图为沪深300走势图,从两图的对比中可以明显看出,在上升趋势时基本做了买入决定,在下降趋势时选择空仓。时机把握非常准确,回撤很小,曲线基本是一路上升。 预测数据:   在对预测结果分析时发现,如果有做空机制,策略收益会更高,因为在下跌预测中也有不错的效果。A股正在慢慢放开做空,以后将会有正反两个盈利方向,策略效率翻倍。 不足之处: 本文代码使用数据量较大,算法耗时时间长,我的结果是在自己机器上跑的,在云端跑数据耗时太久,我就不跑了,大家可以复制代码到自己机器上跑,如果有问题欢迎交流。 由于聚宽云端策略模块尚不支持tensorflow和lightGBM等库,所以没法写成策略,只能以研究的方式分享,聚宽现在有客户端了,可以自己安装各种库,很好用,我在客户端写成策略,效果基本一致。 本策略只考虑了一个因素,不可能解释股市的复杂,需要结合其他策略配合使用。
388
listen
分享到:
微信
微博
雪球
评论
wzyhust
oooo
2019-03-03
阿丹25
看上去挺高端的那种,貌似需要一定的时间和精力去研究了
2019-03-05
向日葵向阳花
跑了几个小时也没有结果,哈哈~
2019-03-07
云帆
@向日葵向阳花 正常,数据量很大,而且里面的一些算法非常耗时。
2019-03-08
感到不爽
模型有个问题啊,在monthly_fun(month_l,sd,end_d)这一步,多运行几次,结果是不一样的。原因应该是在于LSTM初始值不一样,由于样本较小,所以训练的结果并不一致
2019-03-11
云帆
@感到不爽 谢谢提醒,确实存在你说的问题,我跑了几次结果有差别,但差别不大,LSTM可以再细致调参,不过样本小确实是硬伤。
2019-03-11
阿丹25
数据调用函数是聚宽的,在本地运行也如何可以调用这些函数获取数据呢?
2019-03-29
云帆
@阿丹25 是的,在本地安装 jqdatasdk 库,获取权限,就可以在本地运行了。给你找了篇帖子参考一下:https://blog.csdn.net/joinquantdata/article/details/82463427
2019-03-30
阿丹25
@云帆 谢谢,已经在本地研究了,我把一段段代码拼凑在一起,不过运行的时候有个小问题,我在运行的时候出现: 这一行city_eatate = city_eatate_all.groupby(['stat_month']).mean() 错误提示: DataError: No numeric types to aggregate
2019-04-04
阿丹25
好了,将代码中的from jqdata import *改成from jqdatasdk import *
2019-04-04
阿丹25
代码好多,TensorFlow还不是太熟悉,得继续学习。我希望通过学习替换成pytorch,然后把学习好的模型pickle到本地化,然后每天运行一次用于预测指导etf基金的买卖。
2019-04-04
阿丹25
还有一个问题请教一下大佬,我们所能得到的财务数据,都是延迟很长时间的,20只应用中,貌似
2019-04-04
阿丹25
还有一个问题请教一下大佬,我们所能得到的财务数据都是严重的延迟,这还怎么预测…像你那样做代码回测是可以的,但在实际应用中,貌似不行吧,比方说我要预测19年第2季度大盘走势,可是第二季度的财务数据要到第三季度才有…我等到第三季度在运行这段代码,看对第二季度的预测准不准,貌似没有任何意义了吧!
2019-04-04
云帆
@阿丹25 非常棒的问题,不同的宏观数据发布的时间不同,延迟也不同,预测时这是要重点考虑的因素。在做数据处理时要避免未来函数,例如:预测3月份的行情,但只有1月份的数据,之后的还没有公布,这时就用最近的1月份的数据做预测。我近期会发布新的策略,也是宏观择时的,里面考虑的因素比较齐全,包括你说的这个问题,我会发布研究和策略代码,到时候可以关注一下。
2019-04-04
阿丹25
@云帆 期待中...只要能初步预测hs300指数走势就可以了,毕竟对个股来说影响因素更为复杂(甚至可能受庄家操控以及突发新闻的影响)。 最好能给出指数买卖信号,这样至少可以对ETF基金买卖起到参考作用。
2019-04-04
zhourenjun
感谢大佬分享!
2019-07-05
云帆
@zhourenjun 客气客气,一起进步。
2019-07-06
侠义可钦
本人研二在读,方向正好为基于神经网络模型的量化策略设计。希望能跟着楼主学习,共同进步哈哈。
2019-07-07
云帆
@侠义可钦 好滴好滴,互相学习。
2019-07-08
ops2quant
请问楼主,选取的宏观经济的几个指标,是基于您的经验,参考某些研报还是有其它的筛选方法?
2019-07-08
首页
上一页
1
2
3
4
下一页
尾页
您尚未登录,请
登录
或者
注册
聚宽发表回复。
取 消
提 交