打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
标准行情 pytdx.hq · pytdx

行情接口API

下面是如何在程序里面调用本接口

+

首先需要引入

+

from pytdx.hq import TdxHq_API

然后,创建对象

+

api = TdxHq_API()

之后,通常是如下的格式

+

if api.connect('119.147.212.81', 7709):    # ... same codes...    api.disconnect()

当然,我们也支持with 语法,可以省略disconnect()语句

+

with api.connect('119.147.212.81', 7709):    # some codes

我们的数据获取届接口一般返回list结构,如果需要转化为pandas Dataframe接口,可以使用 api.to_df 进行转化 如:

+

data = api.get_security_bars(9, 0, '000001', 0, 10) #返回普通listdata = api.to_df(api.get_security_bars(9, 0, '000001', 0, 10)) # 返回DataFrame

可以使用的api方法有下列的几个。

+

api方法列表

参数一般性约定

一般来说,股票代码和文件名称使用字符串类型,其它参数都使用数值类型

+

1 : 获取股票行情

可以获取只股票的行情信息

+

需要传入一个列表,每个列表由一个市场代码, 一个股票代码构成的元祖构成 [ (市场代码1, 股票代码1),(市场代码2, 股票代码2) ... (市场代码n, 股票代码n) ]

+

如:

api.get_security_quotes([(0, '000001'), (1, '600300')])

2 : 获取k线

  • category->

    +

    K线种类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:上海

    +

  • stockcode -> 证券代码;
  • start -> 指定的范围开始位置;
  • count -> 用户要请求的 K 线数目,最大值为 800

如:

api.get_security_bars(9,0, '000001', 4, 3)

3 : 获取市场股票数量

0 - 深圳, 1 - 上海

+

api.get_security_count(0)

4 : 获取股票列表

参数:市场代码, 起始位置, 数量 如: 0,0 或 1,100

+

api.get_security_list(1, 0)

5 : 获取指数k线

  • category->

    +

    K线种类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:上海

    +

  • stockcode -> 证券代码;
  • start -> 指定的范围开始位置;
  • count -> 用户要请求的 K 线数目,最大值为 800

如:

api.get_index_bars(9,1, '000001', 1, 2)

6 : 查询分时行情

参数:市场代码, 股票代码, 如: 0,000001 或 1,600300

+

api.get_minute_time_data(1, '600300')

7 : 查询历史分时行情

参数:市场代码, 股票代码,时间 如: 0,000001,20161209 或 1,600300,20161209

+

api.get_history_minute_time_data(TDXParams.MARKET_SH, '600300', 20161209)

注意,在引入 TDXParams 之后, (from pytdx.params import TDXParams) 我们可以使用 TDXParams.MARKET_SH , TDXParams.MARKET_SZ 常量来代替 1 和 0 作为参数

+

8 : 查询分笔成交

参数:市场代码, 股票代码,起始位置, 数量 如: 0,000001,0,10

+

api.get_transaction_data(TDXParams.MARKET_SZ, '000001', 0, 30)

9 : 查询历史分笔成交

参数:市场代码, 股票代码,起始位置,日期 数量 如: 0,000001,0,10,20170209

+

api.get_history_transaction_data(TDXParams.MARKET_SZ, '000001', 0, 10, 20170209)

10 : 查询公司信息目录

参数:市场代码, 股票代码, 如: 0,000001 或 1,600300

+

api.get_company_info_category(TDXParams.MARKET_SZ, '000001')

11 : 读取公司信息详情

参数:市场代码, 股票代码, 文件名, 起始位置, 数量, 如:0,000001,000001.txt,2054363,9221

+

api.get_company_info_content(0, '000001', '000001.txt', 0, 100)

注意这里的 起始位置, 数量 参考上面接口的返回结果。

+

12 : 读取除权除息信息

参数:市场代码, 股票代码, 如: 0,000001 或 1,600300

+

api.get_xdxr_info(1, '600300')

13 : 读取财务信息

参数:市场代码, 股票代码, 如: 0,000001 或 1,600300

+

api.get_finance_info(0, '000001')

14 : 读取k线信息

参数:市场代码, 开始时间, 结束时间

+

get_k_data('000001','2017-07-03','2017-07-10')

参考 https://github.com/rainx/pytdx/issues/5

+

多线程支持

由于Python的特性,一般情况下,不太建议使用多线程代码,如果需要并发访问,建议使用多进程来实现,如果要使用多线程版本,请在初始化时设置multithread参数为True

+

api = TdxHq_API(multithread=True)

心跳包

由于长时间不与服务器交互,服务器将关闭连接,所以我们实现了心跳包的机制,可以通过

+

api = TdxHq_API(heartbeat=True)

设置心跳包,程序会启动一个心跳包发送线程,在空闲状态下隔一段时间发送一个心跳包,注意,打开heartbeat=True选项的同时会自动打开multithread=True

+

调试模式

如果您需要调试本代码,监控传输过程中的数据包传输情况,可以使用调试模式,使用方法是设定环境变量 TDX_DEBUG 为 1 如

+

> TDX_DEBUG=1 hqget -f 1

行情服务器列表

为了方便连接服务器,我把一些常用的服务器列表整理到到 hosts.py 文件中. 在程序中可以通过

+

from pytdx.config.hosts import hq_hosts

获取列表, 列表里的数据参考了 https://github.com/rainx/pytdx/issues/3

+

欢迎补充并发送pr

+

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
[Python]调用pytdx的代码示例
教你获取价值千金的股票历史分时成交数据
怎么破解通达信接口?
Sonar参数指标全解析I | 扛一肩记忆
跟我学AI量化交易(1) - 获取行情数据
50岁学习python-量化交易第10天:获取股票交易数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服