论文部分内容阅读
在金融证券投资行业中,量化分析是指对证券交易的历史数据按照量化策略逻辑进行定量分析,并且最终转换为有价值交易信号的一种分析方法。量化分析应用首先需要从底层数据源中加载历史交易数据,然后以用户定义的量化策略逻辑处理这些数据,最终将得到的交易信号返回上层应用。随着大数据技术的发展,金融行业对大规模交易数据进行量化分析的需求越来越大。然而,传统金融量化分析系统是基于单机内存设计的,不具备处理大规模交易数据的能力。另外,大数据系统的学习和编程使用门槛较高,易用性不够,量化分析人员设计实现大数据金融量化分析编程模型和接口,工作难度大且效率低下。针对上述问题,本文研究提出了一种分布式金融量化分析编程模型和框架,并基于该模型和框架设计实现了一个分布式金融量化分析系统,以支持大规模交易数据的量化分析应用。本文的主要研究工作和贡献点如下:(1)研究提出了一种基于流水线(Pipeline)模式的金融量化分析编程模型和基于Spark平台的分布式金融量化分析编程框架,并在此基础上设计了一系列分布式金融量化分析编程接口。(2)基于上述分布式金融量化分析编程模型和框架,设计实现了一个高效的分布式金融量化分析系统Alchemy。该系统为量化分析作业构建多维度任务元数据索引,从而对来自底层数据源的大规模交易数据进行细粒度的并行计算和分析,并从数据存储访问、数据清洗等方面为量化分析人员提供全方面的大规模交易数据管理服务。(3)为了进一步提升该金融量化分析系统的可靠性和性能,研究设计了系统容错处理和安全机制,并且对系统底层进行了性能优化,包括源数据缓存优化、基于随机采样的任务元数据索引优化、以及基于Data Frame索引的分布式文件合并优化。(4)实验结果表明,本文研究实现的分布式金融量化分析系统Alchemy具有良好计算性能和近线性的可扩展性,本文提出的三种系统底层性能优化方法均能显著提升系统计算性能。与传统单机金融量化分析系统RQAlpha相比,本文系统Alchemy在股票和交易日期两个维度分别达到3.91倍和4.02倍的加速比。与系统未优化前相比,量化分析作业在数据加载阶段、并行计算阶段和文件合并阶段分别获得42.67%、27.63%和17.37%的性能提升。(5)作为一个实际落地验证应用案例,本文研究实现的分布式金融量化分析系统Alchemy已部署在华泰证券公司的生产环境中,并与华泰证券原单机金融量化分析系统进行了性能对比。实验结果表明,本文系统Alchemy相对于单机系统可达到100到336倍的加速,具有近线性的加速比。