命令行
我提供了一个命令行工具来实现简单的交互和功能演示,在安装之后,应该可以直接使用 hqget
命令调用, hqget分为交互模式和单命令模式,
您可以随时使用 hqget --help 获取接口的使用规则。
交互模式
直接输入 hqget
即可进入交互模式,进入之后,先选择要连接的服务器类型,然后选择要执行的功能,选择菜单里面最后一项退出交互模式。
选择服务器
-->rainx@JingdeMacBook-Pro:~/dev/pytdx [master]$ hqget
连接中....
请选择服务器
--------------------
[1] :招商证券深圳行情 (119.147.212.81:7709)
[2] :华泰证券(南京电信) (221.231.141.60:7709)
[3] :华泰证券(上海电信) (101.227.73.20:7709)
[4] :华泰证券(上海电信二) (101.227.77.254:7709)
[5] :华泰证券(深圳电信) (14.215.128.18:7709)
[6] :华泰证券(武汉电信) (59.173.18.140:7709)
[7] :华泰证券(天津联通) (60.28.23.80:7709)
[8] :华泰证券(沈阳联通) (218.60.29.136:7709)
[9] :华泰证券(南京联通) (122.192.35.44:7709)
[10] :华泰证券(南京联通) (122.192.35.44:7709)
--------------------
请输入序号 [1]:
选择功能
连接成功!
--------------------
功能列表:
1 : 获取股票行情
2 : 获取k线
3 : 获取市场股票数量
4 : 获取股票列表
5 : 获取指数k线
6 : 查询分时行情
7 : 查询历史分时行情
8 : 查询分笔成交
9 : 查询历史分笔成交
10 : 查询公司信息目录
11 : 读取公司信息详情
12 : 读取除权除息信息
13 : 读取财务信息
14 : 退出断开连接
--------------------
请输入要使用的功能:
1.9版本更新
: 增加了--all参数,可以获取更多服务器列表
输入参数并获取结果
参数:市场代码, 股票代码, 如: 0,000001 或 1,600300
请输入参数 [0,000001]:
--------------------
market code active1 price last_close open high low \
0 0 000001 2801 9.18 9.25 9.23 9.27 9.16
reversed_bytes0 reversed_bytes1 ... ask5 bid_vol5 ask_vol5 \
0 [178, 174, 231, 12] -918 ... 9.23 4171 6140
reversed_bytes4 reversed_bytes5 reversed_bytes6 reversed_bytes7 \
0 5689 1 17 82
reversed_bytes8 reversed_bytes9 active2
0 21 65526 2801
[1 rows x 44 columns]
输出结果默认会使用pandas Dataframe格式输出,在内容较多时会省略部分列或行的记录,这个时候可以使用 --no-df
参数,让其用原始数据格式输出。
如启动时
> hqget --no-df
然后进行之前的操作,结果为:
参数:市场代码, 股票代码, 如: 0,000001 或 1,600300
请输入参数 [0,000001]:
--------------------
[OrderedDict([('market', 0),
('code', '000001'),
('active1', 2864),
('price', 9.19),
('last_close', 9.25),
('open', 9.23),
('high', 9.27),
('low', 9.16),
('reversed_bytes0', bytearray(b'\xbd\xc9\xec\x0c')),
('reversed_bytes1', -919),
('vol', 428899),
('cur_vol', 30),
('amount', 395218880.0),
('s_vol', 284703),
('b_vol', 144196),
('reversed_bytes2', 1),
('reversed_bytes3', 698),
('bid1', 9.18),
('ask1', 9.19),
('bid_vol1', 1078),
('ask_vol1', 5236),
('bid2', 9.17),
('ask2', 9.2),
('bid_vol2', 8591),
('ask_vol2', 3027),
('bid3', 9.16),
('ask3', 9.21),
('bid_vol3', 12638),
('ask_vol3', 3557),
('bid4', 9.15),
('ask4', 9.22),
('bid_vol4', 13234),
('ask_vol4', 2615),
('bid5', 9.14),
('ask5', 9.23),
('bid_vol5', 5377),
('ask_vol5', 6033),
('reversed_bytes4', 5768),
('reversed_bytes5', 1),
('reversed_bytes6', 16),
('reversed_bytes7', 83),
('reversed_bytes8', 20),
('reversed_bytes9', 0),
('active2', 2864)])]
单命令模式
脚本也可以使用命令模式进行, 这个时候,需要通过输入 -f/--function
参数来选择要执行的命令
如:
> hqget -f 1
保存文件
在但命令模式下,可以通过设定 -o/--output
参数来选择将命令结果保存到文件中,这个时候根据 --df/--no-df
参数的结果不同,会保存为不同的格式,
如果没有设置或者设置为 --df
, 则通过pandas Dataframe保存为csv格式,如果选择了 --no-df
则把结果保存为Python Pickle序列化的格式。
如:
hqget -o all.csv -s 119.147.212.81:7709 -f 4
察看all.csv
默认连接服务器
我们可以通过设定选项 -s/--server
来指定其默认连接的服务器,格式是 [ip]:[port], 如:
> hqget -f 1 -s 119.147.212.81:7709