o(*^▽^*)┛乐学偶得原创文章
禁止转载
正版视频 | 公众号内【技术视频】
或点击左下角
公众号:乐学Fintech
网站:lexueoude.com
这是乐学偶得的第 【184】篇原创技术文章我们在上一个推送中向大家介绍了利用Seaborn快速实现两只股票相关性的研究与判断:
【Python量化干货】matplotlib加强版!用Seaborn实现金融数据可视化1
现在我们继续探究,将两只股票的情况继续推广到一般情况:假设我们想利用多只股票的联动性与相关性的特点进行研究和交易,这种策略思路就必须要快速对多只股票进行判断了。
A股上市公司根据分类有一级分类与二级分类,细分下不少公司会在一个类别之中,这就给我们分析带来了非常大的便利——不仅仅是我们目前的市场信息,我们在财务,公司估值等价值分析与投行投研层面也可以横向得到不少信息
那么我们不妨选一个行业,将行业中的多只股票进行对比分析:
我们接着上次航空股票与石油股的例子,我们不妨这次也选用航空板块作为研究对象:
我们选取了一级分类为:运输仓储,二级分类为:空运
注意tushare等数据平台一般都会提供行业分类以及相应接口,tushare的要求是需要2000积分,考虑到不一定所有人都有积分,如果不能直接调用,可以采用通过其他方式查询行业分类并通过一般接口调用的方法
因为涉及到批量操作,我们先定义一个函数:
def get_df(ticker,start,end):
df = pro.daily(ts_code=ticker, start_date=start, end_date=end)
# 把trade_date设置为索引
df.set_index('trade_date',inplace=True)
df=df.sort_index(ascending=True)
returns=df["pct_chg"].dropna()
returns.name=ticker
return returns
这样就能通过调用函数批量调取信息:
series_600029=get_df("600029.SH","20180101","20190630")
series_600115=get_df("600115.SH","20180101","20190630")
series_600221=get_df("600221.SH","20180101","20190630")
series_601021=get_df("601021.SH","20180101","20190630")
series_601111=get_df("601111.SH","20180101","20190630")
series_603885=get_df("603885.SH","20180101","20190630")
通过创建sector板块信息:
我们会发现位置不太好看,我们可以通过.T进行矩阵转置:
df_sector=df_sector.T
df_sector
这样就得到了非常好看的板块股票的收盘价信息对比数据了
我们不妨通过seaborn可视化对比一下相关性,快速判断:
现在我们大家来找茬,看看这看似眼花缭乱的数据有哪些比较“刺眼”:
这里允许我们调皮一下:
不需要定量分析,光肉眼就会发现红色圈出的部分:
我们于是可以进一步把这些“比较直”的数据对应的股票找出来:
600029,601111,600115,我们特意将对应的中文简称隐去了,全部通过代号ticker数据进行分析,这样会一视同仁,减少人为的影响。
但是如果我们将这些“刺眼”的数据对应的公司名字对应上去,就会发现:
600029:南方航空
601111:中国航空
600115:东方航空
好像发现了什么......
我们就可以以此进一步量化的分析与构建我们的策略......
更多Python/Java/C/C++/Linux/机器学习 人工智能/量化投资/建模/云计算/游戏开发 Excel/VBA 视频讲解内容 ~(^U^)ノ~YO 点击 欢迎“分享”,“点赞”,“在看”三连,爱你们~