当前位置: 首页 > 专利查询>李化常专利>正文

一种基于GPU加速的证券实时分析系统技术方案

技术编号:8324037 阅读:272 留言:0更新日期:2013-02-14 03:37
本发明专利技术公开了一种基于GPU加速的证券实时分析系统,属于金融工程领域。该系统支持一组GPU或者多组GPU进行多个模型的并行分析,包括数据获取模块、数据预处理模块、模型分析模块和结果输出模块。其优点在于:利用GPU的并行计算特性,在给定模型条件下,加速模型分析速度,有利于证券分析系统和自动交易系统的快速决策;在给定分析时间条件下,降低模型分析粒度和(或)提高模型分析复杂度;与不使用GPU计算的系统比较,可以大幅节约计算成本。

【技术实现步骤摘要】
—种基于GPU加速的证券实时分析系统
本专利技术属于金融工程领域,更具体而言,属于证券分析中的量化投资分析领域。
技术介绍
随着互联网交易的普及和计算机技术的发展,量化投资分析受到越来越多的重视。在我国证券市场,基本面研究占据市场的主流地位,然而随着证券市场的不断发展,证券数目的增加、衍生品出现及新业务的推出,基金要想战胜指数的难度也不断增加,量化投资将发挥越来越重要的作用。随着量化投资分析的推广和分析模型的复杂化,为了保证分析系统的实时性,人们对相关领域的计算机系统提出了越来越高的性能要求。寻找能够快速进行模型分析的计算机系统成为了证券投资分析领域的一个迫切任务。近年来,GPU通用计算技术逐步发展起来,并应用到了图像处理、信号处理、人工智能、金融分析、数值计算、天文计算、生物计算、分子动力学计算、石油勘探、密码学、模式识别等各种领域。GPU计算具有的计算硬件成本低、功耗小的优点使其成为了许多计算系统的首选。
技术实现思路
本专利技术公开了一种基于GPU加速的证券实时分析系统,目的是利用GPU的通用计算能力来提高证券分析速度,降低分析计算成本。本专利技术利用一组GPU或多组GPU来加速证券分析模型的计算过程,主要步骤包括(I)数据获取证券的基本面数据和历史成交数据在本地存储,证券的实时成交数据由CPU负责从互联网实时抓取;为了保证实时抓取速度,采用多线程的方式进行并行抓取。(2)数据预处理该过程用于提取模型分析算法所用的特征,对于历史成交数据, 只需要一次计算,由CPU完成;对于实时成交数据,需要动态地进行特征提取,由GPU完成。(3)模型分析利用GPU对多个证券进行并行分析,每一个GPU线程对一个特定模型的一个特定证券进行分析。(4)结果输出模型分析结果由GPU的全局显存导入内存,再由CPU进行输出处理。证券数据在GPU的全局显存的存储方式为一组证券的某一特征的所有数据在一个连续的区域内,而不是一个证券的所有特征的数据在一个连续的区域。本专利技术在一示例性实施例中,给出了该系统的一个实施方式说明。该实施例使用一个Intel公司的CoreI5型号的CPU和两个Nvidia公司的GTX480型号的GPU。在一个 GPU中进行了 60分钟周期的KDJ金叉预警分析和MACD死叉预警分析,在另一个GPU中进行了 30分钟周期的价格放量上穿N日线预警分析和KDJ的J值小于20预警分析。该系统的优点在于(I)在给定模型条件下,加速模型分析速度,有利于证券分析系统和自动交易系统的快速决策。(2)在给定分析时间条件下,降低模型分析粒度和/或提高模型分析复杂度。(3)与不使用GPU计算的系统比较,可以大幅节约计算成本。以上说明是对该系统的概述,不可避免地进行了简化和抽象。相关领域技术人员应该理解,简化和抽象的目的在于对系统进行说明而不是限制。该系统采用了 OpenCL编程框架和Nvidia公司的CUDA架构实现,可应用于股票、 债券等证券分析及权证、期货等金融衍生品分析领域。附图说明图I描绘了计算机系统的高级框图。图2描绘了证券数据在计算机系统的流向的高级框图。图3描绘了该系统的流程图。图4描绘了证券数据的存储方式的高级框图。图5描绘了证券数据在显卡内的流向的高级框图。图6描绘了 GPU线程与GPU硬件之间的映射关系的高级框图。图7描绘了模型分析模块的流程图。具体实施方式利用具有一个中央处理器和两个显卡的计算机系统来进行计算(如图I),通过在 (PU上开启两个线程,分别控制两块显卡。每一个显卡可以同时进行多个模型的分析。在一个GPU中采用了 60分钟周期的KDJ金叉模型和MA⑶死叉模型,在另一个GPU中采用了 30 分钟周期的价格放量上穿20日线模型和KDJ的J值小于20模型。基本面数据和历史成交数据从本地获取,实时成交数据从互联网获取(如图2)。 为保证实时成交数据的抓取效率,通常采用多线程的方式对实时成交数据进行批量抓取。 历史成交数据的分析周期化在CPU上进行,实时成交数据的分析周期化在GPU上进行。该系统的具体操作步骤包括(如图3):初始化、证券数据获取、证券数据从内存到显存的复制、GPU计算、结果从显存到内存的复制、结果输出等过程。初始化步骤用于指定分析周期、分析模型种类等参数。证券数据从内存到显存的复制和结果从显存到内存的复制步骤(如图3),通过调用OpenCL或者CUDA编程框架的相应函数实现。证券数据获取步骤分别从本地磁盘和互联网抓取上交所和深交所的2000多只A股股票的交易数据。从本地磁盘读取的历史成交数据为5分钟分析周期的成交数据。从互联网读取的实时成交数据为5秒钟左右更新一次的数据。为了充分利用GPU的合并访问的特性,证券数据在内存和显存中的存储采用的方式为(如图4):一组证券数据的同一特征在一个连续的内存或显存区域,从而保证GPU上一个线程组内的相邻线程在访问全局显存时能够访问到连续的显存空间,以此来提高数据的访问速度。从CPU传入GPU的证券数据中的历史成交数据部分是经过了分析周期化处理了的数据。一个典型的分析周期化处理方式是通过短周期的K线数据来生成长周期(指定分析4周期)的K线数据。数据在显卡中的显存和GPU之间的流向为(如图5):用于模型分析的历史成交数据和实时成交数据在存储上连续,实时成交数据经过分析周期化处理,存储在全局显存的指定位置。实时成交数据的分析周期化和模型分析步骤中的GPU线程和任务的划分为(如图 6):一个线程对应一只股票的一个模型。对于X只股票做双模型分析而言,则有2X个GPU 线程。GPU线程的数量远远大于真实的GPU中的硬件核心数量,并且只有这样才能较好的利用GPU的特性,隐藏数据访问的延迟,加速模型分析过程。根据已经分析周期化的成交数据(历史成交数据和实时成交数据)和(或)基本面数据,通过GPU来进行模型分析(如图7)。本实施例中,60分钟周期的成交数据包括每只股票的500个历史K线数据和小于等于4个的实时K线数据。30分钟周期的成交数据包括每只股票的500个历史K线数据和小于等于8个的实时K线数据。KDJ指标的计算算法为首先计算一段时间如9个分析周期的RSV值,RSV值的计算可由公式RSV = (CLOSE-LLV (LOW, N)) / (HHV (HIGH, N) -LLV (LOW, N)) *100 得出,其中 CLOSE 代表收盘价,LOff 代表最低价,HIGH代表最高价,N为分析周期个数,LLV和HHV函数分别代表N个分析周期内的最小的最低价和最大的最高价。K值等于前一分析周期的K值的2/3加上RSV值的1/3 的和,D值等于前一分析周期的D值的2/3加上当前的K值的1/3的和。当没有前一分析周期的K值与D值时,用50代替。J值等于当前K值的3倍减去当前D值的2倍的差。当上一分析周期的J值小于K值,并且当前分析周期的J值大于K值时,视为金叉。反之,视为死叉。MA⑶模型用到DIF和DEA两个值。DIF值的计算需要SHORT和LONG两个分析周期个数参数。SHORT小于L0NG,一般地SHORT取12,LONG取26。DIF值即为SHORT分析周期内的EMA值与LONG分析周期内的EMA值的差。EMA值的计算公式为EMA(N) = 2/ (N+l)*CL0S本文档来自技高网...

【技术保护点】
一种基于GPU加速的证券实时分析系统,该系统包括数据获取模块、数据预处理模块、模型分析模块、结果输出模块,其特征在于:(a)数据获取模块:从本地磁盘和/或本地数据库获取基本面数据和历史成交数据,从互联网获取实时成交数据;(b)数据预处理模块:分别利用CPU和GPU对历史成交数据和实时成交数据进行分析周期化处理;(c)模型分析模块:利用GPU对证券数据进行指定模型的并行计算。

【技术特征摘要】
1.一种基于GPU加速的证券实时分析系统,该系统包括数据获取模块、数据预处理模块、模型分析模块、结果输出模块,其特征在于(a)数据获取模块从本地磁盘和/或本地数据库获取基本面数据和历史成交数据,从互联网获取实时成交数据;(b)数据预处理模块分别利用CPU和GPU对历史成交数据和实时成交数据进行分析周期化处理;(c)模型分析模块利用GPU对证券数据进行指定模型的并行计算。2.如权利要求I所述的一种基于GPU加速的证券实时分析系统,其特征在于数据获取模块从本地磁盘和/或本地数据库获取的基本面数据包括但不限于股本数、流通股本数、市盈率、市净率、市值、每股收益、每股净资产、收益率证券指标;实时数据包括但不限于成交量、成交价格、最高成交价、最低成交价、开盘价、收盘价、成交时间、成交金额。3.如权利要求I所述的一种基于GPU加速的证券实时分析系统,其特征在于数据预处理模块在指定的分析周期中...

【专利技术属性】
技术研发人员:李化常
申请(专利权)人:李化常
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1