期货合约的优先级确定方法及设备与流程

文档序号:26719211发布日期:2021-09-22 20:21阅读:186来源:国知局
期货合约的优先级确定方法及设备与流程

1.本发明涉及计算机领域,尤其涉及一种期货合约的优先级确定方法及设备。


背景技术:

2.主力合约一般是指:流动性风险较小,且成交量和持仓量相对比较大的合约;具体的,流动性风险较小的合约是指:容易买进且容易卖出的合约。
3.随着期货行业快速发展,期货产品的品种的数量越来越多,同一品种下的合约也越来越多,同时多种交易模式,尤其是套利交易的程序化,模糊了传统的主力合约的界限;同时大资管的需求下,系统需要严格管控交易员在不同主力级别下的合约交易权限和风险管理方案,而主力合约的认定没有标准的规则,容易引起系统和交易人员之间的认识偏差。


技术实现要素:

4.本发明的一个目的是提供一种期货合约的优先级确定方法及设备。
5.根据本发明的一个方面,提供了一种期货合约的优先级确定方法,该方法包括:
6.获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据;
7.获取对应于当前交易日下的每个产品品种下的第二产品合约信息,将第一产品合约信息和第二产品合约信息进行合并和清理,以得到清理后的产品合约信息;
8.基于清理后的产品合约信息获取对应于当前交易日下的产品合约的第二行情数据,基于所述第一行情数据和第二行情数据得到第三行情数据;
9.根据所述当前交易日、清理后的产品合约信息和第三行情数据确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级。
10.进一步的,上述期货合约的优先级确定方法中,获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据,包括:
11.获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据,所述第一产品合约信息中包括:过期日;所述第一行情数据中包括:产品合约的持仓量和成交量;
12.进一步的,上述期货合约的优先级确定方法中,获取对应于当前交易日下的每个产品品种下的第二产品合约信息,将第一产品合约信息和第二产品合约信息进行合并和清理,以得到清理后的产品合约信息,包括:
13.获取上一个交易日的下一个交易日,将下一个交易日作为当前交易日;
14.获取对应于所述当前交易日下的每个产品品种下的第二产品合约信息,所述第二产品合约信息中包括:过期日,将第一产品合约信息和第二产品合约信息进行合并以得到合并后的产品合约信息,在根据当前交易日和过期日,在合并后的产品合约信息中对过期的产品合约打上过期标记;
15.将有过期清理标记的产品合约从合并后的产品合约信息中删除,以得到清理后的产品合约信息;
16.进一步的,上述期货合约的优先级确定方法中,基于清理后的产品合约信息获取对应于当前交易日下的产品合约的第二行情数据,基于所述第一行情数据和第二行情数据得到第三行情数据,包括:
17.获取清理后的产品合约信息中的产品合约对应的当前交易日下的第二行情数据,所述第二行情数据包括:产品合约的持仓量和成交量;
18.将第二行情数据中的无效行情数据过滤,以得到有效第二行情数据;
19.计算有效第二行情数据中和第一行情数据中的持仓量差值,计算有效第二行情数据中和第一行情数据中的成交量差值,生成第三行情数据,其中,所述第三行情数据包括:有效第二行情数据中产品合约的持仓量、有效第二行情数据中产品合约的持仓量成交量、所述持仓量差值和所述成交量差值;
20.进一步的,上述期货合约的优先级确定方法中,根据所述当前交易日、清理后的产品合约信息和第三行情数据确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,包括:
21.根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识。
22.进一步的,上述期货合约的优先级确定方法中,将第一产品合约信息和第二产品合约信息进行合并以得到合并后的产品合约信息,包括:
23.在合并后的产品合约信息中,保留在所述第二产品合约信息不存在的产品合约的第一产品合约信息;
24.在合并后的产品合约信息中,保留在所述第一产品合约信息不存在的产品合约的第二产品合约信息;
25.对在第一产品合约信息和第二产品合约信息同时存在的产品合约,当在第一产品合约信息和第二产品合约信息不一致时,在合并后的产品合约信息中,仅保留该产品合约的第二产品合约信息。
26.进一步的,上述期货合约的优先级确定方法中,根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级之前,还包括:
27.判断第二产品合约信息中的某个产品合约是否有主力优先级标识,
28.根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,包括:
29.若第二产品合约信息中的某个产品合约没有主力优先级标识,则设置预设时长的延迟计算定时器,在所述预设时长之后,由所述延迟计算定时器触发如下步骤:根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识。
30.进一步的,上述期货合约的优先级确定方法中,根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级之前,还包括:
31.判断第二产品合约信息中的某个产品合约是否有主力优先级标识,
32.根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识,包括:
33.若第二产品合约信息中的某个产品合约有主力优先级标识,则在获取到期货公司交易服务器的合约交易状态变更事件时触发如下步骤:根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识。
34.进一步的,上述期货合约的优先级确定方法中,获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据,包括:
35.获取上一个交易日下的各个产品品种,包括:产品品种的id和产品品种的名称;
36.获取每个产品品种下的第一产品合约信息和第一行情数据,其中,所述第一产品合约信息,包括:产品合约id,所属的产品品种的id、过期日和主力优先级标识;所述第一行情数据中包括:产品合约的持仓量和成交量;
37.将第一产品合约信息和第一行情数据按主力优先级标识排序。
38.进一步的,上述期货合约的优先级确定方法中,获取清理后的产品合约信息中的产品合约对应的当前交易日下的第二行情数据,包括:
39.获取清理后的产品合约信息中的产品合约对应的当前交易日下的n组第二行情数据,n为大于等于2的正整数,所有产品品种下的第二行情数据条数的上限总数为m,m为正整数,其中,第1至n

1组中的第二行情数据的条数等于m,第n组中的第二行情数据的条数小于等于m。
40.进一步的,上述期货合约的优先级确定方法中,第二行情数据中的无效行情数据过滤,以得到有效第二行情数据,包括:
41.获取非交易日期和与产品品种对应的非交易时段数据;
42.所述第二行情数据还包括行情交易日期,根据当前实际日期和当前交易日,对第二行情数据中的错误的行情交易日期进行更正,以得到更正行情数据;
43.在所述更正行情数据中过滤掉所述非交易日期对应的行情数据,以得到第一过滤行情数据;
44.在所述第一过滤行情数据中过滤掉所述非交易时段的行情数据,以得到第二过滤行情数据;
45.所述第一产品合约信息中还包括产品合约的价格,在所述第一过滤行情数据中过滤掉产品合约的价格超出有效价格范围的行情数据,以得到有效第二行情数据。
46.进一步的,上述期货合约的优先级确定方法中,根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,包括:
47.步骤s100,每次从效第二产品合约信息的同一产品品种下选取两个未比较过的产品合约a和产品合约b后,对每次选取的产品合约a和产品合约b执行如下步骤;或者,同一产品品种下的产品合约a的主力优先级和产品合约b的主力优先级之间已经比较过,但未比较
出主力优先级的高低,将原来的产品合约a作为新的产品合约b,并将原来的产品合约a作为新的产品合约b后,对新的产品合约a和新产品合约b执行如下步骤:
48.步骤s101,计算当前交易日的下一个日期,如果计算结果为非周末,非节假日,则标记下一个有效交易日期为daynext后转到步骤s102;
49.步骤s102,当所述daynext大于等于产品合约a的过期日时,则产品合约a不作为主力合约,则转到步骤s103;
50.步骤s103,当第三行情数据中的产品合约a的成交量和持仓量均比产品合约b的成交量和持仓量大的时候,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s104;
51.步骤s104,当清理后的产品合约信息中的产品合约a的过期日大于产品合约b的过期日,且第三行情数据中产品合约a的成交量大于产品合约b的成交量,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s105;
52.步骤s105,当清理后的产品合约信息中的产品合约a的过期日大于产品合约b的过期日,且第三行情数据中从合约a的成交量等于产品合约b的成交量,且产品合约a的持仓量大于产品合约b的持仓量,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到s106;
53.步骤s106,基于所述第三行情数据,计算产品合约a的持仓量和成交量乘积,计算产品合约b的持仓量和成交量乘积转到步骤s107。
54.步骤s107,当清理后的产品合约信息中的产品合约a的过期日大于产品合约b的过期日,且产品合约a的持仓量和成交量乘积的2倍大于产品合约b的持仓量和成交量乘积的3倍时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s108;
55.步骤s108,当产品合约a的的持仓量和成交量乘积大于产品合约b的的持仓量和成交量乘积的2倍时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s109;
56.步骤s109,从所述第三行情数据中,获取产品合约a的持仓量差值和成交量差值,及获取产品合约b的持仓量差值和成交量差值,转到步骤s110;
57.步骤s110,当清理后的产品合约信息中产品合约a的过期日大于产品合约b的过期日,且产品合约a的持仓量差值的2倍大于合约b的持仓量差值的3倍,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s111;
58.步骤s111,当清理后的产品合约信息中产品合约a的过期日大于产品合约b的过期日,且产品合约a的成交量差值的2倍大于合约b的成交量差值的3倍,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s112;
59.步骤s112,当所述第三行情数据中产品合约a的成交量vol大于产品合约b的成交量vol时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s113;
60.步骤s113、当所述第三行情数据中产品合约a的持仓量pos大于产品合约b的持仓量pos时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s100。
61.根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
62.根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
63.与现有技术相比,本发明按照期货合约的交易流通性风险,提出一个自动实时计算产品合约的主力优先级的方法,解决交易人员交易时把控主力合约的准确度以及风控系统自动匹配风控等级的问题。本发明适用于交易员判断当前可交易合约以及交易流通性风险的辅助决策,以及风控系统风险等级的合约自动匹配。
64.本发明通过确定期货合约的主力优先级,可以基于所述主力优先级,实现期货交易风险管理对合约流通性风险的全自动切换支持,确保各交易员对主力合约的判断一致且实时与最新行情同步,支持风控系统按合约主力级别进行不同粒度的交易控制。对交易员来说,通过产品合约的主力优先级可以告诉交易员哪个主力合约值得交易;对于风险控制来说,通过产品合约的主力优先级,可以将主力优先级高的产品合约可以多交易,将主力优先级低的产品合约少交易或不交易;另外,对应期货合约里的跨期套利交易来说,也需要通过主力优先级区分主力和非主力合约;此外,对于资管系统来说,需要根据主力优先级的高低排序来匹配对应的风险控制参数;以及,对于期货合约里主力连续的概念来说,需要基于主力优先级,在不同时间点判断出的主力合约之间的切换时机,即每次将最新的主力合约替换掉旧的主力合约。
附图说明
65.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
66.图1示出本发明一实施例的一种期货合约的优先级确定方法的流程图;
67.图2示出本发明一实施例的下一个有效交易日计算流程图;
68.图3示出本发明一实施例的核心算法流程图;
69.图4示出本发明一实施例的终端对算法结果应用的效果图;
70.图5示出本发明一实施例的算法执行结果的数据列表图。
71.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
72.下面结合附图对本发明作进一步详细描述。
73.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
74.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
75.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
76.本发明提供一种期货合约的优先级确定方法,所述方法包括:
77.获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据;
78.获取对应于当前交易日下的每个产品品种下的第二产品合约信息,将第一产品合约信息和第二产品合约信息进行合并和清理,以得到清理后的产品合约信息;
79.基于清理后的产品合约信息获取对应于当前交易日下的产品合约的第二行情数据,基于所述第一行情数据和第二行情数据得到第三行情数据;
80.根据所述当前交易日、清理后的产品合约信息和第三行情数据确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级。
81.在此,本发明按照期货合约的交易流通性风险,提出一个自动实时计算产品合约的主力优先级的方法,解决交易人员交易时把控主力合约的准确度以及风控系统自动匹配风控等级的问题。本发明适用于交易员判断当前可交易合约以及交易流通性风险的辅助决策,以及风控系统风险等级的合约自动匹配。
82.如图1所示,本发明的期货合约的优先级确定方法一实施例中,获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据,包括:
83.步骤s1,获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据,所述第一产品合约信息中包括:过期日;所述第一行情数据中包括:产品合约的持仓量和成交量;
84.在此,产品品种可以是各种具体的交易标的物如铜、原油、苹果、小麦等等;
85.可以加载本地存储的上一个交易日下的每个合约的产品合约信息和行情数据,将作为产品合约信息和行情数据作为旧数据,为了将上一个交易日下的旧数据与下一个交易日下的新数据区别,这里将上一个交易日下的每个合约的产品合约信息和行情数据分别作为第一产品合约信息和第一行情数据,方便后面步骤s3将旧数据和新数据进行比较;
86.如图1所示,本发明的期货合约的优先级确定方法一实施例中,获取对应于当前交易日下的每个产品品种下的第二产品合约信息,将第一产品合约信息和第二产品合约信息进行合并和清理,以得到清理后的产品合约信息,包括:
87.步骤s2,获取上一个交易日的下一个交易日,将下一个交易日作为当前交易日;
88.在此,可以登录期货公司交易服务器,获得交易数据权限,更新待获取的新数据的当前交易日;
89.例如,今天是5月27日的晚上8点,那么当前交易日是5月28日;
90.如图2所示,也可以先输入上一个交易日,然后计算下一个交易日,判断下一个交易日是否为周末或节假日,若是,重新计算下一个交易日,若否,将下一个交易日作为当前交易日;
91.步骤s3,获取对应于所述当前交易日下的每个产品品种下的第二产品合约信息,
所述第二产品合约信息中包括:过期日,将第一产品合约信息和第二产品合约信息进行合并以得到合并后的产品合约信息,在根据当前交易日和过期日,在合并后的产品合约信息中对过期的产品合约打上过期标记;
92.优选的,将第一产品合约信息和第二产品合约信息进行合并以得到合并后的产品合约信息,包括:
93.在合并后的产品合约信息中,保留在所述第二产品合约信息不存在的产品合约的第一产品合约信息;
94.在合并后的产品合约信息中,保留在所述第一产品合约信息不存在的产品合约的第二产品合约信息;
95.对在第一产品合约信息和第二产品合约信息同时存在的产品合约,当在第一产品合约信息和第二产品合约信息不一致时,在合并后的产品合约信息中,仅保留该产品合约的第二产品合约信息。
96.在此,为了将上一个交易日下的旧数据与下一个交易日下的新数据区别,这里将当前一个交易日下的每个合约的产品合约信息作为第二产品合约信息;
97.可以获取各个当前交易日下的每个产品品种下的第二产品合约信息的列表,以作为新数据;可以按照产品和合约两层维度管理数据,将第一产品合约信息和第二产品合约信息数据进行比对并进行合并;
98.例如:第一产品合约信息的列表为:
99.产品10的合约a

上市日1、交割日2、过期日3;
100.产品10的合约b

上市日3、交割日4、过期日5;
101.产品11的合约c

上市日7、交割日8、过期日9;
102.第二产品合约信息的的数据列表为:
103.产品10的合约b

上市日3、交割日4、过期日5x(过期日5x与第一产品合约信息中的过期日5不一致),
104.产品11的合约c

上市日7、交割日8、过期日9;
105.产品10的合约d

上市日10、交割日11、过期日12;
106.合并第一产品合约信息和第二产品合约信息数据,得到:
107.产品10的a

上市日1、交割日2、过期日3*(根据过期日和当前交易日,过期日3已经过期,需要打上过期清理标记*,后期可以根据过期清理标记*清理该产品合约);
108.产品10的b

上市日3、交割日4、过期日5x(由5更新为5x);
109.产品11的c

上市日7、交割日8、过期日9;
110.产品10的d

上市日10、交割日11、过期日12;
111.步骤s4,将有过期清理标记的产品合约从合并后的产品合约信息中删除,以得到清理后的产品合约信息;
112.在此,可以在合并后的产品合约信息中根据所述过期清理标记清理过期合约,得到清里后的产品合约信息的列表;
113.接上例,例如,根据过期清理标记*清理a后,得到清里后的产品合约信息的列表如下:
114.产品10的b

上市日3、交割日4、过期日5x(由5更新为5x);
115.产品11的c

上市日7、交割日8、过期日9;
116.产品10的d
‑‑
上市日10、交割日11、过期日12。
117.如图1所示,本发明的期货合约的优先级确定方法一实施例中,基于清理后的产品合约信息获取对应于当前交易日下的产品合约的第二行情数据,基于所述第一行情数据和第二行情数据得到第三行情数据,包括:
118.步骤s5,登录期货公司行情服务器,便于后期获取第二行情数据;
119.步骤s6,获取清理后的产品合约信息中的产品合约对应的当前交易日下的第二行情数据,所述第二行情数据包括:产品合约的持仓量和成交量;
120.在此,可以根据步骤s4中清理后的产品合约信息中的产品合约的列表,向期货公司行情服务器批量订阅(获取)每个合约的第二行情数据;
121.步骤s7,将第二行情数据中的无效行情数据过滤,以得到有效第二行情数据;
122.步骤s8,计算有效第二行情数据中和第一行情数据中的持仓量差值,计算有效第二行情数据中和第一行情数据中的成交量差值,生成第三行情数据,其中,所述第三行情数据包括:有效第二行情数据中产品合约的持仓量、有效第二行情数据中产品合约的持仓量成交量、所述持仓量差值和所述成交量差值。
123.例如,第一行情数据的产品合约

a:持仓量10000,成交量5000;
124.有效第二行情数据的产品合约

a:持仓量11000,成交量4900;
125.那么,第三行情数据的产品合约

a:持仓量11000,成交量4900,持仓量差值11000

10000=1000,成交量差值4900

5000=

100;
126.另外,若没有第一行情数据或有效第二行情数据,则:持仓量差值=0,成交量差值=0。
127.如图1所示,本发明的期货合约的优先级确定方法一实施例中,据所述当前交易日、清理后的产品合约信息和第三行情数据确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,包括:
128.步骤s10,根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识。
129.在此,主力优先级标识可以按优先级由高到低标号,例如,优先级最高的主力优先级标识可以标记为1,后续较低的优先级依次标为2、3、4、5、6、7、8、


130.例如,通过步骤s10,最终可以得到产品合约的优先级结果,包括:产品合约的id和对应的主力优先级标识:
131.产品10的b(id)

1(主力优先级标识,优先级最高);
132.产品11的c(id)

2(主力优先级标识,优先级次高);
133.产品10的d(id)

3(主力优先级标识,优先级最低)。
134.后续可以将产品合约的优先级结果更新到数据库;然后,从所述数据库把产品合约的优先级结果打包成json格式发送给客户端进行更新。
135.如图4中的白色框线区域是展示的主力优先级较高的产品合约。
136.还可以如图5所示,通过列表的形式展示主力优先级的结果,其中,图5中,
137.第一行的第二列的tac表示产品品种;
138.第一行的第三列ta009c5700_ta101c4000_ta101c5000_ta011c3650_ta011c3700分别表示产品品种tac下的5个产品合约,各个产品合约之间用_进行分割,第三列的这5个产品合约按主力优先级由高到低排序;
139.第一行的第四列中的40548_11489_16172_1495_2901分别表示上述5个产品合约对应的持仓量,各个产品合约之间用_进行分割;
140.第一行的第四列中的(1627_3218_3147_2199_1586)分别表示上述5个产品合约对应的成交量,各个产品合约之间用_进行分割。
141.本发明通过确定期货合约的主力优先级,可以基于所述主力优先级,实现期货交易风险管理对合约流通性风险的全自动切换支持,确保各交易员对主力合约的判断一致且实时与最新行情同步,支持风控系统按合约主力级别进行不同粒度的交易控制。对交易员来说,通过产品合约的主力优先级可以告诉交易员哪个主力合约值得交易;对于风险控制来说,通过产品合约的主力优先级,可以将主力优先级高的产品合约可以多交易,将主力优先级低的产品合约少交易或不交易;另外,对应期货合约里的跨期套利交易来说,也需要通过主力优先级区分主力和非主力合约;此外,对于资管系统来说,需要根据主力优先级的高低排序来匹配对应的风险控制参数;以及,对于期货合约里主力连续的概念来说,需要基于主力优先级,在不同时间点判断出的主力合约之间的切换时机,即每次将最新的主力合约替换掉旧的主力合约。
142.优选的,如图1所示,步骤s10之前还可以包括步骤s9,包括:
143.判断第二产品合约信息中的某个产品合约是否有主力优先级标识,
144.步骤s10,根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识,包括:
145.若第二产品合约信息中的某个产品合约没有主力优先级标识,
146.步骤s91,则设置预设时长的延迟计算定时器,在所述预设时长之后,由所述延迟计算定时器触发如下步骤:根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识。
147.在此,若在第一产品合约信息里的合约产品没有主力优先级标识,则需要尽快计算出对应的主力优先级标识,可以对于没有主力优先级标识的产品合约,可以设定一个1~5秒延迟计算定时器,以供用户查询主力优先级标识;
148.在所述预设时长之内如2秒内执行步骤s5至步骤s8,以获取所述第三行情数据。然后,在1~5之后,延迟计算定时器触发:基于获取到的第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级。
149.具体若第一产品合约信息里没有主力优先级标识,则可以在初次收到该产品的所属任何一个产品合约的行情收后,启动一个1~5秒时长定时器;
150.正常情况下1~5秒内会收到每个产品合约的最多预设条4条行情数据,预设时间内如1~5秒内收到行情数据说明是活跃的合约,一般预设时间1~5秒内获取到的行情数据足够计算产品合约的主力优先级。
151.优选的,如图1所示,步骤s10之前还可以包括步骤s9,包括:
152.判断第二产品合约信息中的某个产品合约是否有主力优先级标识,
153.步骤s10,根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识,包括:
154.若第二产品合约信息中的某个产品合约有主力优先级标识,
155.步骤s92,则在获取到期货公司交易服务器的合约交易状态变更事件时触发如下步骤:根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,并根据确定的主力优先级为各个产品合约打上主力优先级标识。
156.在此,若在第一产品合约信息里的合约产品有主力优先级标识,计算出对应的主力优先级标识就没有那么紧急,可以在获取到期货公司交易服务器发送的收盘信号后,计算更新的主力优先级标识。
157.合约交易状态变更事件可以是期货公司交易服务器的合约交易状态变更事件,例如,可以是货公司交易服务器发送的收盘信号。
158.本发明的期货合约的优先级确定方法一实施例中,步骤s1,获取上一个交易日下的每个产品品种下的第一产品合约信息和第一行情数据,所述第一产品合约信息中包括:过期日;所述第一行情数据中包括:产品合约的持仓量和成交量,包括:
159.步骤s11,获取上一个交易日下的各个产品品种,包括:产品品种的id和产品品种的名称;
160.步骤s12,获取每个产品品种下的第一产品合约信息和第一行情数据,其中,所述第一产品合约信息,包括:产品合约id,所属的产品品种的id和过期日;所述第一产品合约信息中还包括主力优先级标识;所述第一行情数据中包括:产品合约的持仓量和成交量;
161.在此,第一行情数据中包括:产品合约的昨成交量,昨持仓量
162.步骤s13,将第一产品合约信息和第一行情数据按主力优先级标识排序。
163.在此,可以按照产品品种和产品合约层级组织第一产品合约信息和第一行情数据,并按主力优先级标识排序,便于后续s10中提高计算效率。
164.本发明的期货合约的优先级确定方法一实施例中,步骤s6,获取清理后的产品合约信息中的产品合约对应的当前交易日下的第二行情数据,所述第二行情数据包括:产品合约的持仓量和成交量,包括:
165.步骤s61,获取清理后的产品合约信息中的产品合约对应的当前交易日下的n组第二行情数据,n为大于等于2的正整数,所有产品品种下的第二行情数据条数的上限总数为m,m为正整数,其中,第1至n

1组中的第二行情数据的条数等于m,第n组中的第二行情数据的条数小于等于m。
166.在此,可以根据产品合约的列表批量订阅第二行情数据,可以将产品合约的列表分组,每组512条产品合约的第二行情数据,512条为所有产品品种下的第二行情数据条数的上限总数;
167.每个产品品种下的产品合约总数不超过500,所有优选512作为所有产品品种下的第二行情数据条数的上限总数,每次获取512条产品合约的第二行情数据作为1组,最后不足512条合约的部分单独作为1组,从而可以避免频繁获取第二行情数据,提高获取第二行
情数据的效率。
168.具体的,可以通过api向期货公司行情服务器发起第二行情数据的订阅请求。另外,当期货公司行情服务器连接发生重连后,可以重新向期货公司行情服务器发起订阅请求。
169.本发明的期货合约的优先级确定方法一实施例中,步骤s7,将第二行情数据中的无效行情数据过滤,以得到有效第二行情数据,包括:
170.步骤s71,获取非交易日期和与产品品种对应的非交易时段数据;
171.在此,所述非交易日期包括:每年周末、节假日的具体日期,非交易日期可以根据交易日期得出;
172.产品品种的非交易时段数据可以基于产品品种的合法交易时段得出;
173.步骤s72,所述第二行情数据还包括行情交易日期,根据当前实际日期和当前交易日,对第二行情数据中的错误的行情交易日期进行更正,以得到更正行情数据;
174.在此,可以根据当前实际日期和当前交易日,对从某个期货公司交易服务器获取产品合约的错误行情交易日期进行更正。
175.如步骤s2中,当前交易日可以登录期货公司交易服务器获取;
176.例如,根据本机当前实际时间和当前交易日,以及行情数据里的行情交易日期的具体时间,来判断从某个期货公司交易服务器获得第二行情数据中的产品合约的行情交易日期是否有效,若无效,则更正期该第二行情数据中的产品合约的行情交易日期,以避免错误后续步骤中错误过滤行情数据;
177.步骤s73,在所述更正行情数据中过滤掉所述非交易日期对应的行情数据,以得到第一过滤行情数据;
178.在此,可以丢弃周末、节假日等非交易日期的行情数据;
179.步骤s73,在所述第一过滤行情数据中过滤掉所述非交易时段的行情数据,以得到第二过滤行情数据;
180.步骤s74,所述第一产品合约信息中还包括产品合约的价格,在所述第一过滤行情数据中过滤掉产品合约的价格超出有效价格范围的行情数据,以得到有效第二行情数据。
181.在此,可以过滤掉非交易日期如星期六的无效行情数据;还可以过滤掉大批量重复播放的冗余数据;可以对交易日错误的行情数据进行更正或过滤,如今天27日获取了26日的数据,或十点获取了标记为10点半的行情数据,;可以将无效数值的行情数据进行过滤,如某个产品合约的行情数据中涨停之后没有价格;可以根据产品品种非法交易时间过滤行情数据,如可以对每个产品限定合法交易时间,包括:日期和时间段;还可以过滤掉超出有效价格范围的行情数据,例如,涨停价格为100,跌停价格为50,那么价格大于100或价格小于50的行情数据是无效数据,可以过滤掉,最终可以得到新的有效第二行情数据的列表。
182.如图3所示,本发明的期货合约的优先级确定方法一实施例中,步骤s10,根据所述当前交易日、清理后的产品合约信息中的过期日和第三行情数据,确定清理后的产品合约信息中的各个产品品种下的各个产品合约的主力优先级,包括:
183.步骤s100,每次从效第二产品合约信息的同一产品品种下选取两个未比较过的产品合约a和产品合约b后,对每次选取的产品合约a和产品合约b执行如下步骤;或者,同一产
品品种下的产品合约a的主力优先级和产品合约b的主力优先级之间已经比较过,但未比较出主力优先级的高低,将原来的产品合约a作为新的产品合约b,并将原来的产品合约a作为新的产品合约b后,对新的产品合约a和新产品合约b执行如下步骤:
184.步骤s101,计算当前交易日的下一个日期,如果计算结果为非周末,非节假日,则标记下一个有效交易日期为daynext后转到步骤s102;
185.步骤s102,当所述daynext大于等于产品合约a的过期日时,则产品合约a不作为主力合约,则转到步骤s103;
186.步骤s103,当第三行情数据中的产品合约a的成交量vol和持仓量pos均比产品合约b的成交量和持仓量大的时候,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s104;
187.步骤s104,当清理后的产品合约信息中的产品合约a的过期日大于产品合约b的过期日,且第三行情数据中产品合约a的成交量大于产品合约b的成交量,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s105;
188.步骤s105,当清理后的产品合约信息中的产品合约a的过期日大于产品合约b的过期日,且第三行情数据中从合约a的成交量等于产品合约b的成交量,且产品合约a的持仓量大于产品合约b的持仓量,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到s106;
189.步骤s106,基于所述第三行情数据,计算产品合约a的持仓量和成交量乘积vol_x_pos,计算产品合约b的持仓量和成交量乘积vol_x_pos转到步骤s107。
190.步骤s107,当清理后的产品合约信息中的产品合约a的过期日大于产品合约b的过期日,且产品合约a的持仓量和成交量乘积vol_x_pos的2倍大于产品合约b的持仓量和成交量乘积vol_x_pos的3倍时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s108;
191.步骤s108,当产品合约a的的持仓量和成交量乘积vol_x_pos大于产品合约b的的持仓量和成交量乘积vol_x_pos的2倍时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s109;
192.步骤s109,从所述第三行情数据中,获取产品合约a的持仓量差值deltapos和成交量差值deltavol,及获取产品合约b的持仓量差值deltapos和成交量差值deltavol,转到步骤s110;
193.步骤s110,当清理后的产品合约信息中产品合约a的过期日大于产品合约b的过期日,且产品合约a的持仓量差值deltapos的2倍大于合约b的持仓量差值deltapos的3倍,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s111;
194.步骤s111,当清理后的产品合约信息中产品合约a的过期日大于产品合约b的过期日,且产品合约a的成交量差值deltavol的2倍大于合约b的成交量差值deltavol的3倍,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s112;
195.步骤s112,当所述第三行情数据中产品合约a的成交量vol大于产品合约b的成交量vol时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,
否则转到步骤s113;
196.步骤s113,当所述第三行情数据中产品合约a的持仓量pos大于产品合约b的持仓量pos时,将产品合约a的主力优先级设置为比产品合约b的主力优先级高后转到步骤s100,否则转到步骤s100。
197.在此,为避免快速排序算法的不稳定因素,产品合约a的主力优先级和产品合约b的主力优先级之间已经比较过,但未比较出主力优先级的高低,将原来的产品合约a作为新的产品合约b,并将原来的产品合约a作为新的产品合约b后,对选取的产品合约a和产品合约b重复执行步骤s101~s113,即有反向判断的流程,先判断产品合约a的主力优先级是否为比产品合约b的主力优先级高,若无法得到产品合约a的优先级高于产品合约b,再判断产品合约b的主力优先级是否为比产品合约a的主力优先级高,若无法得到产品合约b的优先级高于产品合约a,则判断两者的优先级相等。
198.每个产品品种下所有产品合约通过比较,得到该产品下的各个产品合约的主力优先级排序后,可以按照主力优先级顺序并可以按交易日写入数据库。
199.根据本发明的另一方面,还提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述任一项所述的方法。
200.根据本发明的另一方面,还提供一种用于在网络设备端信息处理的设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行上述任一项所述的方法。
201.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
202.需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
203.另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
204.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有
变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1