这篇文章会介绍到的内容:

  • Python部分一些基础操作
  • Tushare中的部分function
  • 整合数据成我想要的数据样式

这篇文章难度为零,适合Python初学者。

tushare是国内现有的免费数据包中最好的股票/基金数据获取方式(让我们先一起膜拜一下米哥,感谢大佬让我们的工作轻松了许多)。这篇文章的主要目的是介绍tushare的基本使用方法。

我会结合自己摸索tushare使用方法时的经验和代码来介绍tushare的基本作用。本人的专业和技能偏数据分析方向,不是学习编程专业出身的专业人士,平时工作主要使用的软件是R,Python的编程水平有限,写的代码有些低效和冗长,请大家见谅。

我使用的IDE是Spyder(Anaconda自带),强烈建议直接安装Anaconda,因为集成的环境真的很不错!几乎所有你需要的包都已经集成了,比如pandas和numpy等等。(不过tushare还是需要自己安装的…安装教程大家自己搜一下吧,csdn上有很多,windows系统安装确实不太友好可能需要更改路径什么的)

让我们进入主题,利用tushare获取沪深300个股交易数据。
首先导入我们代码中会用到的package,需要注意的是,tushare是需要pandas和numpy的支持的,所以如果你的IDE里没有集成这两个包的话需要提前下载。

import pandas as pd
import numpy as np
import tushare as ts
import os
import datetime

修改python读取/写入文件的默认目录

print(os.getcwd())
os.chdir('C:/Users/ABC/Desktop/Data')
print(os.getcwd())

可以跑一下看看是不是设置成功了。

接下来是第一步,获取沪深300成分信息。tushare中有专门的接口达到这个目标:

a = ts.get_hs300s()

a是一个dataframe,这是一个做数据分析最常用到的格式,想要修改/阅读这个格式的变量需要用到pandas这个包(我们前面已经加载过了)。
a包括的内容有:
这非常好,但是我还想要更多的数据,比如今天这个股票涨跌幅?属于什么行业?这个股票有没有停牌?如果停牌的话最后一个交易日是什么时候?这些数据都可以通过tushare直接或者间接地得到,但是需要多个functions结合使用。让我们一个一个地看应该怎么做:
下一步,通过tushare获取上述部分数据:

ccc = ts.get_stock_basics()
total = [] 

ccc包括的数据项非常多,我们只会用到其中一部分,剩余部分大家可以自己跑跑看看。
以下部分在我的代码里是以一个for循环的方式存在的,在文章里为了便于理解逻辑,我改成了一行一行的形式。

 temp = a.iloc[1]['code']     #获取股票代码name = a.iloc[1]['name']  #获取股票名称print(name,'Works!','Done',i+1,'stocks')   #这行是提醒我代码运行到哪里了,因为数据需要临时抓取,速度比较慢,需要大概3分钟左右的时间。tempdata = ts.get_hist_data(temp)  #交易数据late1day = tempdata.iloc[0]['close']    #从交易数据中获取上一个交易日的成交价late2day = tempdata.iloc[1]['close']  #上上个交易日的成交价ind = ccc.industry[ccc.index == temp] #获取这个股票所属行业ind = ind[0] #变换数据格式
ttt = datetime.date.today() #今天的时间
#if else组合判断这个股票现在是否在停牌中,同时整合现在离散的数据到一个统一的格式
if tempdata.index[0] == str(ttt) : ret = (late1day - late2day) /late2daytempdata1 = [name,ret,tempdata.index[0],ind]
else:ret = 0tempdata1 = [name,ret,tempdata.index[0],ind]
total.append(tempdata1)     #让零散的数据添加到一个空的数据表中,可以统一查看。

整个流程就是这样了,成品大概是这样:

今天就介绍到这里,以后有机会再给大家介绍这篇文章的进一步应用。
感谢大家看完这篇文章!希望对你们学习有一点点的帮助。

最后贴上tushare的官网,更多的数据接口和范例代码可以在官网上查到:
新版:https://tushare.pro/
旧版:http://tushare.org/index.html

Best,
Rider

Tushare介绍和入门级实践(1)——使用tushare接口获取沪深300成分股交易日涨跌数据相关推荐

  1. tushare获取沪深300指数历史_TuShare -财经数据接口包

    在Pro版接口中,我们也增加了通用通用行情接口,可以方便获得各种资产各种频度的数据,欢迎使用. 获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线.周k线.月k线,以及5分钟.15分钟. ...

  2. tushare获取沪深300指数历史_在tushare上提取沪深300指交易数据

    import numpy as np import pandas as pd import tushare as ts import MySQLdb as mdb #获取沪深300指数的股票名单 hs ...

  3. tushare获取沪深300指数历史_从Tushare获取历史行情数据

    从Tushare获取历史行情数据,分为两种,一种是后复权(daily_hfq)数据,一种是不复权(daily)数据,获取到的数据存储在MongoDB数据库中,每个集合(collection)中,数据字 ...

  4. 在tushare上提取沪深300指交易数据

    import numpy as np import pandas as pd import tushare as ts import MySQLdb as mdb #获取沪深300指数的股票名单 hs ...

  5. 沪深300股票聚类可视化案例||tushare完整可运行代码逐行解释

    上篇文章:<可视化股票市场结构||沪深300股票聚类可视化>逐行代码解释了sklearn中的一个案例:可视化股票市场结构.案例中采用的数据是美股.这篇文章将其移植到A股市场,看看我们的沪深 ...

  6. 使用tushare检验沪深300收益率和中证500收益率相关性

    使用tushare检验沪深300收益率和中证50收益率相关性 tushare 安装tushare 初始化tushare 获取沪深300和中证500数据 检验相关性 合并数据 计算相关系数 画图 tus ...

  7. Python的tushare库实现沪深300 指数数据分析——CAMP模型

    (1)筛选 使用作业1的程序 完成对沪深300指数成分股过去2015年1月-2018年1月三年的数据分析 按alpha从大到小,选择出30只alpha最高的股票形成股票池1,以备进一步分析 (2)预测 ...

  8. tushare获得沪深300和中证500的股票

    tushare获得沪深300和中证500的股票 import tushare as tsresult = ts.get_zz500s() result.to_csv("zz500.csv&q ...

  9. 利用tushare和pandas获得沪深300指数在每个工作日的平均日收益率

    我用下面的代码来获得沪深300指数在不同工作日的平均日收益率. 运用的python包有: pandas tushare numpy datetime #导入需要的包 import pandas as ...

最新文章

  1. Modesim 仿真 ERRO VSIM-19
  2. html带正方形项目列表,5种简单实用的css列表样式实例,可以直接用到项目中。...
  3. Awesome Bioinformatics:假期了,收藏学习吧!
  4. 【Luogu3926】SAC E#1 - 一道不可做题 Jelly
  5. -webkit-line-clamp超过两行就出现省略号
  6. 拓端tecdat|R语言进行数据结构化转换:Box-Cox变换、“凸规则”变换方法
  7. linux tar 命令安装,Linux tar 命令 command not found tar 命令详解 tar 命令未找到 tar 命令安装 - CommandNotFound ⚡️ 坑否...
  8. OSI七层模型与TCP/IP五层模型
  9. Python数据分析与机器学习42-Python库分析科比生涯数据
  10. ceph deep scrub扫描的脚本
  11. 等比例压缩图片文件大小
  12. 美元MogaFX指数介绍(二)
  13. apple developer苹果账号过期了如何续费
  14. loj10099 矿场搭建
  15. 10月全球搜索引擎市场份额:Google、Bing份额大涨
  16. autojs之大柒侧滑栏详解
  17. 计算机连不了无线网络,如何解决电脑连接不上家里路由器的无线网
  18. 修改TOMCAT6.0内存的方法
  19. JS学习笔记 - Extends
  20. [网络安全]实操DVWS靶场复现CSRF漏洞

热门文章

  1. HDU - 1846 巴士博弈
  2. docker——Ubuntu镜像操作和apache web容器操作小实训
  3. 抽象类或接口的实例化问题
  4. Java中的数组利用键盘输入求平均数
  5. e^x导数为什么是e^x
  6. 【07】QQ群管理公告小结:
  7. 技术总监经验总结: 从需求到上线之用户故事地图
  8. 优秀网页翻译:一个智能旋钮:DIY haptic input knob: BLDC motor + round LCD
  9. 资产监测设备中二极管单向性和三相电电流流向问题
  10. 回溯法求地图填色实验(剪枝)