呆鸟的Python数据分析odoo

利用python+tushare分析海康威视和中兴通讯之间的关系

2020-05-05  本文已影响0人  唐朝品鉴

一、股票间的关系

当你关注一只股票的时候,你往往会一直去关注他的上涨、下跌,但是他的上涨下跌不是单一的,会与股票的本身、行业等相关,也会与其他股票有关系。

今天我利用python+tushare来分析一下海康威视与中兴通讯的关系,当然我是随意选的,可以利用自己的专业知识去选择较强关联的股票来分析。

下表是最近三年的历史数据,分析股价变化、交易量的关系。

  海康与中兴两股之间的最近三年股价、交易量相关关系分析

二、tushare介绍

Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,Tushare同时兼容Python 2.x和Python 3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。

三、使用tushare获取

如果想要较好的使用tushare,最好先注册,会更加的稳定和可靠。

具体代码如下:

# -*- coding: utf-8 -*-

'''

Author:唐朝品鉴

Date:2020年5月01日

获取海康威视、中信通讯的三年股票数据,分析两者的关系

'''

import pandas as pd

import  tushare as ts

import matplotlib.pyplot as plt

#利用tushare获取两个指数的数据,

#ts.get_hist_data获取的是三年的数据

df1=ts.get_hist_data('002415') #海康威视

df2=ts.get_hist_data('000063') #中兴通讯

def mydata(df,tcode):

    # 插入一列fdate,并把值设为索引的值

    df.insert(0, 'fdate', df.index.values)

    #按fdate列进行排序

    df.sort_values('fdate',inplace=True)

    # 删除原来的索引,重新按序号生成索引

    df.reset_index(drop=True, inplace=True)

    #重新命名

    for column in df.iloc[:, 1:]:

        df.rename(columns={column: str(column) +'_'+str(tcode)}, inplace=True)

    return df

df3=mydata(df1,'002415')

df4=mydata(df2,'000063')

#利用pandas的merge函数,把两表合并

df5=pd.merge(df3,df4, on='fdate')

#利用pandas把合并后的结果存储起来,后面可以验证和分析

df5.to_excel('f:/python_analyze/gp_zs_new.xlsx')

#取出要分析的列

df6=df5[['fdate','price_change_002415','volume_002415','price_change_000063','volume_000063']]

#相关关系函数

df7=df6.corr()

print(df7)

#利用pandas把分析结果存储起来

df7.to_excel('f:/python_analyze/gp_lzgx.xlsx')

print('已完成')

四、了解更多

想要了解更详细,当然也可以咨询我 ,也可以通过下面的常用链接访问。

作者:唐朝品鉴

mail:funsu@qq.com

QQ:44953683

常用数据分析资料链接:

1、tushare:tushare官网

2、pandas:pandas官网

3、numpy:numpy中文教程

4、matplotlib:matplotlib官网

上一篇下一篇

猜你喜欢

热点阅读