PyTdx是一个Python行情数据接口,可以用于读取通达信的股票数据。PyTdx是纯Python实现的,不需要引入动态连接库,支持Python 2.7+和3.5+,以及全平台Windows/MacOS/Linux。PyTdx可以提供线程安全接口调用,实现心跳包机制,支持多连接构成的连接池机制和failover处理机制,以保证稳定性。PyTdx提供了标准行情、扩展行情、数据文件读取,历史专业财务数据的爬取和解析等功能的接口实现。安装PyTdx可以使用pip install pytdx命令。
1.创建TdxHq_API对象
from pytdx.hq import TdxHq_API``#然后,创建对象``api = TdxHq_API()
2.api接口连接方式可以用if或with语法链接
if api.connect('119.147.212.81', 7709):` `# 里面写想要调用的api命令` `#with连接方式``with api.connect('119.147.212.81', 7709):` `# 这里写想要调用的api命令
3.常用api命令
****3.1.获取股票行情:参数为1个列表,每个列表由一个或多个元组构成,元组里面的格式:[ (市场类型1, 股票代码1),(市场类型2, 股票代码2) … (市场代码n, 股票代码n) ],0代表中小板,1代表主板的股票,2代表查看北交所的股票。
data=api.get_security_quotes([(0, '300750'),(1, '600519'),(2, '835368')])
比如下面代码中同时查询300750和600519,835368股票
from pytdx.hq import TdxHq_API``api = TdxHq_API()`` ``if api.connect('119.147.212.81',7709):` `data=api.get_security_quotes([(0, '300750'),(1, '600519'),(2, '835368')])` `print(data)
**返回的个股数据有:**股代码,高开低收,昨天收盘价,数据更新时间,成交量,成交金额,五档等等。如下返回的是300750的数据。[OrderedDict([(‘market’, 0), (‘code’, ‘300750’), (‘active1’, 4692), (‘price’, 234.42), (‘last_close’, 236.82), (‘open’, 236.05), (‘high’, 237.17), (‘low’, 232.8), (‘servertime’, ‘15:27:39.354’), (‘reversed_bytes0’, 15276559), (‘reversed_bytes1’, 0), (‘vol’, 124747), (‘cur_vol’, 1256), (‘amount’, 2921536512.0), (‘s_vol’, 67748), (‘b_vol’, 57000), (‘reversed_bytes2’, 0), (‘reversed_bytes3’, 241099), (‘bid1’, 234.42), (‘ask1’, 234.5), (‘bid_vol1’, 3), (‘ask_vol1’, 1), (‘bid2’, 234.41), (‘ask2’, 234.52), (‘bid_vol2’, 63), (‘ask_vol2’, 1), (‘bid3’, 234.4), (‘ask3’, 234.57), (‘bid_vol3’, 72), (‘ask_vol3’, 1), (‘bid4’, 234.39), (‘ask4’, 234.58), (‘bid_vol4’, 10), (‘ask_vol4’, 4), (‘bid5’, 234.38), (‘ask5’, 234.6), (‘bid_vol5’, 6), (‘ask_vol5’, 44), (‘reversed_bytes4’, (5334,)), (‘reversed_bytes5’, 0), (‘reversed_bytes6’, 0), (‘reversed_bytes7’, 0), (‘reversed_bytes8’, 0), (‘reversed_bytes9’, -0.12), (‘active2’, 4692)])]
****3.**2.获取个股k线:**返回的个股数据有,股代码,高开低收,昨天收盘价,数据更新时间,成交量,成交金额。
categoryK线种类:0 5分钟K线,1 15分钟K线,2 30分钟K线,3 1小时K线,4 日K线,5 周K线,6 月K线,7 1分钟,8 1分钟K线,9 日K线,10 季K线,11 年K线
market 市场代码 0:深圳,1:上海,2:北交所
stockcode 证券代码;
start 指定的范围开始位置,为0代表从今天的开始查。
count 用户要请求的K 线数目,最大值为 800
如下写法,是查询茅台近两天的日线数据
api.get_security_bars(9, 1, '600519', 0, 2)
****3.3.获取股票数量
api.get_security_count(0)
****3.**4.获取指数k线:**与上面get_security_bars获取K线的用法相同
api.get_index_bars(9,1, '000001', 0, 1)
****3.**5.查询历史分时图行情:**返回的分时图成交价和成交量数据
api.get_history_minute_time_data(1, '600519', 20230906)
注意,在引入 TDXParams 之后, (from pytdx.params import TDXParams) 我们可以使用 TDXParams.MARKET_SH , TDXParams.MARKET_SZ 常量来代替 1 和 0 作为参数。
****3.**6.查询分笔成交明细:**返回的数据是,每一笔成交价对应的成交量,成交时间,bs方向,灰色的数字。经本人测试部分的个股数据显示不齐全,不管如何调参数,始终显示那么多。
api.get_transaction_data(TDXParams.MARKET_SH, '600519',0, 30000)
****3.**7.查询历史分笔成交明细:**历史的和当天分笔查询,都存在着这个bug,一些个股数据显示不齐全。
api.get_history_transaction_data(TDXParams.MARKET_SH, '600519', 0, 30000, 20230906)
****3.8.查询公司信息目录(相当于一个F10数据)
api.get_company_info_category(1, '600519')
****3.9.读取公司信息详情:(配合上面返回的公司信息目录,数据一起使用)
api.get_company_info_content(1, '600519', '600519.txt', 102511, 77387)
****3.10.读取除权除息历史至今的数据信息
api.get_xdxr_info(1, '600519')
****3.11.读取财务信息(净资产,固定资产,净利润等等)
api.get_finance_info(1, '600519')
****3.12.读取日线级别k线数据(高开低收等等)为不复权的数据
api.get_k_data('600519','2022-03-03','2023-09-06')
****3.13.读取板块信息,返回板块的成分股,参数:板块文件名称,可以取的值限于以下。
BLOCK_SZ = “block_zs.dat”
BLOCK_FG = “block_fg.dat”
BLOCK_GN = “block_gn.dat”
BLOCK_DEFAULT = “block.dat”
api.get_and_parse_block_info("block.dat")``# 或者用我们定义好的params``api.get_and_parse_block_info(TDXParams.BLOCK_SZ)
4.其他说明:
**4.1心跳包:**由于长时间不与服务器交互,服务器将关闭连接,所以我们实现了心跳包的机制,可以通过设置心跳包,程序会启动一个心跳包发送线程,在空闲状态下隔一段时间发送一个心跳包,注意,打开heartbeat=True选项的同时会自动打开multithread=True
api = TdxHq_API(heartbeat=True)
4.2抛出异常
我们的错误处理有两套机制,根据TdxHq_API 构造函数里的 raise_exception 参数来确定,如果在调用connect 的时候,失败会返回false, 调用普通接口时候,如果出错的情况返回None
api = TdxHq_API(raise_exception=False)
如果在调用connect 的时候,失败会抛出TdxConnectionError异常, 调用普通接口时候,如果出错的情况抛出TdxFunctionCallError异常。
api = TdxHq_API(raise_exception=True)
当下这个大数据时代不掌握一门编程语言怎么跟的上脚本呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
CSDN大礼包:全网最全《Python学习资料》免费赠送!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
CSDN大礼包:全网最全《Python学习资料》免费赠送!(安全链接,放心点击)
若有侵权,请联系删除