一种基于FPGA的决策树模型及量化交易系统的制作方法
- 国知局
- 2024-10-09 14:44:30
本申请涉及金融交易系统,尤其是涉及一种基于fpga的决策树模型及量化交易系统。
背景技术:
1、随着量化交易及高频交易的发展,金融行业对于交易速度的要求也日益增加。在利用量化交易系统进行自动化交易过程中,通常会采用定价模型来预测未来一段时间交易标的理论价,并依据此理论价来进行交易执行。其中,定价模型作为量化交易系统的核心组件,既要保证预测结果的准确性,又要最大程度降低数据的处理延迟。
2、目前的量化交易系统的定价模型主要通过软件系统来实现,此类定价模型基于c/c++等比较底层的软件语言进行逻辑运算,并行性差,数据运算耗时在微秒数量级,且数据传输过程中还易出现网络延迟。对于处理精度要求较高、预测结果时效相对较短的微观价格预测,软件语言构建的定价模型处理得到的预测结果很难在其时效时间内及时反馈给交易系统并执行,无法满足当前量化交易系统对微观价格预测的需求。
技术实现思路
1、为解决上述问题,本申请的第一方面提供了一种基于fpga的决策树模型,所述决策树模型被训练为根据计算因子对接收到的行情数据进行运算处理来预测预定时间间隔后的目标变量,所述决策树模型包括:在fpga中创建的若干个bram储存块、储存于每个所述bram储存块内的决策树的子树文件以及为每个所述子树文件分配相应的计算因子的训练模块,每个所述子树文件运行得到一个子树模型,所述子树模型内对应分配有至少一个所述计算因子,各个所述bram储存块中的子树模型相对独立运行而得到相应的输出值,所述输出值之间进行数学运算得出所述目标变量。
2、本申请在fpga中创建相互独立运行的若干个bram储存块,每个bram储存块储存一个子树文件,一方面,采用fpga作为硬件基础,实现各个子树模型的全并行运行处理,极大缩减了决策树处理数据的耗时;另一方面,每个子树模型由训练模块分配相应的计算因子,行情数据并行在若干个子树模型进行数据增益,每个计算因子可对应于一个数据处理维度,每个子树模型对应一组相关联的数据处理维度,各个子树模型输出相应维度的输出值,并经过最后的数学运算得出预测的目标变量,多维度数据处理保障处理精度,各输出值经过综合运算得出目标变量,便于依据具体行情数据调整各子树模型的关联度,保障目标变量的预测准确度,本决策树模型的低延迟与高准确度的特性,满足微观价格预测的需求,极大地优化量化交易执行效率。
3、在一些实施方式中,每个所述子树模型包括树节点与叶节点,且位于起始位置的所述树节点作为树头节点并被储存于其对应的bram储存块的初始地址,所述树头节点依照二叉树结构递归分裂出n层树节点,每个所述第n层树节点的末端递归分裂出两个所述叶节点作为所述子树模型的终点。通过将树头节点储存在bram储存块的初始地址,方便计算因子的定位分配,树头节点依照二叉树结构递归分裂出n层树节点,行情数据在每个树节点选择一个分支进入下一层树节点。
4、在一些实施方式中,每个所述树节点均存储有一个计算因子信息以及比较值,每个所述叶节点均储存有结束标志,所述行情数据在每个树节点处通过应用相应的计算因子得出相应的计算结果,再将所述计算结果与所述比较值进行比对,依据所述比对结果选择进入下一层树节点的方向,所述行情数据经过逐层流向选择并最终进入到一个叶节点中,所述叶节点同步上一级树节点的计算结果并储存为所述输出值。通过为每个树节点赋予一个计算因子和比较值,行情数据历经一个树节点会进行一次相应的运算得出计算结果,将所述计算结果与比较值进行比对以确定进入下一层树节点的方向,下一层树节点对应以另一处理维度的计算因子对所述行情数据进行运算处理,所述行情数据经过逐层流向选择并最终进入到一个叶节点中,实现子树模型上一组维度的数据处理。
5、在一些实施方式中,所述训练模块接收软件端的慢速数据依照预定的训练机制形成计算因子库,所有所述子树模型均接入至所述计算因子库,各个所述树节点根据各自储存的计算因子信息在所述计算因子库内获取对应的计算因子。通过训练模块对慢速数据进行训练学习,形成计算因子库,各个树节点自所述计算因子库内获取相对应的计算因子进行数据增益处理,减少各bram存储块内的数据冗余。
6、在一些实施方式中,所述计算因子库对所有计算因子进行排序并分配因子序号,所述树节点内储存的计算因子信息为对应的因子序号,每个所述子树模型通过在所述计算因子库内进行索引获取对应的所述计算因子。通过对计算因子进行排序,每个树节点对应只需存储相应的因子序号就能在计算因子库内索引调用相应的计算因子,显著减少子树模型的内存占用。
7、在一些实施方式中,每个所述子树模型被分配的计算因子组成计算因子组,每组所述计算因子依照与所述目标变量的关联度由小到大地在所述树节点中逐层分配,所述树头节点对应计算因子与所述目标变量的关联度最小。通过按照与目标变量的关联度的大小逐层分配计算因子,也即每层树节点按照误差从大到小地进行目标变量的预测,确保每个子树模型的输出值与目标变量的关联度最大,也即对目标变量的预测误差最小,减少不必要的计算,提升数据处理速度。
8、在一些实施方式中,所述比较值为与所述计算因子一一对应的固定值;或者所述比较值为所述训练模块根据所述行情数据计算出的动态值,所述动态值依据与所述目标变量的关联度由小到大地在所述树节点中自所述树头节点逐层分配。固定值作为比较值减少模型整体运算量,动态值作为比较值,提高每层树节点的判断的准确度,最终实现目标变量的预测准确度的提升。
9、在一些实施方式中,所述训练模块采用lgbm机器学习算法依据所述行情数据对应每个所述子树模型生成所述计算因子组。通过lgbm机器学习算法使训练模块深度学习各个计算因子与目标变量的关联度,在一次次决策树运行过程中逐渐优化计算因子组的设计,提升目标变量的预测准确度。
10、在一些实施方式中,所述叶节点被限定为至少包含100个数据点。防止决策树模型在叶子节点上过度拟合小的数据集,并提高模型的泛化能力。
11、本发明的第二方面提供了一种量化交易系统,包括fpga与软件端,所述fpga通过网络组件接收行情数据并将所述行情数据解码分发至决策树模型和所述软件端,所述决策树模型为上述所述的决策树模型。
12、本申请的软件端一方面同步接收行情数据,另一方面为训练模块提供慢速数据,为计算因子库的建设提供数据基础,并采用上述的决策树模型,可并行地多维度进行数据处理,数据处理延迟小,预测准确度高。
技术特征:1.一种基于fpga的决策树模型,其特征在于,所述决策树模型被训练为根据计算因子对接收到的行情数据进行运算处理来预测预定时间间隔后的目标变量,所述决策树模型包括:在fpga中创建的若干个bram储存块、储存于每个所述bram储存块内的决策树的子树文件以及为每个所述子树文件分配相应的计算因子的训练模块,每个所述子树文件运行得到一个子树模型,所述子树模型内对应分配有至少一个所述计算因子,各个所述bram储存块中的子树模型相对独立运行而得到相应的输出值,所述输出值之间进行数学运算得出所述目标变量。
2.根据权利要求1所述的决策树模型,其特征在于,每个所述子树模型包括树节点与叶节点,且位于起始位置的所述树节点作为树头节点并被储存于其对应的所述bram储存块的初始地址,所述树头节点依照二叉树结构递归分裂出n层树节点,每个所述第n层树节点的末端递归分裂出两个所述叶节点作为所述子树模型的终点。
3.根据权利要求2所述的决策树模型,其特征在于,每个所述树节点均存储有一个计算因子信息以及比较值,每个所述叶节点均储存有结束标志,所述行情数据在每个所述树节点处通过应用相应的所述计算因子得出相应的计算结果,再将所述计算结果与所述比较值进行比对,依据所述比对结果选择进入下一层所述树节点的方向,所述行情数据经过逐层流向选择并最终进入到一个叶节点中,所述叶节点同步上一级所述树节点的计算结果并储存为所述输出值。
4.根据权利要求3所述的决策树模型,其特征在于,所述训练模块接收软件端的慢速数据依照预定的训练机制形成计算因子库,所有所述子树模型均接入至所述计算因子库,各个所述树节点根据各自储存的计算因子信息在所述计算因子库内获取对应的计算因子。
5.根据权利要求4所述的决策树模型,其特征在于,所述计算因子库对所有计算因子进行排序并分配因子序号,所述树节点内储存的计算因子信息为对应的因子序号,每个所述子树模型通过在所述计算因子库内进行索引以获取对应的所述计算因子。
6.根据权利要求4所述的决策树模型,其特征在于,每个所述子树模型中被分配的计算因子组成计算因子组,每组所述计算因子依照与所述目标变量的关联度由小到大地在所述树节点中逐层分配,所述树头节点对应计算因子与所述目标变量的关联度最小。
7.根据权利要求6所述的决策树模型,其特征在于,所述比较值为与所述计算因子一一对应的固定值;或者所述比较值为所述训练模块根据所述行情数据计算出的动态值,所述动态值依据与所述目标变量的关联度由小到大地在所述树节点中自所述树头节点逐层分配。
8.根据权利要求6所述的决策树模型,其特征在于,所述训练模块采用lgbm机器学习算法依据所述行情数据对应每个所述子树模型生成所述计算因子组。
9.根据权利要求4所述的决策树模型,其特征在于,所述叶节点被限定为至少包含100个数据点。
10.一种量化交易系统,其特征在于,包括fpga与软件端,所述fpga通过网络组件接收行情数据并将所述行情数据解码分发至决策树模型和所述软件端,其特征在于,所述决策树模型为上述权利要求1-9任一项所述的决策树模型。
技术总结本申请提出一种基于FPGA的决策树模型,其特征在于,决策树模型被训练为根据计算因子对接收到的行情数据进行运算处理来预测预定时间间隔后的目标变量,包括:在FPGA中创建的若干个储存有决策树的子树文件的BRAM储存块和为每个子树文件分配相应的计算因子的训练模块,每个子树文件运行得到一个子树模型,子树模型内对应分配有至少一个计算因子,各个BRAM储存块中的子树模型相对独立运行而得到相应的输出值,输出值之间进行数学运算得出目标变量。本申请同时满足微观价格预测的低延迟与高准确度的特性需求,实现微观价格的有效预测,优化量化交易执行效率。技术研发人员:陈文博,洪萌,马新东,彭禹受保护的技术使用者:上海天演私募基金管理有限公司技术研发日:技术公布日:2024/9/29本文地址:https://www.jishuxx.com/zhuanli/20241009/306323.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。