c 做网站的六大对象,长沙知名的营销公司,wordpress 新浪微博分享,奉化区城乡建设局网站文章目录前言一、准备二、使用步骤1.引入库2#xff0c;使用这个API查询历史分时数据#xff1a;3.查询完整历史分时数据4.其他查询方法参数格式#xff1a;[(市场代码, 股票代码), ...]参数#xff1a;市场代码, 股票代码, 文件名, 起始位置, 数量参数#xff1a;市场代码…
文章目录前言一、准备二、使用步骤1.引入库2使用这个API查询历史分时数据3.查询完整历史分时数据4.其他查询方法参数格式[(市场代码, 股票代码), ...]参数市场代码, 股票代码, 文件名, 起始位置, 数量参数市场代码, 股票代码总结前言
Pytdx是一个基于C接口开发的Python第三方模块。
使用它我们能够很方便地获取通达信上的标准行情数据、历史行情数据、专业的财务数据并且支持macOS系统非常方便。
一、准备
开始之前你要确保Python和pip已经成功安装在电脑上如果没有可以访问这篇文章超详细Python安装指南 进行安装。
(可选1) 如果你用Python的目的是数据分析可以直接安装AnacondaPython数据分析与挖掘好帮手—Anaconda它内置了Python和pip.
(可选2) 此外推荐大家用VSCode编辑器它有许多的优点Python 编程的最好搭档—VSCode 详细指南。
请选择以下任一种方式输入命令安装依赖
Windows 环境 打开 Cmd (开始-运行-CMD)。MacOS 环境 打开 Terminal (command空格输入Terminal)。如果你用的是 VSCode编辑器 或 Pycharm可以直接使用界面下方的Terminal.
pip install pytdx
二、使用步骤
1.引入库
查询分时成交
from pytdx.exhq import *
from pytdx.hq import *
api_hq TdxHq_API()
api_hq api_hq.connect(119.147.212.81, 7709)2使用这个API查询历史分时数据
from pytdx.exhq import *
from pytdx.hq import *
api_hq TdxHq_API()
api_hq api_hq.connect(119.147.212.81, 7709)
print(api_hq.get_history_transaction_data(TDXParams.MARKET_SZ, 002560, 0, 500, 20220916))
效果如下[OrderedDict([(time, 14:29),(price, 7.91),(vol, 582),(buyorsell, 1)]),... ...
]请注意查询的日期必须填写整数不然会查询不到数据。
3.查询完整历史分时数据
在前面的示例中我们查询了 002560 这个股票在 2022-09-16 的最后500条数据。
如果我们想要查询当天的全部数据需要不断改变start和limit即api_hq.get_history_transaction_data的第三个参数和第四个参数。
代码如下
from pytdx.exhq import *
from pytdx.hq import *
api_hq TdxHq_API()
api_hq api_hq.connect(119.147.212.81, 7709)def get_all_trans_data(api, code, date):start 0data []while True:part api.get_history_transaction_data(TDXParams.MARKET_SZ, code, start, 888, int(date))data.extend(part)if len(part) 888:breakstart 888return data
print(len(get_all_trans_data(api_hq, 002560, 20220916)))
# 3776data 的格式如下 数组里的顺序是乱的因为我们请求数据的时候并不是按时间序列去请求的因此还可以做数据规整化处理
from pytdx.exhq import *
from pytdx.hq import *
from collections import defaultdict
api_hq TdxHq_API()
api_hq api_hq.connect(119.147.212.81, 7709)def get_all_trans_data(api, code, date):start 0data []while True:part api.get_history_transaction_data(TDXParams.MARKET_SZ, code, start, 888, int(date))data.extend(part)if len(part) 888:breakstart 888return data
date 20220916
data get_all_trans_data(api_hq, 002560, date)
print(len(data))
# 3776
trans defaultdict(list)
for tran in data:# %Y%m%d %H:%Mtrans[datetime.datetime.strptime(str(date) tran[time], %Y%m%d %H:%M)].append({price: tran[price],volume: tran[vol],turnover: float(tran[price]) * float(tran[vol]) * 100,})
trans dict(sorted(trans.items(), keylambda x: x[0]))这样trans的数据就是格式化好的
4.其他查询方法
除了历史分时数据pytdx还可以查询
股票行情数据:
api.get_security_quotes([(0, ‘000001’), (1, ‘600300’)])
参数格式[(市场代码, 股票代码), …]
K线数据
api.get_security_bars(9,0, ‘000001’, 4, 3) 参数如下 读取公司信息详情
api.get_company_info_content(0, ‘000001’, ‘000001.txt’, 0, 100)
参数市场代码, 股票代码, 文件名, 起始位置, 数量
读取财务信息:
api.get_finance_info(0, ‘000001’)
参数市场代码, 股票代码
还有其他更多的功能大家可以阅读Pytdx的说明文档
https://rainx.gitbooks.io/pytdx
总结
我们的文章到此就结束啦如果你喜欢今天的量化投资内容持续关注徐浪老师