一种银行间债券行情报价数据模拟生成的方法及装置与流程

文档序号:32350526发布日期:2022-11-26 12:51阅读:162来源:国知局
一种银行间债券行情报价数据模拟生成的方法及装置与流程

1.本公开实施例涉及数据处理领域,具体地涉及一种银行间债券行情报价数据模拟生成的方法及装置。


背景技术:

2.随着银行间债券交易规模的扩大,越来越多的主要金融机构试图通过量化,更高效地参与银行间的债券交易;但银行间债券数据较难获取和处理,且与参与者类别复杂、高流动性的市场如期货和股票市场不同,银行间债券市场是参与者类别较为单一、单笔量大但总笔数较少的特殊市场,从总交易规模来看是高流动性市场,但从单日内成交笔数和频率上来看却更偏向于低流动性市场;因此如何更好地提取银行间债券市场的行情数据特征、更加贴合实际地模拟和生成行情数据是亟待解决的问题。


技术实现要素:

3.本公开的目的在于,针对现有技术中存在的问题,提供一种银行间债券行情报价数据模拟生成的方法、装置、存储介质及电子设备,更好地提取银行间债券市场的行情数据特征、更加贴合实际地模拟和生成行情数据,且可根据实际需求进行相关形态的曲线选择,增加了银行间债券市场行情模拟数据的可适用场景。
4.根据本公开的一个方面,提出一种银行间债券行情报价数据模拟生成的方法,包括:基于银行间债券市场的第一行情数据,生成所述第一行情数据的第一特征参数和第二特征参数,所述第一特征参数至少包括报价非零一阶差分值及其对应的单位时间内报价状态变化的概率值p_0,报价二阶差分值及其对应的单位时间内所述非零一阶差分值状态变化的概率值p_1,所述第二特征参数至少包括基于买入报量的价差分组bid_volume_group(i)及该分组对应的买入报量价差均值price_sp_bid_mean(i)、卖出报量的价差分组ask_volume_group(i)及该分组对应的卖出报量价差均值price_sp_ask_mean(i),其中i》0,至少基于所述第一特征参数和所述第二特征生成所述第一行情数据的模拟数据。
5.在一些实施例中,所述方法还包括,基于单位时间内是否发生报价的概率,随机生成交易时间对应的报价状态,获取均匀时间序列t内的报价状态序列s,其中报价状态包括非零状态和零状态,非零状态是指有新报价推出,零状态是指无新报价推出。
6.在一些实施例中,所述方法还包括,所述第一特征参数还包括,报价非零一阶差分值的均值m_0与标准差sigma_0、bid报价与ask报价的价差spread及所述价差的非零一阶差分值的均值m_1与标准差sigma_1。
7.在一些实施例中,所述方法还包括,选定模拟次数,基于所述p_0,通过二项分布对报价变动状态进行模拟,生成n条长度为q的价格状态序列mock_state1,其中q为序列中非
零状态数量;根据所述mock_state1,基于所述p_1通过二项分布对报价变化值的状态进行模拟,生成价格幅度状态序列mock_state2,其中n》0, q》0。
8.在一些实施例中,所述方法还包括,基于所述m_0和sigma_0通过高斯分布进行随机数模拟,并根据所述mock_state1和mock_state2进行赋值,最后基于任意初始值累加生成n条长度为q的模拟bid报价。
9.在一些实施例中,所述方法还包括,基于所述m_1和sigma_1过高斯分布进行随机数模拟,并通过mock_state1和mock_state2赋值生成价差一阶差分值序列,基于任意初始值累加相应地生成长度为q的模拟价差mock_spread。
10.在一些实施例中,所述方法还包括,基于所述模拟bid报价和对应的所述mock_spread计算得到模拟ask报价mock_ask_ytm。
11.在一些实施例中,所述方法还包括,至少基于所述买入报量的价差分组bid_volume_group(i)、卖出报量的价差分组ask_volume_group(i)、价差spread、模拟价差mock_spread与实际行情中报量分组对应的买入报量价差均值price_sp_bid_mean(i)、卖出报量价差均值price_sp_ask_mean(i)价差阈值mean_spread(i),生成模拟报量。
12.在一些实施例中,所述方法还包括,在所述报价状态序列及对应时间序列中插入模拟数据,生成均匀时间序列下银行间债券市场行情报价模拟数据。
13.在一些实施例中,所述方法还包括,通过筛选报价状态下有新报价推出,生成非均匀时间序列下银行间债券市场行情报价模拟数据。
14.根据本公开的另一个方面,提出一种银行间债券行情报价数据模拟生成的装置,包括:特征参数生成模块,用于基于银行间债券市场的第一行情数据,生成所述第一行情数据的第一特征参数和第二特征参数;所述第一特征参数至少包括报价非零一阶差分值及其对应的单位时间内报价状态变化的概率值p_0,报价二阶差分值及其对应的单位时间内所述非零一阶差分值状态变化的概率值p_1,所述第二特征参数至少包括基于买入报量的价差分组bid_volume_group(i)及该分组对应的价差均值price_sp_bid_mean(i)、卖出报量的价差分组ask_volume_group(i)及该分组对应的价差均值price_sp_ask_mean(i),其中i》0,模拟数据生成模块,用于至少基于所述第一特征参数和所述第二特征生成所述第一行情数据的模拟数据。
15.在一些实施例中,所述装置还包括,报价状态序列生成模块,用于基于单位时间内是否发生报价的概率,随机生成交易时间对应的报价状态,获取均匀时间t内的报价状态序列s,其中报价状态包括非零状态和零状态,非零状态是指有新报价推出,零状态是指无新报价推出。
16.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的一种银行间债券行情报价数据模拟生成的方法中的步骤。
17.本技术实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的银行间债券行情报价数据模拟生成的方法中的步骤。
18.本公开实施例提供的一种银行间债券行情报价数据模拟生成的方法、装置、存储介质及电子设备,通过对银行间债券市场的单日内行情数据进行深度分析,基于银行间债券市场做市商报价规律和价格变动规律,提取参考数据的价格状态转移关系、特征分布、双边报价差关系以及量价基本关系,使用经典高级计量学结合统计假设和随机分布模型,尽可能还原tick级市场报价行情的数据状态,更好地提取银行间债券市场的行情数据特征、更加贴合实际地模拟和生成行情数据,且可根据用户需求生成不同行情下的模拟数据,增加了银行间债券市场行情模拟数据的可适用场景。
附图说明
19.下面结合附图,通过对本公开的具体实施方式详细描述,将使本公开的技术方案及其它有益效果显而易见。
20.图1为本技术实施例提供的一种银行间债券行情报价数据模拟生成的方法示意图。
21.图2为本技术实施例提供的输入数据报价形态示意图。
22.图3为本技术实施例提供的模拟数据输出报价形态示意图。
23.图4本技术实施例提供的一种银行间债券行情报价数据模拟生成的装置示意图。
24.图5本技术实施例提供的一种电子设备示意图。
具体实施方式
25.下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。本公开的说明书和权利要求书以及附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排它的包含。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
26.以下将分别对本技术实施例提供的一种银行间债券市场行情报价数据模拟生成的方法、装置、存储介质及电子设备进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
27.实施例一:具体地,请参阅图1,为本公开提供的银行间债券市场行情报价数据模拟生成的方法。具体步骤如下:步骤s1基于银行间债券报价的第一行情数据,生成所述第一行情数据的第一特征参数和第二特征参数,所述第一特征参数至少包括报价非零一阶差分值指及其对应的单位时间内报价状态发生变化的概率值p_0,报价二阶差分值及其对应的单位时间内所述非零一阶差分值的状态发生变化的概率值p_1,所述第二特征参数至少包括基于买入报量的价差分组bid_volume_group(i) 及该分组对应的买入报量价差均值price_sp_bid_mean(i)、卖出报量的价差分组ask_volume_group(i) 及该分组对应的卖出报量价差均值price_sp_ask_mean(i)其中i》0;可以理解的是,实际交易场景,不同报量的量级对应的报价价差之间有明显的差异,而同一量级对应的多个报价价差之间差异较少;示例性的,以买入bid报量为例,假设原始行情数据中,当天的买入bid报量只有两种情况(两个量级,本公开并不限制量级的数量),3000手和5000手,则将统计的3000手对应的报价价差分为一组,将统计的
5000手对应的报价价差分为另一组,并计算每组的价差均值,从而提取实际交易场景下报量和报价价差之间的关系,作为用于后续模拟的特征之一;对卖出ask报量采用上述同样的方式,可以得到ask报量对应的价差分组及分组对应的报价价差均值。
28.在一些实施例中,银行间债券报价的第一行情数据可以包括,tick级(每秒三次或逐笔推送)行情数据:时间(t),买入报价(bid_ytm),卖出报价(ask_ytm),买入报量(bid_volume),卖出报量(ask_volume)。
29.在一些实施例中,假设单位时间的报价状态服从二项分布,基于实际交易发生次数与常规交易时间长度的比值,计算单位时间内,是否推送新报价的概率(p):p = trade_count/trade_time;基于该概率(p),运用二项分布,随机生成交易时间对应的报价状态:二项分布概率公式:,可使用python中二项分布随机数生成功能实现该过程;最终可获得均匀时间序列(t)下的报价状态序列, 其中报价状态包括非零状态和零状态,非零状态是指有新报价推出,零状态是指无新报价推出;示例性地,1代表非零状态,0代表零状态,序列s由0和1组成。
30.在一些实施例中,基于上述第一行情数据,提取各数据的特征参数,报价价差(price_spread)= bid_ytm
ꢀ‑ꢀ
ask_ytm,报价价差一阶差分(price_sp_diff) = price_spread
(i+1)-price_spread(i),买入报价一阶差分(bid_diffi)= bid_ytm
(i+1)-bid_ytm(i),卖出报价一阶差分(ask_diffi)= ask_ytm
(i+1)-ask_ytm(i),被模拟价格的非零一阶差分的均值与标准差(以买入报价为例):价差的非零一阶差分值的均值与标准差:其中,非零一阶差分是指将变动值分为非零和零两组,作为价格状态变化的分组,一阶差分值为零则说明新的报价未发生改变,一阶差分值为非零则说明新的报价发生了变
化。
31.买入报价二阶差分值(

(bid_diffi))= bid_diff
(i+1)-bid_diff(i),卖出报价二阶差分值(

(ask_diffi))= ask_diff
(i+1)-ask_diff(i),记非零bid_diff的总数量为count(非零bid_diff),记非零

(bid_diff)的总数量为count(非零

(bid_diff)),基于报价变动值,计算单位时间内报价状态发生变化的概率值:p_0 = (count(非零bid_diff))/第一行情数据长度,基于报价二阶差分值,计算单位时间内报价变动状态发生变化的概率值:p_1 = (count(非零

(bid_diff)))/count(非零bid_diff),将价差分别按照bid报量和ask报量进行分组,并计算每个分组中价差的均值:按bid报量,价差分为x组,得到2~x组的价差均值(即此处按照报量从小到大排序获取的1~x组中,从第二组开始取到最后一组计算价差均值作为价差阈值,第m组报量的阈值对应m+1组的价差均值,小于等于m+1组的价差均值则为m组报量,大于m+1组的均值则为m+1组的报量,m∈n:[1,x]):price_sp_bid_mean(2)~price_sp_bid_mean(x);按ask报量,与按bid报量相同逻辑可得:price_sp_ask_mean(2)~price_sp_ask_mean(x)。
[0032]
步骤s2至少基于所述第一特征参数和所述第二特征生成所述第一行情数据的模拟数据。
[0033]
在一些实施例中,选定模拟次数k,根据p_0和p_1运用二项分布对报价变动状态进行模拟,模拟生成报价状态变化序列(mock_state1,长度由报价状态序列中非零状态数量q决定,q》0),根据报价状态变化序列(mock_state1),基于p_1,运用二项分布对报价变化值的状态进行模拟,生成价格幅度状态序列(mock_state2,长度由mock_state1中报价一阶差分值的非零状态数量决定)。进一步基于m_0与sigma_0的高斯分布生成报价的一阶差分值(长度为mock_state2中非零状态个数决定),根据状态序列mock_state1和mock_state2赋值获取n条长度为q的价格变动状态模拟数据,其中赋值逻辑为:mock_state2序列中非零状态填充相应的高斯分布生成的报价一阶差分值而零状态则填充上一个非零状态的负值,连续零状态则填充为上一个非零状态的正负交替值,其中n》0,最后通过选择合适的初始值进行累加可获得模拟的报价结果(mock_bid_ytm)。
[0034]
在一些实施例中,为了保持双边报价整体的一致性,因此沿用上述报价状态变化序列mock_state1和报价变动值状态变化列mock_state2,基于m_1和sigma_1的高斯分布生成价差变动状态,以相同的赋值逻辑获取价差变动状态数据,通过选择合适的初始值进行累加可获得模拟的价差结果(mock_spread)。
[0035]
在一些实施例中,通过公式mock_ask_ytm = mock_bid_ytm
ꢀ‑ꢀ
mock_spread,计算得到模拟ask报价mock_ask_ytm。
[0036]
在一些实施例中,根据上述计算得到每个分组中价差的均值price_sp_bid_mean(2)~price_sp_bid_mean(x)和price_sp_ask_mean(2)~price_sp_ask_mean(x)作为对应报量的阈值,即高于该阈值则取该组别所对应的报价量,最终可获得相应的mock_bid_volume与mock_ask_volume。例如,基于前文特征提取部分,假设报量分别为3000手和5000手,计算得到的对应的均值分别为0.006641和0.007718,则在此处模拟阶段,对于模拟价差高于
0.007718对应的模拟报价量为5000手,低于或等于0.007718对应的模拟报价量为3000手。再如,特征提取部分,假设存在多个量级的报量,例如分别为3000手、5000手、8000手,假设计算得到的对应的均值分别为0.006641、0.007718、0.008821,则在此处模拟阶段,对于模拟价差高于0.008821对应的模拟报价量为8000手,对于模拟价差低于或等于0.008821且高于0.007718对应的模拟报价量为5000手,低于或等于0.007718对应的模拟报价量为3000手。
[0037]
在一些实施例中,将模拟生成的买入报价、报量和卖出报价、报量根据报价状态序列(s)插入相应的时间序列(t),输出最终的均匀时间序列下银行间债券市场行情报价模拟数据,通过筛选报价状态下有新报价推出,可生成非均匀时间序列下的模拟行情数据。
[0038]
示例性的,本公开以2022年附息国债03的6月14日日内行情数据模拟行情数据为例对本公开的构思进行说明,需要说明的是,本示例并不构成对本公开保护范围的限定。
[0039]
输入对象数据:2022年附息国债03的6月14日日内行情数据,其报价形态如图2所示。
[0040]
其中输入数据如下表1所示;表1 输入数据quotetimeprice_bidvolume_bidprice_ofrvolume_ofr2022-06-1409:00:232.79730002.78830002022-06-1409:01:572.79730002.78830002022-06-1409:02:492.79730002.78830002022-06-1409:03:392.794530002.78830002022-06-1409:03:522.79730002.78830002022-06-1409:04:592.794530002.78830002022-06-1409:05:072.794530002.78830002022-06-1409:06:332.79730002.78830002022-06-1409:07:552.79730002.7883000经过本公开模拟算法模拟后的数据输出,其报价形态如图3所示。
[0041]
模拟数据输出如下表2所示;表2 输出数据实施例二为实现上述目的,本实施例提出了一种银行间债券行情报价数据模拟生成的装置,请参阅图4,为本公开提供的一种银行间债券行情报价数据模拟生成装置的结构示意图。装置400包括:特征参数生成模块401、模拟数据生成模块402。
[0042]
特征参数生成模块401,用于基于银行间债券市场的第一行情数据,生成所述第一行情数据的第一特征参数和第二特征参数;所述第一特征参数至少包括报价非零一阶差分值及其对应的单位时间内报价状态发生变化的概率值p_0,报价二阶差分值及其对应的单位时间内所述非零一阶差分值状态发生变化的概率值p_1,所述第二特征参数至少包括基于买入报量的价差分组bid_volume_group(i)及该分组对应的价差均值price_sp_bid_mean(i)、卖出报量的价差分组ask_volume_group(i)及该分组对应的价差均值price_sp_ask_mean(i),其中i》0,模拟数据生成模块402,用于至少基于所述第一特征参数和所述第二特征生成所述第一行情数据的模拟数据。
[0043]
实施例三相应的,本技术实施例还提供一种电子设备,该电子设备可以为终端或者服务器。如图5所示,图5为本技术实施例提供的电子设备的结构示意图。
[0044]
该电子设备500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0045]
处理器501是电子设备500的控制中心,利用各种接口和线路连接整个电子设备500的各个部分,通过运行或加载存储在存储器502内的软件程序(计算机程序)和/或单元,以及调用存储在存储器502内的数据,执行电子设备500的各种功能和处理数据,从而对电子设备500进行整体监控。
[0046]
在本技术实施例中,电子设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:基于银行间债券市场的第一行情数据,生成所述第一行情数据的第一特征参数和第二特征参数,所述第一特征参数至少包括报价非零变动值及其对应的单位时间内报价状态发生变化的概率值p_0,报价二阶差分值及其对应的单位时间内报价变动状态发生变化的概率值p_1,所述第二特征参数至少包括基于买入报量的价差分组bid_volume_group(i)及该分组对应的价差均值price_sp_bid_mean(i)、卖出报量的价差分组ask_volume_group(i)及该分组对应的价差均值price_sp_ask_mean(i),其中i》0,至少基于所述第一特征参数和所述第二特征生成所述第一行情数据的模拟数据。
[0047]
以上各个操作的具体实施可参见前述的实施例,在此不再赘述。
[0048]
可选的,如图5所示,电子设备500还包括:银行间债券行情数据模拟模块503、通讯模块504、输入单元505以及电源506。其中,处理器501分别与银行间债券行情数据模拟模块503、通讯模块504、输入单元505以及电源506电性连接。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者
组合某些部件,或者不同的部件布置。
[0049]
银行间债券行情数据模拟模块503可用于实现生成行情数据的模拟。
[0050]
通信模块504可用于与其他设备通信。
[0051]
输入单元505可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0052]
电源506用于给电子设备500的各个部件供电。可选的,电源506可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源506还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0053]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0054]
实施例四本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0055]
为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的一种银行间债券行情报价数据模拟的方法中的步骤。例如,该计算机程序可以执行如下步骤:基于银行间债券市场的第一行情数据,生成所述第一行情数据的第一特征参数和第二特征参数,所述第一特征参数至少包括报价非零变动值及其对应的单位时间内报价状态发生变化的概率值p_0,报价二阶差分值及其对应的单位时间内报价变动状态发生变化的概率值p_1,所述第二特征参数至少包括基于买入报量的价差分组bid_volume_group(i)及该分组对应的价差均值price_sp_bid_mean(i)、卖出报量的价差分组ask_volume_group(i)及该分组对应的价差均值price_sp_ask_mean(i),其中i》0,至少基于所述第一特征参数和所述第二特征生成所述第一行情数据的模拟数据。
[0056]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0057]
其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0058]
由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种银行间债券行情报价数据模拟生成方法中的步骤,因此,可以实现本技术实施例所提供的任一种银行间债券行情报价数据模拟生成的方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0059]
以上对本技术实施例所提供的一种银行间债券行情报价数据模拟生成方法、装置、计算机可读存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均
会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1