CN115271941A - 一种行情信息更新方法及装置 - Google Patents
一种行情信息更新方法及装置 Download PDFInfo
- Publication number
- CN115271941A CN115271941A CN202210743479.2A CN202210743479A CN115271941A CN 115271941 A CN115271941 A CN 115271941A CN 202210743479 A CN202210743479 A CN 202210743479A CN 115271941 A CN115271941 A CN 115271941A
- Authority
- CN
- China
- Prior art keywords
- transaction
- price
- target
- trading
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0611—Request for offers or quotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例提供了一种行情信息更新方法及装置,涉及数据处理技术领域,所述方法包括:从证券交易系统获得逐笔订单信息;获得所述逐笔订单信息中包含的交易价格、交易方向以及交易目标的代码;根据交易目标的代码,确定交易目标的编号,按照交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有交易价格、交易方向和交易目标的编号的内存地址;判断内存地址是否存储有数值;若为是,基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值;若为否,将所述逐笔订单信息中包括的交易数量存储至所述内存地址。应用本发明实施提供的方案能够降低更新行情时的延迟。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种行情信息更新方法及装置。
背景技术
因为存在高频交易需求的用户希望市场行情信息能够被及时更新,进而根据不断更新的市场行情信息动态调整自身的交易策略,所以,证券交易系统为用户提供逐笔订单信息,用户设备在本地维护用于存储市场行情信息的行情订单簿,这样用户设备能够根据逐笔订单信息更新行情订单薄,进而使得市场行情信息能够被不断更新。
现有技术中,对于每一支股票而言,行情订单簿中以链表的形式维护该支股票的行情信息,这样用户设备每次接收到该支股票的逐笔订单信息后,需要遍历链表中存储的行情信息,确定链表中待更新行情信息的位置,然后依据逐笔订单信息更新上述位置存储的行情信息。然而随着链表加长遍历链表需要的时间不断增加,导致行情信息更新延迟大。
发明内容
本发明实施例的目的在于提供一种一种行情信息更新方法及装置,以实现降低更新行情信息时的延迟。具体技术方案如下:
第一方面,本发明实施例提供了一种行情信息更新方法,所述方法包括:
从证券交易系统获得逐笔订单信息;
获得所述逐笔订单信息中包含的交易价格、交易方向以及交易目标的代码;
根据所述交易目标的代码,确定所述交易目标的编号,按照所述交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有所述交易价格、交易方向和交易目标的编号的内存地址;
判断所述内存地址是否存储有数值;
若为是,基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值;
若为否,将所述逐笔订单信息中包括的交易数量存储至所述内存地址。
本发明的一个实施例中,所述基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值,包括:
若所述逐笔订单信息中包括的订单类型为委托类型,则为所述内存地址存储的数值累加所述交易数量;
若所述逐笔订单信息中包括的订单类型为成交类型,则为所述内存地址存储的数值减去所述交易数量。
本发明的一个实施例中,所述方法还包括:
针对行情订单簿中存储有行情信息的每一交易目标,在不同交易方向上,从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,输出所述目标交易价格和目标地址中存储的交易量,其中,所述目标地址为:记录有所述目标交易价格的地址。
本发明的一个实施例中,在交易方向为买入方向时,所述从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,包括:
获得该交易目标在买入方向上的第一最高交易价格和第一最低交易价格;
根据所述第一最高交易价格、该交易目标的编号以及买入方向,确定第一内存地址,并根据所述第一最低交易价格、该交易目标的编号以及买入方向,确定第二内存地址;
从所述第一内存地址起,按照预设步长且地址递减的方式,逐地址执行第一操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址小于所述第二内存地址,其中,所述第一操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为所述目标交易价格。
本发明的一个实施例中,在交易方向为卖出方向时,所述从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,包括:
获得该交易目标在卖出方向上的第二最高交易价格和第二最低交易价格;
根据所述第二最低交易价格、该交易目标的编号以及卖出方向,确定第三内存地址,并根据所述第二最高交易价格、该交易目标的编号以及卖出方向,确定第四内存地址;
从所述第三内存地址起,按照预设步长且地址递增的方式,逐地址执行第二操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址大于所述第四内存地址,其中,所述第二操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为所述目标交易价格。
本发明的一个实施例中,在所述从证券交易系统获得逐笔订单信息之后,还包括:
从本地缓存的最高交易价格和最低交易价格中,确定所述逐笔订单信息对应的交易目标在所述逐笔订单信息包含的交易方向上进行交易的第三最高价格和第三最低价格;
在所述逐笔订单信息中包含的交易价格高于所述第三最高价格的情况下,将所述第三交易价格更新为所述交易价格,在所述交易价格低于所述第三最低价格的情况下,将所述第三最低价格更新为所述交易价格。
本发明的一个实施例中,所述交易价格对应的预设比特位数量根据证券交易系统支持的最大交易价格和价格精度确定;
所述交易方向对应的预设比特位数量根据所述交易方向的数量确定;
所述交易目标的编号对应的预设比特位数量根据用户关注的交易目标的最大数量确定。
第二方面,本发明实施例提供了一种行情信息更新装置,所述装置包括:
逐笔订单信息获得模块,用于从证券交易系统获得逐笔订单信息;
订单信息获得模块,用于获得所述逐笔订单信息中包含的交易价格、交易方向以及交易目标的代码;
内存地址生成模块,用于根据所述交易目标的代码,确定所述交易目标的编号,按照所述交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有所述交易价格、交易方向和交易目标的编号的内存地址;
数值判断模块,用于判断所述内存地址是否存储有数值,若为是,触发所述数值更新模块,若为否,触发所述交易数量存储模块;
数值更新模块,用于基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值;
交易数量存储模块,用于将所述逐笔订单信息中包括的交易数量存储至所述内存地址。
本发明的一个实施例中,所述数值更新模块,具体用于若所述逐笔订单信息中包括的订单类型为委托类型,则为所述内存地址存储的数值累加所述交易数量;若所述逐笔订单信息中包括的订单类型为成交类型,则为所述内存地址存储的数值减去所述交易数量。
本发明的一个实施例中,所述装置还包括:
交易信息输出模块,用于针对行情订单簿中存储有行情信息的每一交易目标,在不同交易方向上,从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,输出所述目标交易价格和目标地址中存储的交易量,其中,所述目标地址为:记录有所述目标交易价格的地址。
本发明的一个实施例中,在交易方向为买入方向时,所述交易信息输出模块,具体用于获得该交易目标在买入方向上的第一最高交易价格和第一最低交易价格;根据所述第一最高交易价格、该交易目标的编号以及买入方向,确定第一内存地址,并根据所述第一最低交易价格、该交易目标的编号以及买入方向,确定第二内存地址;从所述第一内存地址起,按照预设步长且地址递减的方式,逐地址执行第一操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址小于所述第二内存地址,其中,所述第一操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为所述目标交易价格。
本发明的一个实施例中,在交易方向为卖出方向时,所述交易信息输出模块,具体用于获得该交易目标在卖出方向上的第二最高交易价格和第二最低交易价格;根据所述第二最低交易价格、该交易目标的编号以及卖出方向,确定第三内存地址,并根据所述第二最高交易价格、该交易目标的编号以及卖出方向,确定第四内存地址;从所述第三内存地址起,按照预设步长且地址递增的方式,逐地址执行第二操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址大于所述第四内存地址,其中,所述第二操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为所述目标交易价格。
本发明的一个实施例中,在所述逐笔订单信息获得模块之后,还包括:
价格确定模块,用于从本地缓存的最高交易价格和最低交易价格中,确定所述逐笔订单信息对应的交易目标在所述逐笔订单信息包含的交易方向上进行交易的第三最高价格和第三最低价格;
价格更新模块,用于在所述逐笔订单信息中包含的交易价格高于所述第三最高价格的情况下,将所述第三交易价格更新为所述交易价格,在所述交易价格低于所述第三最低价格的情况下,将所述第三最低价格更新为所述交易价格。
本发明的一个实施例中,所述交易价格对应的预设比特位数量根据证券交易系统支持的最大交易价格和价格精度确定;所述交易方向对应的预设比特位数量根据所述交易方向的数量确定;所述交易目标的编号对应的预设比特位数量根据用户关注的交易目标的最大数量确定。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的行情信息更新方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的行情信息更新方法步骤。
第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的行情信息更新方法步骤。。
由以上可见,应用本发明实施例提供的方案进行行情更新时,从证券交易系统获取到逐笔订单信息包含的交易价格、交易方向以及交易目标的代码后,根据交易目标的代码,确定了交易目标的编号,然后交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有交易价格、交易方向和交易目标的编号的内存地址,这样根据所生成的内存地址即可定位到待更新行情信息的位置,因此可以直接采用逐笔订单信息中包括的交易数量更新上述内存地址存储的数值,这样实现了行情订单薄的更新,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,无需在每次接收到该交易目标的逐笔订单信息后遍历链表中存储的行情信息来确定链表中待更新行情信息的位置,省去了更新行情信息时遍历链表所需的时间,降低了行情信息更新时的操作复杂度,进而降低了行情信息更新时的延迟。
另外,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,本发明实施例提供的方案中,各条行情信息的存储位置是有上述内存地址确定的,各个内存地址之间没有链接关系,是相互独立的,所以,对接收到的该交易目标的逐笔订单信息进行处理无需等待前一逐笔订单信息处理结束,也就是,基于各逐笔订单信息对行情信息进行更新互不影响,在更新行情信息时提高了并行处理的能力,进一步降低了行情信息更新时的延迟。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种行情信息更新方法的流程示意图;
图2为本发明实施例提供的第一种行情信息输出方法的流程示意图;
图3为本发明实施例提供的第一种目标交易价格确定流程的示意图;
图4为本发明实施例提供的第二种行情信息输出方法的流程示意图;
图5为本发明实施例提供的第二种目标交易价格确定流程的示意图;
图6为本发明实施例提供的一种档位提取流程的示意图;
图7为本发明实施例提供的一种行情信息更新装置的结构示意图;
图8为本发明实施例提供的第一种行情信息输出装置的结构示意图;
图9为本发明实施例提供的第二种行情信息输出装置的结构示意图;
图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
首先对本发明实施例所提供方案的应用场景进行说明。
本发明实施例所提供的方案能够应用于:电子设备在本地维护用于存储市场行情信息的行情订单簿的场景。
现有技术中,对于每一交易目标而言,行情订单簿中以链表的形式维护该交易目标的行情信息。这种情况下,每次接收到该交易目标的逐笔订单信息后,需要遍历链表中存储的行情信息,确定链表中待更新行情信息的位置,然后依据逐笔订单信息更新上述位置存储的行情信息。以下结合具体举例进行说明:
参见下表1,示出了一种采用链表形式存储行情信息的示意表。
表1
内存地址 | 交易价格 | 交易数量 | 指向地址 |
0x0 | 310 | 200 | 0x1 |
0x1 | 300 | 250 | 0x4 |
0x2 | 315 | 100 | 0x0 |
0x3 | 280 | 10 | |
0x4 | 290 | 20 | 0x3 |
表1中第一列表示存储交易目标的交易价格和交易数量的内存地址,第二列和第三列分别表示交易目标的交易价格和交易数量,第四列表示存储交易价格和交易数量的内存地址指向的下一个内存地址。为了便于描述,以下将交易目标的一个交易价格称为该交易目标的一个档位,将交易目标的一个交易价格和该交易价格对应的交易数量称为该交易目标的一个档位信息。
可以看出,档位315的档位信息的内存地址指向档位310的档位信息的内存地址,档位310的档位信息的内存地址指向档位300的档位信息的内存地址,依次类推,这样采用前一内存地址指向后一地址的方式实现了将存储档位信息按照档位的大小排序。
那么若接收到该交易目标的一个档位为295的逐笔订单信息后,用户设备需要遍历上述整个链表,才能够基于表1中的各档位找到档位295的档位信息应该存储的位置,然后按照上述位置存储上述档位295的档位信息。
可以看出,用户设备需要遍历整个链表才能够实现档位信息的更新,遍历链表消耗的时间较长,且随着链表的不断加长,遍历链表需要的时间不断增加,易导致行情信息更新延迟大。
另外,针对接收到的各逐笔订单信息,用户设备需要等待前一逐笔订单信息处理完毕,被按序存储到链表中后,才能进行针对下一逐笔订单信息的处理,这样就造成了逐笔订单信息的处理进程阻塞,进一步增加了行情信息更新时的延迟。
鉴于上述情况,本发明实施例提供了一种行情信息更新方法,以降低更新行情信息时的延迟。
下面对本发明实施例提供的行情信息更新方法进行详细说明。
参加图1,图1为本发明实施例提供的一种行情信息更新方法,上述方法包括以下步骤 S101-步骤S106。
步骤S101:从证券交易系统获得逐笔订单信息。
证券交易系统可以是各证券交易所的证券交易系统,上述证券交易所可以是上海证券交易所、深证证券交易所等。
上述逐笔订单信息为用户关注的交易目标的逐笔订单信息,逐笔订单信息中包含交易目标的代码、交易价格、交易方向等信息。
具体的,用户可以预先确定若干个自身关注的交易目标,这样可以根据用户关注的交易目标的代码,从证券交易系统发送的订单信息中过滤出代码为上述代码的订单信息,作为上述逐笔订单信息。
步骤S102:获得逐笔订单信息中包含的交易价格、交易方向以及交易目标的代码。
步骤S103:根据交易目标的代码,确定交易目标的编号,按照交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有交易价格、交易方向和交易目标的编号的内存地址。
上述交易目标的代码为证券交易所提供的用于区分交易目标的代码,由于在证券交易所参与交易的交易目标数量较多,因此上述代码的位数较长,而用户一般仅关注若干个交易目标,那么为了便于维护,可以根据上述代码,确定交易目标的编号。
具体的,可以按照预设的交易目标的代码与交易目标的编号的对应关系,确定所述交易目标的编号。
例如,代码为600519的交易目标对应的交易目标的编号为1,代码为300168的交易目标对应的交易目标的编号为2等。
下面对上述各类信息对应的预设比特位数量的确定方式进行说明。
具体的,上述交易价格对应的预设比特位数量根据证券交易系统支持的最大交易价格和价格精度确定;上述交易方向对应的预设比特位数量根据上述交易方向的数量确定;上述交易目标的编号对应的预设比特位数量根据用户关注的交易目标的最大数量确定。
例如,证券交易系统支持的最大交易价格为262.144,可以看出最大交易价格的价格精度为0.001,由于2^18=262144,所以,在保证上述最大交易价格的范围内各交易价格均能够被记录的情况下,那么交易价格对应的预设比特位数量可以为18;又如,交易方向的数量可以为两个,分别为买入方向和卖出方向,那么交易方向对应的预设比特位数量可以为1,用该比特位的0或1表征买入方向和卖出方向;类似的,若用户关注的交易目标的最大数量为8,由于2^3=8,那么交易目标的编号对应的预设比特位数量可以为3。
这样可以根据交易价格、交易方向以及交易目标的编号等信息的信息特征,为上述信息确定出合适的预设比特位数量,使得预设比特位数量能够准确的表征上述信息。
下面再对上述各类信息对应的预设的相对位置关系进行说明。
具体的,上述各类信息对应的预设的相对位置关系可以为任意关系。例如,交易价格在先、交易方向次之、交易目标的编号在最后的相对位置关系,当然也可以是交易目标的编号在先、交易方向次之、交易价格在最后的相对位置关系等。
这样按照上述各信息对应的预设比特位数量和预设的相对位置关系生成内存地址后,上述内存地址的不同比特位分别映射了上述交易价格、交易方向和交易目标。
以最大交易价格为262.144,交易方向为买入和卖出,用户关注的交易目标的最大数量为8为例,按照对应的预设比特位数量和预设的相对位置关系生成的内存地址的形式可以如下表2所示。
表2
内存地址 | 映射的信息 |
[17:0] | 交易价格 |
[18] | 交易方向 |
[21:19] | 交易目标的编号 |
表2中第一列表示内存地址的各比特位,第二列表示内存地址比特位映射的信息。可以看出,内存地址中[17:0]的18个比特位用于映射交易价格在262.144之内的任意交易价格,[18] 这一比特位用于映射2个交易方向,[21:19]这一比特位用于映射8个交易目标的编号。可见这样实现了交易价格与内存地址的一一映射,利用内存地址的内在顺序实现了交易价格的排序存储。
当然,按照上述预设比特位数量和预设的相对位置关系生成的内存地址的形式仅为举例,上述内存地址的形式可以根据实际情况确定。例如,若电子设备为按字节寻址,每次读取地址采用的字节均为8字节,那么为了便于电子设备读取内存地址,可以使得内存地址的低三位为0,如下表3所示:
表3
内存地址 | 映射的信息 |
[2:0] | 0 |
[20:3] | 交易价格 |
[21] | 交易方向 |
[24:22] | 交易目标的编号 |
可见表3所示的内存地址中增加了[2:0]这3个恒为0的比特位,这样能够便于电子设备读取内存地址。
需要说明的是,上述内存地址可以是任何存取速率较快的存储器中的内存地址。例如,上述内存地址可以是RAM(Random Access Memory,随机存取存储器)的地址,也可以是 DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器)中的地址。
步骤S104:判断内存地址是否存储有数值,若为是,执行步骤S105,若为否,执行步骤S106。
步骤S105:基于逐笔订单信息中包括的订单类型以及交易数量,更新内存地址存储的数值。
若内存地址已经有存储的数值,表示电子设备已经接受过所包含的交易目标、交易价格且交易方向与上述逐笔订单信息包含的交易目标、交易价格且交易方向均相同的逐笔订单信息,也就是内存地址中存储的数值为之前的逐笔订单信息包含的交易目标的交易数量。因此,由于当前的逐笔订单信息中包含的交易目标与前述交易目标相同,因此需要在上述已存储的数值的基础上,基于逐笔订单信息中包括的订单类型以及交易数量,更新内存地址存储的数值。
具体的,若逐笔订单信息中包括的订单类型为委托类型,则为内存地址存储的数值累加交易数量;若逐笔订单信息中包括的订单类型为成交类型,则为内存地址存储的数值减去交易数量。
其中,若逐笔订单信息中包括的订单类型为委托类型,那么该逐笔订单信息中包含的交易数量为委托数量,说明该交易目标有新的委托,因此需要在上述内存地址存储的数值的基础上加上新的委托数量,作为该交易目标基于逐笔订单信息更新后的交易数量;若逐笔订单信息中包括的订单类型为成交类型,那么该逐笔订单信息中包含的交易数量为成交数量,表示该交易目标已经成交的交易的数量,需要在上述内存地址存储的数值的基础上减去已成交的交易数量,作为该交易目标基于逐笔订单信息更新后的交易数量。这样可以基于不同的订单类型,准确的更新本地行情订单簿中存储的交易目标的交易数量。
步骤S106:将逐笔订单信息中包括的交易数量存储至内存地址。
若内存地址没有存储的数值,表示上述表示电子设备首次接收到所包含的交易目标、交易价格以及交易方向为上述交易目标、交易价格以及交易方向的逐笔订单信息,那么可以直接将逐笔订单信息中包括的交易数量存储至内存地址。
由以上可见,应用本发明实施例提供的方案进行行情更新时,从证券交易系统获取到逐笔订单信息包含的交易价格、交易方向以及交易目标的代码后,根据交易目标的代码,确定了交易目标的编号,然后交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有交易价格、交易方向和交易目标的编号的内存地址,这样根据所生成的内存地址即可定位到待更新行情信息的位置,因此可以直接采用逐笔订单信息中包括的交易数量更新上述内存地址存储的数值,这样实现了行情订单薄的更新,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,无需在每次接收到该交易目标的逐笔订单信息后遍历链表中存储的行情信息来确定链表中待更新行情信息的位置,省去了更新行情信息时遍历链表所需的时间,降低了行情信息更新时的操作复杂度,进而降低了行情信息更新时的延迟。
另外,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,本发明实施例提供的方案中,各条行情信息的存储位置是有上述内存地址确定的,各个内存地址之间没有链接关系,是相互独立的,所以,对接收到的该交易目标的逐笔订单信息进行处理无需等待前一逐笔订单信息处理结束,也就是,基于各逐笔订单信息对行情信息进行更新互不影响,在更新行情信息时提高了并行处理的能力,进一步降低了行情信息更新时的延迟。
并且,由于本发明实施例提供的方案能够并行的针对各逐笔订单信息对行情信息进行更新,也就是支持流水线式处理,因此更加适合采用硬件的方式实现本发明实施例提供改的方案,例如,上述硬件可以是CPU、FPGA(Field Programmable Gate Array,现场可编程门阵列)、DSP(Digital Signal Processing,数字信号处理)芯片等具有数据处理能力的硬件。
本发明的一个实施例中,在图1所示实施例的基础上,还可以基于行情订单簿中存储的行情信息在本地合成交易快照,从而便于用户查看和参考上述交易快照。上述交易快照可以是增量交易快照,也可以是全量交易快照。
本发明的一个实施例中,在图1所示实施例的基础上,针对行情订单簿中存储有行情信息的每一交易目标,还可以在不同交易方向上,从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,输出目标交易价格和目标地址中存储的交易量。
其中,目标地址为:记录有目标交易价格的地址。
上述目标交易价格和目标地址中存储的交易量即为前述档位信息,也就是基于逐笔订单信息在本地维护行情订单簿之后,针对行情订单簿中存储有行情信息的每一交易目标,还可以在不同交易方向上,将用户关注度最高的预设数量个档位信息输出,以便于用户参考。
上述预设数量可以根据用户的需求确定,例如,上述预设数量可以是5、10等。
参见下表4和表5,分别示出了交易目标S在买入方向和卖出方向输出的档位信息的形式。
表4
表5
由表4和表5可见,这样分别针对行情订单簿中存储有行情信息的每一交易目标,在买入方向和卖出方向分别输出该交易目标的档位信息,可以直观的供用户参考。
具体的,可以采用以下方式确定用户关注度最高的预设数量个目标交易价格。
一种实施方式中,针对行情订单簿中存储有行情信息的每一交易目标,在交易方向为买入方向时,可以获得该交易目标的交易价格最高的预设数量个目标交易价格。具体实施方式详见图2所示实施例,这里暂不详述。
另一种实施方式中,针对行情订单簿中存储有行情信息的每一交易目标,在交易方向为卖出方向时,可以获得该交易目标的交易价格最低的预设数量个目标交易价格。具体实施方式详见图3所示实施例,这里暂不详述。
针对行情订单簿中存储有行情信息的每一交易目标,在不同交易方向上,从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,输出目标交易价格和目标地址中存储的交易量,也就是在不同的交易方向上,输出了用户关注度高的档位信息,这样输出的档位信息可以直观的供用户参考,便于用户根据上述档位信息来调整自身的交易策略。
由前述实施例可知,针对行情订单簿中存储有行情信息的每一交易目标,在不同的交易方向上,可以采用不同的方式确定用户关注度最高的预设数量个目标交易价格。下面通过图2以及图3所示的实施例,分别说明用户关注度最高的预设数量个目标交易价格的不同确定方式。
在图1所示实施例的基础上,针对行情订单簿中存储有行情信息的每一交易目标,在交易方向为买入方向时,可以获得该交易目标的交易价格最高的预设数量个目标交易价格,进而输出该预设数量个目标交易价格,供用户查看。鉴于上述情况,本发明实施例提供了第一种行情信息输出方法。
参加图2,图2为本发明实施例提供的第一种行情信息输出方法,上述方法包括以下步骤S201-步骤S204。
步骤S201:针对行情订单簿中存储有行情信息的每一交易目标,获得该交易目标在买入方向上的第一最高交易价格和第一最低交易价格。
其中,可以在本地缓存并实时更新上述第一最高交易价格和第一最低交易价格,具体实施方式详见后续实施例,这里暂不详述。
步骤S202:根据第一最高交易价格、该交易目标的编号以及买入方向,确定第一内存地址,并根据第一最低交易价格、该交易目标的编号以及买入方向,确定第二内存地址。
具体的,可以将上述第一最高交易价格、该交易目标的编号以及买入方向分别按照预设比特位数量以及预设的位置关系生成第一内存地址。同理,可以根据第一最低交易价格、该交易目标的编号以及买入方向得到第二内存地址。
步骤S203:从第一内存地址起,按照预设步长且地址递减的方式,逐地址执行第一操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址小于第二内存地址。
其中,第一操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为目标交易价格。
上述预设步长可以根据内存地址中映射交易价格的比特位所在位置确定。
例如,若内存地址的形式如前述表2所示,内存地址的[0-17]比特位用于映射内存地址,那么为了保证能够通过递减地址来递减交易价格,预设步长可以为1。
又如,若内存地址的形式如前述表3所示,内存地址的[3-20]比特位用于映射内存地址,那么为了保证能够通过递减地址来递减交易价格,预设步长可以为8。
下面对第一操作进行说明。
由于内存地址中记录了交易价格,且第一内存地址为第一最高交易价格对应的内存地址,因此在第一内存地址的基础上按照预设步长递减,递减所得到的地址也就是在第一最高交易价格的基础上递减所得的交易价格对应的地址。
其中,若递减所得到的地址存储的交易数量大于0,表示该地址存储有交易数量,该地址记录的交易价格对应的档位信息需要输出,因此将上述交易价格确定为目标交易价格;反之,若递减所得到的地址存储的交易数量等于0或为空,表示该地址没有存储交易数量,该地址记录的交易价格对应的档位信息无需输出,因此不将该交易价格确定为目标交易价格。
其中,若确定出用户关注度最高的预设数量个目标交易价格,表示已经确定出所需要的目标交易价格,因此停止第一操作;若递减所得的地址小于第二内存地址,表示存储有该交易目标的交易数量的所有地址均已经被执行第一操作,因此停止第一操作。
下面以内存地址的形式如前述表2所示为例,结合图3说明按照本实施例提供的方案确定目标交易价格时的流程。
参见图3,为本发明实施例提供的第一种目标交易价格确定流程的示意图。
由图3可见,从第一内存地址开始按照步长为1递减,针对递减得到的每一地址判断地址存储的交易价格是否大于0,将所存储的交易价格大于0的内存地址记录的交易价格确定为目标交易价格,例如:第一内存地址、第一内存地址-1等;将所存储的交易价格不大于0 的内存地址跳过,不将其存储的交易价格确定为目标交易价格,例如第一内存地址-3。
当然,可以看出递减得到的地址在第一内存地址和第二内存地址的大小范围内。
步骤S204:输出目标交易价格和目标地址中存储的交易量。
其中,目标地址为:记录有目标交易价格的地址。
也就是输出了用户关注度高的档位信息。
在交易方向为买入时,由于内存地址中记录了交易价格,且第一内存地址为第一最高交易价格对应的内存地址,因此在第一内存地址的基础上按照预设步长递减,所得到的地址也就是在第一最高交易价格的基础上递减的交易价格对应的地址,因此,针对递减得到的地址执行第一操作后,可以按照交易价格从高至低的顺序,准确的确定出交易价格最高的预设数量个目标交易价格。
在图1所示实施例的基础上,针对行情订单簿中存储有行情信息的每一交易目标,在交易方向为卖出方向时,可以获得该交易目标的交易价格最低的预设数量个目标交易价格,进而输出该预设数量个目标交易价格,供用户查看。鉴于上述情况,本发明实施例提供了第二种行情信息输出方法。
参见图4,图4为本发明实施例提供的第二种行情信息输出方法,上述方法包括以下步骤S401-步骤S404。
步骤S401:针对行情订单簿中存储有行情信息的每一交易目标,获得该交易目标在卖出方向上的第二最高交易价格和第二最低交易价格。
其中,可以在本地缓存并实时更新上述第二最高交易价格和第二最低交易价格,具体实施方式详见后续实施例,这里暂不详述。
步骤S402:根据第二最低交易价格、该交易目标的编号以及卖出方向,确定第三内存地址,并根据第二最高交易价格、该交易目标的编号以及卖出方向,确定第四内存地址。
具体的,可以将上述第二最高交易价格、该交易目标的编号以及卖出方向分别按照预设比特位数量以及预设的位置关系生成第三内存地址。同理,可以根据第二最低交易价格、该交易目标的编号以及卖出方向得到第四内存地址。
步骤S403:从第三内存地址起,按照预设步长且地址递增的方式,逐地址执行第二操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址大于第四内存地址。
其中,第二操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为目标交易价格。
上述预设步长的确定方式已在前述图2所示实施例中步骤S204说明,这里不再赘述。
下面对第二操作进行说明。
由于内存地址中记录了交易价格,且第三内存地址为第二最高交易价格对应的内存地址,因此在第二内存地址的基础上按照预设步长递增,递增所得到的地址也就是在第二最高交易价格的基础上递增所得的交易价格对应的地址。
其中,若递增所得到的地址存储的交易数量大于0,表示该地址存储有交易数量,该地址记录的交易价格对应的档位信息需要输出,因此将上述交易价格确定为目标交易价格;反之,若递增所得到的地址存储的交易数量为空或等于0,表示该地址没有存储交易数量,该地址记录的交易价格对应的档位信息无需输出,因此不将该交易价格确定为目标交易价格。
其中,若确定出用户关注度最高的预设数量个目标交易价格,表示已经确定出所需要的目标交易价格,因此停止第二操作;若递增所得的地址小于第二内存地址,表示存储有该交易目标的交易数量的所有地址均已经被执行第一操作,因此停止第二操作。
下面以内存地址的形式如前述表2所示为例,结合图5说明按照本实施例提供的方案确定目标交易价格时的流程。
参见图5,为本发明实施例提供的第二种目标交易价格确定流程的示意图。
由图5可见,从第三内存地址开始按照步长为1递增,针对递增得到的每一地址判断地址存储的交易价格是否大于0,将所存储的交易价格大于0的内存地址记录的交易价格确定为目标交易价格,例如:第三内存地址、第三内存地址+1等;将所存储的交易价格不大于0 的内存地址跳过,不将其存储的交易价格确定为目标交易价格,例如第三内存地址+3。
当然,可以看出递增得到的地址在第三内存地址和第四内存地址的大小范围内。
步骤S404:输出目标交易价格和目标地址中存储的交易量。
其中,目标地址为:记录有目标交易价格的地址。
在交易方向为卖出时,由于内存地址中记录了交易价格,且第三内存地址为第二最高交易价格对应的内存地址,因此在第三内存地址的基础上按照预设步长递增,所得到的地址也就是在第二最高交易价格的基础上递增的交易价格对应的地址,因此,针对递增得到的地址执行第二操作后,可以按照交易价格从高至低的顺序,准确的确定出交易价格最高的预设数量个目标交易价格。
下面对前述实时更新实时更新第一最高交易价格和第一最低交易价格,以及实时更新第二最高交易价格和第二最低交易价格的方式进行说明。
一种实施方式中,可以从本地缓存的最高交易价格和最低交易价格中,确定逐笔订单信息对应的交易目标在逐笔订单信息包含的交易方向上进行交易的第三最高价格和第三最低价格;在逐笔订单信息中包含的交易价格高于第三最高价格的情况下,将第三交易价格更新为交易价格,在交易价格低于第三最低价格的情况下,将第三最低价格更新为交易价格。
其中,本地缓存的最高交易价格和最低交易价格包括上述第一最高交易价格和第一最低交易价格、以及第二最高交易价格和第二最低交易价格。
具体的,针对逐笔订单信息,首先确定出该逐笔订单信息对应的交易目标在逐笔订单信息包含的交易方向上进行交易的第三最高价格和第三最低价格。
例如,若该逐笔订单信息对应的交易目标为买入方向,那么买入交易方向上的第三最高价格和第三最低价格分别为前述第一最高交易价格和第一最低交易价格;若该逐笔订单信息对应的交易目标为卖出方向,那么卖出交易方向上的第三最高价格和第三最低价格分别为前述第二最高交易价格和第二最低交易价格。
然后,判断该订单信息中包含的交易价格是否高于第三最高价格,若为是,表示该逐笔订单信息包含的交易价格已经大于该逐笔订单信息包含的交易方向上的最高价格,因此可以将第三交易价格更新为上述交易价格;并判断该订单信息中包含的交易价格是否低于第三最低价格,若为是,表示该逐笔订单信息包含的交易价格已经小于该逐笔订单信息包含的交易方向上的最低价格,因此可以将第三最低价格更新为交易价格。
这样可以根据逐笔订单信息包含的交易价格不断的更新本地缓存的最高交易价格和最低交易价格,使得后续基于最高交易价格和最低交易价格能够准确的确定出目标交易价格。
下面以内存地址的形式为前述表2所示,结合图6,对本发明实施例提供的一种档位信息输出流程进行说明。
参见图6,为本发明实施例提供的一种档位信息输出流程的示意图。
图中以买入方向为例,示出了在买入方向上的档位信息的输出流程。以下结合步骤S601- 步骤S609具体说明图6所示的档位信息输出流程。
步骤S601:定时器触发档位信息输出指令。
上述定时器触发档位信息输出指令的频率可以根据用户的需求确定,例如,可以是每隔200ms触发一次档位信息输出指令等。
步骤S602:确定买1档的内存地址。
买1档对应前述第一最高价格,由于买1档会被本地实时更新,因此可以直接读取上述买1档,并根据买1档确定买1档的内存地址。
步骤S603:读取内存地址中存储的委托量。
步骤S604:暂存内存地址记录的交易价格读出的委托量。
步骤S605:内存地址减1,读取新的内存地址中存储的委托量。
步骤S606:判断读取的委托量是否大于0,若为是,执行步骤S607,若为否,执行步骤 S605。
若内存地址减1后从所得内存地址读取到的委托量等于0或为空,说明该内存地址没有存储委托量,因此跳过该地址,继续执行步骤S605,将内存地址减1,读取新的内存地址中存储的委托量。
步骤S607:暂存内存地址记录的交易价格以及读出的委托量。
上述委托量对应前述交易数量。
若内存地址减1后从所得内存地址读取到的委托量大于0,说明该内存地址存储有委托量,那么可以暂存该内存地址记录的交易价格以及读出的委托量暂存,也就是将该地址对应的档位的档位信息暂存。
步骤S608:判断暂存的交易价格数量是否大于5或内存地址是否小于最低档地址,若为是,执行步骤S609,若为否,执行步骤S605。
上述最低档地址对应前述第一最低交易价格。
具体的,若暂存的交易价格数量大于5,表示已经读取到所需数量的档位信息,因此可以执行步骤S609,将暂存的档位信息输出;若递减所得的内存地址小于最低档地址,表示该交易目标的所有档位均已遍历,因此需要结束流程,将暂存的档位信息输出。
步骤S609:输出所有暂存的交易价格和交易价格对应的交易数量。
也就是输出了所有暂存的档位信息。
卖出方向上的档位信息的输出流程可以在上述流程的基础上得到,这里不再赘述。
由以上可见,应用本发明实施例提供的方案进行行情更新时,从证券交易系统获取到逐笔订单信息包含的交易价格、交易方向以及交易目标的代码后,根据交易目标的代码,确定了交易目标的编号,然后交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有交易价格、交易方向和交易目标的编号的内存地址,这样根据所生成的内存地址即可定位到待更新行情信息的位置,因此可以直接采用逐笔订单信息中包括的交易数量更新上述内存地址存储的数值,这样实现了行情订单薄的更新,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,无需在每次接收到该交易目标的逐笔订单信息后遍历链表中存储的行情信息来确定链表中待更新行情信息的位置,省去了更新行情信息时遍历链表所需的时间,降低了行情信息更新时的操作复杂度,进而降低了行情信息更新时的延迟。
另外,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,本发明实施例提供的方案中,各条行情信息的存储位置是有上述内存地址确定的,各个内存地址之间没有链接关系,是相互独立的,所以,对接收到的该交易目标的逐笔订单信息进行处理无需等待前一逐笔订单信息处理结束,也就是,基于各逐笔订单信息对行情信息进行更新互不影响,在更新行情信息时提高了并行处理的能力,进一步降低了行情信息更新时的延迟。
与上述行情信息更新方法相对应的,本发明还提供了一种行情信息更新装置。
参见图7,图7为本发明实施例提供的一种行情信息更新装置,上述装置包括以下模块 701-模块706。
逐笔订单信息获得模块701,用于从证券交易系统获得逐笔订单信息;
交易信息获得模块702,用于获得所述逐笔订单信息中包含的交易价格、交易方向以及交易目标的代码;
内存地址生成模块703,用于根据所述交易目标的代码,确定所述交易目标的编号,按照所述交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有所述交易价格、交易方向和交易目标的编号的内存地址;
数值判断模块704,用于判断所述内存地址是否存储有数值,若为是,触发所述数值更新模块,若为否,触发所述交易数量存储模块;
数值更新模块705,用于基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值;
交易数量存储模块706,用于将所述逐笔订单信息中包括的交易数量存储至所述内存地址。
由以上可见,应用本发明实施例提供的方案进行行情更新时,从证券交易系统获取到逐笔订单信息包含的交易价格、交易方向以及交易目标的代码后,根据交易目标的代码,确定了交易目标的编号,然后交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有交易价格、交易方向和交易目标的编号的内存地址,这样根据所生成的内存地址即可定位到待更新行情信息的位置,因此可以直接采用逐笔订单信息中包括的交易数量更新上述内存地址存储的数值,这样实现了行情订单薄的更新,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,无需在每次接收到该交易目标的逐笔订单信息后遍历链表中存储的行情信息来确定链表中待更新行情信息的位置,省去了更新行情信息时遍历链表所需的时间,降低了行情信息更新时的操作复杂度,进而降低了行情信息更新时的延迟。
另外,相较于在行情订单簿中以链表的形式维护交易目标的行情信息,本发明实施例提供的方案中,各条行情信息的存储位置是有上述内存地址确定的,各个内存地址之间没有链接关系,是相互独立的,所以,对接收到的该交易目标的逐笔订单信息进行处理无需等待前一逐笔订单信息处理结束,也就是,基于各逐笔订单信息对行情信息进行更新互不影响,在更新行情信息时提高了并行处理的能力,进一步降低了行情信息更新时的延迟。
本发明的一个实施例中,所述数值更新模块705,具体用于若所述逐笔订单信息中包括的订单类型为委托类型,则为所述内存地址存储的数值累加所述交易数量;若所述逐笔订单信息中包括的订单类型为成交类型,则为所述内存地址存储的数值减去所述交易数量。
这样可以基于不同的订单类型,准确的更新本地行情订单簿中存储的交易目标的交易数量。
本发明的一个实施例中,所述装置还包括:
交易信息输出模块,用于针对行情订单簿中存储有行情信息的每一交易目标,在不同交易方向上,从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,输出所述目标交易价格和目标地址中存储的交易量,其中,所述目标地址为:记录有所述目标交易价格的地址。
针对行情订单簿中存储有行情信息的每一交易目标,在不同交易方向上,从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,输出目标交易价格和目标地址中存储的交易量,也就是在不同的交易方向上,输出了用户关注度高的档位信息,这样输出的档位信息可以直观的供用户参考,便于用户根据上述档位信息来调整自身的交易策略。
本发明的一个实施例中,所述交易价格对应的预设比特位数根据证券交易系统支持的最大交易价格和价格精度确定;
所述交易方向对应的预设比特位数根据所述交易方向的数量确定;
所述交易目标的编号对应的预设比特位数根据用户关注的交易目标的最大数量确定。
这样可以根据交易价格、交易方向以及交易目标的编号等信息的信息特征,为上述信息确定出合适的预设比特位数量,使得预设比特位数量能够准确的表征上述信息。
参见图8,图8为本发明实施例提供的第一种行情信息输出装置,上述装置包括以下模块801-模块804。
第一交易价格获得模块801,用于针对行情订单簿中存储有行情信息的每一交易目标,获得该交易目标在买入方向上的第一最高交易价格和第一最低交易价格;
第一内存地址确定模块802,用于根据所述第一最高交易价格、该交易目标的编号以及买入方向,确定第一内存地址,并根据所述第一最低交易价格、该交易目标的编号以及买入方向,确定第二内存地址;
第一目标交易价格确定模块803,用于从所述第一内存地址起,按照预设步长且地址递减的方式,逐地址执行第一操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址小于所述第二内存地址,其中,所述第一操作包括:在地址存储的交易数量大于0 的情况下,确定该地址中记录的交易价格为所述目标交易价格。
交易信息输出子模块804,用于输出所述目标交易价格和目标地址中存储的交易量,其中,所述目标地址为:记录有所述目标交易价格的地址。
在交易方向为买入时,由于内存地址中记录了交易价格,且第一内存地址为第一最高交易价格对应的内存地址,因此在第一内存地址的基础上按照预设步长递减,所得到的地址也就是在第一最高交易价格的基础上递减的交易价格对应的地址,因此,针对递减得到的地址执行第一操作后,可以按照交易价格从高至低的顺序,准确的确定出交易价格最高的预设数量个目标交易价格。
参见图9,图9为本发明实施例提供的第二种行情信息输出装置,上述装置包括以下模块901-模块904。
第二交易价格获得模块901,用于针对行情订单簿中存储有行情信息的每一交易目标,获得该交易目标在卖出方向上的第二最高交易价格和第二最低交易价格;
第二内存地址确定模块902,用于根据所述第二最低交易价格、该交易目标的编号以及卖出方向,确定第三内存地址,并根据所述第二最高交易价格、该交易目标的编号以及卖出方向,确定第四内存地址;
第二目标交易价格确定模块903,用于从所述第三内存地址起,按照预设步长且地址递增的方式,逐地址执行第二操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址大于所述第四内存地址,其中,所述第二操作包括:在地址存储的交易数量大于0 的情况下,确定该地址中记录的交易价格为所述目标交易价格。
交易信息输出子模块904,用于输出所述目标交易价格和目标地址中存储的交易量,其中,所述目标地址为:记录有所述目标交易价格的地址。
在交易方向为卖出时,由于内存地址中记录了交易价格,且第三内存地址为第二最高交易价格对应的内存地址,因此在第三内存地址的基础上按照预设步长递增,所得到的地址也就是在第二最高交易价格的基础上递增的交易价格对应的地址,因此,针对递增得到的地址执行第二操作后,可以按照交易价格从高至低的顺序,准确的确定出交易价格最高的预设数量个目标交易价格。
本发明的一个实施例中,在所述逐笔订单信息获得模块之后之后,还包括:
价格确定模块,用于从本地缓存的最高交易价格和最低交易价格中,确定所述逐笔订单信息对应的交易目标在所述逐笔订单信息包含的交易方向上进行交易的第三最高价格和第三最低价格;
价格更新模块,用于在所述逐笔订单信息中包含的交易价格高于所述第三最高价格的情况下,将所述第三交易价格更新为所述交易价格,在所述交易价格低于所述第三最低价格的情况下,将所述第三最低价格更新为所述交易价格。
这样可以根据逐笔订单信息包含的交易价格不断的更新本地缓存的最高交易价格和最低交易价格,使得后续基于最高交易价格和最低交易价格能够准确的确定出目标交易价格。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现本发明实施例提供的行情信息更新方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA) 总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现实现本发明实施例提供的行情信息更新方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行实现本发明实施例提供的行情信息更新方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质 (例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备和计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种行情信息更新方法,其特征在于,所述方法包括:
从证券交易系统获得逐笔订单信息;
获得所述逐笔订单信息中包含的交易价格、交易方向以及交易目标的代码;
根据所述交易目标的代码,确定所述交易目标的编号,按照所述交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有所述交易价格、交易方向和交易目标的编号的内存地址;
判断所述内存地址是否存储有数值;
若为是,基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值;
若为否,将所述逐笔订单信息中包括的交易数量存储至所述内存地址。
2.根据权利要求1所述的方法,其特征在于,所述基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值,包括:
若所述逐笔订单信息中包括的订单类型为委托类型,则为所述内存地址存储的数值累加所述交易数量;
若所述逐笔订单信息中包括的订单类型为成交类型,则为所述内存地址存储的数值减去所述交易数量。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
针对行情订单簿中存储有行情信息的每一交易目标,在不同交易方向上,从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,输出所述目标交易价格和目标地址中存储的交易量,其中,所述目标地址为:记录有所述目标交易价格的地址。
4.根据权利要求3所述的方法,其特征在于,在交易方向为买入方向时,所述从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,包括:
获得该交易目标在买入方向上的第一最高交易价格和第一最低交易价格;
根据所述第一最高交易价格、该交易目标的编号以及买入方向,确定第一内存地址,并根据所述第一最低交易价格、该交易目标的编号以及买入方向,确定第二内存地址;
从所述第一内存地址起,按照预设步长且地址递减的方式,逐地址执行第一操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址小于所述第二内存地址,其中,所述第一操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为所述目标交易价格。
5.根据权利要求3所述的方法,其特征在于,在交易方向为卖出方向时,所述从存储有该交易目标的编号的地址记录的交易价格中,确定用户关注度最高的预设数量个目标交易价格,包括:
获得该交易目标在卖出方向上的第二最高交易价格和第二最低交易价格;
根据所述第二最低交易价格、该交易目标的编号以及卖出方向,确定第三内存地址,并根据所述第二最高交易价格、该交易目标的编号以及卖出方向,确定第四内存地址;
从所述第三内存地址起,按照预设步长且地址递增的方式,逐地址执行第二操作,直至确定出用户关注度最高的预设数量个目标交易价格或者地址大于所述第四内存地址,其中,所述第二操作包括:在地址存储的交易数量大于0的情况下,确定该地址中记录的交易价格为所述目标交易价格。
6.根据权利要求4或5所述的方法,其特征在于,在所述从证券交易系统获得逐笔订单信息之后,还包括:
从本地缓存的最高交易价格和最低交易价格中,确定所述逐笔订单信息对应的交易目标在所述逐笔订单信息包含的交易方向上进行交易的第三最高价格和第三最低价格;
在所述逐笔订单信息中包含的交易价格高于所述第三最高价格的情况下,将所述第三交易价格更新为所述交易价格,在所述交易价格低于所述第三最低价格的情况下,将所述第三最低价格更新为所述交易价格。
7.根据权利要求1或2所述的方法,其特征在于,
所述交易价格对应的预设比特位数量根据证券交易系统支持的最大交易价格和价格精度确定;
所述交易方向对应的预设比特位数量根据所述交易方向的数量确定;
所述交易目标的编号对应的预设比特位数量根据用户关注的交易目标的最大数量确定。
8.一种行情信息更新装置,其特征在于,所述装置包括:
逐笔订单信息获得模块,用于从证券交易系统获得逐笔订单信息;
交易信息获得模块,用于获得所述逐笔订单信息中包含的交易价格、交易方向以及交易目标的代码;
内存地址生成模块,用于根据所述交易目标的代码,确定所述交易目标的编号,按照所述交易价格、交易方向以及交易目标的编号分别对应的预设比特位数量和预设的相对位置关系,生成记录有所述交易价格、交易方向和交易目标的编号的内存地址;
数值判断模块,用于判断所述内存地址是否存储有数值,若为是,触发所述数值更新模块,若为否,触发所述交易数量存储模块;
数值更新模块,用于基于所述逐笔订单信息中包括的订单类型以及所述交易数量,更新所述内存地址存储的数值;
交易数量存储模块,用于将所述逐笔订单信息中包括的交易数量存储至所述内存地址。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7中任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743479.2A CN115271941A (zh) | 2022-06-27 | 2022-06-27 | 一种行情信息更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210743479.2A CN115271941A (zh) | 2022-06-27 | 2022-06-27 | 一种行情信息更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115271941A true CN115271941A (zh) | 2022-11-01 |
Family
ID=83762479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210743479.2A Pending CN115271941A (zh) | 2022-06-27 | 2022-06-27 | 一种行情信息更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115271941A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226155A (zh) * | 2023-05-08 | 2023-06-06 | 中信建投证券股份有限公司 | 一种数据更新方法、装置、电子设备及存储介质 |
CN117216082A (zh) * | 2023-11-09 | 2023-12-12 | 中信建投证券股份有限公司 | 一种行情数据确定方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-27 CN CN202210743479.2A patent/CN115271941A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226155A (zh) * | 2023-05-08 | 2023-06-06 | 中信建投证券股份有限公司 | 一种数据更新方法、装置、电子设备及存储介质 |
CN117216082A (zh) * | 2023-11-09 | 2023-12-12 | 中信建投证券股份有限公司 | 一种行情数据确定方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042925B2 (en) | Matching techniques for data transaction requests with private attributes | |
CN115271941A (zh) | 一种行情信息更新方法及装置 | |
US20140095375A1 (en) | Trade Matching Platform with Variable Pricing Based on Clearing Relationships | |
US11308059B2 (en) | Optimized data structure | |
CN108269182B (zh) | 一种基于资金归集的余额计算方法及计算设备 | |
TW201624370A (zh) | 業務資訊處理方法及裝置 | |
US8781948B2 (en) | Trade matching platform with variable pricing based on clearing relationships | |
US20170103455A1 (en) | Computerized invoice record and receipt record matching utilizing best match criteria | |
US20180189881A1 (en) | Dataset intersection determination | |
CN116226155B (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
CN111144975A (zh) | 一种订单匹配方法、服务器及计算机可读存储介质 | |
KR20200101729A (ko) | 듀얼 ai시스템을 이용하여 최적의 매도 타이밍을 자동으로 결정하는 주식거래 시스템 | |
CN114926253A (zh) | 行情快照的生成方法、装置及电子设备 | |
US20200058069A1 (en) | Communicating property data | |
CN112330448A (zh) | 资金管理方法、终端设备及存储介质 | |
CN112446707A (zh) | 规则更新方法、装置、电子设备及存储介质 | |
JP7419126B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US20220044275A1 (en) | System and method for processing of promotions in connection with digital purchasing | |
CN112783946A (zh) | 数据管理方法、系统、装置、设备及存储介质 | |
CN112819637A (zh) | 交易控重方法、装置、电子设备及存储介质 | |
CN107274290B (zh) | 数据处理方法及装置 | |
CN117951169A (zh) | 查询数据的方法和相关装置 | |
JP2021064418A (ja) | 電子的イントラデイオークションにおける操作およびゲーミングを防止するシステムおよび方法 | |
CN114529396A (zh) | 一种数据处理方法、装置及电子设备 | |
WO2015035126A2 (en) | Transactionally based benchmark for market transactions in short term securities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |