登录 注册 返回主站
推荐产品 炒股必读

量化交易如何获取实时行情数据?

  • 作者:股票开户万1免5
  • 2024-04-10 10:51:56
  • 分享:

量化交易是一个高度依赖数据的领域,而获取实时交易行情数据是量化策略开发和测试的关键一环。只有能有效的监控实时行情数据,才能让我们变成市场上的“千里眼,顺风耳”。

一、实时行情

1、实时行情的概念

所谓的实时行情其实就是很近的历史行情,我们希望这个时间越近越好。因为获取到的最新行情的时间越接近他产生的时间,那就更多的获得了优先决策权。虽然几秒或者几百毫秒,对于人类而言微乎其微,但对于计算机来讲,可以做很多事。

实时行情获取的最主要信息无非就是最新价格当前成交量委托队列等,其他的指标数据都可以用这几个基本的指标交叉计算出来。比如涨跌幅、涨跌额、换手率等等,都可以通过价格、当前成交量计算出来。 

2、实时行情的类型

实时交易行情数据通常来自证券交易所,不同国家和地区的交易所提供不同类型和级别的行情数据。在中国,上海交易所和深圳交易所是主要的股票市场,它们提供了Level1Level2两种主要级别的行情数据。

(1)Level1行情数据:包含了基本的买卖价、成交量等信息,是最基础的行情数据级别,它适用于一般的投资和分析需求。

(2)Level2行情数据:包含了更多的信息,如多档的买卖价、委托信息、成交数据等,适用于高频交易和深度市场分析然而,Level2数据通常需要支付额外的费用。

二、如何获取Level2行情数据?

对于Level2行情数据,通常需要支付额外的费用,以下是获取Level2行情数据的一些途径:

1、在交易所订阅

直接联系相关证券交易所(深交所或者上交所),了解他们的Level2行情数据订阅计划和费用结构,不同的市场可能有不同的价格和政策,目前单市场大概是20万元/年

2、在金融数据提供商处订阅

一些金融数据提供商也提供Level2行情数据的订阅服务,可以与这些提供商联系,了解他们的价格和数据覆盖范围。

3、在证券公司订阅

一些证券公司也为其客户提供了Level2行情数据,通常在您开立交易账户后可以获取这些数据,但是证券公司其实也是向交易所或者金融数据提供商购买的,一般只给机构客户或者高净值客户使用。

获取实时行情数据是量化交易的基础之一,但是选择合适的数据源、级别和接口也非常关键。

三、使用量化数据接口

一旦获得了实时交易行情数据,接下来的关键步骤是编写代码来获取处理分析这些数据,量化交易可以使用金融数据提供商或量化平台提供的数据接口来实现这些操作。这些接口通常支持多种编程语言,包括C++、Python、Matlab、C和R等,投资者可以选择适合自己的编程语言来开发和执行量化策略。

有些量化交易软件的实时行情数据可以使用API接口直接调用,日线、分钟线可以免费开放给用户使用,甚至活跃用户也可以申请开通tick高频数据

目前我自己在用的是QMT量化交易软件,因为QMT使用的是CPU,CPU速度相对比网速快了N个数量级,所以获取的数据尽量少的走网络IO,而更多的通过本地CPU运算就可以极大地提升行情数据获取的速度。通过网络获取一条数据再快也要用几毫秒,而几毫秒,对于CPU,已经可以处理了上万,百万条数据了。

QMT获取实时tick行情的API有以下四种:

1、ContextInfo.get_market_data

2、ContextInfo.get_market_data_ex

3、ContextInfo.get_full_tick

4、ContextInfo.subscribe_whole_quote

我自己用的比较多的是get_full_tickget_market_data ,下面给大家对比一下这两个函数。

1、get_market_data 函数获取行情的API参数:

经测试get_market_data 函数每次获取行情的耗时,大概是0.03秒到0.2秒之间波动,速度还是很快的。

2、get_full_tick函数获取行情的API参数:

get_full_tick函数用时是0.007到0.01秒,也就是几毫秒的耗时,这个速度比get_market_data还要快,每次返回的数据包大小也是只有18KB。


温馨提醒:用户在赢家聊吧发表的所有资料、言论等仅代表个人观点,与本网站立场无关,不对您构成任何投资建议。本文中出现任何联系方式与本站无关,谨防个人信息,财产资金安全。
点赞1
发表评论
输入昵称或选择经常@的人
聊吧群聊

添加群

请输入验证信息:

你的加群请求已发送,请等候群主/管理员验证。

本吧详情
吧 主:

江恩笑笑

会 员:

211人关注了该股票

功 能: