金融日历生成方法及装置与流程

文档序号:33327498发布日期:2023-03-03 23:45阅读:65来源:国知局
金融日历生成方法及装置与流程

1.本发明涉及金融技术领域,尤其涉及一种金融日历生成方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在金融产品模型构建以及价格决定过程中,日期,期限以及日历,构成了计算中的x轴上的值,用于插值或者其他数值计算,比如折现因子,零息率,远期利率,波动率等等。目前金融市场和金融产品种类日益增多,金融系统内部日历的管理和使用更需要规范化和可扩展性,同时为应对突发的节假日变更需要日历做出同步变更,以便能够灵活适应不同金融产品对日历的需要,同时满足高性能使用要求。
4.现有技术为使用金融组件quantlib,该金融组件具有日历功能,内部各种日历已经确定了某年某天是节假日,它留有接口通过set集合加载日期,内部方法包括判断节假日,日期调整,日期计算等。但金融组件quantlib本身是一种底层工具,不具备金融系统对于日历模块的要求;quantlib内部每个货币的相关日历都是单例的,不支持灵活扩展,具体使用时,使用的日历非常容易超出它支持的范畴,无法应对市场上多种需要;判断节假日的方式是在set中寻找对应日期,这种遍历方式在应对时间跨度长的日历,比如某种金融产品它的期限为50年时,查询效率较慢。


技术实现要素:

5.本发明实施例提供一种金融日历生成方法,用以生成准确且满足金融系统要求的日历,该方法包括:
6.接收不同交易所有关节假日的交易字段;
7.根据交易字段从数据库查询对应的日历代码,对日历代码进行批量筛选,得到日历代码对应的节假日信息,将节假日信息写入对应的数据库表中,所述数据库表以日历代码为主键,以交易字段为路由表;
8.遍历交易字段所在路由表,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历。
9.本发明实施例还提供一种金融日历生成装置,用以生成准确且满足金融系统要求的日历,该装置包括:
10.接收模块:用于接收不同交易所有关节假日的交易字段;
11.筛选模块:用于根据交易字段从数据库查询对应的日历代码,对日历代码进行批量筛选,得到日历代码对应的节假日信息,将节假日信息写入对应的数据库表中,所述数据库表以日历代码为主键,以交易字段为路由表;
12.日历生成模块:用于遍历交易字段所在路由表,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历。
13.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述金融日历生成方法。
14.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述金融日历生成方法。
15.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述金融日历生成方法。
16.本发明实施例中,接收不同交易所有关节假日的交易字段;根据交易字段从数据库查询对应的日历代码,对日历代码进行批量筛选,得到日历代码对应的节假日信息,将节假日信息写入对应的数据库表中,所述数据库表以日历代码为主键,以交易字段为路由表;遍历交易字段所在路由表,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历;与现有技术中使用金融组件quantlib的技术方案相比,通过对日历代码进行批量筛选,判断日历代码属性,可以生成准确且满足金融系统要求的金融日历。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
18.图1为本发明实施例中金融日历生成方法流程图;
19.图2为本发明实施例中筛选出错处理方法流程图;
20.图3为本发明实施例中金融日历生成方法的具体实例的流程图;
21.图4为本发明实施例中金融日历生成装置的结构示意图;
22.图5为本发明实施例中金融日历生成装置的模块数据交互图。
具体实施方式
23.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
24.为了生成准确且满足金融系统要求的金融日历,本发明实施例提供一种金融日历生成方法,如图1所示,本发明实施例中金融日历生成方法可以包括:
25.步骤101、接收不同交易所有关节假日的交易字段;
26.步骤102、根据交易字段从数据库查询对应的日历代码,对日历代码进行批量筛选,得到日历代码对应的节假日信息,将节假日信息写入对应的数据库表中,所述数据库表以日历代码为主键,以交易字段为路由表;
27.步骤103、遍历交易字段所在路由表,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历。
28.由图1所示流程可以得知,本发明实施例的金融日历生成方法不同于现有技术的使用金融组件quantlib的技术方案,是通过对日历代码进行批量筛选,判断日历代码属性,
从而生成准确、满足金融系统要求的金融日历。
29.在一个实施例中,交易字段可以包括:交易所字段、交易品种字段、货币字段和交易所所在时区。例如,从交易所a接收交易1,交易1的交易品种为贷款,贷款时间为50年,贷款金额为100万元,交易所a所在时区为a。则根据交易1可以接收到的交易字段为:交易所字段:a、交易品种字段:贷款、货币字段:100万元、交易所所在时区:a。本实施例中加入时区对日期的影响,在金融系统内部应用时更加准确。
30.在一个实施例中,接收不同交易所有关节假日的交易字段,还可以包括:接收不同交易所有关节假日的交易字段,存入文本文件中。后续可以从对应路径获取所述文本文件,根据文本文件中的交易字段从数据库查询对应的日历代码。
31.考虑到日历代码可能有多个维度的属性,在一个实施例中,根据交易字段从数据库查询对应的日历代码,其中,日历代码的属性可以包括:日历代码为已有日历代码、新增日历代码、或组合日历代码;其中组合日历代码表示对应的节假日日期需要组合。已有日历代码可以是系统已经开发的日历代码,另外,通过筛选新增日历代码实现了本发明实施例中金融日历的可扩展性。
32.在一个实施例中,对日历代码进行批量筛选,得到日历代码对应的节假日信息,可以包括:根据日历代码属性,对日历代码进行批量筛选,得到日历代码对应的节假日信息。还可以结合交易字段,根据交易所字段,交易品种字段,货币字段从数据库查询到对应日历代码,获取对应日历代码属性,包括在对应的时区内星期几是默认的假日,是否是系统已经支持的日历,筛选出默认节假日;筛选特殊节假日,即不是默认节假日被认为是节假日的日期;筛选特殊工作日,即默认节假日被调休成工作日的日期。举一例,本实施例中日历代码为已有日历代码,交易所所在时区内周六和周日是默认的假期,10月1号为默认节假日,10月第一个星期一为特殊节假日,10月第一个星期日为特殊工作日,则根据本实施例中10月日历代码筛选得到的节假日信息为10月1号为默认节假日、10月第一个星期一为特殊节假日、10月内所有周六为默认假期、10月内除第一个星期的周日为默认假期。
33.上述实施例中,对日历代码进行批量筛选,得到日历代码对应的节假日信息,将节假日信息写入对应的数据库表中,为使批量筛选顺利进行,本发明实施例中还提供了一种批量筛选出错处理方法,图2为本发明实施例中筛选出错处理方法流程图,如图2所示,本发明实施例中筛选出错处理方法可以包括:
34.步骤201、在批量筛选出错时,获取上一日备份的日历代码对应的节假日信息;将上一日备份的日历代码对应的节假日信息,写入对应的数据库表中。例如,上一日备份的日历代码对应的节假日信息为所有周六周日为默认的假期,在对本实施例日历代码筛选时出了错,此时获取上一日备份的日历代码对应的节假日信息也就是所有周六周日为默认的假期,并写入对应的数据库表。本实施例在批量筛选异常时,提供一种解决方法,因为节假日数据多数情况不会频繁变化,因此每日备份上一日的数据以便在出错时进行重新加载。
35.上述实施例中,为了实现日历的新增和组合,并对根据时区对日期进行修正,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历,图3为本发明实施例中金融日历生成方法的具体实例的流程图,如图3所示,本发明实施例中金融日历生成方法还可以包括:
36.步骤301、在日历代码为已有日历代码时,根据交易字段中交易所所在时区确定金
融日历中对应的节假日日期;
37.在日历代码为新增日历代码时,在金融日历中新增对应的节假日日期;
38.在日历代码为组合日历代码,在已有日历代码和新增日历代码处理完成后,在金融日历中对相应的节假日日期进行组合。
39.例如,在批量筛选完成后,遍历交易所字段,交易品种字段,货币字段,时区所在的路由表,对每一个日历代码进行日历信息加载,判断日历代码本身的属性,判断逻辑如下:该日历代码是否是系统已支持日历,如是则只需要时区转换日期,该日历代码是否需要新增,如是,进行日历新增。该日历是否是其他的日历组合而成,如果是组合日历则需要跳过,在上述两条判断之后最后进行日历组合,日历组合的逻辑是把组合该日历代码所需要的日历代码的节假日日期组合。最后形成的日历,所有的节假日日期都处于系统当时所在的时区。
40.本发明实施例中还提供了一种金融日历生成装置,如下面的实施例所述。由于该装置解决问题的原理与金融日历生成方法相似,因此该装置的实施可以参见金融日历生成方法的实施,重复之处不再赘述。
41.图4为本发明实施例中金融日历生成装置的结构示意图。如图4所示,本发明实施例中金融日历生成装置400可以包括:
42.接收模块401,用于接收不同交易所有关节假日的交易字段;
43.筛选模块402,用于根据交易字段从数据库查询对应的日历代码,对日历代码进行批量筛选,得到日历代码对应的节假日信息,将节假日信息写入对应的数据库表中,所述数据库表以日历代码为主键,以交易字段为路由表;
44.日历生成模块403,用于遍历交易字段所在路由表,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历。
45.在一实施例中,交易字段可以包括:交易所字段、交易品种字段、货币字段和交易所所在时区。
46.在一实施例中,筛选模块402具体可以用于:
47.在批量筛选出错时,获取上一日备份的日历代码对应的节假日信息;
48.将上一日备份的日历代码对应的节假日信息,写入对应的数据库表中。
49.在一实施例中,日历代码的属性可以包括:日历代码为已有日历代码、新增日历代码、或组合日历代码;其中组合日历代码表示对应的节假日日期需要组合。
50.在一实施例中,日历生成模块403具体可以用于:
51.在日历代码为已有日历代码时,根据交易字段中交易所所在时区确定金融日历中对应的节假日日期;
52.在日历代码为新增日历代码时,在金融日历中新增对应的节假日日期;
53.在日历代码为组合日历代码,在已有日历代码和新增日历代码处理完成后,在金融日历中对相应的节假日日期进行组合。
54.图5为本发明实施例中金融日历生成装置的模块数据交互图。如图5所示,本发明实施例金融日历生成装置的模块数据交互可以包括:
55.接收模块接收不同交易所有关节假日的交易字段;筛选模块获取接收模块接收的交易字段,从数据库表中查询对应的日历代码,对日历代码进行批量筛选,得到日历代码对
应的节假日信息,将节假日信息写入对应的数据库表中,日历生成模块遍历交易字段所在路由表,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历,应用模块1、应用模块2、应用模块3可以调取使用日历生成模块生成的金融日历。
56.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述金融日历生成方法。
57.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述金融日历生成方法。
58.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述金融日历生成方法。
59.本发明实施例中,接收不同交易所有关节假日的交易字段;根据交易字段从数据库查询对应的日历代码,对日历代码进行批量筛选,得到日历代码对应的节假日信息,将节假日信息写入对应的数据库表中,所述数据库表以日历代码为主键,以交易字段为路由表;遍历交易字段所在路由表,从数据库表加载日历代码对应的节假日信息,结合日历代码的属性,生成金融日历;与现有技术中使用金融组件quantlib的技术方案相比,通过对日历代码进行批量筛选,判断日历代码属性,可以生成准确且满足金融系统要求的金融日历。
60.本发明实施例中,还可以实现日历的新增和组合,并对根据时区对日期进行修正,从而生成灵活扩展、准确、查询效率高、时区对日期可修正且满足金融系统要求的金融日历。
61.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
62.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
63.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
64.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
65.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详
细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1