python

4

实战4

获取Tushare数据

阅读之前请注意:

代码都为红色。由于公众号宽度不够,没有特别注明,即使换行都是同一句代码,中间没有换行符。如果是两行代码,会用空行隔开。

SQL语句请注意末尾的分号     “;”

目前进度:

之前是为数据搭好了一个家。标题是python实战,但是python好像都没有使用过,大写尴尬。今天来点实在, 尝试把Tushare的数据获取到本地。

一.获取Tushare API

Tushare是目前看来比较靠谱的免费数据源头。什么叫靠谱,起码要稳定以及数据准确才叫靠谱是不。以后还会介绍别的免费平台,因为多个平台才保险。试想想,好不容易做好了策略,写好了代码,发现平台一断全部代码作废,只能哭唧唧。

先注册一下Tushare。Tushare积分平台上有各种获取办法。

Tushare注册网址:(如果大家用这个链接,我能有50分,谢谢大家啦。)

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

我们的目标策略其实只需要两个东西:

1.沪深300的pe,2.无风险收益率

那么,

第一步,获取沪深300pe的api。

打开“指数”>>“大盘每日指标”,表格里面已经告诉你,Tushare是有指数的市盈率TTM数据的。

这里就要科普金融知识了

个股的市盈率大家都知道,就是股价/每股净利润,一般就是越低越说明这个公司被低估。这个指标,说实话我觉得在个股上面一般。虽然没有去单独证明过,但是明显,这个指标是除以净利润的。要是我去改进,一定会去除以扣非净利润,而不是净利润。

记得2019年,海马汽车卖了400多套房保住上市公司地位。当年海马汽车卖出的车数量是腰斩的,马上就触发3年亏损要退市的规则了。但是卖房之后,公司马上盈利。如果我们用市盈率去评价海马汽车,用它的股价除以它的净利润,市盈率起码还是个正数,甚至还比较低。那么请问,这个结果能说明海马汽车是个好公司么?但卖房行为不是海马汽车的主营业务,so,如果我们用扣非净利润,就要从净利润中扣掉买房所得,指标显得有效得多。

但说到指数,指数的市盈率是所有指数成份股加权平均的市盈率,市盈率个股的不怎么好用,但是指数的好用。大部分公司的利润都是主营业务得来的,沪深300公司质地也不差,个别坏公司不怎么影响总体。

另外一个概念就是TTM。上市公司净利润一年公布4次,TTM就是考虑过去最近4个财报的净利润,得出最近一年时间的净利润。打个比方,现在是7月,目前已经发布的,最近的4份财报是:2020中报,2020一季报,2019年的年报,以及2019年的3季报。那么我们就考虑这4份财报的净利润就是TTM净利润。而不带TTM的市盈率,就是用现在的股价去除以2019年年报的净利润了,这就有点跟不上形势了,毕竟19年的年报都已经公布快4个月了。我们考虑问题起码把2020年的一季报考虑进去才合理吧。

记录使用接口的代码:

第二步,获取无风险利率的api。

原版策略我见过两个非常相似的,一个来自国信证券,一个是华泰证券,用的都是10年期国开债收益率。这个数据只在Wind客户端看到有API接口获取数据,但Wind需要将近28000块钱一年的费用。所以这里我们改为使用shibor利率。原理一样,效果应该是差不多的。同样需要记住API

二. 写代码获取数据

打开spyder,我们第一次写代码。

新建一个project >> 打开一个空白的.py文件(具体做法参考实战1)

1. import一些库。这些库就可以理解成别人已经写好的类,我们用就行了,不用自己写。

import tushare as tsimport pandas as pd

后面的代码不需要输入tushare,输入ts即可,而ts你可以随便定义,看你方便。至于库的安装,可以在打开windows的开始,输入anaconda prompt并打开,使用语句

pip install tushare 或者conda install pandas就会安装好库。当然电脑必须要联网。至于pip和conda是什么差别,以后再讲。

2. 写一个方法,生成tushare的api接口。方法,也有人叫函数,是用来执行一些功能或者返回一个结果的单元。

写好之后如下图,(马赛克部分是注册tushare后,tushare给我们的token,相当用户的身份证号码,用字符串形式输入,即两边各一个英文单引号):

上面代码的逻辑就是:

  1. 使用关键字def, 定义一个方法叫init_tushare, 这个方法是不需要参数的,所以后面直接跟一个空括号。

  2. 这个方法的内容需要在方法名称下面写,并且空4个空格!这个非常重要,在Python里面,区分代码范围的方法就是4个空格,其他语言很多是使用花括号的。当然spyder里面按TAB键就等于按了4个空格,在spyder设置里面可以设置。

  3. 方法的第一步先返回一个叫pro的变量。使用的就是tushare给我们的

    pro_api方法。这个方法需要的是token字符串,我们给它。

  4. 方法第二步就是将pro变量,return出去。不使用return,那么到函数体外面,我们是无法使用pro的。return这个东西相当于一个动作,方法里面各种复杂运算处理十月怀胎,return就相当于生孩子的命令。

3. 利用写好的方法获取数据。先得到接口,然后用之前在tushare官网记下的两个API获取数据。

上面代码的逻辑就是:

1.if __name__ == '__main__':这一句告诉程序这是入口。(其实不写也行,但是不写这句,以后在别的程序里面如果我们import这个py文件,那么这句后面的内容全部会自动执行。)

2. 程序会首先用我们定义好的init_tushare方法得到一个接口。

3. 使用这个接口,得到shibor数据,参数就是日期。这里我们获取2018年1月1日到2019年1月1日的数据。我们用shiborData这个变量指代这些数据。

4. 使用接口,得到沪深300指数的数据, 参数就是沪深300的代码,以及两个日期。获得的数据赋值给indexData这个变量。

4. 按F5或者选定所有代码按F9运行代码。并且在变量窗口双击变量名,查看数据。

至此我们就获取到了tushare上的数据

完整代码:

import tushare as tsimport pandas as pddef init_tushare():    pro = ts.pro_api(        '你的token')    return proif __name__ == '__main__':    pro = init_tushare()    shiborData = pro.shibor(                start_date='20180101',                 end_date='20190101')    indexData = pro.index_dailybasic(                ts_code='000300.SH',                start_date='20180101',                end_date='20190101')

求点再看,分享转发

(有读者反馈前两篇搭建远程mysql有地方走不通,我修改之后会再次推送。)

python 获取网页表格数据_python实战4获取tushare数据相关推荐

  1. python提取网页表格信息_python 提取网页表格数据库数据库

    python开源工具列表[持续更新] 以下是个人在工作中整理的一些python wheel,供参考.这个列表包含与网页抓取和数据处理的Python库 网络 通用urllib -网络库(stdlib). ...

  2. python读取网页表格数据库_python 提取网页表格数据库数据库

    python开源工具列表[持续更新] 以下是个人在工作中整理的一些python wheel,供参考.这个列表包含与网页抓取和数据处理的Python库 网络 通用urllib -网络库(stdlib). ...

  3. python获取网页元素坐标_Python实战爬虫系统学习笔记一:解析网页中的元素

    学习python编写爬虫第一天,学会如何解析本地网页 第1步:使用用Beautiful Soup解析网页 Soup = BeautifulSoup(wb_data,'lxml') 第2步:描述爬取信息 ...

  4. 利用python模块pandas获取网页表格,并保存为excel

    文章只用于学习交流 利用python模块pandas获取网页表格. 网页上的表格内容,想要保存下来,有没有办法呢?答案是有的. 主要有两个步骤, 一是读取表格内容, 二是保存读取后的内容. 在这里只讲 ...

  5. Java爬虫获取网页表格数据

    //Java爬虫获取网页表格数据 public class Pachong implements Runnable { public void run() { String Rpt_date = nu ...

  6. 【金融】【python】处理表格(*.xlsx)形式的期货数据

    [金融][python]处理表格(*.xlsx)形式的期货数据 数据读取 打开文件 截取特定列 处理脏数据/空数据 转换数据格式 处理数据索引和顺序 显示收盘价折线图 对读取后的数据进行处理 处理金融 ...

  7. R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中、多个数据列可视化在多个图中(纵向多个子图)

    R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中.多个数据列可视化在多个图中(纵向多个子图) 目录

  8. python爬虫网页表格_python网页表格

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 以网页表格为例:https:www.kuaidaili.comfree该网站数据 ...

  9. python爬虫爬取58网站数据_python实战学习笔记:爬取58同城平板电脑数据

    学习爬虫一周后独立完成的第一个作业项目:爬取58同城平板电脑数据. 1.首先确定URL,并抓取详情页中需要的信息 首先我们确定好需要爬取的网页URL是:http://zhuanzhuan.58.com ...

最新文章

  1. tensorflow2.0 基础一 常用数据类型及转换
  2. c语言fgets函数的用法
  3. echarts map 点击地图区域变色_绘制炫酷的地图,不只是pyecharts.map!
  4. linux文件名过长无法删除,不能删除文件,出现“源文件名长度大于系统支持的长度...
  5. 算法题存档20200505
  6. 信息技术课与计算机课有关系吗,信息技术教学与计算机教学的区别与联系
  7. java fastjson vector转为json_java对象与Json字符串之间的转化(fastjson)
  8. 我的世界java版gamemode指令_【服务器相关】【求助!】关于服务器中使用gamemode等命令错误。...
  9. 常见的几种推荐系统算法
  10. java ssm框架论文,ssm框架理解
  11. cdrx7显示重新启动计算机,CorelDRAW X7检测提示警告窗口及详细安装教程方法
  12. Arduino基础学习
  13. 用技术去掉搜索引擎中的死链接
  14. 开发智能名片小程序时遇到的技术问题以及解决办法
  15. Windows11跳过联网激活方法
  16. vue自定义数字键盘
  17. android sqlite 单例模式,安卓SQLite基础使用指南
  18. Android项目工程结构介绍
  19. Linux嵌入式设备U盘挂载和拷贝文件
  20. Dreaming to Distill: Data-free Knowledge Transfer via DeepInversion

热门文章

  1. 3行Python代码采集B站(弹幕、评论、用户)数据
  2. python实现单张图像拼接与批量图片拼接
  3. Python3.6字符串新特性
  4. 数学-矩阵计算(4)两种布局
  5. 漫步凸分析七——凸函数闭包
  6. 面试题 08.02. 迷路的机器人
  7. leetcode —— 877. 石子游戏
  8. leetcode - 764. 最大加号标志
  9. 06-用两个栈实现队列
  10. Nodejs基础01