《量化交易系统实证环境的搭建与实现》16000字_第1页
《量化交易系统实证环境的搭建与实现》16000字_第2页
《量化交易系统实证环境的搭建与实现》16000字_第3页
《量化交易系统实证环境的搭建与实现》16000字_第4页
《量化交易系统实证环境的搭建与实现》16000字_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

量化交易系统实证环境的搭建与实现目录TOC\o"1-2"\h\u3570摘要 11781绪论 2122791.1研究背景 2110841.2研究思路与方法 3324651.3国内外研究现状与发展趋势 3207071.4本文主要工作与论文内容结构 5238712相关背景知识介绍 6141162.1量化投资 6226482.2技术性指标评价标准 891272.3技术性指标 10163893基于聚类分析的市场结构化分析模型 1238013.1基于稀疏逆协方差矩阵估计的聚类算法模型 1275594量化交易系统实证环境的搭建与实现 1628664.1实证环境设计 1649934.2量化交易系统的实例 17274715实证分析 1891215.1数据的来源与处理 18178295.2股票市场结构化分析 1882205.3量化交易信号的效果评价与参数选择 20109746结论与展望 26269026.1结论 26194966.2研究展望 2624115参考文献 27摘要随着国民收入的增加与金融市场的深化改革,中国证券股票交易市场直接参与、间接参与的投资者数量与投资规模也在不断增长,而在这其中,量化交易的规模与数量也与日俱增。基于此,本文试图以金融学理论框架为根基,运用机器学习算法,通过研究试图回答两个量化交易的核心问题:第一,基于资产定价理论体系、投资组合理论体系、有效市场假说这三大金融学理论框架,尝试建立量化分析体系;第二,尝试借助模型与算法学习技术指标历史数据,产生量化交易信号。即从数据挖掘的视角出发,尝试回答这两个量化交易系统中最关键的核心问题。在构建量化分析体系方面,本文首先回顾了量化交易的基本思想框架与发展历史,并且就股票证券市场中不同量化交易策略进行了总结,在此之上以上证50成分股为例,使用无监督模型对股票市场进行结构化分析,丰富了机器学习在沪深股票市场量化交易领域运用的研究。在产生量化交易信号方面,本文简要描述了量化投资系统的结构和决策过程,并以上证指数为例,使用常用的机器学习算法(包含线性监督模型、无监督模型)分别对数据进行拟合和交叉验证评估,构建模型评估函数并进行对比,进行了参数的筛选和投资效果的评价。剖析不同模型与特征选择在量化择时这一具体领域的表现差异,延伸了量化交易研究的边界。关键词:股票市场;量化交易;机器学习1绪论1.1研究背景中国资本市场正处于高速发展阶段,且拥有广阔前景。随着大数据、区块链和人工智能等金融科技与证券行业的不断融合,资本市场环境逐步向着智能化、定制化、虚拟化的方向演进。量化交易是指在公开市场上,以前沿算法替代主观判断,利用计算机技术制定策略,通过对一系列资产进行有计划的买卖操作,减少投资者受到情绪波动的影响,从而避免在市场波动下的非理性的投资决策。人工智能技术参与证券市场分析研判,预测股价波动和模拟股票交易等研究蓬勃发展,为传统量化交易领域提供了跨越式发展的新动力和新引擎[1]。中国证券市场自成立以来,已迈入高速发展的轨道。历经二十多年的探索,中国证券市场逐步形成了自己的特点,并积累了大量可由计算机进行识别和处理的相关数据。目前在证券市场上,新兴金融科技被逐步采用来探索市场规律和预测市场行情,例如:智能投顾和量化交易等领域促进金融行业不断进行新的探索。资本市场的繁荣离不开大量机构、私募以及个人投资者的参与,而随着金融市场法律规范的不断健全,市场信息不断公开透明,运用传统的投资方式在大数据背景下进行投资决策已无法适应市场需求,量化交易应运而生。量化交易的核心是投资策略:通过研究股票历史走势,结合统计分析工具对股票量价的宏观和微观规律进行研判,运用计算机人工编写相应的程序,依据所设定的交易逻辑自动触发做多和做空操作。因此,在当今的资本市场,想要提出一个优质的策略不仅需要使用金融学、数学来分析金融产品的内在价值,还需要运用编程相关技能以及投资经验,程序化交易策略从而获取超额回报[2]。根据中国证券监督管理委员会《证券公司交易信息系统外部接入管理暂行规定(征求意见稿)》以及《证券法》、《证券基金经营机构信息技术管理办法》等法律、行政法规及规章制度规定,量化交易系统在接入市场实盘交易时有着严格的准入制度与资质要求如:“证券公司可以为符合《证券期货投资者适当性管理办法》第八条第一项或第三项规定,且自身存在合理交易需求的专业投资者提供交易信息系统外部接入服务。私募基金管理人应当为私募证券投资基金管理人,最近一年末管理产品规模不低5亿元,且接入的产品应当经中国证券投资基金业协会备案”,此外在符合资质的情况下需满足所有代码部署于券商服务器并进行审核等,本文主要工作将聚焦尝试建立适用于个人投资者的量化交易分析系统而非实盘交易系统。1.2研究思路与方法本文的主要研究目标如摘要所言,即研究并实现量化交易系统中最核心的两个模块:首先是量化分析框架的建立,在梳理前人研究成果的基础上,整理并建立相应的量化评价体系,重点理解结构化分析方面等前人未曾涉及或是充分研究的部分,并在此基础上提出自己的见解并进行实证分析。其次是产生量化交易信号。设计合理的、符合实际投资风控的量化交易信号,并通过实证分析,对比不同机器学习算法以及特征选择下的表现。对现有量化交易策略进行研究梳理,并总结分析发现现有量化系统的局限性与不足,并尝试对比现有机器学习算法在量化领域的应用。主要使用的研究方法包括文献研究法、实证分析法。通过对过去文献的梳理,总结股票市场和量化投资两方面的内容。就量化投资而言,从其概念的诞生、应用到当下的广泛普及,相关的中外研究有很多。服务于研究目的,本文从基本面分析和技术性分析两个角度对量化投资进行文献梳理,并对机器学习学习方法在量化投资领域的应用和技术性分析在我国金融市场的有效性方面进行了研究。文献研究方法不局限在文献综述,在文章的其他部分如货币政策的量化分析方面,本文亦通过比较过去文献的处理方法、分析其不足之处,才对问题有了清晰的认识,并在此基础上提出了自己的见解。通过对上证指数的实证分析结果,结合理论分析的内容,主要采用的研究方法是机器学习中聚类与回归算法,编程语言是Python。1.3国内外研究现状与发展趋势马科维茨提出了资本市场发展的根源——投资组合理论。此后,1972年威廉夏普提出资本资产定价模型对投资组合理论进行了进一步研究,经济学理论的研究也为资本市场的发展奠定了基础。20世纪70年代第一支量化被动投资基金由巴莱克国际公司发行,打开量化投资的大门。1997年,Ghosn和Bengio运用共享权重的方法获得股票走势,并设计特殊结构的神经网络,对不同类型股票进行多任务学习,并运用加拿大股票市场进行实证研究,获得高于基准14%的收益回报。[3]以此为基础,1998年Saad,Prokhorov和Wunsch对时滞神经网络、循环神经网络和概率神经网络进行了一系列测试和比较,验证了神经网络用于预测股票短期趋势的可行性[4]。21世纪以来,量化投资技术出现爆发式增长。2000年,Sorensen,Miller和Ooi使用决策树算法进行选股,该方法被广泛应用于券商金融领域[5]。2001年澳大利亚学者Fan与Palaniswami运用SVM技术建立选股策略,获得超过基准收益71%的超额收益[6]。2007年,Dunis和Nathani使用线性和非线性回归分析,预测每日黄金价格走势,并得出了非线性模型中多层感知机和神经网络模型在价格预测上表现优于ARMA时间序列模型的结论[7]。2008年Christine和Genuer运用随机森林算法筛选股票[8]。2014年,Yu,Chen和Zhang使用PCA主成分分析构造低维特征,再使用支持向量机回归预测股票走势,并以此为依据构造出选股策略,经验证该策略优于A股指数。同年,曹正凤,纪宏和谢邦昌使用了众多基本面特征训练随机森林模型[8],并在计算机、通讯和电子等几个行业实现股票涨跌预测,准确率达到了75%左右,投资者可以根据此模型确定买卖的时机。进入21世纪,机构投资者和个人逐步青睐于运用计算机进行高频交易和对冲基金,进一步促进了量化交易。美股市场上,从1997年至今有量化背景的基金增长了20倍。中国在量化交易领域起步较晚,由于交易机制的限制,导致A股市场缺乏多空平衡,风险对冲机制只能依靠期货,量化交易的发展比较缓慢。2015年3月,上证50ETF期权试点上线,开启了多元风险对冲和多维度资本管理[10]。2019年11月,中国证监会批准上市沪深300ETF期权合约,进一步增加了风险管理和多元量化的选择性。目前在A股市场上,规模超过100亿的私募基金共有30多家,其中量化策略基金有6家,而且规模还在不断扩大。[9]随着A股市场不断完善,股票的多空对冲投资,跨市场、跨品种的多元复合投资方式也将不断发展,为量化交易提供更多更便捷的选择。[10]1.4本文主要工作与论文内容结构本文首先梳理研究了量化交易的发展与现状,然后聚焦最核心的量化分析框架与量化交易信号产生为基础设计了包含实时更新数据库、量化分析框架为基础的系统。论文分为六大章节,第一章主要介绍了研究背景以及监管要求,第二章介绍了相关背景知识如“量化投资”所代表的具体含义以及系统所涉及基本面、技术面分析的内容,并具体阐述了分析所涉及的技术指标。第三章则阐述了论文所涉及算法数学原理的具体阐述,第四章描述了量化系统的设计与实现,第五章主要以上证50指数及其成分股为例以实证分析的形式以聚类分析为框架进行了市场结构化分析,并在量化交易信号产生部分对比了不同机器学习算法的表现。第六章对论文进行了结论阐述并针对不足之处进行了描述与展望。

2相关背景知识介绍、2.1量化投资量化预测金融市场价格涨跌充满诱惑。总的来说,预测方法有定性和定量两种,两种投资方式各有优劣。在过去的二十多年里,量化投资取得了亮眼的投资收益,以RenaissanceTecℎnogies公司为例,其收益率在公司诞生后的十多年里,平均收益率高达38%,而同期巴菲特的投资回报率为20%。量化投资并不是一个不可知的黑盒,更不是百试百灵的神秘工具,而是投资经理将自己的投资理念融合进数量模型中,并经过不断的实证、调整、检验和优化的投资过程。相比于传统的定性投资,量化投资有其自身的弊端,例如由量化模型的计算结果确定交易策略很容易导致市场的剧烈震荡,从而产生巨大的收益不确定性。举例而言,当有大单卖出,造成价格下跌,量化模型可能会据此做出抛售决策,从而导致市场价格毫无预兆的无理由大幅下跌。量化交易弥补了定性投资中投资者个人的知识储备、分析能力在广度上的局限性。随着信息技术和金融市场不断的衍生发展,新的信息不断产生,要求投资者要更快的处理信息并做出投资决策,而传统的投资方式依赖个人或者团队,其处理信息的能力存在上限。此外投资者本身的情绪或多或少会对投资决策有所影响,例如当金融市场价格下跌或上涨超过预期的时候,大部分投资者都会怀疑自己的投资策略,从而会产生追涨杀跌的羊群效应。量化投资弥补了这两方面的缺陷。从其他方面而言,量化交易也有自己的优势,包括在建立模型时的系统性、纪律性等。2.1.1基本面分析在量化投资方面,从Sℎarpe(1964)和Lintner(1965)提出CAPM模型开始,逐渐发展到FamaandFrencℎ(1993)三因子模型和多因子模型。随后基于基本面分析和价量分析产生的对预测股价波动有贡献的异象因子在十多年来增长到四五百个,并且比较常见的模型包括线性和非线性模型,有最小二乘回归、移动平均、自回归模型等。显然如何将这些因子组合成为预测期望收益的简约模型是一件重要的研究,因为过度添加各类因子不仅相互之间的相关性较高,而且还会导致过度拟合。虽然已有的计量经济学模型可以用于评估单个模型的适用性,但是无法相互之间进行比较,FranciscoBarillas和JaySℎanken(2015)开发了一种基于贝叶斯定理的统计程序,通过收集可以由给定一组因素形成的所有可能的定价模型计算模型适用性,并发现有效的模型都包含动量因子(momentumfactor),价值因子(valuefactor)和获利因子(profitabilityfactors),随后Greenetal.(2017)和Houetal.(2019)也发现绝大部分的因子难以持续的提供超额收益。李航(2019)认为统计学习是计算机通过数据构建概率统计模型,并将模型应用于预测或者分析的一门学科。统计学习通常被简称为机器学习。机器学习涵盖范围广阔,目前不存在一个统一的理论体系能够将所有的内容包含在内,依据数据是否标注的特性分为监督学习、无监督学习等。随着机器学习方法的发展,越来越多的研究认为机器学习能够在金融产品价格预测方面发挥重要作用(Atℎey,S.andG.W.Imbens.2019)。不仅因为机器学习能够处理多维数据,而且因为参数正则化以及可以进行参数调整,能够使预测效果经过不断调整变得更好。目前在资产定价预测方面普遍使用的是有标注的监督学习的方式。常用的机器学习算法有支持向量机、提升树、随机森林、集成神经网络等。Guetal.(2018)通过比较传统线性回归模型和机器学习模型在预测美国股市收益率方面的表现后认为,机器学习方法有显著优势。其他文献研究结果也表明机器学习能够改良预测性能(RapacℎandZℎou,2019;Hanetal.,2019)。通过机器学习的方式解决异象因子较多的思路有两种。第一,通过筛选有效性较高的因子,从而提高模型的预测能力。Hsuetal.(2018)检验在了美国市场上有效的因子是否在中国市场上有效,发现差异较大。第二,运用机器学习方法从众多因子中提取共同因素,例如Jiangetal.(2019)分别采用了包括FM回归和PCA等方法分析了A股市场上七十多个异象因子,发现能从中提取出有效的信息。或者是设计新的集成方法以提高预测效果,例如Kraussetal.(2017)通过将多种算法集成,利用过去所有股票的收益来预测标普500的涨跌。2.1.2技术性分析预测金融产品价格的涨跌除了基本面分析之外,还可以进行技术性分析。技术性分析指的是对价格波动通过图表或各类技术指标进行分析,预测金融产品走势,简单的工具例如移动平均线、K线图、点数图等。这些方法逻辑简单、易于学习和应用。就其历史而言,早在上个世纪50年代就在美国产生并发展壮大,不过因为理论基础较为薄弱,从而无法得到大多数人的认可。但在上个世纪90年代,随着机器学习方法和计算能力的提升,用“模糊化准确”代替传统“精确化准确”开始被逐渐接受,并引起新的投资革命(程鹏,吴陵涌2000)。技术分析从操作上大概分为两类,第一类是通过图表将各种计算后的技术指标绘制成各类曲线,并依据这些曲线的变动做出交易策略。不过此中方法反映出的信息也部分取决于投资者个人的理解,所以一直饱受诟病。第二类是通过计算机系统将量价信息进行处理,通过最后系统给出的买卖信号做出交易。这种操作方法能够避免个人的情绪影响以及失误,但并非一直具备适用性。早在上个世纪,我国还尚未建立证券交易所的时候,董伯明(1990)即对美国股市的技术性分析方法进行了介绍。在我国股市诞生不久,就有学者对股市的技术性分析进行了总结,宋运肇(1991)认为技术分析的有效与否取决于若干前提条件,并且在不成熟的证券市场上存在被人为操作的可能。随后我国有学者开始关注市场有效性问题,因为这在某些学者看来决定了应用技术性指标的量化分析是否有意义。不过也有学者如周爱民(1997)并不认为技术分析的有效性和市场有效性有矛盾。市场有效性与否的讨论并没有阻碍学者对技术性分析是否能够在股市上获得超额收益的研究进程。林杰和郭耀煌(1998)利用人工神经网络方法通过最高价、最低价、成交量、收盘价做对股票价格走势做出预测,并取得了不错的效果。魏玉根(2000)经过实证检验,认为技术性分析在我国股市上确实能够给投资者带来超额收益。魏巍贤和康朝锋(2001)通过格兰杰因果检验分析,表明A股的成交量对预测价格有显著作用。马向前和刘莉亚(2002)分析认为A股短期而言技术面因素对价格波动的影响贡献率为26.4%,而基本面分析的影响很小。陈卓思和宋逢明(2005)经过分析后认为恰当的图形分析技术可以为金融市场的投资决策提供十分显著的信息含量。尹宇明等(2011)通过对股市上横盘形态的股价波动进行研究,发现技术分析方法具有适用性,不过要在结合持股集中度以及牛市还是熊市等其他信息后才能够成为投资者决策的辅助工具。总而言之,技术分析在证券投资中能够为投资策略提供一定的参考价值,但是其作用有限,需要与其他信息或者投资策略搭配。屈博(2019)经过对基本面分析和技术性分析两种投资方式的比较后认为,两种方式都能获得超额收益,但是需要根据情况进行选择。技术性分析中一个需要考虑的因素是交易成本,因为股市交易需要考虑印花税、手续费和券商佣金。显然考虑交易费用的情况下,技术分析产生的超额收益将减少(张学勇和盖明昱2013)。2.2技术性指标评价标准在评价技术性指标时,本文采取如下标准2.2.1胜率胜率即为交易行为中的获利比率,获利指的是第二日是否盈利,用公式表示为:wrT=其中Twin与T2.2.2最大回撤首先介绍回撤(drawdown)的概念,用公式可以表示为:DT=max其中max…示求该列表中的最大值,PT表示资产的当日价格,Pt表示资产价格在过去TdT=由公式可知,回撤率表示当前的资产价格相比过去某一期间T内最高价的下跌比率。最大回撤用公式表示为:MDDT=max其中min…mdd(T)=maxj由公式可知,最大回撤率表示过去某一期间T内的最大回撤值占资产价格比率的最大值。该指标衡量了按照模型给出的交易策略下投资行为中可能面临的最大损失比率。 进过仔细考量,本文采用最大回撤,而非最大回撤率进行模型投资效果的评价。2.2.3年化投资收益和年化夏普比率在不考虑股票的交易成本(印花税、手续费等)情况下,年化投资收益率用公式表示为:ARR=t=0N其中R_t表示t日的投资收益率。由公式可知,该指标衡量了过去某一期间T内投资收益的年化值,能够直观的反映投资收益的水平。而年化夏普比率用公式表示为:Sp=其中Ry表示过去某一期间T内的年化投资收益,Rm表示年化无风险收益,σ由公式可知,该指标衡量了该模型超过无风险收益的投资回报是建立在多大的风险基础上的。单独使用该指标的意义不是很大,主要可以用于不同模型的比较。所以对于无风险收益率,为了方便夏普比率作为不同模型的评价指标,本文设定Rm2.3技术性指标技术性指标指的是除了最高价、最低价、开盘价、收盘价、结算价等绝对量之外,研究股票市场价格波动量价因素的统计指标。本文共选取KDJ、MACD、OBV、PSY、WM等技术性指标。3.3.1KDJKDJ又叫做随机指标,是期货和股市上比较常用的技术指标,其主要是研究最高价、最低价和收盘价,融合了动量观念、强弱指标和移动平均线的相关理念。计算公式如下:RSVtKt=Dt=Jt=3×其中i=9,15,21,27;j=3,6,9;k=3,6,9本文中只用Jt作为模型的输入变量。其中Pt为当日收盘价、Lit为i日内的最低价、H直观理解,该技术指标体系的敏感性而言而言,J值最强,K值次之,D值最慢。Jt衡量的是当日价格的增减量和包括当日在内的过去某一期限内的所有交易日相比,其波动如果超出某一阈值,经验上一般选择0-100,据此制定交易策略。具体的参数选择会在后续的模型选择中通过衡量回测效果决定。机器学习预测模型选取J3.3.2MACDMACD又叫异同移动平均线,由快、慢均线的变化分析当前的多空力量,以及判断未来的价格走势。计算公式如下:EMAitEMAjtDIFtDEAt其中i=8,10,12,14,16,18;j=17,21,24,29,33,37;k=9,12,15,18,21。MACD指标的交易策略为当DIF>0,DEA>0,且DIF向上交叉DEA,意味着不是在连续下跌情况下,短线上扬,则平空做多,如果DIF<0,DEA<0,且DIF向下交叉DEA,则平多做空。同样是因为考虑到输入变量的数量和数据之间的相关性,预测模型中将按照上述交易策略形成的交易信号作为输入变量MACD,平空做多为1,平多做空为-1,否则为0。3.3.3OBVOBV的英文全称是OnBalanceVolume,顾名思义,该指标是通过交易量的变动来预测价格的走势。计算公式如下:OBVt若Pt若Pt−若Pt其中Volt为t日交易量。单独观察的OBV指标并不能做出交易策略,需要结合价格信号。一般而言需要通过比较当日价格与前几日价格,以及OBV指标的连续变化。当当P当Pt其中i=2,4,6,8,10,12,14,16,18,20,22。实际中不单独依据OBV进行交易判断,需要结合其他指标进行综合判断,不单独作为指标进行投资模拟。3.3.4PSYPSY即为PsycℎologicalLine的前三个字母,用来表征投资者对股市涨跌的情绪波动。其基本价格为,投资者的心理预期和行为会受到环境的影响,亦即价格的涨跌会直接影响投资者的心理变化和投资决策,其计算方式为:PSYt其中i=6,8,10,12,14,16,18,20,22,24,Zit表示i日内上涨的天数。指标较为简单,一般仅作为决策参考。由公式可知,PSY的范围在0至100之间,如若仅据此制定交易策略,可据经验限定某一范围。例如当PSY大于75时,意味着i日的上涨天数较多,是超买现象,价格预计将会很快回落,是卖出信号,平多做空;当PSY小于25时,意味着i日的下跌天数较多,是超卖现象,价格预计很反弹,是买入信号,平空做多。当PSY3.3.5W%RW%R是由LarryWilliams创造,利用振荡点表征市场超买超卖现象,预测价格走势,计算方式为:WRt其中i=6,8,10,12,14,16,18,20,22,24。由公式我们看出,W%R表示当前收盘价在i日内最高价和最低价中的位置。在股市中,W%R值越大,表明改日收盘价接近过去几日内的最低点,股票处于超卖状态,此时是买入的信号。同理当W%R值小的时候,是卖出信号。3基于聚类分析的市场结构化分析模型3.1基于稀疏逆协方差矩阵估计的聚类算法模型3.1.1稀疏逆协方差矩阵估计(GraphicalLassonCV)协方差矩阵的逆矩阵,通常称为精度矩阵(precisionmatrix),它与部分相关矩阵(partialcorrelationmatrix)成正比。它给出部分独立性关系。换句话说,如果两个特征与其他特征有条件地独立,则精度矩阵中的对应系数将为零。这就是为什么估计一个稀疏精度矩阵是有道理的:通过从数据中学习独立关系,可以得到更好的协方差矩阵估计。这被称为

协方差选择(covarianceselection)。数学公式如下:K=(3-1)其中:K是要估计的精度矩阵(precisionmatrix),

S

是样本的协方差矩阵。

K是非对角系数

K(off-diagonalcoefficients)的绝对值之和。用于解决这个问题的算法是来自Friedman2008Biostatistics论文的GLasso算法。[11]3.1.2AffinityPropagation聚类算法AP聚类是通过在样本对之间发送消息直到收敛的方式来创建聚类。然后使用少量模范样本作为聚类中心来描述数据集,而这些模范样本可以被认为是最能代表数据集中其它数据的样本。在样本对之间发送的消息表示一个样本作为另一个样本的模范样本的适合程度,适合程度值在根据通信的反馈不断更新。更新迭代直到收敛,完成聚类中心的选取。AffinityPropagation算法可以根据提供的数据决定聚类的数目,决定使用多少个模范样本阻尼因子(dampingfactor)

减少吸引信息和归属信息以减少更新这些信息时的数据振荡。[12]AP聚类算法主要的缺点是算法的复杂度.AP聚类算法的时间复杂度是

O(N2T),其中N是样本的个数,T是收敛之前迭代的次数.如果使用密集的相似性矩阵空间复杂度是

O(N2),

如果使用稀疏的相似性矩阵空间复杂度可以降低。这使得AP聚类最适合中小型数据集。Algorithmdescription(算法描述):

样本之间传递的信息有两种。第一种是吸引信息(responsibility)r(i,k)

,样本

k适合作为样本

i的聚类中心。第二种是归属信息(availability)

a(i,k),样本i选择样本

k作为聚类中心的适合程度,并且考虑其他所有样本选取

k做为聚类中心的合适程度。通过这个方法,选取示例样本作为聚类中心,如果(1)该样本与其许多样本相似,并且(2)被许多样本选取为可以代表它们自身的模范样本。样本

k对样本

i吸引度计算公式:ri,k←s其中

s(i,k)是样本i和样本k之间的相似度。样本k作为样本i的示例样本的合适程度:ai,k算法开始时

r和

a

都被置0,然后开始迭代计算直到收敛。为了防止更新数据时出现数据振荡,在迭代过程中引入阻尼因子

λ

:rt+1iat+1i,其中

t是迭代的次数。3.1.3回归树模型树型模型是最常见的机器学习方法之一,通常分为分类树和回归树,在金融产品价格预测中主要使用的是回归树。在树的构建上主要是二分类树,构建决策树的算法有ID3、C4.5和CART(ClassificationandRegression回归树的每一片叶子代表的是其本身的训练集元素产出的均值。假定有数据集D=cm其中m=1,2,3,…,M代表叶子的个数,leafm回归的目的即为构造一个函数fx能够拟合数据,并使得误差最小在选择特征和划分的时候,使用MSE(MeanSquareError)或者MAE(MeanminMSE=因为回归树会把输入空间划分为M个,意味着至少会有M个不同的预测值,所以CART算法最小化MSE的公式为:min1n其中Rm代表CART算法划分后形成的R需要注意的是将输入空间划分为M个互补重叠的子空间在计算上是费时费力的,甚至如果数据量较多,计算可以认为是不可行的。所以一般采用从上至下的递归二叉分裂,从树顶端开始进行二叉分裂,在每次分裂时实现局部最优从而代替全局最优。为了使得回归树的MSE最小,即要使得每一个叶子的MSE最小,通过遍历所有的切分变量和切分点,然后选出能够使得MSE最小的划分,假设经过遍历后选择第j个特征作为切分特征,j的某一个值a作为切分点,则生成的两个子节点将父节点的输入空间划分为:R1jR2j最后形成的叶子个数或者划分空间的个数,由停止准则进行约束,至此回归树形成。3.1.4Adaboost模型Adaboost(自适应提升算法)属于提升算法的一种,亦即集成算法的一种。集成学习的主要思想是将多个模型组合使用从而提升模型最终的预测能力或者泛化能力。集成学习有三种类型,分别为:boosting、bagging和stacking。其中boosting包括Adaboost和GBDT。boosting作为一种集成学习框架,其训练过程是依次训练基础模型,通过计算该基础模型的错误率,在第二次在同样的数据集上训练模型时调整不同样本的权重,从而使得第二次训练得到的模型错误率下降。该过程循环往复,并在此过程中不断调整,直到模型数量达到预设值,最终将历次调整后的模型组合起来做为最终的模型。其中的Adaboost作为boosting的代表性算法之一,具有非常广泛的适用性和有效性。相比于传统的树型模型,Adaboost将多个弱学习器组合起来,提高了预测精度,但是缺点也在于弱分类器的树木不好确定,并且训练比较耗费时间。3.1.5Xgboost模型Xgboost(极端梯度提升算法)属于提升算法的一种,亦即集成算法的一种。Xgboost的基础模型一般是树模型,但也可以是逻辑斯蒂回归等,本文使用的Xgboost模型基于树型模型。其基本原理为让新的模型拟合上一个模型的偏差,从而不断将模型的偏差降低。Xgboost的主要特点有如下几点。首先,Xgboost将目标函数进行二阶泰勒展开,保留了更多的信息。其次,Xgboost为每次训练的模型寻找新的目标函数。最重要的是Xgboost在目标函数中引入了正则化以及在每一步引入了缩减因子,降低了单颗树的影响,防止了过拟合。4量化交易系统实证环境的搭建与实现4.1实证环境设计股票量化交易系统实证环境设计可以分为三个步骤。第一,是建立量化分析数据库。数据是金融量化分析的重要基础,包括股票历史交易数据、上市公司基本面数据、宏观和行业数据等。随着信息流量的日益膨胀,获取、查询和加工数据信息变得越来越重要。目前常用的开源数据库有MySQL、Postgresql、Mongodb和SQLite(Python自带),可见其使用量和受欢迎程度较高。这几个数据库各有自己的特点和适用环境,关于该学习哪一个或如何学习网上有很多相关资料。本文使用Python操作Postgresql数据库,利用psycopg2和sqlalchemy实现postgresql与pandas的dataframe进行交互,搭建本地的量化分析数据库。首先,使用tushare获取3000多只股票行情数据到本地,使用psycopg2和sqlalchemy为接口,将数据存入本地PostgreSQL数据库中,方便进一步查询和操作。第二,是建立量化分析框架。以建立的量化分析数据库为基础,对股票基本面、技术面数据进行简单的描述性统计与可视化。第三,是量化交易信号的产生。无论是单一技术性指标还是机器学习模型都是通过计算,对市场信息进行分析,进而依据固定的规则输出平多卖空、平空买多或者是平仓的交易信号。亦即根据当日闭市以后的所需信息,量化系统输出的交易信号的产生影响了下一交易日的操作。4.1.1量化分析数据库本地数据库储存关于股票历史交易基本信息如下,技术指标在使用时使用基本数据计算后得出。表4-1数据词典属性名称类型描述是否为主键ts-codeStr股票代码是trade_dateStr交易日期(YYYYMMDD)是OpenFloat开盘价否HighFloat最高价否LowFolat最低价否CloseFloat收盘价否ChangeFloat涨跌额否VolFloat成交量(手)否AmountFloat成交额(千元)否4.2量化交易系统的实例以上证指数1990年12月20日至2018年11月7日数据为例进行分析:图4-1上证指数1990-2018走势图上面的指数走势图可以清晰看出,股指分别在2007年和2015年有两次大牛市,然后又从高峰跌入谷底。表4-1上证指数描述性分析OpenCloseHighLowVolumeCount6645.006645.006645.006645.006.645000e+03Mean1926.271937.521954.791916.327.017764e+07Std1078.131079.511089.421065.401.018642e+08Min105.501.5.50105.50105.501.000000e+01Max6057.436092.066124.046040.718.581328e+08从上述结果可以看出,上证指数从1990年12月20日至2018年11月7日,一共有6645个样本,均值为1937.52点,标准差为1079.51点,最大值是6092.06点。图4-3上证指数2008-2018日成交量上图的成交量反映了一个有趣的现象,2014-2015年的牛市很可能是巨量的交易推动起来的,这一时期实体经济并不景气,央行多次降息降准,货币宽松,资金流入股市,银行理财等影子银行在这期间疯狂扩张,场外加杠杆和配资主导了这一场牛市。除开基础的描述性统计与分析外,本文还使用了聚类分析对股票市场进行结构化分析。量化交易信号产生于本文第五章节实证分析部分进行实例演示探讨。5实证分析5.1数据的来源与处理股票交易数据使用依tushare建立并每日实时更新的本地数据库,当出现休市、停牌、退市等异常情况导致数据缺失时,将股票当日股价取上一个交易日的收盘价进行计算处理。5.2股票市场结构化分析合理的投资策略能明显的减小投资风险,避免了追涨杀跌带来的收益率波动,提供更为稳健的投资回报。股票市场的波动往往存在一定的共振,尤其是同一个行业或主题概念的公司股票,当面临行业基本面的冲击时,其波动存在一定的相似性,即表现出同涨同跌。通过交易行情数据对股票市场的波动结构进行刻画,对于深入理解板块轮动和网络关联性具有重要的启示作用。机器学习中的无监督学习算法可以帮助我们解决这一问题。本文以上证50指数成分股为例,使用稀疏逆协方差(GraphicalLassoCV)计算股票之间的条件相关性,然后使用聚类分析将行为相似的股票分组在一起并进行可视化。#输出结果:Cluster1:万华化学Cluster2:恒瑞医药,贵州茅台,伊利股份Cluster3:山东黄金Cluster4:三安光电,闻泰科技,汇顶科技Cluster5:浦发银行,民生银行,中国石化,招商银行,兴业银行,农业银行,中国平安,交通银行,工商银行,邮储银行,光大银行,中国石油,中国银行Cluster6:三一重工,保利地产,海螺水泥,中国神华,中国铁建,中国建筑Cluster7:上海机场,中信证券,中国联通,上汽集团,海尔智家,海通证券,中信建投,工业富联,国泰君安,红塔证券,中国人保,新华保险,中国太保,中国人寿,华泰证券,中国中免,中国重工,洛阳钼业Cluster8:京沪高铁Cluster9:复星医药,用友网络,隆基股份,药明康德由于相互关联的股票会在交易中产生共波动,所以可以使用无监督学习算法从历史报价中提取股票市场结构的变化,本文使用(收盘价-开盘价)来刻画股价每日价格变动,然后使用稀疏逆协方差估计找出哪些股票存在条件相关性。稀疏逆协方差可以得到一个方差关联性列表,对于每只股票来说,与之相关的股票有助于解释其波动。然后再使用聚类分析将行为相似的股票分组在一起。本文使用scikit-learn提供的“Affinity_propagation”(AP算法),主要基于该算法可以从数据中自动选择聚类的数量。AP算法的基本思想是将全部样本看作网络的节点,然后通过网络中各条边的消息传递计算出各样本的聚类中心。为了将上述聚类分析进行可视化,需要在一个2D画布上布置不同的股票。为此,需要使用“流形”技术来检索二维嵌入。模型的输出组合成一个二维图,其中节点代表股票名称,集群标签用于定义节点的颜色,使用稀疏协方差模型来显示边缘的强度,二维嵌入用于在平面中定位节点。图5-1以上证50为例股票证券市场结构化分析第一,根据分散化投资原则,在构建投资组合时,首先应当考虑投资组合内所含标的是否关联性过强,从而建立符合风险对冲原则的合适投资组合。第二,通过对聚类中心及其变化的研究,我们能确定在历史时期内影响权重较高的标的,从而构建行业内对比评判体系中建立除盈利能力、财务指标之外的市场影响力纬度指标。第三,通过对不同时期内聚类的变化与迁移,捕捉影响力处于上升期的成长期上市公司。5.3量化交易信号的效果评价与参数选择5.3.1构建目标变量以交易信号作为目标变量(targetvariable),使用价格信息和技术指标作为特征变量进行预测分析。以双均线交易策略为例,当短期均线向上突破长期均线时形成买入信号(设定为1),当短期均线向下跌破长期均线时发出卖出信号(设定为0),然后再使用机器学习模型进行预测和评估。这里将短期移动平均值(SMA1)和长期移动平均值(SMA2)的参数分别设置为10和60,二者的设定具有一定的任意性,参数的选择会影响后续结果,所以理想情况下需要进行参数优化来找到最优值。图5-2上证指数走势与对应交易信号2016-2018图5-3上证指数走势与对应交易信号2017-2018图5-4特征与目标变量线性相关性当前的特征open、high、low、close、volumes与目标变量的线性相关值非常小,这可能意味着存在高非线性,相对平稳值的稳定振荡(圆形散射),或者也许它们不是理想的预测特征变量,所以下面需要进行特征构建和选取。5.3.2技术指标特征构建为方便分析,下面以常见的几个技术指标作为特征引入特征矩阵,具体指标有:移动平均线:移动平均线通过减少噪音来指示价格的运动趋势。随机振荡器%K和%D:随机振荡器是一个动量指示器,比较特定的证券收盘价和一定时期内的价格范围。%K、%D分别为慢、快指标。相对强弱指数(RSI):动量指标,衡量最近价格变化的幅度,以评估股票或其他资产的价格超买或超卖情况。变化率(ROC):动量振荡器,测量当前价格和n期过去价格之间的百分比变化。ROC值越高越有可能超买,越低可能超卖。动量(MOM):证券价格或成交量加速的速度;价格变化的速度。图5-5指数指标特征构建上图可以看到明显线性相关的一组特征是作为特征工程的结果创建的。如果在特征矩阵中使用基本数据集特征,很可能对目标变量的变化影响很小或没有影响。另一方面,新创建的特征具有相当宽的相关值范围,这是相当重要的;与目标变量(交易信号)的相关性不算特别高。5.3.3模型预测与评估下面使用常用的机器学习算法分别对数据进行拟合和交叉验证评估。构建模型评估函数与基准模型:#轻量级模型'RF',RandomForestClassifier#线性监督模型'LR',LogisticRegression'TREE',DecisionTreeClassifier#非监督模型'LDA',LinearDiscriminantAnalysis'KNN',KNeighborsClassifier'NB',GaussianNB#高级模型'GBM',GradientBoostingClassifier'XGB',XGBClassifier'CAT',CatBoostClassifier图5-6使用原始行情作为特征结果显示,cross_val_score徘徊在准确度=0.5的区域,这表明仅使用指数/股票的价格数据(开盘、最高、最低、成交量、收盘)很难准确预测价格变动的方向性。大多数模型的训练得分往往高于交叉验证得分。有意思的是,DecisionTreeClassifier&RandomForest即使很少估计可以达到非常高的分数,但交叉验证的得分却很低,表明对训练数据可能存在过度拟合了。图5-7加入技术指标构建特征结果表明,与基准模型相比,准确率得分有了非常显著的提高。线性判别分析(LDA)的表现非常出色,不仅在训练集上,而且在交叉验证中,得分显著提高。毫无疑问,更复杂的模型GBM,XGB,CAT,RF在全样本中评估得分较高。与有监督学习模型相比,kNN和GaussianNB的无监督模型表现较差。5.3.4特征的优化图5-8特征相关性注意到,对于很多特征,相关性(Pearson’svalue)小的在其他方法中也会给出小的得分值。同样,高相关的特征在其他特征重要性方法中得分也很高。当谈到特征的重要性时,有一些特征显示出一些轻微的不一致,总的来说,大多数方法都可以观察到特征评分的相似性。在机器学习中,某些特征对于大多数方法来说都有一个非常低的相对分数值,因此可能没有什么影响,即使把它们删除,也不会降低模型的准确性。删除可能不受影响的特性将使整个方法更加有效,同时可以专注于更长和更深入的超参数网格搜索,可能得到比原来模型更准确的结果。图5-9删除预测能力较弱特征结果显示,删掉预测能力较弱的特征('open','high','low','close','EMA10')后,某些机器学习方法的预测得分提高了,如线性判别(LDA)、决策树(TREE)和随机森林(RF)等。6结论与展望6.1结论机器学习是量化分析的一个重要工具,掌握机器学习算法的基本原理和应用场景可以为我们分析和研究金融市场提供一个参考框架。无监督机器学习中的聚类分析能够从纷繁复杂的数据中提取有用信息,刻画多维特征的“相似性”和“关联性”,再借助网络分析的视角,可以进一步考察数据变量间的微观结构和运动状态。需关注的是,由于金融市场历史数据噪音比较大,可获利模式的持续性较短,包含大量参数的AI算法对历史数据噪音的过度拟合可能带来严重偏差。所以人工智能样本回测看起来非常漂亮,但是实盘交易却可能非常糟糕。主要原因可能是,相对于可以获取的大量相互独立的消费者行为和信用卡数据,能够获取的在统计学意义上相互独立的金融数据的数量非常有限。6.2研究展望本文只是以上证指数为例,以技术指标作为特征,使用机器学习算法对股票交易信号(而非股价或收益率)进行预测评估,目的在于研究机器学习在金融量化上的应用。从金融维度来看,分析的深度较浅,实际上对股价预测有指导作用的特征有很多,包括(1)外在因素,如股票相关公司的竞争对手、客户、全球经济、地缘政治形势、财政和货币政策、资本获取等。因此,公司股价可能不仅与其他公司的股价相关,还与大宗商品、外汇、广义指数、甚至固定收益证券等其他资产相关。(2)股价市场因素,如为很多投资者所关注的技术指标。(3)公司基本面因素,如公司的年度和季度报告可以用来提取或确定关键指标,如净资产收益率(ROE)和市盈率(price-to-earnings)。此外,新闻可以预示即将发生的事件,这些事件可能会推动股价向某个方向发展。当关注股票价格预测时,我们可以使用类似的方法来构建影响预测变量的因素。本文在理论分析上,依托机器学习方法的优势,将尽可能多的模型与算法纳入到统计模型中,摆脱了传统计量方法的局限性。全面分析对比了不同机器学习算法在生成量化交易信号的表现。并创新性地使用无监督学习进行证券市场结构化分析,提供了研究的新思路。不足在于未将宏观因素、利率因素等市场固有结构性风险纳入数据输入范畴,而实际上还有旭东对量化交易有指导作用的特征未被纳入。在理论分析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论