python财经数据接口包Tushare pro的入门及简单使用方式(大数据,股票数据接口)...

最近在做一个项目,需要用到股票的数据,我在网上查了很久,最终发现在股票数据上面还是tushare比较专业,而且对于将来做金融行业的大数据这一块的,tushare绝对是你的一个好帮手,所以下面我就简单介绍一下。

一、Tushare Pro简介 

  Tushare旧的版本运行了三年,在旧的版本运行了三年之后,Tushare Pro被发布,相对于之前的版本,它更加稳定质量更好,而且有了前三年的运行经验,Pro用起来更加流畅,而且将数据扩大到了股票、基金、期货、债券、外汇、行业大数据等区块链的数据,数据量更大,减少我们一一获取的麻烦,而且Tushare是一个免费的,开源的,所以我们有什么理由不支持。

二、Tushare的安装Python简介 

  1.安装前的准备

  由于新版本的Tushare功能更加全面,所以推荐大家使用最新的版本

  不过由于最新版本需要token来进行验证,而这个只要注册一个账户即可,下面就是注册链接

  https://tushare.pro/register?reg=243276

  根据提示,根据我们日常的经验,轻松就可以注册完成。

  (上面的链接注册后我会获得相应的积分,如果大家喜欢我的博客可以支持一下我,当然如果介意把问号以及后面的删除即可)

  2.下载模块

  这个模块的下载和我们平时下载Python模块是一样的,使用pip即可,后两个是使用时需要的模块

  pip install tushare

  pip install pandas

  pip install lxml

  如果是使用以前版本的,可以通过以下命令来进行升级

  pip install tushare --upgrade

  如果需要查看自己的版本可以使用如下命令

import tushare
print(tushare.__version__)

  这里附上版本对照表(每个版本数据)

  1 版本信息
  2 1.2.15 2018/10/15
  3 
  4 增加通用行情pro_bar接口
  5 优化set_token功能
  6 1.2.5 2018/07/30
  7 
  8 Tushare Pro网站第一版
  9 Tushare Pro Data API 第一版
 10 1.0.5 2017/11/12
 11 
 12 新增可转债数据
 13 增加长连接关闭函数
 14 修复部分bug
 15 1.0.2 2017/10/29
 16 
 17 新增bar接口,支持更稳定的股票、ETF、期货期权、港股、中概股等品种
 18 新增tick接口,支持以上品种的成交数据
 19 新增沪深港通每日资金流向数据
 20 修复了部分bug
 21 0.9.2 2017/09/13
 22 
 23 新增数据货币行情数据接口,同时支持火币、okcoin、中国比特币
 24 部分bug修复
 25 0.8.8 2017/08/29
 26 
 27 新增分红送股数据(包含历史)
 28 新增get_day_all接口
 29 新增BDI接口
 30 0.8.0 2017/06/05
 31 
 32 新增期货行情数据6个接口,感谢debugo贡献代码
 33 修复部分bug
 34 0.7.6 2017/05/16
 35 
 36 get_today_all接口数据补齐
 37 forecast_data mac下编码问题修复
 38 0.7.0 2017/03/12
 39 
 40 get_today_all接口提速
 41 版本累积更新
 42 0.6.2 2016/12/03
 43 
 44 新增十大股东和十大流通股接口 top10_holders
 45 新增全球实时指数列表接口 global_realtime
 46 修复部分bug
 47 0.6.1 2016/11/22
 48 
 49 修正get_k_databug
 50 修正实盘交易登录问题
 51 0.5.6 2016/11/06
 52 
 53 新增全新行情数据接口get_k_data(请关注tushare公众号“挖地兔”后查看历史文章《全新的免费行情数据接口》)
 54 修复程序和文档bug
 55 0.5.1 2016/10/16
 56 
 57 新增实盘交易接口
 58 修复bug
 59 0.4.9 2016/03/26
 60 
 61 新增申万行业分类get_industry_classified(standard='sw')
 62 新增交易日历trade_cal()
 63 修复bug
 64 0.4.3 2015/12/24
 65 
 66 新增电影票房数据
 67 修复部分bug
 68 0.4.1 2015/11/27
 69 
 70 新增sina大单数据
 71 修改当日分笔bug
 72 深市融资融券数据修复
 73 0.3.9 2015/10/13
 74 
 75 新增期权隐含波动率数据
 76 修复指数成份及权重接口问题
 77 0.3.8 2015/09/19
 78 
 79 沪深300成份股和权重接口问题修复
 80 其它bug的修复
 81 0.3.5 2015/07/27
 82 
 83 部分代码修正
 84 0.3.4 2015/06/15
 85 
 86 新增‘龙虎榜’模块
 87 
 88 每日龙虎榜列表
 89 个股上榜统计
 90 营业部上榜统计
 91 龙虎榜机构席位追踪
 92 龙虎榜机构席位成交明细
 93 修改get_h_data数据类型为float
 94 
 95 修改get_index接口遗漏的open列
 96 
 97 合并GitHub上提交的bug修复
 98 
 99 0.2.8 2015/04/28
100 
101 新增大盘指数实时行情列表
102 新增大盘指数历史行情数据(全部)
103 新增终止上市公司列表(退市)
104 新增暂停上市公司列表
105 修正融资融券明细无日期的缺陷
106 修正get_h_data部分bug
107 0.2.6 2015/04/20
108 
109 新增沪市融资融券列表
110 新增沪市融资融券明细列表
111 新增深市融资融券列表
112 新增深市融资融券明细列表
113 修正复权数据数据源出现null造成异常问题(对大约300个股票有影响)
114 0.2.5 2015/04/16
115 
116 完成python2.x和python3.x兼容性支持
117 部分算法优化和代码重构
118 新增中证500成份股
119 新增当日分笔交易明细
120 修正分配预案(高送转)bug
121 0.2.3 2015/04/11
122 
123 新增“新浪股吧”消息和热度
124 新增新股上市数据
125 修正“基本面”模块中数据重复的问题
126 修正历史数据缺少一列column(数据来源问题)的bug
127 0.2.0 2015/03/17
128 
129 新增历史复权数据接口
130 新增即时滚动新闻、信息地雷数据
131 新增沪深300指数成股份及动态权重、
132 新增上证50指数成份股
133 修改历史行情数据类型为float
134 0.1.9 2015/02/06
135 
136 增加分类数据
137 增加数据存储示例
138 0.1.6 2015/01/27
139 
140 增加了重点指数的历史和实时行情
141 更新docs
142 0.1.5 2015/01/26
143 
144 增加基本面数据接口
145 发布一版使用手册,开通TuShare docs网站
146 0.1.3 2015/01/13
147 
148 增加实时交易数据的获取
149 Done for crawling Realtime Quotes data
150 0.1.1 2015/01/11
151 
152 增加tick数据的获取
153 0.1.0 2014/12/01
154 
155 创建第一个版本
156 实现个股历史数据的获取
View Code

三、Token的获取以及调取数据 

  我们可以在我们刚才注册过网站的右上角点击个人主页。

  

  在接口TOKEN中我们就可以复制到token

  

  获取到token之后,就是设置token了,直接上代码

import tushare as ts#方式一
ts.set_token('你刚才复制的token填在这里')
#这种方式设置token我们会吧token保存到本地,所以我们在使用的时候只需设置一次,失效之后,我们可以替换为新的token#方式二
pro = ts.pro_api()
pro = ts.pro_api('你刚才复制的token填在这里')
这种在初始化接口的时候设置token

设置过token之后,就是使用tushare获取数据了,我们就做一个简单的例子

pro = ts.pro_api('我们复制的token')df = pro.daily(ts_code='000001.SZ', start_date='20180201', end_date='20180210')print(df)输出结果:ts_code trade_date   open   high  ...  change  pct_chg         vol       amount
0  000001.SZ   20180209  12.08  12.08  ...   -0.85    -6.78  2824949.75  3308553.501
1  000001.SZ   20180208  12.83  12.92  ...   -0.38    -2.94  2137815.06  2711464.886
2  000001.SZ   20180207  14.22  14.30  ...   -1.08    -7.71  3345716.97  4521586.590
3  000001.SZ   20180206  14.23  14.33  ...   -0.55    -3.78  2582872.04  3641294.710
4  000001.SZ   20180205  13.80  14.57  ...    0.50     3.56  2331997.90  3326355.314
5  000001.SZ   20180202  13.91  14.10  ...    0.02     0.14  1176512.71  1637619.618
6  000001.SZ   20180201  13.95  14.30  ...   -0.02    -0.14  2005614.75  2821583.609

到这里tushare的基本介绍就结束了,当然你们能把这模块玩转到什么程度都看你们接下来的学习了,加油了。

 

转载于:https://www.cnblogs.com/liudi2017/p/10497418.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java ean13 条形码_【教程】Spire.Barcode 教程:如何在C#中创建EAN-13条码

基于UPC-A标准的EAN-13在世界范围内用于标记零售商品。 13位EAN-13号码由四部分组成:国家代码 - 2或3位数字制造商代码 - 5至7位数字产品代码 - 3至5位数字检查数字 - 最后一位数字代码演示:Step 1: 创建一个BarcodeSettings实例。BarcodeSettings setti…

C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法...

C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法 原文:C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法曾经这个问题困扰我多天最后查资料一大堆,最后终于解决了,看到很多人做C#串…

Module的加载实现

烂笔头开始记录小知识点啦&#xff5e; 浏览器要加载 ES6模块&#xff0c;&#xff1a; <script type"module" src"./foo.js"></script> 异步加载&#xff0c;相当与defer属性。可以另外设置async属性。ES6 模块也允许内嵌在网页中&#xff0…

python 线型_CCF 202006-1 线性分类器 python

题目&#xff1a;线性分类器(line)【题目描述】考虑一个简单的二分类问题——将二维平面上的点分为A和B两类。训练数据包含n个点&#xff0c;其中第i个点(1≤i≤n)可以表示为一个三元组(x,y,type)&#xff0c;即该点的横坐标、纵坐标和类别。在二维平面上&#xff0c;任意一条直…

[Swift]LeetCode682. 棒球比赛 | Baseball Game

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号&#xff1a;山青咏芝&#xff08;shanqingyongzhi&#xff09;➤博客园地址&#xff1a;山青咏芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;➤GitHub地址&a…

Java调试器–权威的工具列表

Java调试是一个复杂的空间。 调试器的类型很多&#xff0c;并且有很多工具可供选择。 在此页面中&#xff0c;我们将介绍7种类型的调试器之间的区别&#xff0c;并查看每个类别中的主要工具&#xff0c;以帮助您为正确的工作选择正确的工具。 以下是我们涵盖的调试器类型&…

java项目中多个定时器_在java项目中如何使用Timer定时器

在java项目中如何使用Timer定时器发布时间&#xff1a;2020-11-16 16:36:16来源&#xff1a;亿速云阅读&#xff1a;97作者&#xff1a;Leah在java项目中如何使用Timer定时器&#xff1f;很多新手对此不是很清楚&#xff0c;为了帮助大家解决这个难题&#xff0c;下面小编将为大…

慎使用sql的enum字段类型

在sql的优化中&#xff0c;会有同学提到一点&#xff1a;使用enum字段类型&#xff0c;代替其他tinyint等类型。以前这也是不少人喜欢优化的&#xff0c;但是现在细想&#xff0c;是非常不合理的。 优点&#xff1a; 1.可以设置区间范围&#xff0c;比如设置性别&#xff1a;1男…

js对HTML字符转义与反转义

注意&#xff1a; 在编写html时&#xff0c;经常需要转义&#xff0c;才能正常显示在页面上。 并且&#xff0c;还可以防止xss。 解决方案&#xff1a; 一&#xff0c; 使用正则&#xff1a; 使用正则转码&#xff1a; var value document.getElementById(input).value.t…

python三维数据图_matplotlib中三维数据的热图

我想用我的三维数据生成一张热图。在我已经能够用这些数据绘制出trisurf。在有人能帮我制作热图吗&#xff1f;我看到了在线教程&#xff0c;但是它们对3D来说都很复杂&#xff0c;我在这个网站上找到了一个在matplotlib中生成带有散点的热图&#xff0c;但是它只有2D数据。在我…

区分基于Ant目标的Gradle任务

在我的博客文章《 从Ant Build演变Gradle构建&#xff1a;导入Ant构建文件》中 &#xff0c;我演示了如何使用Gradle内置的基于AntBuilder的Ant支持在Gradle构建中导入Ant目标。 然后&#xff0c;可以将这些Ant目标作为Gradle任务进行访问&#xff0c;并与Gradle构建直接引入的…

java显示长度和第一个字符_从Java字符串中以长度1的字符串返回的第一个字母的最佳方法是什么?...

假设以下内容&#xff1a;String example "something";String firstLetter "";以下分配方式firstLetter可能会影响性能&#xff0c;请注意是否存在差异&#xff1b; 哪个最好&#xff0c;为什么&#xff1f;firstLetter String.valueOf(example.charAt(…

sequelize difference between hasone and hasmany

Query is equal, hasone return the first instance from the collection,hasmany return the whole collection. 转载于:https://www.cnblogs.com/ybleeho/p/9772902.html

localStorage封装借口store.js的使用

localstorage是 HTML5 提供的在客户端存储数据的新方法&#xff0c;主要作用是将数据保存在客户端中&#xff0c;并且数据是永久保存的&#xff0c;除非人为干预删除。localstorage 的局限 1、只有版本较高的浏览器中才支持 localstorage2、localStorage的值的类型限定为strin…

AmazonSQS和Spring用于消息传递队列

下一篇文章将演示如何将Spring JMS模板和DLMC与AmazonSQS API一起使用&#xff0c;以放置消息队列。 我为什么要使用Amazon SQS&#xff1f; 易于配置 跨平台支持 从您的自我冗余&#xff0c;连带和扩展方面的烦恼中赚钱。 为什么我不使用Amazon SQS&#xff1f; 如果延迟…

3.3-3.9 周记

3.3-3.10 1. NIM游戏 百度链接&#xff1a;https://baike.baidu.com/item/Nim%E6%B8%B8%E6%88%8F/6737105?fraladdin 定义&#xff1a; P局面&#xff1a;先手必败N局面&#xff1a;先手必胜P局面的所有子局面都是N局面。N局面的子局面中必有一个是P局面 性质&#xff1a;\(a_…

关于类的使用的几个关键

类的定义和声明必须放在main函数前 如果类中只有申明类而没有定义&#xff0c;则只能定义指针&#xff1a;Test *test&#xff1b;如果不定义类而仅仅声明类的话&#xff0c;当使用Test test时&#xff0c;编译器只知道Test是个class&#xff0c;但留多大空间&#xff1f;怎么初…

java判断对象已死_Java的JVM判断对象已死的基本算法分析

jvm中有各种的垃圾收集器&#xff0c;每个收集器都有各自的算法。但是一切的根本都需要找到找到应该被消除的对象&#xff0c;理解如何找到死亡对象才是理解垃圾收集器的基础。01两个基本算法a、引用记数法&#xff1a;对象中加一个引用计数器&#xff0c;每次被引用计数器加一…

Java开发中更多常见的危险信号

在《 Java开发中的常见危险信号》一文中&#xff0c;我研究了一些不一定本身就是错误或不正确的做法&#xff0c;但它们可能表明存在更大的问题。 这些“红色标记”类似于“代码气味”的概念&#xff0c;我在这篇文章中引用的某些特定“红色标记”被称为“代码气味”。 正如我在…

python平均分由高到低顺序排列输出选手编号和最后得分_python 字典的使用案例二:求平均分,并按平均分由高到低输出选手编号和最后得分...

校园好声音大赛&#xff0c;三位选手得分&#xff0c;由8位评委给出。请根据评分表&#xff0c;将每们选手的得分去掉一个最高分和一个最低分后求平均分&#xff0c;并按照平均分由高到低输出选手编号和最后得分。dicScores {012: [90, 94, 97, 86, 85, 89, 88, 85], 005: [91…