标准行情 pytdx.hq
下面是如何在程序里面调用本接口
首先需要引入
然后,创建对象
之后,通常是如下的格式
当然,我们也支持with 语法,可以省略disconnect()
语句
我们的数据获取届接口一般返回list结构,如果需要转化为pandas Dataframe接口,可以使用 api.to_df
进行转化 如:
可以使用的api方法有下列的几个。
api方法列表
参数一般性约定
一般来说,股票代码和文件名称使用字符串类型,其它参数都使用数值类型
1 : 获取股票行情
可以获取多只股票的行情信息
需要传入一个列表,每个列表由一个市场代码, 一个股票代码构成的元祖构成 [ (市场代码1, 股票代码1),(市场代码2, 股票代码2) ... (市场代码n, 股票代码n) ]
如:
注意点:非股票品种代码,有些获取的价格不是实际价格,比如可转债获取价格为实际价格*10。这是可能是TDX为了防止浮点数错误,报价在传输和存储时实际都保存为整数,然后根据品种进行处理的结果。@solensolen
2 : 获取k线
category->
market -> 市场代码 0:深圳,1:上海
stockcode -> 证券代码;
start -> 指定的范围开始位置;
count -> 用户要请求的 K 线数目,最大值为 800
如:
3 : 获取市场股票数量
0 - 深圳, 1 - 上海
4 : 获取股票列表
参数:市场代码, 起始位置 如: 0,0 或 1,100
5 : 获取指数k线
category->
market -> 市场代码 0:深圳,1:上海
stockcode -> 证券代码;
start -> 指定的范围开始位置;
count -> 用户要请求的 K 线数目,最大值为 800
如:
6 : 查询分时行情
参数:市场代码, 股票代码, 如: 0,000001 或 1,600300
7 : 查询历史分时行情
参数:市场代码, 股票代码,时间 如: 0,000001,20161209 或 1,600300,20161209
注意,在引入 TDXParams 之后, (from pytdx.params import TDXParams
) 我们可以使用 TDXParams.MARKET_SH , TDXParams.MARKET_SZ 常量来代替 1 和 0 作为参数
8 : 查询分笔成交
参数:市场代码, 股票代码,起始位置, 数量 如: 0,000001,0,10
9 : 查询历史分笔成交
参数:市场代码, 股票代码,起始位置,日期 数量 如: 0,000001,0,10,20170209
10 : 查询公司信息目录
参数:市场代码, 股票代码, 如: 0,000001 或 1,600300
11 : 读取公司信息详情
参数:市场代码, 股票代码, 文件名, 起始位置, 数量, 如:0,000001,000001.txt,2054363,9221
注意这里的 起始位置, 数量 参考上面接口的返回结果。
12 : 读取除权除息信息
参数:市场代码, 股票代码, 如: 0,000001 或 1,600300
13 : 读取财务信息
参数:市场代码, 股票代码, 如: 0,000001 或 1,600300
14 : 读取k线信息
参数:市场代码, 开始时间, 结束时间
参考 https://github.com/rainx/pytdx/issues/5
15 :读取板块信息
参数: 板块文件名称,可以取的值限于
多线程支持
由于Python的特性,一般情况下,不太建议使用多线程代码,如果需要并发访问,建议使用多进程来实现,如果要使用多线程版本,请在初始化时设置multithread参数为True
心跳包
由于长时间不与服务器交互,服务器将关闭连接,所以我们实现了心跳包的机制,可以通过
设置心跳包,程序会启动一个心跳包发送线程,在空闲状态下隔一段时间发送一个心跳包,注意,打开heartbeat=True选项的同时会自动打开multithread=True
抛出异常
我们的错误处理有两套机制,根据TdxHq_API 构造函数里的 raise_exception
参数来确定,如果
如果在调用connect 的时候,失败会返回false
, 调用普通接口时候,如果出错的情况返回None
如果
如果在调用connect 的时候,失败会抛出TdxConnectionError
异常, 调用普通接口时候,如果出错的情况抛出TdxFunctionCallError
异常
重连机制
在调用函数的时候,如果服务器连接断开或者其它的异常情况下,为了保证在偶发的连接断开下自动重连并重新请求数据。关于重试的周期和次数,我们通过一个自定义的类实现,你可以实现自己的重试策略
如果开启的话,需要
下面是我们默认的重试策略
你可以实现自己的重试机制并替换默认的,如永远重复, 间隔1秒一次(慎用)
调试模式
如果您需要调试本代码,监控传输过程中的数据包传输情况,可以使用调试模式,使用方法是设定环境变量 TDX_DEBUG 为 1 如
行情服务器列表
为了方便连接服务器,我把一些常用的服务器列表整理到到 hosts.py
文件中. 在程序中可以通过
获取列表, 列表里的数据参考了 https://github.com/rainx/pytdx/issues/3
获取流量统计信息
欢迎补充并发送pr
Last updated