一种基于内存的多交易所全业务清算系统和方法与流程

文档序号:23386371发布日期:2020-12-22 13:51阅读:272来源:国知局
一种基于内存的多交易所全业务清算系统和方法与流程

本发明涉及一种应用于金融软件领域的业务清算系统,具体涉及基于内存实现的多交易所全业务清算系统和方法。



背景技术:

中国期货市场存在多个交易所、有众多期货产品以及衍生产品,各产品业务规则各有不同,非常复杂,并且新业务层出不穷,期货公司对接交易所的it系统升级、运维成本高昂;期货公司业务人员为了保障公司客户数据准确、完整压力巨大。

期货公司的多个系统都需要实现相同的业务规则,由于业务规则复杂,需要更多业务专家支持,系统重复建设非常严重。

期货公司业务实现严重依赖各种数据库,系统的可移植性较差,执行性能依赖数据库性能,对系统的横向扩展、系统调优都有较高要求。



技术实现要素:

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

本发明的目的在于解决上述问题,提供了一种基于内存的多交易所全业务清算系统和方法,支持跨平台调用,能够大大简化期货公司业务系统的建设,提高系统性能、减少交易所业务升级的响应时间,降低期货公司运维成本。

本发明的技术方案为:本发明揭示了一种基于内存的多交易所全业务清算系统,系统包括基础数据输入模块、多交易所数据输入模块、多交易所清算计算模块、清算数据输出模块,基础数据输入模块、多交易所数据输入模块的输出端均连接到多交易清算计算模块,多交易所清算计算模块的输出端连接到清算数据输出模块,其中:

基础数据输入模块,用于提供进行多交易所清算计算所需的标准数据;

多交易所数据输入模块包括多个交易所数据输入单元,其中每一交易所数据输入单元用于提供交易所的自身数据;

多交易所清算计算模块,用于利用清算核心动态库对基础数据输入模块和多交易所数据输入模块所输入的数据按照各个交易所清算规则进行计算,得到标准计算结果;

清算数据输出模块,用于将多交易所清算计算模块得到的标准计算结果进行输出。

根据本发明的基于内存的多交易所全业务清算系统的一实施例,基础数据输入模块输出到多交易所清算计算模块的数据包括但不限于:合约、期权保证金参数、客户交易编码、结算会员交易保证金率、结算会员交割保证金率、结算会员交易手续费率、结算会员交割手续费率、结算会员期权执行手续费率、客户交易保证金率、客户交割保证金率、客户交易手续费率、客户交割手续费率、客户期权执行手续费率、交易编码昨持仓、交易编码昨持仓明细、交易编码昨交割持仓、投机转套保记录。

根据本发明的基于内存的多交易所全业务清算系统的一实施例,多交易所清算计算模块的清算核心动态库将各交易所业务封装为动态库,其中对各交易所的业务规则进行归纳、抽象、封装,生成包含多个计算模型的公共清算模式,实现各交易所不同产品的资金、持仓结算。

根据本发明的基于内存的多交易所全业务清算系统的一实施例,多交易所清算计算模块根据输入数据的类型自动匹配清算核心动态库中的公共清算模式中的计算模型并据此进行计算,支持通过多线程调用的方式按交易所、按客户、产品、合约等方式灵活调用,支持跨平台调用。

根据本发明的基于内存的多交易所全业务清算系统的一实施例,多交易所清算计算模块配置为执行以下的步骤:

将输入的各交易所结算数据、系统设置的基础数据按照交易编码粒度进行绑定;

初始化计算线程,将所有交易编码的数据分配到各线程;

各线程中按照产品类型自动匹配公共清算模式中对应的计算模型;

根据匹配到的计算模型进行计算,处理成交、交割、期权执行,按照规则收取费用、计算资金和持仓;

将各线程计算结果汇总作为多交易所清算计算模块的输出。

根据本发明的基于内存的多交易所全业务清算系统的一实施例,多交易所清算计算模块所配置的步骤还包括:

如果有大边或者组合业务,则计算组合保证金。

根据本发明的基于内存的多交易所全业务清算系统的一实施例,多交易所数据输入模块包括但不限于:中金所数据输入单元、上期所数据输入单元、大商所数据输入单元、郑商所数据输入单元、能源中心数据输入单元。

根据本发明的基于内存的多交易所全业务清算系统的一实施例,中金所数据输入单元所输入的数据包括但不限于:成交数据、标准合约结算数据、标准合约结算明细数据、结算会员资金情况数据、客户分项资金明细数据、策略组合规则数据、策略组合保证金明细数据、单向大边保证金明细数据、汇率数据、期权到期及执行情况数据、期权结算业务参数数据、交割匹配结果数据、交割配对结果数据、分项资金数据;

上期所数据输入单元所输入的数据包括但不限于:成交数据、交割数据、结算明细数据、资金数据、组合持仓数据、期权执行数据、合约参数数据、分项资金数据;

大商所数据输入单元所输入的数据包括但不限于:成交数据、期权执行数据、保证金参数数据、手续费参数数据、组合持仓明细数据、期转现数据、分项资金数据;

郑商所数据输入单元所输入的数据包括但不限于:成交数据、折抵数据、组合持仓数据、保证金参数数据、交割数据、期权执行数据、手续费减免数据、分项资金数据;

能源中心数据输入单元所输入的数据包括但不限于:成交数据、交割数据、结算明细数据、资金表数据、期权执行表数据、合约参数表数据、分项资金数据。

本发明还揭示了一种基于内存的多交易所全业务清算方法,方法在如上所述的系统上实施,方法包括:

步骤1:将输入的各交易所结算数据、系统设置的基础数据按照交易编码粒度进行绑定;

步骤2:初始化计算线程,将所有交易编码的数据分配到各线程;

步骤3:各线程中按照产品类型自动匹配公共清算模式中对应的计算模型;

步骤4:根据匹配到的计算模型进行计算,处理成交、交割、期权执行,按照规则收取费用、计算资金和持仓;

步骤5:将各线程计算结果汇总作为多交易所清算计算模块的输出。

根据本发明的基于内存的多交易所全业务清算方法的一实施例,方法还包括:

在步骤5之前,如果有大边或者组合业务,则计算组合保证金。

本发明对比现有技术有如下的有益效果:不同于现有清算系统采用数据库sp方式,或者用第三方内存数据库进行清算数据的处理,本发明全部采用标准c++库函数,提高数据处理效率;本发明的系统将各个交易所的各种业务实现的逻辑封装为以c++作为开发语言的动态库,这样的设计使得调用者不需要了解其中复杂的业务逻辑,只是需要录入各交易所下发的原始数据和系统参数,就能获得标准清算结果。详细而言,本发明对各期货交易所业务规则进行归纳、抽象、封装,按规则抽象出公共清算模式,实现各交易所不同产品资金、持仓结算。本发明的系统能够根据输入数据的类型自动匹配计算模型进行计算。本发明的系统支持按交易所、客户、产品、合约等方式灵活调用,对大数据量并发计算提供良好支持,且支持windows、linux等的跨平台调用。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1示出了本发明的基于内存的多交易所全业务清算系统的一实施例的原理图。

图2示出了图1所示的系统实施例中的多交易所清算计算模块的内部原理图,也即本发明的基于内存的多交易所全业务清算方法的一实施例的流程图。

具体实施方式

以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。

图1示出了本发明的基于内存的多交易所全业务清算系统的一实施例的原理。请参见图1,本实施例的系统包括基础数据输入模块、多个交易所数据输入模块、多交易所清算计算模块、和清算数据输出模块。

其中基础数据输入模块、多个交易所数据输入模块的输出端均连接到多交易清算计算模块,多交易所清算计算模块的输出端连接到清算数据输出模块。

基础数据输入模块用于提供进行多交易所清算计算所需的标准数据,其输出到多交易所清算计算模块的数据包括:合约、期权保证金参数、客户交易编码、结算会员交易保证金率、结算会员交割保证金率、结算会员交易手续费率、结算会员交割手续费率、结算会员期权执行手续费率、客户交易保证金率、客户交割保证金率、客户交易手续费率、客户交割手续费率、客户期权执行手续费率、交易编码昨持仓、交易编码昨持仓明细、交易编码昨交割持仓、投机转套保记录等。

多交易所数据输入模块包括多个交易所数据输入单元,每一交易所数据输入单元用于提供交易所的自身数据,交易所数据输入单元例如包括中金所数据输入单元、上期所数据输入单元、大商所数据输入单元、郑商所数据输入单元、能源中心数据输入单元。

中金所数据输入单元所输入的数据包括:成交数据、标准合约结算数据、标准合约结算明细数据、结算会员资金情况数据、客户分项资金明细数据、策略组合规则数据、策略组合保证金明细数据、单向大边保证金明细数据、汇率数据、期权到期及执行情况数据、期权结算业务参数数据、交割匹配结果数据、交割配对结果数据、分项资金数据等。

上期所数据输入单元所输入的数据包括:成交数据、交割数据、结算明细数据、资金数据、组合持仓数据、期权执行数据、合约参数数据、分项资金数据等。

大商所数据输入单元所输入的数据包括:成交数据、期权执行数据、保证金参数数据、手续费参数数据、组合持仓明细数据、期转现数据、分项资金数据等。

郑商所数据输入单元所输入的数据包括:成交数据、折抵数据、组合持仓数据、保证金参数数据、交割数据、期权执行数据、手续费减免数据、分项资金数据等。

能源中心数据输入单元所输入的数据包括:成交数据、交割数据、结算明细数据、资金表数据、期权执行表数据、合约参数表数据、分项资金数据等。

多交易所清算计算模块用于利用清算核心动态库对基础数据输入模块和多交易所数据输入模块所输入的数据按照各个交易所清算规则进行计算,得到标准计算结果并通过清算数据输出模块输出。其中清算核心动态库是将各交易所业务封装为以c++作为开发语言并采用标准c++库函数的动态库,对各交易所业务规则进行归纳、抽象、封装,生成包含了多个计算模型的公共清算模式,实现各交易所不同产品资金、持仓结算。这些计算模型均是根据各个交易所的业务规则抽象而成的,具体的抽象过程是根据交易所的自身规则而定,其具体实现本身以交易所各产品的结算规则为准。

多交易所清算计算模块根据输入数据的类型自动匹配清算核心动态库中的公共清算模式中的计算模型并据此进行计算,支持通过多线程调用的方式按交易所、按客户、产品、合约等方式灵活调用,这对大数据量并发计算提供良好支持,且支持windows、linux等的跨平台调用,支持一部分产品在linux、一部分在windows并行清算。

多交易所清算计算模块实现原理如图2所示,多交易所清算计算模块配置为执行以下的步骤。

步骤1:将输入的各交易所结算数据、系统设置的基础数据(比如成交、交割、期权执行、投资者费率等信息)按照交易编码粒度进行绑定。

步骤2:初始化计算线程,将所有交易编码的数据分配到各线程。

步骤3:各线程中按照产品类型自动匹配公共清算模式中对应的计算模型。

步骤4:匹配到计算模型后根据这一计算模型进行计算,处理成交、交割、期权执行等,按照规则收取费用、计算资金和持仓。

步骤5:如果有大边(大边保证金是上期所、中金所、能源中心的一种保证金优惠计算业务或者组合业务,则计算组合保证金。

步骤6:将各线程计算结果汇总作为多交易所清算计算模块的输出。

上述步骤的实现流程也就是本发明的基于内存的多交易所全业务清算方法的一实施例的流程。

清算数据输出模块用于将多交易所清算计算模块得到的标准计算结果进行输出,所输出的数据包括:清算会员资金变动、交易会员资金变动、客户资金变动、交易编码合约资金、交易编码持仓、交易编码持仓明细、交易编码平仓明细、策略组合保证金明细表、单向大边保证金明细表、交易编码交割持仓、交易编码交割明细和交易编码期权执行明细等,均满足《期货公司柜台系统数据接口规范》的标准。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。

结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1