Tushare财经数据接口

股票基本面统计

使用get_stock_basics()函数一次性下载所有股票基本面数据。这对观察股票的整体市场情况很有帮助。

import  tushare  as  ts
import  pandas as pd
import numpy as np
import  matplotlib.pyplot  as  pltstock = ts.get_stock_basics()     # 下载股票基本面数据
stock.to_excel('stock.xlsx')     # 保存为电子表格
stock.shape                      # Out: (3678, 22)


数据集规模为3823x22,每行是一支股票的基本数据。字段详情请查看Tushare的网站。数据集字段详情查看http://tushare.org 网站。本节用到的数据列有:code,股票代码;name,名称;industry,所属行业;area,地区;pe,市盈率;totals,总股本(亿元人民币);esp,每股收益;timeToMarket,上市日期。

下面从电子表格文件中读取数据,注意股票代码code列的处理细节。Pandas读取数据时,总是试图将数据自动转换为数值类型。深市类似’002522’的股票代码读入后,将丢失前导字符“00”,变为整数2522,因此读取时特意指定code字段为字符串。

df = pd.read_excel('stock.xlsx', dtype={'code': 'str'})   # code字符串类型
df.set_index('code', inplace=True)   # 将code设为索引列
df.loc['002522']                      # 显示某支股票基本面

len(df.industry.unique())   # 显示行业数

len(df.area.unique())  # 显示地区数(即股票的归属省份)

# 按地区统计上市公司数量,体现地区经济实力
df.groupby('area').size().sort_values(ascending=False)


由上面的统计结果可见,经济越发达、越有活力的地区,上市公司的数量越多。读者还可以按行业进行类似的统计。数据框中的timeToMarket字段代表上市日期,其数据是格式形如“20190315”的整数类型。我们可以提取出其中的年份以统计每年的股票发行数量。

year = df.timeToMarket.astype('str').str[:4]  # 转为字符串,提取前4位的年份
yearnum = df.groupby(year).size()   # 按年份统计,得到每年股票发行量
yearnum

plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定中文黑体字体
# 下面的False修正坐标轴上负号'-'显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False
# 数据集中有几支股票没有发行年份(年份为0), 作图时排除0年份
yearnum[yearnum.index!='0'].plot(fontsize=14, title='年IPO数量')

从图中可见IPO发行年份的几个高点和国内股票市场的几次牛市时间对应,熊市时发行数量跌入低谷。下面计算市场的平均市盈率pe,这是衡量股票市场估值的重要参数。

df.pe.mean()             # 简单的算术平均pe


观察数据集发现,数据集中亏损股票的pe为0,因此考虑剔除亏损股票。

df[df.pe > 0].pe.mean()   # 剔除亏损股票后计算pe均值


上面的pe是简单的算术平均,以市值为权重的加权pe可能更能准确地反映市场状况。由于下载的数据集中没有总市值和股票单价,因此只能根据现有的字段推算总市值。由某些列的值计算新的列值也是数据处理中常有的情况。这里推算总市值的依据如下:
股票单价 = 4esp(每股收益)pe(市盈率)
总市值 = 股票单价*totals总股本(亿元人民币)
数据集中每股收益esp是单个季度的收益,因此全年收益要乘以4。

df['tvalue'] = 4 * df.esp * df.pe * df.totals     # 计算总市值,增加新列tvalue
np.sum(df.pe * df.tvalue) / df.tvalue.sum()   # 计算以市值为权重的加权pe


上面的计算结果反映了某次季报后的市场加权pe情况,结果和市场真实值相比有差异。这是因为股票的每个季度收益不同,因而不能简单按“4*单季收益”来计算全年收益。

我国股票市场现分为沪市(股票代码60开头)、深圳主板(股票代码00开头)、创业板(股票代码30开头)及最新上市的科创板(股票代码68开头)。如下代码可计算不同板块的pe值和股票数。

df['board'] = df.index.str[:2]     # 取code的前2个字符,新增board列
# 按板块类型统计pe均值,计数
df.groupby('board').pe.agg([('pe均值', 'mean'), ('股票数', 'count')])

Tushare财经数据接口(三)案例——股票基本面统计相关推荐

  1. Tushare财经数据接口(五)案例——优质基本面的股票池创建

    Tushare财经数据接口 优质基本面的股票池创建 上市公司的基本面数据是体现公司经营历史业绩的重要凭据,也是投资者判断公司未来发展前景的重要依据,金融分析人员和股票投资者需要通过分析公司基本面质量来 ...

  2. 以下哪个不是python财经数据接口工具_这7种Python的全新玩法,大部分人都不知道!...

    Python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫.数据处理.可视化.机器学习.神经网络.股票财经.游戏这7个方面,主要内容如下: 创一个小群,供大家学习交流聊天 如果有对 ...

  3. python财经数据接口包_Tushare|免费开源财经数据接口包

    「Tushare」是云观测提供免费开源的python财经数据接口包,主要实现对股票等金融数据从数据采集.清洗加工到数据存储的过程,能够为金融分析人员提供快速.整洁.和多样的便于分析的数据,为他们在数据 ...

  4. Tushare开源数据接口的安装指南

    引言: Tushare是业界非常有名的开源数据接口,本文将简要介绍如何安装并使用之. 1.  官网主页 TuShare是一个免费.开源的python财经数据接口包; 摘自官网的信息. http://t ...

  5. 【Python金融量化 1- 100 】了解Python及常用财经数据接口包

    了解Python及常用财经数据接口包 背景介绍: Python是一种计算机程序设计语言,它诞生于20世纪90年代初,正在逐渐被广泛运用中. Python的创始人是Guido van Rossum.相传 ...

  6. L:python的Pandas模块:实例练习(泰坦尼克号数据集分析,电影票房统计,股票基本面统计)

    实例练习 泰坦尼克号数据集分析 使用Seaborn库中包含的titanic数据集进行一些数据统计. Seaborn是一个图形库,Anaconda已包含此库.数据集参见: https://github. ...

  7. 股票财经数据接口(一)

    最近股票大跌,打算做点数据分析.转个数据接口,等我完成数据分析有具体结论再写出来吧. 做了一点股票分析数据准备,做了个均线图: http://stock.chenpeng.info/randomone ...

  8. python财经数据接口包_Tushare 财经数据接口包介绍(Python)

    最近在研究Python的量化交易实现,因为需要股票相关的金融数据,自己动手爬,实在太麻烦了. 于是在网上找找有没现成的数据接口,好做数据分析,发现了这个好东西,分享一下. Tushare 介绍: Tu ...

  9. Python 通过 Tushare Pro 获取财经数据接口

    一.首先注册用户,注册地址:Tushare数据与wind.东财等收费数据源相比,tushare是一个python股票数据源,现已升级到tushare pro版本,新版本在数据稳定性和获取速率上大幅提升 ...

最新文章

  1. iis7.5 php 404.17,win2008 r2中IIS7.5及以上设置404错误页面的正确方法
  2. AI大神Yann LeCun谈近期AI发展:最聪明的AI在常识方面还不如猫
  3. mysql修改存储引擎报错,MySQL改变表的存储引擎
  4. 更换mysql_这些被你忽视的MySQL细节,可能会让你丢饭碗!
  5. android4.2 音频模块启动分析,Android 音频模块学习小结
  6. 关于Java锁机制面试官会怎么问,深刻易懂
  7. php拍照虚线上传图片,照片怎么添加白色虚线 给照片上的人物周围添加虚线描边效果|照片处理工具...
  8. 超震撼数据可视化工具
  9. Eureka Server的REST端点
  10. OnWorks-免费Windows/Linux/MAC等系统云服务器
  11. 刷新-读书笔记2(4-7章)
  12. M1 Mac Ps2022如何不转译使用拓展插件
  13. Linux I2C 设备注册
  14. iPhone 12已安装的App显示正在安装处理方法
  15. Ear Clipping算法简介
  16. YOLOv5模型剪枝压缩
  17. 用系统磁盘管理修复SD卡或U盘显示为RAW问题
  18. 给kindeditor编辑器添加FLV上传播放功能,其中使用flowplayer,适用于大部分版本
  19. ArcGIS Engine属性查询和空间查询联合查询要素
  20. 利用ArcGIS矢量与栅格分区统计功能

热门文章

  1. cf卡图标怎么卡_哇512兆CF卡140nbsp Crapa
  2. 老干妈老了,VC爱上新辣酱赛道,高瓴、红杉狂投上亿
  3. linux清理缓存cache,Linux清理cache缓存
  4. 有多少人知道睿捷的前身?
  5. 解决uniapp在h5图片上传后旋转90度问题(editor同样适用)
  6. FileItem类的使用
  7. Vue自定义组件——自定义下拉框
  8. python爬楼梯_Python3爬楼梯算法示例
  9. SharePoint 2010 与 Business Intelligence 免费公开课
  10. Android安装KALI