CN109801164A - 基于交易数据实现主力买卖行为分析的系统及其方法 - Google Patents
基于交易数据实现主力买卖行为分析的系统及其方法 Download PDFInfo
- Publication number
- CN109801164A CN109801164A CN201910057478.0A CN201910057478A CN109801164A CN 109801164 A CN109801164 A CN 109801164A CN 201910057478 A CN201910057478 A CN 201910057478A CN 109801164 A CN109801164 A CN 109801164A
- Authority
- CN
- China
- Prior art keywords
- main force
- transaction
- data
- act
- purchase
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于交易数据实现主力买卖行为分析的系统,包括消息队列模块,用于接收并推送level2行情数据;主力透视服务器,用于接收处理用户交易数据,并分析主力买卖行为;数据库模块,用于存储数据,统计明细交易数据并分类排序。本发明还涉及一种利用该系统实现基于交易数据的主力买卖行为分析的方法。采用了该系统和方法,由于其中采用了流式方法处理数据,支持计数、求和、平均、最大、最小、方差、标准差、协方差、K阶中心矩、连续、递增/递减、最大连续递增/递减等多种分布式实时计算模型;通过此处理逻辑可实现高可用缓存、强大的时序处理、能独立完成复杂的算法计算,低延时和高并发,毫秒级的实时计算能力,同时满足数十万用户的访问请求。
Description
技术领域
本发明涉及数据处理领域,尤其涉及交易数据量化处理领域,具体是指一种基于交易数据实现主力买卖行为分析的系统及其方法。
背景技术
随着互联网金融的兴起及行情数据的升级,数据处理工具也在不断更新。Level-2行情主要提供证券产品的实时交易数据,包括十档行情,买卖队列,逐笔成交,委托总量和加权价格等多种新式数据。大量的信息被数据化,用户无法用常规方法或工具捕捉、管理和快速找到有效信息,为了方便对这些海量、流式的数据进行处理分析,主力买卖行为分析工具应运而生。
主力买卖行为分析工具主要从十档行情及买卖队列、逐笔成交明细中,根据算法模型和阈值设定,定义出超级主力、主力、大散户三个档位,分析主力行为,可辅助投资者判断主力的真实意图,捕捉市场热点,挖掘行业最新动向。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种低延时、高效率、独立完成复杂计算的基于交易数据实现主力买卖行为分析的系统及其方法。
为了实现上述目的,本发明的基于交易数据实现主力买卖行为分析的系统及其方法如下:
该基于交易数据实现主力买卖行为分析的系统,其中,所述的系统包括:
消息队列模块,用于接收并推送level2行情数据;
主力透视服务器,与所述的消息队列模块相连接,用于接收处理用户交易数据,并分析主力买卖行为;
数据库模块,与所述的主力透视服务器相连接,用于存储数据,统计明细交易数据并分类排序。
较佳地,所述的主力透视服务器与客户端相连接,用于根据用户预设档位向客户端推送数据。
较佳地,所述的消息队列模块为kafka消息队列。
较佳地,所述的数据库模块为codis数据库。
该基于上述系统实现基于交易数据的主力买卖行为分析的方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的消息队列模块获取当前用户实时交易明细,并将level2交易流水数据推送至所述的主力透视服务器和数据库模块;
(2)所述的数据库模块接收并储存当日用户交易数据,根据量化交易方法及阈值判断筛选主力买卖操作行为,并根据成交手数和成交金额定义交易大单的数据档位;
(3)所述的主力透视服务器接收经过处理的交易数据,并根据用户预设档位向客户端推送数据。
较佳地,所述的步骤(1)中的当前用户实时交易明细包括股票代码、买入数量、买入金额、卖出数量、卖出金额、挂单数量、挂单金额、挂单数量和操作时间。
较佳地,所述的步骤(2)具体包括以下步骤:
(2.1)所述的数据库模块根据成交、挂单及撤单的金额和数量及阈值定义交易是否属于超级主力、主力或大散户的数据档位,如果是,则继续步骤(2.2);否则,继续步骤(1);
(2.2)所述的数据库模块判断交易是否属于主力成交、主力撤单或主力挂单的行为,如果是,则继续步骤(3);否则,继续步骤(2.1)。
较佳地,所述的步骤(2.1)中判断交易是否属于超级主力的数据档位具体包括以下步骤:
(1-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于2000手,或成交金额是否不小于100万,如果是,则该交易属于超级主力的数据档位;否则,该交易不属于超级主力的数据档位。
较佳地,所述的步骤(2.1)中判断交易是否属于主力的数据档位具体包括以下步骤:
(2-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于1000手且小于2000手,或者成交金额是否不小于50万且小于100万,如果是,则该交易属于主力的数据档位;否则,继续步骤(2-2.1.2);
(2-2.1.2)所述的数据库模块判断是否该交易的流通市值小于300亿且成交手数、撤单手数和挂单手数均大于流通盘的0.08%,或者是否该交易的流通市值大于300亿且成交手数、撤单手数和挂单手数均小于流通盘的0.08%,如果是,则该交易属于主力的数据档位;否则,该交易不属于主力的数据档位。
较佳地,所述的步骤(2.1)中判断交易是否属于大散户的数据档位具体包括以下步骤:
(3-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于200手且小于1000手,或者成交金额是否不小于10万且小于50万,如果是,则该交易属于大散户的数据档位;否则,该交易不属于大散户的数据档位。
较佳地,所述的步骤(2.2)中判断交易是否属于主力成交具体包括以下步骤:
(1-2.2.1)所述的数据库模块判断成交队列缓存是否已存在买方订单号和卖方订单号,如果是,则记录该用户的成交量、成交额和首次成交时间,并将首次成交时间记录为滑动时间窗口的起始点;否则,计算该用户的累计成交量和成交额,并将该笔交易成交时间记录为滑动时间窗口的起始点;
(1-2.2.2)所述的数据库模块判断成交队列缓存是否存在过期的时间窗口,如果是,则继续步骤(1-2.2.3);否则,继续步骤(2.1);
(1-2.2.3)所述的数据库模块判断累计成交量是否不小于X股,或者累计成交额是否不小于Y元,或者累计成交量与流通盘股本数的比值是否不小于Z,如果是,则主力成交行为为主力买入行为或主力卖出行为;否则,不满足主力成交行为。
较佳地,所述的步骤(2.2)中判断交易是否属于主力挂单具体包括以下步骤:
(2-2.2.1)所述的数据库模块将委托数据存入委托队列缓存;
(2-2.2.2)所述的数据库模块判断累计委托量是否不小于X股,或者累计委托额是否不小于Y元,或者累计委托量与流通盘股本数的比值是否不小于Z,如果是,则主力挂单行为为主力挂买行为或主力挂卖行为;否则,不满足主力挂单行为。
较佳地,所述的步骤(2.2)中判断交易是否属于主力撤单具体包括以下步骤:
(3-2.2.1)所述的数据库模块判断撤销和委托队列缓存是否已存在买方订单号和卖方订单号,如果是,则记录该用户的撤销量、撤销额和首次撤销时间,并将首次撤销时间记录为滑动时间窗口的起始点;否则,计算该用户的累计撤销量和撤销额,并将该笔交易撤销时间记录为滑动时间窗口的起始点;
(3-2.2.2)所述的数据库模块判断撤销队列缓存是否存在过期的时间窗口,如果是,则继续步骤(3-2.2.3);否则,继续步骤(2.1);
(3-2.2.3)所述的数据库模块判断累计撤销量是否不小于X股,或者累计撤销额是否不小于Y元,或者累计撤销量与流通盘股本数的比值是否不小于Z,如果是,则主力撤单行为为主力撤买行为或主力撤卖行为;否则,不满足主力撤单行为。
较佳地,所述的步骤(1)中的当前用户实时交易明细包括股票代码、买入数量、买入金额、卖出数量、卖出金额、挂单数量、挂单金额、挂单数量和操作时间。
较佳地,所述的交易数据为level2行情数据。
采用了本发明的基于交易数据实现主力买卖行为分析的系统及其方法,采用流式方法处理数据,基于时间窗口移动的动态数据快速处理技术(时序处理)和基于事件驱动的模式识别技术(CEP)及上下文关联能力,支持计数、求和、平均、最大、最小、方差、标准差、协方差、K阶中心矩、连续、递增/递减、最大连续递增/递减、唯一性判别、采集、过滤、排序等多种分布式实时计算模型;通过此处理逻辑可实现高可用缓存、强大的时序处理、能独立完成复杂的算法计算,低延时和高并发,毫秒级的实时计算能力,同时满足数十万用户的访问请求。
附图说明
图1为本发明的实现基于交易数据的主力买卖行为分析的方法的流程图。
图2为本发明的实现基于交易数据的主力买卖行为分析的方法的主力透视后台逻辑图。
图3为本发明的实现基于交易数据的主力买卖行为分析的方法的沪市主力挂单\撤单的实施例的示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该基于交易数据实现主力买卖行为分析的系统,所述的系统包括:
消息队列模块,用于接收并推送level2行情数据;
主力透视服务器,与所述的消息队列模块相连接,用于接收处理用户交易数据,并分析主力买卖行为;
数据库模块,与所述的主力透视服务器相连接,用于存储数据,统计明细交易数据并分类排序。
作为本发明的优选实施方式,所述的主力透视服务器与客户端相连接,用于根据用户预设档位向客户端推送数据。
作为本发明的优选实施方式,所述的消息队列模块为kafka消息队列。
作为本发明的优选实施方式,所述的数据库模块为codis数据库。
本发明的实现基于交易数据的主力买卖行为分析的方法,其中包括以下步骤:
(1)所述的消息队列模块获取当前用户实时交易明细,并将level2交易流水数据推送至所述的主力透视服务器和数据库模块;
(2)所述的数据库模块接收并储存当日用户交易数据,根据量化交易方法及阈值判断筛选主力买卖操作行为,并根据成交手数和成交金额定义交易大单的数据档位;
(2.1)所述的数据库模块根据成交、挂单及撤单的金额和数量及阈值定义交易是否属于超级主力、主力或大散户的数据档位,如果是,则继续步骤(2.2);否则,继续步骤(1);
(1-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于2000手,或成交金额是否不小于100万,如果是,则该交易属于超级主力的数据档位;否则,该交易不属于超级主力的数据档位;
(2-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于1000手且小于2000手,或者成交金额是否不小于50万且小于100万,如果是,则该交易属于主力的数据档位;否则,继续步骤(2-2.1.2);
(2-2.1.2)所述的数据库模块判断是否该交易的流通市值小于300亿且成交手数、撤单手数和挂单手数均大于流通盘的0.08%,或者是否该交易的流通市值大于300亿且成交手数、撤单手数和挂单手数均小于流通盘的0.08%,如果是,则该交易属于主力的数据档位;否则,该交易不属于主力的数据档位;
(2.2)所述的数据库模块判断交易是否属于主力成交、主力撤单或主力挂单的行为,如果是,则继续步骤(3);否则,继续步骤(2.1);
(3-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于200手且小于1000手,或者成交金额是否不小于10万且小于50万,如果是,则该交易属于大散户的数据档位;否则,该交易不属于大散户的数据档位;
(1-2.2.1)所述的数据库模块判断成交队列缓存是否已存在买方订单号和卖方订单号,如果是,则记录该用户的成交量、成交额和首次成交时间,并将首次成交时间记录为滑动时间窗口的起始点;否则,计算该用户的累计成交量和成交额,并将该笔交易成交时间记录为滑动时间窗口的起始点;
(1-2.2.2)所述的数据库模块判断成交队列缓存是否存在过期的时间窗口,如果是,则继续步骤(1-2.2.3);否则,继续步骤(2.1);
(1-2.2.3)所述的数据库模块判断累计成交量是否不小于X股,或者累计成交额是否不小于Y元,或者累计成交量与流通盘股本数的比值是否不小于Z,如果是,则主力成交行为为主力买入行为或主力卖出行为;否则,不满足主力成交行为;
(2-2.2.1)所述的数据库模块将委托数据存入委托队列缓存;
(2-2.2.2)所述的数据库模块判断累计委托量是否不小于X股,或者累计委托额是否不小于Y元,或者累计委托量与流通盘股本数的比值是否不小于Z,如果是,则主力挂单行为为主力挂买行为或主力挂卖行为;否则,不满足主力挂单行为;
(3-2.2.1)所述的数据库模块判断撤销和委托队列缓存是否已存在买方订单号和卖方订单号,如果是,则记录该用户的撤销量、撤销额和首次撤销时间,并将首次撤销时间记录为滑动时间窗口的起始点;否则,计算该用户的累计撤销量和撤销额,并将该笔交易撤销时间记录为滑动时间窗口的起始点;
(3-2.2.2)所述的数据库模块判断撤销队列缓存是否存在过期的时间窗口,如果是,则继续步骤(3-2.2.3);否则,继续步骤(2.1);
(3-2.2.3)所述的数据库模块判断累计撤销量是否不小于X股,或者累计撤销额是否不小于Y元,或者累计撤销量与流通盘股本数的比值是否不小于Z,如果是,则主力撤单行为为主力撤买行为或主力撤卖行为;否则,不满足主力撤单行为;
(3)所述的主力透视服务器接收经过处理的交易数据,并根据用户预设档位向客户端推送数据。
作为本发明的优选实施方式,所述的步骤(1)中的当前用户实时交易明细包括股票代码、买入数量、买入金额、卖出数量、卖出金额、挂单数量、挂单金额、挂单数量和操作时间。
作为本发明的优选实施方式,所述的交易数据为level2行情数据。
本发明的具体实施方式中,本发明是公开了一种基于交易数据实现主力买卖行为分析的方法及工具,全称:主力透视。其原理是根据level2十档行情数据源获取用户相关买卖操作明细,结合用户投资的股票、数量及金额,通过量化交易算法及阈值设定筛选出主力买卖操作行为;所述相关买卖操作明细包括:买入成交、卖出成交、买入撤单、卖出撤单、买入挂单、卖出挂单。
根据用户成交、挂单、撤单金额和数量或流通市值,在一定范围内时,成交、撤单和挂单数量与流通盘的比例是否超出了限定阈值,如果超出了阈值视为主力操作,将超出阈值的每笔成交、撤单及委托推送给用户;如果未超出阈值,则不向用户展示。本申请公开的上述功能方案,帮助用户识别主力的真实操作意图,更好的把握股市行情动向,提供更有效的指标参考。
本发明根据level2行情数据,根据用户不同的成交、挂单、撤单金额和数量,定义了超级主力、主力、大散户三个档位:
超级主力阈值范围:单笔成交手数≥2000手或成交金额≥100万;
主力阈值范围:单笔成成交手数≥1000手或交金额≥50万;
大散户阈值范围:单笔成交手数≥200手或成交金额≥10万;
其他若满足流通市值小于300亿时,成交、撤单、挂单手数大于流通盘的0.08%,或满足流通市值大于300亿时,成交、撤单、挂单手数小于流通盘的0.08%,均归为主力大单。
分析主力买卖行为的方法采用以上所述阈值和算法模型计算出的大单分类更准确。
1.主力成交的算法逻辑如下:
针对上海、深圳市场每只股票的逐笔成交队列,分别判断买方订单号和卖方订单号是否首次出现,即成交队列缓存中是否已存在。若为首次出现加入成交队列缓存,根据成交价和成交量记录下用户号及对应的成交量和成交额,记住时间精确到秒,作为该用户号的首次成交时间,以此作为滑动时间窗口(暂定1分钟)的起始点,然后继续等待成交队列。
非首次出现时,在成交队列缓存中找到对应的用户号,将该笔交易的成交量、成交额和缓存中的成交量、成交额加总合计,将该笔成交时间作为新的时间窗口起始点(递延窗口期),然后继续等待成交队列。
判断成交队列缓存中是否存在时间窗口过期,即1分钟内无新成交的用户号。针对过期的用户号,判断该用户号的累计成交量和成交额是否满足下述条件之一:
(1)成交量≥X股
(2)成交额≥Y元
(3)成交量÷流通盘股本数≥Z
输出主力成交为主力买入、或为主力卖出;不满足,不输出结果。
2.主力挂单的算法逻辑如下:
针对上海、深圳市场每只股票的逐笔委托队列,每笔委托存入委托队列缓存,供后续撤单关联使用;判断该笔委托的委托量、委托额是否满足下述条件之一:
委托量≥X股
委托额≥Y元
委托量÷流通盘股本数≥Z
输出主力挂单为主力挂买、或为主力挂卖;不满足,不输出结果
3.主力撤单的算法逻辑如下:
针对上海、深圳市场每只股票的逐笔撤销队列和委托队列缓存数据,观察买方订单号和卖方订单号中的非零项,判断这个订单号用户号是否首次出现,即撤销队列缓存中是否已存在,若为首次出现加入撤销队列缓存,根据主力撤买或主力撤卖去委托队列缓存关联相应订单号查询对应的委托价,同时判断下撤销量和委托量的数量关系是否合理、方向是否相同。记录下该用户号及对应的撤销量和撤销额,记录时间作为该客户号首次撤销时间,以此作为滑动时间窗口(暂定1分钟)的起始点,等待后续撤销队列。
非首次出现时,撤销队列缓存中找到对应用户号,将该笔撤销的撤销量/撤销额和缓存中的撤销量/撤销额加总合计,将撤销时间作为新的时间窗口起始点递延窗口期,然后继续等待成交队列。
判断撤销队列缓存中是否存在时间窗口过期,即1分钟内无新撤销的用户号。针对过期用户号,判断该用户号的累计撤销量和撤销额是否满足下述条件之一:
(1)撤销量≥X股
(2)撤销额≥Y元
(3)撤销量÷流通盘股本数≥Z
输出主力撤单非零为主力撤买、或主力撤卖;不满足,不输出结果。
通过以上算法模型和阈值设置,筛选出三档主力成交明细,以不同图形分别表示主力成交、撤单、挂单行为,可直观的在分时图上展示主力交易散点分布。主力成交指标散点图逻辑:显示分时内每一笔主力成交(买入/卖出)、主力撤单(买撤/卖撤)、主力挂单(挂买/挂卖)的散点图。在分时图上点的高度对应成交、撤单、挂单的量,单位为万手。当某一分时内在同一个量的位置存在主力买入、主力卖出、主力买撤、主力卖撤、主力挂买、主力挂卖其中两种行为以上的情况下,仅绘制最近的那笔。
除了展示个股实时主力交易明细外,本功能可统计沪深A股市场当日主力成交榜、主力撤单榜、主力挂单榜,可按照数量、金额、成交(挂单、撤单)数量进行排序。
主力买卖成交、挂单、撤单行为常常会影响股价波动,当买盘挂出巨单时,卖方散户心理会产生压力。怀疑如此大单买进,股价还可能会看高一线。相反,当卖盘挂出巨单时,买方散户会望而却步。本发明名给用户提供了一个分析主力买卖行为的方法及工具,能实时处理海量数据,通过算法从没秒上万笔交易数数据中,筛选出主力逐笔委托明细和成交明细,可在一定程度上预判未来股价走势。
本发明的目的是提供一种基于交易数据实现主力买卖行为分析的方法及工具,下面将对实施例描述中所需要使用的附图作简单的介绍说明。显然,所描述的实施例仅仅是本发明一部分实施例,具体实施例方式的流程图如图1所示,该方法包括:
步骤一:根据上海交易所和深证交易所提供的level 2行情数据获取用户相关实时买卖交易明细。
步骤二:后台系统获取并储存当日用户交易数据,通过量化交易算法及阈值设定筛选出主力买卖操作行为。
步骤三:根据成交手数和成交金额将大单定义为三个档位:超级主力、主力、大散户;用户可自定义档位,筛选出当日满足条件的个股列表,根据金额和数量进行排序。
用以上方式采集的数据,以图形化的形式将主力买卖行为叠加显示在分时图上,结合实时行情用户可分析预判个股走势;以榜单形式按买入、卖出、挂单、撤单金额进行排序,统计个股当日实时主力买、卖、挂单、撤单数量,能满足不同类型投资者差异化及更深层次的行情需求,更快评估多空个股多空力量,真实展示全市场主力委托单,快速掌握主力实力和实际成本,辅助判断主力意图,及时发现主力动向,让决策更准确。
沪深市场主力成交、主力撤单、主力挂单的处理逻辑如下:
一、深市主力成交
1.针对深圳市场每只股票的逐笔成交队列,限定:MSG_TYPE=“SZZC”、sMDStreamID=“011”、cExecType=70
2、分别判断i64BidApplySeqNum(买方订单号)和i64OfferApplySeqNum(卖方订单号)是否首次出现(即“成交队列缓存”中是否已存在):
2.1首次出现
2.1.1加入“成交队列缓存”,根据i64LastPx(成交价)和i64LastQty(成交量)记录下SeqNum及对应的成交量和成交额。比较买方订单号和卖方订单号的大小,如果买方订单号>卖方订单号,则买方计主动买、卖方计被动卖,否则买方计被动买,卖方计主动卖。拼接uDate(YYYYMMDD)+i64TransactTime(HHmmssSSS)作为该SeqNum首次成交时间,以此作为滑动时间窗口(暂定45秒)的起始点,等待后续成交队列。
2.2非首次出现
2.2.1“成交队列缓存”中找到对应的SeqNum,将该笔交易的成交量/成交额和缓存中的成交量/成交额加总合计,重新计算主被动买卖量的变化,将该笔成交时间作为新的时间窗口起始点(递延窗口期),等待后续成交队列。
3、判断“成交队列缓存”中是否存在时间窗口过期(即45秒内无新成交)的SeqNum。针对过期的SeqNum,判断该SeqNum的累计成交量和成交额是否满足主力认定的条件。
3.1满足,输出主力成交(BidApplySeqNum为主力买入、OfferApplySeqNum为主力卖出)。同时比较该SeqNum的主动买卖量和被动买卖量的大小,打上相应的主被动标记。
3.2不满足,不输出结果。
二、深市主力挂单
1、针对深圳市场每只股票的逐笔委托队列,限定:MSG_TYPE=“SZZW”、sMDStreamID=“011”,存入“委托队列缓存”(供后续撤单关联使用)
2、判断该笔委托的委托量(i64OrderQty)/委托额(i64OrderQty*i64Price)是否满足主力认定条件。
2.1.满足,输出主力挂单(cSide=49为主力挂买、cSide=50为主力挂卖)
2.2.不满足,不输出结果
三、深市主力撤单
1、针对深圳市场每只股票的逐笔撤销队列(限定:MSG_TYPE=“SZZC”、sMDStreamID=“011”、cExecType=52)和”委托队列缓存”数据
2、观察i64BidApplySeqNum(买方订单号)和i64OfferApplySeqNum(卖方订单号)中的非零项(理论上仅一个),判断这个订单号SeqNum是否首次出现(即”撤销队列缓存”中是否已存在):
2.1.首次出现
2.1.1.加入“撤销队列缓存”,根据BidApplySeqNum(或OfferApplySeqNum)去“委托队列缓存”关联相应ApplSeqNum对应的委托价(i64Price),同时判断下撤销量和委托量的数量关系是否合理、方向是否相同。记录下该SeqNum及对应的撤销量和撤销额,拼接uDate+i64TransactTime作为该SeqNum首次撤销时间,以此作为滑动时间窗口(暂定45秒)的起始点,等待后续撤销队列。
2.2.非首次出现
2.2.1.“撤销队列缓存”中找到对应SeqNum,将该笔撤销的撤销量/撤销额和缓存中的撤销量/撤销额加总合计,将撤销时间作为新的时间窗口起始点(递延窗口期),等待后续撤销队列。
3、判断“撤销队列缓存”中是否存在时间窗口过期(即45秒内无新撤销)的SeqNum。针对过期SeqNum,判断该SeqNum的累计撤销量和撤销额是否满足主力认定条件。
3.1.满足,输出主力撤单(BidApplySeqNum非零为主力撤买,OfferApplySeqNum非零为主力撤卖)
3.2.不满足,不输出结果
四、沪市主力成交
1、针对上海市场每只股票的逐笔成交队列,限定:MSG_TYPE=“SHZC”
2、分别判断iTradeBuyNo(买方订单号)和iTradeSellNo(卖方订单号)是否首次出现(即”成交队列缓存”中是否已存在):
2.1.首次出现
2.1.1.加入“成交队列缓存”,分别记录下买方/卖方订单号(iTradeBuyNo/iTradeSellNo)及对应的成交量(iTradeQty)和成交额(iTradeMoney)。比较买方订单号和卖方订单号的大小,如果买方订单号>卖方订单号,则买方计主动买、卖方计被动卖,否则买方计被动买,卖方计主动卖。拼接uDate(YYYYMMDD)+uTradeTime(HHmmssSSS)作为这两个订单号的首次成交时间,以此作为滑动时间窗口(暂定45秒)的起始点,等待后续成交队列。
2.2.非首次出现
2.2.1.“成交队列缓存”中找到对应的买方/卖方订单号,将该笔交易的成交量/成交额和缓存中的成交量/成交额加总合计,重新计算主被动买卖量的变化,将该笔成交时间作为新的时间窗口起始点(递延窗口期),等待后续成交队列。
3、判断“成交队列缓存”中是否存在时间窗口过期(即45秒内无新成交)的买方/卖方订单号。针对过期的订单号,判断其累计成交量和成交额是否满足主力认定条件。
3.1.满足,输出主力成交(iTradeBuyNo为主力买入、iTradeSellNo为主力卖出)。同时比较该SeqNum的主动买卖量和被动买卖量的大小,打上相应的主被动标记。
3.2.不满足,不输出结果
五、沪市主力挂单\撤单
1、针对上海市场(MSG_TYPE=“SHL2”)每只股票的前后两笔LEVEL2十档委托行情数据(Tn和Tn+1)。注:理论上每只股票3秒一个切片,但如果3秒内无成交和委托,则不推送。目前我们仅考虑买3至买10、卖3至卖10共计16档价位,之所以剔除买1卖1买2卖2四档委托,是因为这四档价位最接近当前成交价,相对最有可能被成交,所以这部分委托无法判断挂撤情况。
2、记录下Tn切片的十档买卖委托信息:
申买价列表:buyPriceArrayn[3],[4],…,[10]
申买量列表:buyVolArrayn[3],[4],…,[10]
申卖价列表:sellPriceArrayn[3],[4],…,[10]
申卖量列表:sellVolArrayn[3],[4],…,[10]
拼装成map(buyPriceArrayn[3],buyVolArrayn[3])
map(buyPriceArrayn[4],buyVolArrayn[4])
……
3、等待下一个切片Tn+1的到来,重复上述步骤。
4、判断for i from 3 to 10{
4.1)if buyPriceArrayn+1[i]between buyPriceArrayn[3]and buyPriceArrayn[10]
4.1.1)if TRUE and buyPriceArrayn+1[i]=buyPriceArrayn[j]
then calculate DeltaVol=buyVolArrayn+1[i]-buyVolArrayn[j],DeltaAmt=DeltaVol*buyPriceArrayn+1[i]
4.1.2)if TRUE and buyPriceArrayn+1[i]not in(buyPriceArrayn[3],[4],…,[10])
then calculate DeltaVol=buyVolArrayn+1[i]-0,DeltaAmt=DeltaVol*buyPriceArrayn+1[i]
4.2)sellPriceArrayn+1[i]的判断同上
}
5、判断DeltaVol(委托量差值)和DeltaAmt(委托额差值)是否满足主力认定条件。
1)abs(DeltaVol)≥X股(X取10万)
2)abs(DeltaAmt)≥Y元(Y取80万)
3)abs(DeltaVol)÷流通盘股本数≥Z(流通市值≥300亿元时Z取0.08%,流通市值<300亿元时Z取0.04%)
5.1.满足,if buyPriceArrayn+1[i]对应的DeltaVol<0then output主力撤买,
if sellPriceArrayn+1[i]对应的DeltaVol<0then output主力撤卖,
if buyPriceArrayn+1[i]对应的DeltaVol>0then output主力挂买,
if sellPriceArrayn+1[i]对应的DeltaVol>0then output主力挂卖
5.2.不满足,不输出结果。为了更清楚的说明本发明现有技术的技术方案,下面将对现有技术描述中所需要使用的附图作简单的介绍,具体见图2所示:
(1)采集level 2行情数据推送至kafka的消息列队。
行情数据为当前用户实时交易明细,包括股票代码,买入数量、买入金额、卖出数量、卖出金额、挂单数量、挂单金额、挂单数量、操作时间;
(2)kafka消息队列接收数据并向主力透视服务器、codis数据库实时推送level 2交易流水。
(3)codis数据库接收level 2数据并存储,根据算法和阈值分别统计买卖挂单、买卖撤单、买卖成交价格、买卖成交数量、并区分主被动;
根据挂单、撤单、成交量和次数分别统计沪市A股的主力挂单榜、主力撤单榜、主力成交榜,并根据买入量、卖出量、买入次数、卖出次数自由切换榜单顺序。
(4)主力透视服务器接收经过处理的level 2数据,根据用户自定义档位,给客户端推送消息;
(5)客户端请求数据,根据股票代码和成交类型获取单只股票的详情交易明细;根据榜单类型获取沪深A股主力榜单。
采用了本发明的基于交易数据实现主力买卖行为分析的系统及其方法,采用流式方法处理数据,基于时间窗口移动的动态数据快速处理技术(时序处理)和基于事件驱动的模式识别技术(CEP)及上下文关联能力,支持计数、求和、平均、最大、最小、方差、标准差、协方差、K阶中心矩、连续、递增/递减、最大连续递增/递减、唯一性判别、采集、过滤、排序等多种分布式实时计算模型;通过此处理逻辑可实现高可用缓存、强大的时序处理、能独立完成复杂的算法计算,低延时和高并发,毫秒级的实时计算能力,同时满足数十万用户的访问请求。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (14)
1.一种基于交易数据实现主力买卖行为分析的系统,其特征在于,所述的系统包括:
消息队列模块,用于接收并推送交易数据;
主力透视服务器,与所述的消息队列模块相连接,用于接收处理用户交易数据,并分析主力买卖行为;
数据库模块,与所述的主力透视服务器相连接,用于存储数据,统计明细交易数据并分类排序。
2.根据权利要求1所述的基于交易数据实现主力买卖行为分析的系统,其特征在于,所述的主力透视服务器与客户端相连接,用于根据用户预设档位向客户端推送数据。
3.根据权利要求1所述的基于交易数据实现主力买卖行为分析的系统,其特征在于,所述的消息队列模块为kafka消息队列。
4.根据权利要求1所述的基于交易数据实现主力买卖行为分析的系统,其特征在于,所述的数据库模块为codis数据库。
5.一种利用权利要求1所述的系统实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的消息队列模块获取当前用户实时交易明细,并将level2交易流水数据推送至所述的主力透视服务器和数据库模块;
(2)所述的数据库模块接收并储存当日用户交易数据,根据量化交易方法及阈值判断筛选主力买卖操作行为,并根据成交手数和成交金额定义交易大单的数据档位;
(3)所述的主力透视服务器接收经过处理的交易数据,并根据用户预设档位向客户端推送数据。
6.根据权利要求5所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(2)具体包括以下步骤:
(2.1)所述的数据库模块根据成交、挂单及撤单的金额和数量及阈值定义交易是否属于超级主力、主力或大散户的数据档位,如果是,则继续步骤(2.2);否则,继续步骤(1);
(2.2)所述的数据库模块判断交易是否属于主力成交、主力撤单或主力挂单的行为,如果是,则继续步骤(3);否则,继续步骤(2.1)。
7.根据权利要求6所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(2.1)中判断交易是否属于超级主力的数据档位具体包括以下步骤:
(1-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于2000手,或成交金额是否不小于100万,如果是,则该交易属于超级主力的数据档位;否则,该交易不属于超级主力的数据档位。
8.根据权利要求6所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(2.1)中判断交易是否属于主力的数据档位具体包括以下步骤:
(2-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于1000手且小于2000手,或者成交金额是否不小于50万且小于100万,如果是,则该交易属于主力的数据档位;否则,继续步骤(2-2.1.2);
(2-2.1.2)所述的数据库模块判断是否该交易的流通市值小于300亿且成交手数、撤单手数和挂单手数均大于流通盘的0.08%,或者是否该交易的流通市值大于300亿且成交手数、撤单手数和挂单手数均小于流通盘的0.08%,如果是,则该交易属于主力的数据档位;否则,该交易不属于主力的数据档位。
9.根据权利要求6所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(2.1)中判断交易是否属于大散户的数据档位具体包括以下步骤:
(3-2.1.1)所述的数据库模块判断该交易的单笔成交手数是否不小于200手且小于1000手,或者成交金额是否不小于10万且小于50万,如果是,则该交易属于大散户的数据档位;否则,该交易不属于大散户的数据档位。
10.根据权利要求6所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(2.2)中判断交易是否属于主力成交具体包括以下步骤:
(1-2.2.1)所述的数据库模块判断成交队列缓存是否已存在买方订单号和卖方订单号,如果是,则记录该用户的成交量、成交额和首次成交时间,并将首次成交时间记录为滑动时间窗口的起始点;否则,计算该用户的累计成交量和成交额,并将该笔交易成交时间记录为滑动时间窗口的起始点;
(1-2.2.2)所述的数据库模块判断成交队列缓存是否存在过期的时间窗口,如果是,则继续步骤(1-2.2.3);否则,继续步骤(2.1);
(1-2.2.3)所述的数据库模块判断累计成交量是否不小于X股,或者累计成交额是否不小于Y元,或者累计成交量与流通盘股本数的比值是否不小于Z,如果是,则主力成交行为为主力买入行为或主力卖出行为;否则,不满足主力成交行为。
11.根据权利要求6所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(2.2)中判断交易是否属于主力挂单具体包括以下步骤:
(2-2.2.1)所述的数据库模块将委托数据存入委托队列缓存;
(2-2.2.2)所述的数据库模块判断累计委托量是否不小于X股,或者累计委托额是否不小于Y元,或者累计委托量与流通盘股本数的比值是否不小于Z,如果是,则主力挂单行为为主力挂买行为或主力挂卖行为;否则,不满足主力挂单行为。
12.根据权利要求6所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(2.2)中判断交易是否属于主力撤单具体包括以下步骤:
(3-2.2.1)所述的数据库模块判断撤销和委托队列缓存是否已存在买方订单号和卖方订单号,如果是,则记录该用户的撤销量、撤销额和首次撤销时间,并将首次撤销时间记录为滑动时间窗口的起始点;否则,计算该用户的累计撤销量和撤销额,并将该笔交易撤销时间记录为滑动时间窗口的起始点;
(3-2.2.2)所述的数据库模块判断撤销队列缓存是否存在过期的时间窗口,如果是,则继续步骤(3-2.2.3);否则,继续步骤(2.1);
(3-2.2.3)所述的数据库模块判断累计撤销量是否不小于X股,或者累计撤销额是否不小于Y元,或者累计撤销量与流通盘股本数的比值是否不小于Z,如果是,则主力撤单行为为主力撤买行为或主力撤卖行为;否则,不满足主力撤单行为。
13.根据权利要求5所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的步骤(1)中的当前用户实时交易明细包括股票代码、买入数量、买入金额、卖出数量、卖出金额、挂单数量、挂单金额、挂单数量和操作时间。
14.根据权利要求5至13中任一项所述的实现基于交易数据的主力买卖行为分析的方法,其特征在于,所述的交易数据为level2行情数据。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910057478.0A CN109801164A (zh) | 2019-01-22 | 2019-01-22 | 基于交易数据实现主力买卖行为分析的系统及其方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910057478.0A CN109801164A (zh) | 2019-01-22 | 2019-01-22 | 基于交易数据实现主力买卖行为分析的系统及其方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN109801164A true CN109801164A (zh) | 2019-05-24 |
Family
ID=66559921
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910057478.0A Pending CN109801164A (zh) | 2019-01-22 | 2019-01-22 | 基于交易数据实现主力买卖行为分析的系统及其方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109801164A (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111275480A (zh) * | 2020-01-07 | 2020-06-12 | 成都信息工程大学 | 面向多维稀疏销售数据仓库的欺诈行为挖掘方法 |
| CN111562995A (zh) * | 2020-04-30 | 2020-08-21 | 成都库珀区块链科技有限公司 | 一种交易消息处理的方法、系统以及相关装置 |
| CN112365346A (zh) * | 2020-10-30 | 2021-02-12 | 北京数秦科技有限公司 | 股票交易委托大单的判定及显示方法、装置及存储介质 |
| CN113222765A (zh) * | 2021-05-31 | 2021-08-06 | 深圳华云信息系统有限公司 | 行情数据推送方法、装置、电子设备及存储介质 |
| CN113989049A (zh) * | 2021-09-24 | 2022-01-28 | 泰康保险集团股份有限公司 | 数据处理系统、可读存储介质、电子设备及平台 |
| CN115994828A (zh) * | 2023-03-24 | 2023-04-21 | 成都金蟾蜍量化科技有限公司 | 一种量化交易辅助决策方法、系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110078141A1 (en) * | 2009-09-25 | 2011-03-31 | Adnan Fakeih | Database and Method for Evaluating Data Therefrom |
| CN104281971A (zh) * | 2013-07-01 | 2015-01-14 | 神乎科技股份有限公司 | 一种金融信息处理方法 |
| CN107808261A (zh) * | 2017-11-29 | 2018-03-16 | 上海大智慧信息科技有限公司 | Ace决策股票分析方法及系统 |
-
2019
- 2019-01-22 CN CN201910057478.0A patent/CN109801164A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110078141A1 (en) * | 2009-09-25 | 2011-03-31 | Adnan Fakeih | Database and Method for Evaluating Data Therefrom |
| CN104281971A (zh) * | 2013-07-01 | 2015-01-14 | 神乎科技股份有限公司 | 一种金融信息处理方法 |
| CN107808261A (zh) * | 2017-11-29 | 2018-03-16 | 上海大智慧信息科技有限公司 | Ace决策股票分析方法及系统 |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111275480A (zh) * | 2020-01-07 | 2020-06-12 | 成都信息工程大学 | 面向多维稀疏销售数据仓库的欺诈行为挖掘方法 |
| CN111562995A (zh) * | 2020-04-30 | 2020-08-21 | 成都库珀区块链科技有限公司 | 一种交易消息处理的方法、系统以及相关装置 |
| CN112365346A (zh) * | 2020-10-30 | 2021-02-12 | 北京数秦科技有限公司 | 股票交易委托大单的判定及显示方法、装置及存储介质 |
| CN112365346B (zh) * | 2020-10-30 | 2024-11-01 | 北京数秦科技有限公司 | 股票交易委托大单的判定及显示方法、装置及存储介质 |
| CN113222765A (zh) * | 2021-05-31 | 2021-08-06 | 深圳华云信息系统有限公司 | 行情数据推送方法、装置、电子设备及存储介质 |
| CN113222765B (zh) * | 2021-05-31 | 2021-11-19 | 深圳华云信息系统有限公司 | 行情数据推送方法、装置、电子设备及存储介质 |
| CN113989049A (zh) * | 2021-09-24 | 2022-01-28 | 泰康保险集团股份有限公司 | 数据处理系统、可读存储介质、电子设备及平台 |
| CN115994828A (zh) * | 2023-03-24 | 2023-04-21 | 成都金蟾蜍量化科技有限公司 | 一种量化交易辅助决策方法、系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109801164A (zh) | 基于交易数据实现主力买卖行为分析的系统及其方法 | |
| Chen et al. | Pricing and matching with forward-looking buyers and sellers | |
| Gould et al. | Limit order books | |
| CN104737132B (zh) | 用于按需服务环境中的消息队列的基于竞价的资源共享 | |
| US7962398B1 (en) | Method and system for executing trades in a user preferred security | |
| JP2002538545A (ja) | マーケティング支援データベース管理方法及びシステム及びプログラム製品 | |
| Chiu et al. | Patent implemented time series algorithm for building stock portfolios in China A-shares | |
| CN111709669A (zh) | 一种企业信用评分系统及方法 | |
| JPH10275177A (ja) | 投資信託のパフォーマンス評価装置およびその評価方法 | |
| Lakshmi et al. | Effect of overconfidence on investment decisions: A behavioural finance approach | |
| Desta et al. | The influence of waiting lines management on customer satisfaction in commercial bank of Ethiopia | |
| JP4376887B2 (ja) | 業務プロセスにおける業務効率低下の原因侯補を抽出する方法、その装置およびプログラム | |
| Rauf et al. | Internet banking as determinant of Pakistan banking sector profitability: ROA & ROE model | |
| HK40002866A (zh) | 基於交易数据实现主力买卖行为分析的系统及其方法 | |
| US8019671B2 (en) | Legacy risk | |
| Uremadu et al. | Testing relationship between government current expenditures and economic growth in Nigeria | |
| Onsongo | Effect of Privatization on Profitability of Commercial State-Owned Companies in Kenya | |
| Fazli et al. | A Novel Experts Advice Aggregation Framework Using Deep Reinforcement Learning for Portfolio Management | |
| Dey et al. | A single period inventory problem with resalable returns: A fuzzy stochastic approach | |
| CN112785430B (zh) | 一种股票成交状态分析方法及系统 | |
| Nesvetailov et al. | Assessment of sustainable development levels in russian organizations using fuzzy sets theory | |
| Welfe | The system of demand equations in a state of disequilibrium | |
| Aideyan et al. | Analysis of single and multi-teller models using simulation for reducing waiting time: a case study of Access Bank and Eco Bank, Nig Ltd, in Taraba State Nigeria | |
| Wu et al. | Data mining application to financial market to discover the behavior of entry point–a case study of Taiwan index futures market | |
| KR20120080029A (ko) | 부동산 경매를 통한 부동산 투자 시스템 및 서비스 제공방법 |
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 | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40002866 Country of ref document: HK |
|
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190524 |