一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动化验证方法和相关产品与流程

2022-06-01 17:36:26 来源:中国专利 TAG:


1.本技术涉及验证领域,尤其涉及一种自动化验证方法和相关产品。


背景技术:

2.投资交易平台、投资交易仿真平台或交易软件一般包含如下业务:上海和深圳市场认购、认沽代码,不同代码委托下单(包括不同状态验证:已报、已成)、对冲、组合和组合拆分、深圳单边平仓、行权日(e日)行权、e-2日价差组合(认购牛、认购熊、认沽牛、认沽熊)自动拆分等。投资交易平台、投资交易仿真平台或交易软件的回归验证以及上线后的运维,均要不断验证这些业务正常和资金正确。目前,验证投资交易平台、投资交易仿真平台或交易软件的业务和/或资金是否正常的方式通常是手动选代码,并验证全部业务。然而,手动选代码并验证全部业务1轮大概需要5天。为了加快验证效率,需要解决投资交易平台、投资交易仿真平台或交易软件的业务和资金验证效率慢问题。


技术实现要素:

3.本技术实施例公开了一种自动化验证方法和相关产品。
4.第一方面,本技术实施例提供一种自动化验证方法,该方法包括:根据多段代码的名称,对多种业务进行验证;所述多段代码的名称与所述多种业务一一对应;根据所述多种业务产生的数据列表以及需要进行资金计算的数据库数据,验证所述多种业务的资金。
5.本技术实施例中,根据多段代码的名称,对多种业务进行验证;根据该多种业务产生的数据列表以及需要进行资金计算的数据库数据,验证该多种业务的资金;可以提高投资交易平台、交易软件或投资交易仿真平台的业务和资金的验证效率。
6.在一种可能的实现方式中,在根据多段代码的名称,对多种业务进行验证之前,所述方法还包括:修改所述多段代码中的行权业务代码的行权日期;所述行权业务代码用于实现行权业务;根据多段代码的名称,对多种业务进行验证包括:根据修改了行权日期的所述行权业务代码的名称,对行权业务进行验证。
7.在该实现方式中,根据修改了行权日期的行权业务代码的名称,对行权业务进行验证;可解决测试(或者说验证)行权时,需要手动修改行权业务代码的行权日期的问题。
8.在一种可能的实现方式中,所述修改所述多段代码中的行权业务代码的行权日期包括:修改第一行权业务代码的行权日期为当日,和/或,修改第二行权业务代码的当日为(e-1)日或(e-2)日;所述e日为所述第二行权业务代码的行权日期,所述第一行权业务代码用于实现认购或认沽业务,所述第二行权业务用于实现价差(e-2)日自动拆分业务。
9.在该实现方式中,修改第一行权业务代码的行权日期为当日可解决测试行权时,需要手动修改一批认购代码、认沽代码等的行权日期(e日)为当日的问题。修改第二行权业务代码的当日为(e-1)日或(e-2)日可解决需要手动修改一批代码当日为e-1日和e-2日的问题,并来为后面行权业务、价差组合e-2日自动拆分业务验证做准备。
10.在一种可能的实现方式中,所述根据所述多种业务产生的数据列表以及需要进行
资金计算的数据库数据,验证所述多种业务的资金包括:对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证,以及对盘中资金进行验证和/或对盘后资金进行验证。
11.在该实现方式中,可快速、准确地验证资金。
12.在一种可能的实现方式中,所述对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证包括:根据已报资金计算数据,计算撤单列表中的每条撤单列表数据的冻结权利金、冻结保证金、费用以及总冻结权利金、冻结保证金、费用;将所述撤单列表中的每条撤单列表数据与计算得到的每条撤单列表数据的差值打印至目标文件;根据已成资金计算数据,计算当日成交列表中每条当日成交列表数据的占用保证金,以及总成交金额、费用;将所述当日成交列表中的每条当日成交列表数据和计算得到的每条当日成交列表数据的差值打印至目标文件;根据行权资金计算数据,计算历史行权列表中的每条历史行权列表数据的行权盈亏,将计算得到的行权盈亏与历史行权列表中的每条历史行权列表数据的差值打印至目标文件。
13.在该实现方式中,可快速、准确地实现不同列表中的金额验证封装。
14.在一种可能的实现方式中,所述方法还包括:根据计算得到的每条撤单列表数据,验证所述撤单列表中每条撤单列表数据的正确性。
15.在该实现方式中,可快速、准确地验证撤单列表中每条撤单列表数据的正确性。
16.在一种可能的实现方式中,所述方法还包括:根据计算得到的所述当日成交列表中每条当日成交列表数据的占用保证金,验证所述当日成交列表中每条当日成交列表数据的占用保证金的正确性。
17.在该实现方式中,可快速、准确地验证当日成交列表中每条当日成交列表数据的占用保证金的正确性。
18.在一种可能的实现方式中,所述方法还包括:根据计算得到的历史行权列表中的每条历史行权列表数据的行权盈亏,验证所述历史行权列表中的每条历史行权列表数据的行权盈亏的正确性。
19.在该实现方式中,可快速、准确地历史行权列表中的每条历史行权列表数据的行权盈亏的正确性。
20.在一种可能的实现方式中,所述对盘中资金进行验证包括:根据所述撤单列表数据、所述当日成交列表数据、所述历史行权列表数据、盘中持仓信息数据以及盘中组合拆分列表数据,计算盘中资金;将计算得到的盘中资金与目标平台返回的盘中资金的差值打印至目标文件;所述目标平台为运行所述多段代码的投资交易平台、投资交易仿真平台或交易软件。目标文件可以是csv文件。
21.在该实现方式中,可快速、准确地验证盘中资金。另外,将计算得到的盘中资金与目标平台返回的盘中资金的差值打印至目标文件以便明显看出正确和错误的数据。
22.在一种可能的实现方式中,所述盘中持仓信息数据包含一家或多家公司的市值;所述方法还包括:根据数据库(例如monogodb)数据,计算所述一家或多家公司的市值;根据计算得到的所述一家或多家公司的市值,验证所述盘中持仓信息数据中的市值的正确性。
23.在该实现方式中,可快速、准确地验证盘中持仓信息数据中的市值的正确性。
24.在一种可能的实现方式中,所述盘中组合拆分列表数据包含组合保证金信息;所
述方法还包括:根据数据库数据,计算组合占用保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项;根据计算得到的组合占用保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项,验证所述盘中组合拆分列表数据包含的所述组合保证金信息。
25.在该实现方式中,可快速、准确地验证组合保证金信息。
26.在一种可能的实现方式中,所述对盘后资金进行验证包括:根据所述撤单列表数据、所述当日成交列表数据、所述历史行权列表数据、盘后持仓信息数据以及盘后组合拆分列表数据,计算盘后维持总资金;将计算得到的盘后资金与目标平台返回的盘后资金的差值打印至目标文件;所述目标平台为运行所述多段代码的投资交易平台、投资交易仿真平台或交易软件;对行权业务资金和/或对冲业务资金进行验证。
27.在该实现方式中,可快速、准确地验证盘后资金。另外,将计算得到的盘后资金与目标平台返回的盘后资金的差值打印至目标文件,以便明显看出正确和错误的数据。
28.在一种可能的实现方式中,所述盘后组合拆分列表数据包含组合维持保证金信息;所述方法还包括:根据数据库数据,计算组合维持保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项;根据计算得到的组合维持保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项,验证所述盘后组合拆分列表数据包含的所述组合维持保证金信息。
29.在该实现方式中,可快速、准确地验证组合保证金信息。
30.在一种可能的实现方式中,所述方法还包括:为待验证的所述多种业务中的每种业务选择相匹配的代码,得到所述多段代码;为所述多段代码中的每段代码赋予名称。
31.在该实现方式中,为待验证的多种业务选择多段代码,并为该多段代码赋予名称,以便根据代码名称不同来实现不同业务的验证;解决了沪深市场、认购认沽委托下单、对冲、组合、组合拆分、单边平仓、行权等不同业务的手动代码选择,规避了不同业务间代码的冲突。
32.在一种可能的实现方式中,所述根据多段代码的名称,对多种业务进行验证包括:根据所述多段代码的名称,对进行沪深市场、认购认沽代码,进行盘中不同业务委托下单、组合、组合拆分、单边平仓、价差e-2日自动拆分的验证。
33.在一种可能的实现方式中,所述方法还包括:为盘后不同业务对冲、行权不同业务数据做准备。
34.在该实现方式中,在验证业务的同时,为盘后不同业务对冲、行权不同业务数据做准备;可以节省后续实现不同业务对冲、行权不同业务数据的时间。
35.在一种可能的实现方式中,所述方法还包括:为业务资金验证做准备。
36.在该实现方式中,为业务资金验证做准备,可以节省后续验证业务资金的时间。
37.第二方面,本技术实施例提供一种验证装置,该验证装置包括:业务验证单元,用于根据多段代码的名称,对多种业务进行验证;所述多段代码的名称与所述多种业务一一对应;资金验证单元,用于根据所述多种业务产生的数据列表以及需要进行资金计算的数据库数据,验证所述多种业务的资金。
38.在一种可能的实现方式中,所述装置还包括:日期修改单元,用于修改所述多段代
码中的行权业务代码的行权日期;所述行权业务代码用于实现行权业务;所述业务验证单元,具体用于根据修改了行权日期的所述行权业务代码的名称,对行权业务进行验证。
39.在一种可能的实现方式中,所述日期修改单元,具体用于修改第一行权业务代码的行权日期为当日,和/或,修改第二行权业务代码的当日为(e-1)日或(e-2)日;所述e日为所述第二行权业务代码的行权日期,所述第一行权业务代码用于实现认购或认沽业务,所述第二行权业务用于实现价差(e-2)日自动拆分业务。
40.在一种可能的实现方式中,所述资金验证单元,具体用于对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证,以及对盘中资金进行验证和/或对盘后资金进行验证。
41.在一种可能的实现方式中,所述资金验证单元,具体用于根据已报资金计算数据,计算撤单列表中的每条撤单列表数据的冻结权利金、冻结保证金、费用以及总冻结权利金、冻结保证金、费用;将所述撤单列表中的每条撤单列表数据与计算得到的每条撤单列表数据的差值打印至目标文件;根据已成资金计算数据,计算当日成交列表中每条当日成交列表数据的占用保证金,以及总成交金额、费用;将所述当日成交列表中的每条当日成交列表数据和计算得到的每条当日成交列表数据的差值打印至目标文件;根据行权资金计算数据,计算历史行权列表中的每条历史行权列表数据的行权盈亏,将计算得到的行权盈亏与历史行权列表中的每条历史行权列表数据的差值打印至目标文件。
42.在一种可能的实现方式中,所述资金验证单元,还用于根据计算得到的所述当日成交列表中每条当日成交列表数据的占用保证金,验证所述当日成交列表中每条当日成交列表数据的占用保证金的正确性。
43.在一种可能的实现方式中,所述资金验证单元,还用于根据计算得到的历史行权列表中的每条历史行权列表数据的行权盈亏,验证所述历史行权列表中的每条历史行权列表数据的行权盈亏的正确性。
44.在一种可能的实现方式中,所述资金验证单元,具体用于根据所述撤单列表数据、所述当日成交列表数据、所述历史行权列表数据、盘中持仓信息数据以及盘中组合拆分列表数据,计算盘中资金;将计算得到的盘中资金与目标平台返回的盘中资金的差值打印至目标文件;所述目标平台为运行所述多段代码的投资交易平台、投资交易仿真平台或交易软件。
45.在一种可能的实现方式中,所述盘中组合拆分列表数据包含组合保证金信息;所述资金验证单元,还用于根据数据库(例如monogodb)数据,计算所述一家或多家公司的市值;根据计算得到的所述一家或多家公司的市值,验证所述盘中持仓信息数据中的市值的正确性。
46.在一种可能的实现方式中,所述盘中持仓信息数据包含一家或多家公司的市值;所述资金验证单元,还用于根据数据库数据,计算组合占用保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项;根据计算得到的组合占用保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项,验证所述盘中组合拆分列表数据包含的所述组合保证金信息。
47.在一种可能的实现方式中,所述资金验证单元,具体用于根据所述撤单列表数据、
所述当日成交列表数据、所述历史行权列表数据、盘后持仓信息数据以及盘后组合拆分列表数据,计算盘后维持总资金;将计算得到的盘后资金与目标平台返回的盘后资金的差值打印至目标文件;所述目标平台为运行所述多段代码的投资交易平台、投资交易仿真平台或交易软件;对行权业务资金和/或对冲业务资金进行验证。
48.在一种可能的实现方式中,所述盘后组合拆分列表数据包含组合维持保证金信息;所述资金验证单元,还用于根据数据库数据,计算组合维持保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项;根据计算得到的组合维持保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金中的一项或多项,验证所述盘后组合拆分列表数据包含的所述组合维持保证金信息。
49.在一种可能的实现方式中,所述装置还包括:代码选择单元,用于为待验证的所述多种业务中的每种业务选择相匹配的代码,得到所述多段代码;代码赋名单元,用于为所述多段代码中的每段代码赋予名称。
50.在一种可能的实现方式中,所述业务验证单元,具体用于根据所述多段代码的名称,对进行沪深市场、认购认沽代码,进行盘中不同业务委托下单、组合、组合拆分、单边平仓、价差e-2日自动拆分的验证。
51.在一种可能的实现方式中,所述装置还包括:数据准备单元,用于为盘后不同业务对冲、行权不同业务数据做准备。
52.在一种可能的实现方式中,所述数据准备单元,还用于为业务资金验证做准备。
53.关于第二方面或各种可选的实施方式所带来的技术效果,可参考对于第一方面或相应的实现方式的技术效果的介绍。
54.第三方面,本技术实施例提供了一种电子设备,该电子设备包括:处理器和存储器,其中,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,使得所述处理器执行如上述第一方面以及任一种可能的实现方式的方法。
55.第四方面,本技术实施例提供了一种芯片,该芯片包括数据接口和处理器,其中,所述处理器用于执行第一方面或第一方面的任意可能的实现方式中的方法。
56.第五方面,本技术实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面以及上述第一方面任一种可选的实现方式的方法。
57.第六方面,本技术实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面以及任一种可选的实现方式的方法。
附图说明
58.为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
59.图1为本技术实施例提供的一种自动化验证方法流程图;
60.图2为本技术实施例提供的一种代码名称和代码描述信息的示意图;
61.图3为本技术实施例提供的另一种自动化验证方法流程图;
62.图4为本技术实施例提供的一种盘中资金验证方法流程图;
63.图5为本技术实施例提供的一种盘后资金验证方法流程图;
64.图6为本技术实施例提供的另一种自动化验证方法流程图;
65.图7为本技术实施例提供的一种验证装置的结构示意图;
66.图8为本技术实施例提供的一种终端设备的结构示意图;
67.图9是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
68.本技术的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
69.在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
70.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。本技术中使用的术语“多个”是指两个或两个以上。
71.如背景技术部分所述,目前需要解决投资交易平台、投资交易仿真平台或交易软件的业务和资金验证效率慢问题。本技术可提供了可提高投资交易平台、投资交易仿真平台或交易软件的业务和资金验证效率的自动化验证方案。本技术提供的自动化验证方案可应用于交易软件、投资交易平台、投资交易仿真平台等的业务(可称为功能)和资金验证。
72.下面结合附图介绍本技术实施例提供的自动化验证方案。
73.图1为本技术实施例提供的一种自动化验证方法流程图。如图1所示,该方法包括:
74.101、验证装置根据多段代码的名称,对多种业务进行验证。
75.上述多段代码的名称与上述多种业务一一对应。验证装置可以是笔记本电脑、台式电脑、个人计算机等终端设备,也可以是服务器,例如应用服务器、云服务器。验证装置可运行有投资交易平台、投资交易仿真平台或交易软件。图1中的方法流程用于实现投资交易平台、投资交易仿真平台或交易软件的业务和资金验证。验证装置通过其运行的测试软件来执行本技术提供的自动化验证方案。例如,验证装置使用jmeter工具及其代码来实现本技术提供的自动化验证方案。jmeter是基于java的压力测试工具,用于对软件做压力测试。应理解,验证装置也可以使用其他测试工作或测试软件来实现本技术提供的自动化验证方案,本技术不作限定。
76.验证装置根据多段代码的名称,对多种业务进行验证可以是:验证装置根据多段代码的名称,选择与每种业务相匹配的代码段,并利用该代码段对其相匹配的业务进行验证。步骤101一种可能的实现方式如下:验证装置根据上述多段代码的名称,对进行沪深市场、认购认沽代码,进行盘中不同业务委托下单、组合、组合拆分、单边平仓、价差e-2日自动拆分的验证。验证装置还可为盘后不同业务对冲、行权不同业务数据做准备,以便节省后续实现不同业务对冲、行权不同业务数据的时间。验证装置还可为业务资金验证做准备,以便节省后续验证业务资金的时间。
77.下面简单介绍验证装置可验证的几种业务的规则。
78.a.行权(盘后,盘中准备):上海、深圳、认购、认沽不同代码,权利仓主动行权(比如:认购代码行权,行权价《证券标的e日收盘价)、义务仓被动行权、权利仓放弃行权、义务仓自动注销。
79.b.合并行权(盘后,盘中准备):认购、认沽权利仓相同行权价代码合并行权。
80.c.组合(盘中)、拆分(手动盘中、自动盘后)、单边平仓(盘中)。
81.d.价差组合在e-2(e为行权日)日自动拆分,因此在e-1日和e日不能价差组合,但跨式和宽跨式在e-1和e日可组合。
82.e.下单(盘中):上海、深圳个股代码:买入开仓、卖出平仓、卖出开仓、买入平仓,状态:已报、已成、部成等、撤单。
83.f.对冲(盘后):相同代码买入开仓和卖出开仓(盘中准备数据)对冲。
84.在一种可能的实现方式中,验证装置在执行步骤101之前,可执行如下操作:为待验证的多种业务中的每种业务选择相匹配的代码,得到多段代码,其中,该多段代码与该多种业务一一对应;为该多段代码中的每段代码赋予不同的名称。每种业务相匹配的代码是指可实现该业务的代码段。本技术中,代码和代码段可相互替换。验证装置可自动选择与各业务相匹配的代码段,并自动给选出的代码段赋予固定的名称。在一些实施例中,验证装置通过结构化查询语言(structured query language,sql)语句自动为待验证的业务选择代码,并根据业务规则,自动给选出的代码赋予固定名称,以便根据代码名称不同来用于不同业务的验证。sql是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。可理解,验证装置可根据sql生成不同名称代码,名称仅用于区分代码。图2为本技术实施例提供的一种代码名称和代码描述信息的示意图。如图2所示,第一列中的每行为一个代码名称(name),第二列中的每行为一个代码对应的值(value),第三列中的每行为一个代码的描述信息(description)。每一行对应同一个代码。在该实现方式中,验证装置为不同代码赋予不同的名称,以便根据代码名称来自动选择与各业务相匹配的代码段,解决了沪深市场、认购认沽委托下单、对冲、组合、组合拆分、单边平仓、行权等不同业务的手动代码选择,规避了不同业务间代码的冲突。
85.102、验证装置根据多种业务产生的数据列表以及需要进行资金计算的数据库数据,验证多种业务的资金。
86.多种业务产生的数据列表可包括撤单列表、当日成交列表、历史行权列表等。步骤102一种可能的实现方式如下:对撤单列表数据、当日成交列表数据、历史行权列表数据中
的一项或多项进行验证,以及对盘中资金进行验证和/或对盘后资金进行验证。撤单列表数据是指撤单列表中的数据。当日成交列表数据是指当日成交列表中的数据。历史行权列表数据是指历史行权列表中的数据。撤单列表中包含多条撤单列表数据,每条撤单列表数据可包含冻结权利金、冻结保证金、费用。当日成交列表中包含多条当日成交列表数据,每条数据包含占用保证金。历史行权列表中包括多条历史行权列表数据,每条历史行权列表数据可包含行权盈亏。撤单列表、当日成交列表、历史行权列表可以是投资交易平台、投资交易仿真平台或交易软件返回的列表的举例。在一些实施例中,验证装置可通过接口获取不同业务产生的数据列表,并同时获取需要进行资金计算的数据库数据;再根据不同业务和这些数据,编写盘中和盘后资金计算规则,将计算出的资金和列表返回的资金进行对比。这样就解决了手动验证不同业务过程中手动计算错误,资金一直变化,无法很快并准确验证全部业务和资金的问题。后续再详述对盘中资金进行验证和/或对盘后资金进行验证的方式。
87.本技术实施例中,根据多段代码的名称,对多种业务进行验证;根据该多种业务产生的数据列表以及需要进行资金计算的数据库数据,验证该多种业务的资金;可以提高投资交易平台或投资交易仿真平台的业务和资金的验证效率。
88.图3为本技术实施例提供的另一种自动化验证方法流程图。图3中的方法流程为图1中描述的方法的一种可能的实现方式。如图3所示,该方法包括:
89.301、验证装置根据代码名称,为待验证的多种业务中的每种业务选择相匹配的代码,得到多段代码。
90.在一些实施例中,验证装置可执行步骤301之前,可针对不同业务通过sql语句自动选择代码,并根据业务规则,自动给选出的代码赋予固定名称。举例来说,验证装置用sql自动挑选代码,并给不同代码定义不同名称,作为jmeter参数,用于不同业务。
91.302、验证装置修改其待验证的多段代码中的行权业务代码的行权日期。
92.上述行权业务代码用于实现行权业务。验证装置修改其待验证的多段代码中的行权业务代码的行权日期可以是:验证装置通过jmeter自动修改其待验证的多段代码中的行权业务代码的行权日期。
93.步骤302一种可能的实现方式如下:修改第一行权业务代码的行权日期为当日,和/或,修改第二行权业务代码的当日为(e-1)日或(e-2)日;上述e日为上述第二行权业务代码的行权日期,上述第一行权业务代码用于实现认购或认沽业务,上述第二行权业务用于实现价差(e-2)日自动拆分业务。在该实现方式中,修改第一行权业务代码的行权日期为当日可解决测试行权时,需要手动修改一批认购代码、认沽代码等的行权日期(e日)为当日的问题。修改第二行权业务代码的当日为(e-1)日或(e-2)日可解决需要手动修改一批代码当日为e-1日和e-2日的问题,并来为后面行权业务、价差组合e-2日自动拆分业务验证做准备。
94.303、验证装置根据多段代码的名称,对多种业务进行验证。
95.上述多段代码的名称与上述多种业务一一对应。步骤303可参阅步骤101。
96.304、验证装置对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证,以及对盘中资金进行验证和/或对盘后资金进行验证。
97.对撤单列表数据进行验证的一种可能的实现方式如下:根据已报资金计算数据,
计算撤单列表中的每条撤单列表数据的冻结权利金、冻结保证金、费用以及总冻结权利金、冻结保证金、费用;将上述撤单列表中的每条撤单列表数据与计算得到的每条撤单列表数据的差值打印至目标文件。验证装置还可根据计算得到的每条撤单列表数据,验证上述撤单列表中每条撤单列表数据的正确性。也就是说,验证装置可验证每条撤单列表数据包含的冻结权利金、冻结保证金、费用的正确性。目标文件可以为逗号分隔值(comma-separated values,csv)文件。csv是一种通用的、相对简单的文件格式。csv是一个字符序列,不含必须像二进制数字那样被解读的数据,以纯文本形式存储表格数据。撤单列表可以是投资交易平台、投资交易仿真平台或交易软件返回的列表。验证装置在根据已报资金计算数据,计算撤单列表中的每条撤单列表数据的冻结权利金、冻结保证金、费用以及总冻结权利金、冻结保证金、费用之前,可从monogodb中获取已报资金计算数据。mongodb是一个基于分布式文件存储的数据库,由c 语言编写。它旨在为web应用提供可扩展的高性能数据存储解决方案,最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。撤单列表,主要用于计算冻结权利金、冻结保证金和费用。验证装置可循环获取撤单列表数据;将撤单列表中代码传入查询数据库脚本中;获取冻结保证金计算需要的合约单位、单张保证金、涨停价、跌停价字段(数据库中)。验证装置根据相应规则计算冻结权利金、冻结保证金和费用的示例如下:
98.买入开仓:冻结权利金 费用
99.》限价冻结权利金=委托价格*未成交数量*合约单位
100.》市价冻结权利金=涨停价*未成交数量*合约单位
101.》冻结保证金=0
102.》冻结费用=未成交数量*10
103.卖出开仓:冻结保证金和费用
104.》冻结权利金=0
105.》冻结保证金=未成交数量*单张保证金
106.》冻结费用=未成交数量*10
107.备兑开仓、卖出平仓、买入平仓、备兑平仓:不冻结资金
108.》冻结权利金=0
109.》冻结保证金=0
110.》冻结费用=0
111.以下其他列表类似处理方法,只是计算规则不同
112.对当日成交列表数据进行验证的一种可能的实现方式如下:根据已成资金计算数据,计算当日成交列表中每条当日成交列表数据的占用保证金,以及总成交金额、费用;将上述当日成交列表中的每条当日成交列表数据和计算得到的每条当日成交列表数据的差值打印至目标文件。验证装置可从monogodb中获取已成资金计算数据。验证装置还可根据计算得到的上述当日成交列表中每条当日成交列表数据的占用保证金,验证上述当日成交列表中每条当日成交列表数据的占用保证金的正确性。
113.对历史行权列表数据进行验证的一种可能的实现方式如下:根据行权资金计算数据,计算历史行权列表中的每条历史行权列表数据的行权盈亏,将计算得到的行权盈亏与
历史行权列表中的每条历史行权列表数据的差值打印至目标文件。验证装置可从monogodb中获取行权资金计算数据。验证装置还可根据计算得到的历史行权列表中的每条历史行权列表数据的行权盈亏,验证上述历史行权列表中的每条历史行权列表数据的行权盈亏的正确性。
114.在一些实施例中,验证装置还可获取历史成交列表数据;根据获取的历史成交列表数据,计算总成交金额和费用。
115.验证装置对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证的操作可理解为对不同列表中的金额做验证封装的操作。也就是说,验证装置通过接口获取不同业务产生的数据列表,并同时获取需要进行资金计算的数据库数据,再根据不同业务和这些数据,编写盘中和盘后资金计算规则,将计算出的资金和列表返回的资金进行对比。解决了手动验证不同业务过程中手动计算错误,资金一直变化,无法很快并准确验证全部业务和资金的问题。
116.本技术实施例中,验证装置自动完成业务和资金验证,很大提高了效率。
117.由于前面未描述如何实现对盘中资金进行验证的方式,以及对盘后资金进行验证的方式,因此下面结合附图分别来描述对盘中资金进行验证的方式,以及对盘后资金进行验证的方式。
118.图4为本技术实施例提供的一种盘中资金验证方法流程图。如图4所示,该方法包括:
119.401、验证装置获取盘中持仓信息数据和盘中持仓资金所需数据。
120.盘中持仓信息数据可以是验证装置在盘中获取的持仓信息数据。盘中持仓资金所需数据是指验证装置从monogodb中获取的用于计算盘中持仓资金的数据。
121.402、验证装置根据盘中持仓信息数据和盘中持仓资金所需数据,计算总占用保证金、组合占用保证金和未组合的占用保证金。
122.在一种可能的实现方式中,验证装置还可根据盘中持仓资金所需数据,计算一家或多家公司的市值;根据计算得到的上述一家或多家公司的市值,验证上述盘中持仓信息数据中的市值的正确性。在该实现方式中,可快速、准确地验证盘中持仓信息数据中的市值的正确性。
123.403、验证装置获取盘中组合拆分列表数据和盘中拆分列表资金所需数据。
124.盘中组合拆分列表数据可以是验证装置在盘中获取的组合拆分列表数据。盘中拆分列表资金所需数据可以是验证装置从monogodb中获取的用于计算盘中拆分资金所需的数据。本技术实施例,不限定验证装置执行步骤401和步骤403的先后顺序。
125.404、验证装置根据组合拆分列表数据和盘中拆分列表资金所需数据,计算组合占用保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金等。
126.验证装置还可根据计算得到的组合占用保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金等,验证组合保证金的正确性。
127.405、验证装置根据撤单列表数据、当日成交列表数据、历史行权列表数据、盘中持仓信息数据以及盘中组合拆分列表数据,计算盘中总资金。
128.406、验证装置获取盘中资金列表数据。
129.盘中资金列表数据可以为投资交易平台、投资交易仿真平台或交易软件返回的盘中资金数据。
130.407、验证装置根据盘中资金列表数据,将计算得到的盘中资金与目标平台返回的盘中资金的差值打印至目标文件。
131.上述目标平台为运行上述多段代码的投资交易平台、投资交易仿真平台或交易软件。
132.在一些实施例中,验证装置根据不同列表中的资金数据,计算盘中全部业务场景后,计算最终资金;将计算的资金与投资交易平台、投资交易仿真平台或交易软件返回的资金对比,将数据打印到csv文件,通过该csv文件能明显看出正确和错误数据。对比方式是数字比较,因为比较的是资金,列表中有该平台计算的资金,验证装置将计算的盘中资金和列表中的资金进行数值对比,是否一致。
133.本技术实施例中,将计算得到的盘中资金与目标平台返回的盘中资金的差值打印至目标文件,能明显看出正确和错误数据。
134.图5为本技术实施例提供的一种盘后资金验证方法流程图。如图5所示,该方法包括:
135.501、验证装置获取盘后持仓信息数据和盘中持仓资金所需数据。
136.盘后持仓信息数据可以是验证装置在盘后获取的持仓信息数据。盘中持仓资金所需数据是指验证装置从monogodb中获取的用于计算盘中持仓资金的数据。
137.502、验证装置根据盘后持仓信息数据和盘中持仓资金所需数据,计算总维持保证金,计算组合和未组合的维持保证金。
138.503、验证装置获取盘后拆分列表数据和盘中拆分列表资金所需数据。
139.盘后组合拆分列表数据可以是验证装置在盘后获取的组合拆分列表数据。盘中拆分列表资金所需数据可以是验证装置从monogodb中获取的用于计算盘中拆分资金所需的数据。
140.504、验证装置根据盘后拆分列表数据和盘中拆分列表资金所需数据,计算组合维持保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金等。
141.验证装置还可根据计算得到的组合维持保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金等,验证组合维持保证金的正确性。
142.505、验证装置根据撤单列表数据、当日成交列表数据、历史行权列表数据、盘后持仓信息数据以及盘后组合拆分列表数据,计算盘后总资金。
143.506、验证装置获取盘后资金列表数据。
144.盘后资金列表数据为投资交易平台、投资交易仿真平台或交易软件返回的盘后资金数据。
145.507、验证装置根据盘后资金列表数据,将计算得到的盘后资金与目标平台返回的盘后资金的差值打印至目标文件。
146.在一些实施例中,验证装置根据不同列表中的资金数据,计算盘后全部业务场景后,计算最终资金;将计算的资金(即盘后资金)和平台返回的资金对比,将数据打印到csv文件,能明显看出正确和错误数据。对比方式是数字比较,因为比较的是资金,列表中有该
平台计算的资金,验证装置将计算的盘后资金和列表中的资金进行数值对比,是否一致。
147.盘中和盘后主要区别是:计算持仓列表和组合列表的保证金时,盘中计算占用保证金,盘后计算维持保证金,盘后还有行权、对冲业务资金计算,资金计算规则是根据业务来的,如果业务有变动才可修改,业务不变则不可修改。
148.508、验证装置对行权业务资金和/或对冲业务资金进行验证。
149.本技术实施例中,将计算得到的盘后资金与目标平台返回的盘后资金的差值打印至目标文件,能明显看出正确和错误数据。
150.图6为本技术实施例提供的另一种自动化验证方法流程图。图6中的方法流程为图1或图3中描述的方法的一种可能的实现方式。如图6所示,该方法包括:
151.601、验证装置为待验证的多种业务中的每种业务选择相匹配的代码,并给不同代码赋予不同名称。
152.步骤601一种可能的实现方式如下:为待验证的多种业务中的每种业务选择相匹配的代码,得到多段代码,其中,该多段代码与该多种业务一一对应;为该多段代码中的每段代码赋予不同的名称。每种业务相匹配的代码是指可实现该业务的代码段。
153.602、验证装置修改行权业务代码的行权日期。
154.上述行权业务代码用于实现行权业务。步骤602一种可能的实现方式如下:验证装置通过jmeter自动修改mongodb中在步骤601选出的作为行权业务验证的代码(即行权业务代码)的行权日期。
155.603、验证装置根据多段代码的名称,对多种业务进行验证。
156.上述多段代码的名称与上述多种业务一一对应。
157.步骤603一种可能的实现方式如下:验证装置根据不同代码的不同名称,对进行沪深市场、认购认沽代码,进行盘中不同业务委托下单、组合、组合拆分、单边平仓、价差e-2日自动拆分的验证。验证装置还可为盘后不同业务对冲、行权不同业务数据准备,同时为后续不同业务资金验证做准备。验证装置根据多段代码的名称,对多种业务进行验证的示例如下:
158.1)、组合、组合拆分、深圳单边平仓业务场景:
159.a.封装组合下单,包含类型:
160.上海:认购牛、认购熊、认沽牛、认沽熊策略、跨市空头策略、宽跨市空头策略
161.深圳:认购牛、认购熊、认沽牛、认沽熊策略、跨市空头策略、宽跨市空头策略
162.b.组合拆分:将上面沪深类型全部组合一遍,再全部拆分,验证组合、组合拆分功能,并为其资金验证做准备。
163.c.单边平仓:将深圳全部类型再组合一遍,再全部单边平仓。验证单边平仓功能,并为其资金验证做准备。
164.d.组合:将上面沪深类型再全部组合一遍。为组合的资金验证做准备。
165.2)、e-2日价差组合自动拆分:将步骤601和步骤602中选择并修改了行权日期的代码进行验证。
166.3)、上海、深圳,认购、认沽代码委托下单业务场景:
167.a.已报:限价获取行情信息中涨跌停价,用比涨停价小一点卖出和跌停价高一点买入,形成已报单。
168.b.已成:市价下单,或限价获取行情信息中涨跌停价,用比涨停价小一点买入和跌停价高一点卖出下单。
169.4)、对冲数据准备:相同代码买入开仓和卖出开仓形成对冲。
170.5)、行权数据准备:根据步骤601和步骤602选择的代码,为行权业务资金的验证做准备。
171.604、验证装置对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证。
172.参阅图6,步骤604一种可能的实现方式如下:a.获取撤单列表数据和monogodb中的已报资金计算数据;计算每条撤单列表数据和总的冻结权利金、冻结保证金、费用;对比撤单列表和计算的资金,将差值打印到csv文件。对比撤单列表和计算的资金可理解为验证每条撤单列表数据中这些字段的正确性。b.获取历史成交列表数据,计算总成交金额和费用。c.获取当日成交列表数据和monogodb中的已成资金计算数据;计算当日成交列表中的每条数据和总的占用保证金;对比当日成交列表和计算的资金,将差值打印到csv文件。对比当日成交列表和计算的资金可理解为验证当日成交列表中的每条数据中的占用保证金的正确性。d.获取历史行权列表数据和monogodb中的行权资金计算数据;计算行权盈亏;对比历史行权列表和计算的资金,将差值打印到csv文件。对比历史行权列表和计算的资金可理解为验证历史行权列表中每条数据的资金的正确性。
173.605、验证装置进行盘中资金验证。
174.参阅图6,步骤605一种可能的实现方式如下:a.盘中获取持仓信息数据和monogodb中的盘中持仓资金所需数据;计算总占用保证金,计算组合和未组合的占用保证金。验证装置还可计算市值,验证持仓信息数据中包含市值的字段的正确性。b.盘中获取组合拆分列表数据和monogodb中的盘中拆分列表资金所需数据;计算组合占用保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金等。验证装置还可验证组合保证金的正确性。验证装置还可根据步骤604和持仓、组合数据计算盘中总资金。c.获取盘中资金列表数据;对比盘中资金列表和计算的资金,将差值打印到csv文件。举例来说,验证装置根据不同列表中的资金数据,计算盘中全部业务场景后,计算最终资金;将计算的资金和平台返回的资金对比,将数据打印到csv文件。
175.606、验证装置进行盘后资金验证。
176.参阅图6,步骤605一种可能的实现方式如下:a.盘后获取持仓信息数据和monogodb中的盘中持仓资金所需数据;计算总维持保证金,计算组合和未组合的维持保证金。b.盘后获取组合拆分列表数据和monogodb中的盘中拆分列表资金所需数据;计算组合维持保证金、组合前保证金、释放保证金、总释放保证金、第一腿组合保证金、第二腿组合保证金等。验证装置还可验证组合维持保证金的正确性。验证装置还可根据步骤604和持仓、组合数据计算盘后总资金。c.获取盘后资金列表数据;对比盘后资金列表和计算的资金,将差值打印到csv文件。举例来说,验证装置根据不同列表中的资金数据,计算盘后全部业务场景后,计算最终资金;将计算的资金和平台返回的资金对比,将数据打印到csv文件。
177.本技术实施例中,验证装置修改行权业务代码的行权日期可解决需要手动修改行权日期的问题。验证装置对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证解决了手动验证不同业务过程中手动计算错误,资金一直变化,无法很快
并准确验证全部业务和资金的问题。验证装置进行盘中资金验证和盘后资金验证,可快速、准确地验证资金。
178.下面介绍实现本技术提供的自动化验证方法的验证装置的结构。
179.图7为本技术实施例提供的一种验证装置的结构示意图。如图7所示,验证装置70包括:
180.业务验证单元701,用于根据多段代码的名称,对多种业务进行验证;所述多段代码的名称与所述多种业务一一对应;
181.资金验证单元702,用于根据所述多种业务产生的数据列表以及需要进行资金计算的数据库数据,验证所述多种业务的资金。
182.在一种可能的实现方式中,所述装置还包括:日期修改单元703,用于修改所述多段代码中的行权业务代码的行权日期;所述行权业务代码用于实现行权业务;业务验证单元701,具体用于根据修改了行权日期的所述行权业务代码的名称,对行权业务进行验证。
183.在一种可能的实现方式中,日期修改单元703,具体用于修改第一行权业务代码的行权日期为当日,和/或,修改第二行权业务代码的当日为(e-1)日或(e-2)日;所述e日为所述第二行权业务代码的行权日期,所述第一行权业务代码用于实现认购或认沽业务,所述第二行权业务用于实现价差(e-2)日自动拆分业务。
184.在一种可能的实现方式中,资金验证单元702,具体用于对撤单列表数据、当日成交列表数据、历史行权列表数据中的一项或多项进行验证,以及对盘中资金进行验证和/或对盘后资金进行验证。
185.在一种可能的实现方式中,资金验证单元702,具体用于根据已报资金计算数据,计算撤单列表中的每条撤单列表数据的冻结权利金、冻结保证金、费用以及总冻结权利金、冻结保证金、费用;将所述撤单列表中的每条撤单列表数据与计算得到的每条撤单列表数据的差值打印至目标文件;根据已成资金计算数据,计算当日成交列表中每条当日成交列表数据的占用保证金,以及总成交金额、费用;将所述当日成交列表中的每条当日成交列表数据和计算得到的每条当日成交列表数据的差值打印至目标文件;根据行权资金计算数据,计算历史行权列表中的每条历史行权列表数据的行权盈亏,将计算得到的行权盈亏与历史行权列表中的每条历史行权列表数据的差值打印至目标文件。
186.在一种可能的实现方式中,资金验证单元702,还用于根据计算得到的所述当日成交列表中每条当日成交列表数据的占用保证金,验证所述当日成交列表中每条当日成交列表数据的占用保证金的正确性。
187.在一种可能的实现方式中,资金验证单元702,还用于根据计算得到的历史行权列表中的每条历史行权列表数据的行权盈亏,验证所述历史行权列表中的每条历史行权列表数据的行权盈亏的正确性。
188.在一种可能的实现方式中,资金验证单元702,具体用于根据所述撤单列表数据、所述当日成交列表数据、所述历史行权列表数据、盘中持仓信息数据以及盘中组合拆分列表数据,计算盘中资金;将计算得到的盘中资金与目标平台返回的盘中资金的差值打印至目标文件;所述目标平台为运行所述多段代码的投资交易平台、投资交易仿真平台或交易软件。
189.在一种可能的实现方式中,所述盘中组合拆分列表数据包含组合保证金信息;资
signal processor,简称:dsp),或,一个或者多个现场可编程门阵列(英文:field-programmable gate array,简称:fpga)等。
198.图8为本技术实施例提供的一种终端设备的结构示意图。如图8所示,该终端设备80包括处理器801、存储器802、输入输出设备803。该处理器801、存储器802和输入输出设备803通过总线相互连接。图8中的终端设备可以为前述实施例中的验证装置。
199.存储器802包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmableread only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cdrom),该存储器802用于相关指令及数据。输入输出设备803用于输入和输出数据。处理器801可以是一个或多个中央处理器(central processing unit,cpu),在处理器801是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。上述实施例中由验证装置所执行的步骤可以基于该图8所示的终端设备的结构。处理器801可实现图7中各单元的功能。输入输出设备803可从monogodb中获取数据。
200.图9是本技术实施例提供的一种服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。服务器900可以上述验证装置。
201.服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
202.上述实施例中由验证装置所执行的步骤可以基于该图9所示的服务器结构。当服务器900为验证装置时,中央处理器922可实现图8中的各单元的功能,输入输出接口958可实现获取数据的功能。
203.在本技术的实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现前述实施例所提供的自动化验证方法。
204.本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述实施例所提供的自动化验证方法。
205.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献