用 Python 获取股市交易数据

简介: 用 Python 获取股市交易数据

最近受全球大环境影响,美股犹如坐上过山车,感觉每天都在见证历史时刻。而我们的大盘最近也不消停,不过这也给大家抄底制造了机会,但机会都是给有准备的人,想要抓住机会就得懂得分析数据,想要分析数据还得先拿到交易数据,今天就来说说用 Python 如何获取股市交易数据。


TuShare 工具


Tushare 是一个免费、开源的 Python 财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。


安装


Tushare 的运行需要 pandas 模块支持,所以需要先安装它,然后再安装 tushare


$ pip3 install pandas …… 忽略日志
$ pip3 install tushare …… 忽略日志


安装完成后,会看到 Successfully installed 提示即为安装成功。下面我们简单看下它都提供了哪些功能。


功能说明


1、获取历史数据


get_hist_data():获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据。我们通过下面引入包,然后执行这个方法就可以获取上证指数的历史交易数据。


# 引入包import tushare as tu
# 获取上证指数历史三年的数据tu.get_hist_data('000001')
# 当然我们也可以只获取一段时间范围内的数据tu.get_hist_data('000001',start='2020-01-05',end='2020-02-05')


image.png


参数说明:


  • code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
  • start:开始日期,格式YYYY-MM-DD
  • end:结束日期,格式YYYY-MM-DD
  • ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
  • retry_count:当网络异常后重试次数,默认为3
  • pause:重试时停顿秒数,默认为0


返回值说明:


  • date:日期
  • open:开盘价
  • high:最高价
  • close:收盘价
  • low:最低价
  • volume:成交量
  • price_change:价格变动
  • p_change:涨跌幅
  • ma5:5日均价
  • ma10:10日均价
  • ma20:20日均价
  • v_ma5:5日均量
  • v_ma10:10日均量
  • v_ma20:20日均量
  • turnover:换手率[注:指数无此项]


2、获取时实行情


get_today_all():一次性获取当前交易所有股票的行情数据(如果是节假日,即为上一交易日)。


# 引入包import tushare as tu
# 获取所有股票当前行情tu.get_today_all()


image.png


返回值说明:


  • code:代码
  • name:名称
  • changepercent:涨跌幅
  • trade:现价
  • open:开盘价
  • high:最高价
  • low:最低价
  • settlement:昨日收盘价
  • volume:成交量
  • turnoverratio:换手率
  • amount:成交金额
  • per:市盈率
  • pb:市净率
  • mktcap:总市值
  • nmc:流通市值


3、获取实时交易数据


get_realtime_quotes(): 可获取实时分笔数据,可以实时取得股票当前报价和成交信息,实时监测交易量和价格的变化。


# 引入包import tushare as tu
# 获取茅台和格力两支股票的实时数据data = tu.get_realtime_quotes(['600519','000651'])
# 也可以设置只显示某些值data[['code','name','price','bid','ask','volume','amount','time']]
#或者获取上证指数 深圳成指 沪深300指数 上证50 中小板 创业板tu.get_realtime_quotes(['sh','sz','hs300','sz50','zxb','cyb'])


image.png


返回值说明:

  • 0:name,股票名字
  • 1:open,今日开盘价
  • 2:pre_close,昨日收盘价
  • 3:price,当前价格
  • 4:high,今日最高价
  • 5:low,今日最低价
  • 6:bid,竞买价,即“买一”报价
  • 7:ask,竞卖价,即“卖一”报价
  • 8:volume,成交量 maybe you need do volume/100
  • 9:amount,成交金额(元 CNY)
  • 10:b1_v,委买一(笔数 bid volume)
  • 11:b1_p,委买一(价格 bid price)
  • 12:b2_v,“买二”
  • 13:b2_p,“买二”
  • 14:b3_v,“买三”
  • 15:b3_p,“买三”
  • 16:b4_v,“买四”
  • 17:b4_p,“买四”
  • 18:b5_v,“买五”
  • 19:b5_p,“买五”
  • 20:a1_v,委卖一(笔数 ask volume)
  • 21:a1_p,委卖一(价格 ask price)
  • …… 忽略部分
  • 30:date,日期;
  • 31:time,时间;


4、大盘指数行情列表


get_index():获取大盘指数实时行情列表,以表格的形式展示大盘指数实时行情。


# 引入包import tushare as tu
# 获取大盘行情data = tu.get_index()


image.png


返回值说明:

  • code:指数代码
  • name:指数名称
  • change:涨跌幅
  • open:开盘点位
  • preclose:昨日收盘点位
  • close:收盘点位
  • high:最高点位
  • low:最低点位
  • volume:成交量(手)
  • amount:成交金额(亿元)


5、大单交易数据


get_sina_dd():获取大单交易数据,默认为大于等于400手,数据来源于新浪财经。



# 引入包import tushare as tu
# 获取茅台当前日期的大单交易数据,默认400手tu.get_sina_dd('600519', date='2020-03-27')
# 获取交易100手以上的数据tu.get_sina_dd('600519', date='2020-03-27', vol=100)


image.png


参数说明:


  • code:股票代码,即6位数字代码
  • date:日期,格式YYYY-MM-DD
  • vol:手数,默认为400手,输入数值型参数
  • retry_count:int, 默认3,如遇网络等问题重复执行的次数
  • pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题


返回值说明:


  • code:代码
  • name:名称
  • time:时间
  • price:当前价格
  • volume:成交手
  • preprice :上一笔价格
  • type:买卖类型【买盘、卖盘、中性盘】


总结


本文为大家简单介绍了 Tushare 工具的一小部分功能,通过这些通过我们就能获取到大量的分析数据,当然它还有很多强大的接口功能,如果感兴趣以后再介绍,或者你可以直接访问它的官网了解更多。



目录
相关文章
|
1月前
|
数据可视化 数据处理 Python
如何使用Python实现一个基于均线的交易策略
【10月更文挑战第9天】本文介绍了如何使用Python实现一个基于均线的交易策略。主要步骤包括导入所需库(如`pandas`、`numpy`和`matplotlib`),加载股票或期货的历史数据,计算均线和其他指标,实现交易策略逻辑,以及可视化交易结果。示例代码展示了如何根据均线交叉点进行开仓、止损和止盈操作,并提供了注意事项,如数据来源、交易成本和风险管理。
43 7
|
22天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
7天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
16 1
|
8天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
8天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
45 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
16天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
35 5
|
21天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
48 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
30天前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
45 2
|
7天前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
15 0