小散量化炒股记|通达信的这个接口,实盘计算技术指标正好!

本文介绍了如何通过pytdx库连接通达信接口获取实时及分钟级别股票数据,以修正技术指标计算的精度。在多进程实盘方案中,展示了如何利用Python的Pool实现快速获取大量股票的分钟数据,适用于短线策略的实时监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在星球《玩转股票量化交易》中我们提供了获取实时行情数据的方式——每间隔3秒爬虫从财经网站上实时采样全市场个股最新行情数据,类似于Level1级别的更新!

具体可以查看这篇公众号文章:

基于多任务爬虫技术, A股实时行情数据Level1采样

对于做短线策略的交易者来说,得到实盘的量价数据之后,还需要把这些数据转换为各种技术指标,在策略中去使用和分析。

由于本地采样时间和交易所推送数据时间会有微小的差别(ms级别),时间长了之后计算出的技术指标会累积成更大的误差,于是在实盘中得到一个相对标准的分钟级别数据(通常技术指标使用的最小单位是分钟)用于计算技术指标非常关键。

于是我们使用通达信的这个接口来修正技术指标,因为在实盘中这个接口可以获取到最近的分钟级别的行情数据。

比如14点30分去调用该接口的时候可以获得最新的分钟级别行情数据。4760962a102fe0b8177a367afe8e57ed.png

接口使用介绍

接下来介绍下如何使用这个接口吧!

首先安装pytdx库,该库提供了获取通达信行情接口

pip install pytdx

其次在程序中引入模块

from pytdx.hq import TdxHq_API

然后,创建对象

api = TdxHq_API()

之后,通常连接到行情服务器上,建议是使用with 语法,可以省略disconnect()语句

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

获取k线的接口get_security_bars,其中的各个参数含义如下。

K线种类:

  • 0—5分钟K线

  • 1—15分钟K线

  • 2—30分钟K线

  • 3—60分钟K线

  • 4—日K线

  • 5—周K线

  • 6—月K线

  • 7/8—1分钟K线

Market市场代码: 0—深圳,1—上海

Stockcode:证券代码;

start :指定的范围开始位置;

count:要请求的 K 线数目,最大值为 800

比如以下语句表示获取获取股票深证的000001股票最近的10条1分钟数据

api.get_security_bars(7, 0, '000001', 0, 10)

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

api.to_df(api.get_security_bars(7, 0, '000001', 0, 10)) # 返回普通list后转DataFrame

0de99dd27f08051c2eecbc2fd34b877c.png

多进程实盘方案

根据以上的接口介绍可以看出,这个接口只能获取单个股票最新的分钟级别数据,如果要监测多只股票的话,要保证在1分钟内将全部数据更新完成。

于是我们采用了多进程的方式加速分钟数据的获取。开了8个进程后,实测下来1分钟内可以更新900多只股票的分钟行情数据!已经足够用于实盘动态监测股票的数量了。

start = time.time()
p = Pool(8)
for val in basic_code_list():
    res = p.apply_async(tdx_download_if, args=(val,))
p.close()
p.join()
print('总耗时:%.5f秒' % float(time.time() - start))

 小散量化炒股记|通达信的这个接口,实盘计算技术指标正好!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值