TradeX普通行情接口解析

TdxHq_Connect 连接行情服务器
TdxHq_Connect(sHost, nPort)
说明:
建立和行情服务器的连接,缺省连接超时3000ms,另外在该函数设置了tcp 的读写超时为1000ms。
参数:
sHost -> 服务器IP,可在券商通达信软件登录界面“通讯设置”按钮内查得;
nPort -> 服务器端口;

try:
    clientHq = TradeX.TdxHq_Connect(sHost, nPort)
except TradeX.TdxHq_error, e:
    print "error: " + e.message
    sys.exit(-1)

SetTimeout 设置行情连接超时
SetTimeout(nReadTimeout, nWriteTimeout)
说明:
设置tcp 的读写超时,单位ms,在连接行情服务器的时候缺省设置为1000ms。
行情服务器超时断开后,接口会close socket;用户需要先调用Disconnect,然后再调用Connect。
参数:
nReadTimeout -> 读(send)超时;
nWriteTimeout -> 写(recv)超时;

clientHq.SetTimeout(10000, 10000)

GetSecurityCount 获取指定市场内的证券数量
GetSecurityCount(nMarket)
说明:
获取指定市场内的证券数量。
参数:
nMarket -> 市场代码0:深圳,1:上海

nMarket = 0    # 0 - 深圳  1 - 上海
errinfo, count = clientHq.GetSecurityCount(nMarket)
if errinfo != "":
    print (errinfo)
else:
    print ("\t深市股票数量:", count, "\n")

GetSecurityList 获取市场内指定范围的证券代码
GetSecurityList(nMarket, nStart)
说明:
在指定市场内,抓取由指定位置起往后的1000 支证券代码数据。全市场抓取,需要循环设置位置。返回都是str类型!
参数:
nMarket -> 市场代码0:深圳,1:上海
nStart -> 指定的开始位置;开始位置取第一只股票(相对位置为0), 第二个相对位置为1,依此类推;
开始位置应参考TdxHq_GetSecurityCount 返回的证券总数确定。

nMarket = 0    # 0 - 深圳  1 - 上海
nStart = 0
errinfo, count, result = clientHq.GetSecurityList(nMarket, nStart)
if errinfo != "":
    print(errinfo)
else:
    print(count)
    for line in result.split("\n"):
        print(line)
1000
代码  一手股数    名称  保留  保留  昨收  保留  保留
395001  100 主板A股    34391   2   461.000000  0   0
395002  100 主板B股    1874    2   48.000000   0   0
395003  100 中小板 748 2   895.000000  0   0
395004  100 创业板 3825    2   705.000000  0   0
395011  100 封闭基金    3910    2   1.000000    0   0
395012  100 LOFs    661 2   238.000000  0   0
...
nMarket = 0
nStart = 0
errinfo, count, result = clientHq.GetSecurityList(nMarket, nStart)
if errinfo != "":
    print(errinfo)
else:
    print(count)
    for line in result.split("\n"):
        code = line.split("\t")[0]
        print(code)
    print(type(code))
1000
代码
395001
395002
395003
395004
395011
395012
...
<class 'str'>

GetSecurityQuotes 获取多个证券的盘口五档报价数据
etSecurityQuotes(((nMarket1, sStockCode1), (nMarket2, sStockCode2), …))
说明:
获取多个证券的盘口五档价格数据。
参数:
(nMarket, sStockCode) -> 元组,最大允许80 个元组,即单批最大可取证券数量不超过80。
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码(str类型)

errinfo, count, result = clientHq.GetSecurityQuotes(((0, "002180"),(0, "002190")))
if errinfo != "":
    print(errinfo)
else:
    print(count)
    for line in result.split("\n"):
        print(line)
2
市场  代码  活跃度 现价  昨收  开盘  最高  最低  保留  保留  总量  现量  总金额 内盘  外盘  保留  保留  买一价 卖一价 买一量 卖一量 买二价 卖二价 买二量 卖二量 买三价 卖三价 买三量 卖三量 买四价 卖四价 买四量 卖四量 买五价 卖五价 买五量 卖五量 保留  保留  保留  保留  保留  涨速  活跃度
0   002180  1441    30.150000   30.170000   30.389999   30.879999   30.000000   14382685    -3015   26053   11  79367120.000000 12908   13145   5   50000   30.100000   30.150000   30  48  30.090000   30.170000   20  10  30.080000   30.180000   69  31  30.070000   30.190001   24  86  30.059999   30.200001   21  17  1544    1   -4  -119    46  0.370000    1441
0   002190  1142    22.490000   23.049999   23.049999   23.180000   22.440001   14383451    -2249   13508   1   30731394.000000 8569    4939    0   5637    22.459999   22.490000   52  62  22.450001   22.500000   81  21  22.440001   22.510000   6   12  22.430000   22.520000   69  32  22.420000   22.530001   15  492 72  1   71  11  70  0.000000    1142

GetSecurityBars 获取某个范围内的证券K 线数据
GetSecurityBars(nCategory, nMarket, sStockCode, nStart, nCount)
说明:
获取市场内指定范围的证券K 线,
指定开始位置和指定K 线数量,指定数量最大值为800。
参数:
nCategory -> 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 线
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码;
nStart -> 指定的范围开始位置;
nCount -> 用户要请求的K 线数目,最大值为800。

nCategory = 7
nMarket = 0
sStockCode = '002180'
nStart = 0
nCount = 100
errinfo, count, result = clientHq.GetSecurityBars(nCategory, nMarket, sStockCode, nStart, nCount)
if errinfo != "":
    print(errinfo)
else:
    print(count)
    print(result)
100
时间  开盘价 收盘价 最高价 最低价 成交量 成交额
2017-12-04 13:07    30.560000   30.560000   30.560000   30.560000   500 15280.000000
2017-12-04 13:08    30.560000   30.560000   30.570000   30.560000   2300    70291.000000
2017-12-04 13:09    30.550000   30.550000   30.550000   30.550000   900 27495.000000

GetIndexBars 获取某个范围内的指数K 线数据
GetIndexBars(nCategory, nMarket, sStockCode, nStart, nCount)
说明:
获取市场内指定范围的指数K 线,
指定开始位置和指定K 线数量,指定数量最大值为800。
参数:
nCategory -> 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 线
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码;
nStart -> 指定的范围开始位置;
nCount -> 用户要请求的K 线数目。
GetMinuteTimeData 获取当日分时成交数据
GetMinuteTimeData(nMarket, sStockCode)
说明:
获取当日的分时成交数据
参数:
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码。

nMarket = 0
sStockCode = "000001"
errinfo, result = clientHq.GetMinuteTimeData(nMarket, sStockCode)
if errinfo != "":
    print(errinfo)
else:
    print(result)
现价  成交量 保留
13.060000   39548   75
13.090000   11885   -14
13.070000   11417   20
...

GetHistoryMinuteTimeData 获取历史分时成交数据
GetHistoryMinuteTimeData(nMarket, sStockCode, nDate)
说明:
获取指定的历史交易日的分时成交数据
参数:
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码。
nDate -> 指定的历史交易日期,如2017 年2 月1 日,则为整数20170201
GetTransactionData 获取当日指定范围的分笔成交数据
GetTransactionData(nMarket, sStockCode, nStart, nCount)
说明:
获取当日指定范围的分笔成交数据
参数:
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码;
nStart -> 指定的范围开始位置;
nCount -> 请求的分笔成交笔数,最大值为2000。

nMarket = 0
sStockCode = "000001"
nStart = 0
nCount = 10
errinfo, count, result = clientHq.GetTransactionData(nMarket, sStockCode, nStart, nCount)
if errinfo != "":
    print(errinfo)
else:
    print(count)
    print(result)
10
时间  价格  现量  笔数  买卖  保留
14:54   13.270000   53  7   1   0
14:54   13.280000   8   2   0   0
14:54   13.270000   24  4   1   0
14:54   13.280000   180 11  0   0
...

**GetHistoryTransactionData 获取历史交易日指定范围内的分笔
成交数据**
GetHistoryTransactionData(nMarket, sStockCode, nStart, nCount, nDate)
说明:
获取历史交易日指定范围内的分笔成交数据
参数:
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码;
nStart -> 指定的范围开始位置;
nCount -> 请求的分笔成交笔数,最大值为2000;
nDate -> 指定的历史交易日期,如2017 年2 月1 日,则为整数20170201。

GetXDXRInfo 获取除权除息数据
GetXDXRInfo(nMarket, sStockCode)
说明:
获取证券的除权除息数据
参数:
nMarket -> 市场代码0:深圳,1:上海
sStockCode -> 证券代码;

nMarket = 0
sStockCode = "000001"
errinfo, result = clientHq.GetXDXRInfo(nMarket, sStockCode)
if errinfo != "":
    print(errinfo)
else:
    print(result)
市场  证券代码    日期  保留  送现金 配股价 送股数 配股比例
0   000001  19900301    1   0.000000    3.560000    0.000000    1.000000
0   000001  19910403    5   0.000000    0.000000    2650.000000 4850.017090
0   000001  19910502    1   3.000000    0.000000    4.000000    0.000000
0   000001  19910502    2   2650.000000 4850.017090 3949.072266 8975.164063
0   000001  19910817    1   0.000000    0.000000    10.000000   0.000000
0   000001  19920323    1   2.000000    0.000000    5.000000    0.000000
...
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值