求量化投资数据挖掘与实践pdf。

边学亮 2019-12-21 23:23:00

推荐回答

我这边有两本书,一本是量化投资基础知识因为同时不能上传2哥文件,你要的话我给你发邮箱。
齐景伟2019-12-21 23:40:41

提示您:回答为网友贡献,仅供参考。

其他回答

  • 量化对冲基金在国外发展称为,甚至被称为"抗跌神奇"。在国外一直被称为股坛抗跌神话的量化对冲基金是否就此走下"神坛"?是否真的预示着其将有黯淡的未来?按照现有量化基金主要的运作模式,大致分为三类:一是多因子选股,单策略和多策略并行。多因子模型是应用最广泛的一种选股模型。其基本思想是:找到影响股票投资收益率的一组主要指标,并依据这些指标构建一个股票组合,期望该组合在未来一段时间内获得相对大盘的超额收益。除多因子选股外,很多量化基金还采取多种量化选股策略并行的模式,不同策略之间可以是平均分配资产,也可以设定不同的权重。二是量化指数增强。量化指数增强型基金是指采取指数增强策略的主动管理型量化基金。与传统的指数增强基金不同,这类产品具有以下几个特点:1股票投资范围并没有最低90%的限制,只需要满足契约限定的是股票型或者混合型基金的配置要求;2基金契约中并未明确增强的标的指数;3实际运作过程中,投资标的指数成分股或者备选成分股的资产占基金股票资产的比例没有最低80%的限制。三是引入对冲机制,做绝对收益。股票对冲策略是指通过使用衍生品或者融券等做空手段,对冲持有的股票多头头寸的风险暴露,达到降低投资组合市场风险、获取选股Alpha收益的一种对冲投资策略。国内目前发行的产品主要是市场中性策略,即一般要求的投资组合的风险暴露不超过其多头头寸的15%至20%,并且长期维持在这一水平。一、基础篇1、在市场不稳定的情况下如何稳健套利?套利,本就是很稳健的一种盈利方式。套利和盈利不同,相信您问的是在市场不稳定的情况下稳健"盈利"。先明确量化和对冲的概念,可下载OA系统中"量化对冲产品基础知识学习手册"进行详细学习。量化对冲产品在构建股票多头的同时,也构建期货空头。这种操作在市场不稳定时,可以对冲市场的系统风险,从而留下股票多头特有的盈利。2、量化对冲产品的操作流程是怎样的?先用量化投资的方式构建股票多头组合,然后空头股指期货对冲市场风险,最终获取稳定的超额收益。3、收益方面、安全性方面哪个更有优势?量化对冲产品在收益方面和安全性方面都有优势,属于风险和收益高度匹配的高性价比产品。4、量化对冲程序化交易的对象是什么?股票、债券、期货、现货、期权等等。5、通过期货对冲的那部分资金是不是一定加杠杆的?是的。期货是保证金交易,本身就带有杠杆性质。但这部分的杠杆不是为了博取高收益而主动加杠杆,而是为了"等市值对冲"。比如2个亿的基金,1.6个亿买股票,剩余0.4亿做股指期货空头如今,股票多空策略是对冲基金领域里的重要分支,规模庞大,种类繁杂。而对冲的思想也扩展到金融领域的方方面面,我们可以对冲汇率风险,对冲利率风险,对冲某种原材料风险,只要你能想的到就行。但其思路从未变过,就是剥离我们不想要的风险。
    赵颖雷2019-12-22 00:09:32
  • 大数据与传统数据的区别与所有新鲜事物一样,大数据是一个尚未被明确定义的概念。
    齐文玲2019-12-21 23:59:49

相关问答

什么是量化投资?最近十年来,量化投资成为了欧美资本市场发展的热点与焦点,一举成为了国际投资界兴起的一个新方法,发展势头迅猛,。量化投资和基本面分析、技术面分析并称为三大主流方法。由于量化投资交易策略的业绩稳定,其市场规模和份额不断扩大,得到国际上越来越多投资者的追捧。过去20年收益率最高的基金,是文艺复兴科技公司的大奖章,其客户平均年收益率高达35%;而过去四年高盛旗下的量化基金规模翻了一倍,超过1000亿美金。由此可见,量化投资已经成为机构投资者的重要利器。量化投资对于基金公司/资产管理公司而言,有着非常明显的价值:首先是容易冲规模。一个有效的量化模型是可以在多个产品上进行快速复制,从而迅速做大规模。这个在巴克莱的指数增强系列产品上得到最明显的体现。截止2019年底,巴克莱量化基金,管理规模超过1.6万亿美金,超过富达基金,成为全球最大的资产管理公司。其次是可以获得绝对收益。利用量化对冲方式,构建与市场涨跌无关的产品,赚取市场中性的策略,适合追求稳健收益的大机构客户,例如保险资金、银行理财等。这个产品的代表性公司就是目前全球最大的对冲基金BridgeWater,旗下的旗舰产品PureAlpha过去五年共赚取超过350亿美金。第三是杜绝了内幕消息和老鼠仓。量化投资只利用公开数据,通过数学模型的运算,挖掘出隐藏在公开数据后面的信息,从而战胜市场,从方法论上就杜绝了内幕消息的可能。在交易过程中利用复杂的IT系统进行程序化交易,使得老鼠仓也无法成为可能。在国内金融市场监管日趋规范的情况下,量化投资这种方法必然会成为投资研究的主要方法。量化投资的理论基础说到量化投资的理论基础,就要从市场有效性假说说起,技术分析、基本面分析和量化分析代表了有效市场的三个不同的层次。在无效市场,技术分析是充分有效的,这在中国资本市场最初的十年得到很好的体现;当市场进入弱有效市场后,可以依靠基本面分析获得超额收益,2000年到2019年这十年基本上属于这个时代;当市场进入半强有效市场后,也就是从2019年开始我们可以观察到大部分基本面分析的产品已经无法获得超额收益,此时国内市场已经进入半强有效市场。当然当市场进入强有效市场后,则无论哪种方法均无法战胜市场,那时候只能被动指数化投资。传统的有效市场假说认为,在半强有效市场,只能依靠非公开信息内幕消息或者私人消息来获得超额收益。但是我们可以知道的是,除了非公开信息并不是只有内幕消息和私人消息,还有另外一个获得非公开信息的方法:就是利用数据挖掘的方法,从公开的数据中挖掘出非公开信息,也就是量化投资的方法。这也就是在美国等成熟市场基本上进入半强式有效市场状态,量化投资为啥可以得到蓬勃发展的原因。随着中国市场有效性的提高,中国开始进入半强式有效市场阶段,再加上监管层对内幕消息的监管越来越严厉,使得通过这种方法获得非公开信息的方式越来越难,因此量化投资就成为了一个最好的获得非公开信息的科学理论与技术。很多人问:量化投资是不是仅仅是一个昙花一现的概念,还是一个可以长期有效的科学理论,我想通过上述对有效市场假说的分析,已经得到了明确的答案:量化投资是在半强式有效市场中的最佳分析理论,也几乎是唯一可行的分析理论。美好前景中国经济经过30年的高速发展,各行各业基本上已经定型,能够让年轻人成长的空间越来越小了。未来十年,量化投资与对冲基金这个领域是少有的几个,可以诞生个人英雄的行业,无论是出生贵贱,无论是学历高低,无论是有无经验,只要你勤奋、努力。脚踏实地的研究模型,研究市场,开发出适合市场稳健盈利的交易系统,实现财务自由,并非遥不可及的梦想。曾经有研究助理抱怨:“我们做量化研究的,一年都没有啥机会出去调研,免费旅游的机会都木有啊”。你只要好好研究量化模型,找到持续稳定盈利的策略,自然就会有大量的资金来找你合作,实现财务自由不困难。到时候你会开着游艇出海,去拉斯维加斯享受,去非洲草原猎象,又何必在乎眼前的这点免费旅游呢?”他点头如捣蒜。在中国目前的很多领域,赚钱已经变成一个非常困难的事情,但是在量化投资与对冲基金领域,是完全依靠自己的勤奋与努力。一个持续稳定赚取的模型,不是靠关系和背景就可以的,而是靠着自己的聪明才智和脚踏实地的工作。
作者:杨博理在整个量化交易策略的研发流程当中,买和卖是最为基本的量化交易策略组成部分,而这个部分的设定主要与收益情况相关。这里所说的相关,具体分为两种不同的情形,一种是总体的关联性,即基于买点、卖点的选择,买卖策略应该得到一个正的整体收益。另一种则来自于对交易资产未来收益的判断、或者说预测,即判断交易资产的未来收益为正时,就买入资产;判断交易资产的未来收益为负时,则卖出或卖空资产。实际操作中,这两种关联关系的情况可能更为复杂一些。有的时候,买和卖的具体操作也可能受到风险方面设置的影响,例如为了限制单次交易的最大损失而采取止损之类的操作时,用于清仓的买卖设置就会相应的变动,这也是作者将风险和买卖用虚线相连的原因。不过在大部分情况下,买卖这一最为基本的组成部分还是与收益的关系最大,研究者也应该在研发这一个组成部分时,着重考虑收益情况的具体影响。对量化交易策略风险的控制可能会影响到量化交易策略中的买卖设置,但是在更普遍的情况下,风险这一因素主要影响的是交易仓位的设置。当然,前提条件还是需要买卖策略的总体收益为正,在这样的条件下再结合仓位的设置,才能够在合适的风险水平下取得达到要求的收益。通过对交易资产具体仓位的调整,交易者可以比较直接的控制单次交易以及整个交易策略的风险水平。例如在满仓交易的情况下,定量的判断了当前交易的风险之后,觉得风险过大无法承受,那么最为直接的处理方法就是在满仓的基础上相应的降低仓位的大小。在仓位降低之后,对于整体资金而言风险也就随之降低了。由于仓位本身具有量化、直观的特性,因此当交易者希望将风险处理到一个特定的水平时,调整仓位是一个比较方便的手段。需要说明的是,前面已经提到了买和卖是量化交易策略最为基本的组成部分,实际上仓位的设定是根据买卖决策和风险两个因素共同形成的,不建立在买卖之上的仓位选择是空洞没有意义的。此外还有一个更为极端的情况,仓位的正确设定有助于进一步优化策略的整体收益,之后要介绍的凯利公式的意义正在于此。在图1中由买卖到仓位的箭头,实际上可以看作是收益、买卖这一个整体部分指向仓位的箭头。不过在实际使用中,凯利公式所导出的仓位设定往往过于偏激,超过正常风险控制下的最高仓位值,因此仓位仍然与风险的关系更为紧密。在图1这个较为松散的量化交易策略研发流程中,交易成本是和买卖以及仓位具有同等地位的组成部分。在实际操作中,就是首先基于对收益和风险的判断得出合适的买卖和仓位选择,然后在买卖和仓位共同组成的量化交易策略当中考虑交易成本,也就是在建立仓位和退出仓位等操作中扣除所需要承担的交易成本。随后再次判断该量化交易策略所代表的收益和风险情况,只有这两个因素仍然在接受范围之内,才能确认这是一个可行的量化交易策略。虽然最后用来执行的组成部分只有买卖和仓位,但是交易成本作为对量化交易策略的一个实际化修正,也是策略研发流程中一个不可或缺的组成部分。上面提到的对量化交易策略收益和风险情况的判断,实际上是一个综合性的评价问题。一个最为重要的参考依据应该是策略在整个交易过程中的净值走势,通过对策略净值走势的分析,就可以建立起该量化交易策略运行情况的全面判断。但是净值走势本身由于细节过多,因此无法简单的用来进行策略之间的横向对比。这时就需要精炼净值走势中所包含的信息,选取合适的部分形成量化的评价指标,从而进行量化交易策略的进一步判定。就作者看来,评判一个策略的标准中最重要的仍然是策略在整个交易过程下的收益情况,一个负收益的量化交易策略根本无需考虑其风险即可排除。而当收益为正时,再结合风险的度量进行具体的取舍,就可以直观的给出量化交易策略是否合格的评判标准了。作者心目中最重要的风险指标是策略净值的回撤水平,在后面的案例分析中也会重点查看回撤的结果。于此同时,一些量化交易策略在进行收益和风险情况的判断时,仅仅针对策略自身的净值走势进行研究是不够的,给出一个合理的基准来进行对比往往是更为有效的判别方法。例如后面的案例中会涉及到的量化选股策略,当交易选择仅限为对具体的股票进行持仓,而不考虑空仓或者卖空时,选取一个特定的基准进行对比就会是一个更为有效的判别方法。这主要是由于量化选股策略的仓位始终为多头,因此不论如何配置,策略所持仓位都含有资本资产定价模型中所提到的市场成分。而选股策略本身的意义在于选择更好的股票、不在于获取市场收益,因此将市场走势作为对比、或者在策略收益中剔除掉市场成分就是一个更合理的做法。上述所有的操作,都需要建立在对历史数据的分析之上,在量化交易领域当中一般称之为回溯测试,或者简称回测。所谓回溯,也就是将交易的过程在历史数据上复现一遍,这里面包含了一个假设,即历史数据在量化交易策略中展现出的样本特征在未来的交易中依然存在,否则回溯测试就失去了意义。关于这一假设的分析其实在诸多技术分析著作中均有涉及,一般被称为“历史会重演”,这里不再继续展开。不同于传统技术分析的是,量化交易策略的研发过程更加深入具体,在涉及到策略的参数设定、模型设置等具体问题时,需要采用数量化的方法、也就是最优化等技术手段进行解决。例如如何设置买点和卖点可以使得相应的总体收益最大等等,都是很典型的最优化数学问题,那么找到合适的最优化技术和算法并加以应用,就能够确定量化交易策略的最终形式,用以进行实际交易。图1中所展示的是一个较为松散的一般性框架,用来总领性的说明量化交易策略的基本研发流程。在具体的策略研发过程中,这个框架经常会因为具体研发设置和策略设置的不同而产生变化。例如当量化交易策略的主要作用不是在时间轴上选择具体的买卖时点,而是在同一个时间点上对多个资产进行选择和配置时,图1中的一些说明就显得有些含混不清。量化选股策略就是这一类策略中最为常见的形式,因此这里在整体框架不变动的情况下,针对图1进行了文字上的调整,用以说明量化选股策略的运行框架与研发流程。当然,使用选股策略的框架体系来处理多个资产甚至多个策略的挑选、配置也是可以的,在不复杂的情况下只需要稍作联想即可。买卖和仓位虽然是更为通用的说法,但是更适合于描述择时策略,放在选股策略的研发框架中会显得比较突兀,因此图2将买卖换成了选股,仓位则换成了配比,这样更容易让读者领会该研发流程的含义。实际上,对于每一期的选股而言,如果选择了原先没有仓位的股票,那么对应的操作就是买入该股票,如果已经建仓的股票没有被选入这一期的股票池,那么对应的操作就是卖出该股票。而配比则是在买卖的基础上,通过仓位大小的变化来实现具体配置。因此,选股和配比实际上可以算作是买卖和仓位选择的特殊情况,只是这种说法更为贴合量化选股策略本身。略有不同的,是风险在量化选股策略研发流程中的具体含义。由于选股策略的仓位操作涉及到多个股票之间的配比问题,因此这里的风险不仅包括单支股票的风险,也涉及到多支股票之间的风险程度,后一种风险一般采用股票收益之间的相关性来进行描述。例如在一般性的最优投资组合理论当中,经常使用协方差矩阵来刻画整个资产组合的风险水平。虽然从实际情况来看,相关性这一度量方式与风险的直观感受之间有一定的差距,但是在多资产环境下,一般都将资产间的相关性视为风险的来源之一,这是一个偏学术的、约定俗成的做法。上面的例子是针对选股策略进行的文字上的变动,实际上量化交易策略研发流程的变化更多来自于各个研发组成部分不同的结合方式。而不同的结合方式,对应的是策略研发过程中不同的目标和需求。例如图1所介绍的松散的研发流程,是在确定好买卖行为和仓位设定之后,再针对实际交易中所产生的交易成本进行二次测试。这样的做法虽然简便易行,但是忽视了交易成本本身对于收益的影响,以及更进一步对于买点和卖点的影响。因此,在确定买卖设置的步骤中就考虑交易成本的影响,应该是一个更贴近于实际的研究框架。图3给出了相应的流程刻画,如图所示,在判断收益因素时,同时考虑交易成本对于收益的影响,从而优化出更为实际的买卖设置。再根据相应的风险控制,结合买卖点的选择,得出最后的仓位设置。在确定了买卖和仓位这两个部分之后,就获得了一个完整的量化交易策略。图4给出了一个更紧凑、更贴合实际操作的量化交易策略研发流程。在该流程中,买卖和仓位的设置是同时作为参数进行优化的,优化的目标函数也进行了唯一化,即量化交易策略的风险调整后收益。而在确定需要优化的目标函数时,交易成本也如同上一个研发流程一样同时被考虑进去,从而保证买卖和仓位优化结果的准确性。毫无疑问,相较于上面所涉及到的研发流程、特别是图1中较为松散的研发流程,该量化交易策略研发流程的各个组成部分更为紧密,因此在优化过程中所产生的与实际操作的偏离也就越小,买卖和仓位设置的准确度也就更高。但是在实际工作中,如果想参照这一流程进行研发,那么就需要比较强的计算能力,数据量的大小也要达到一定要求,同时优化方法和目标函数的设定要能够同时覆盖买卖和仓位的所有参数,因此往往也只有极为简单的策略思路可以采用这样的流程框架进行研发。在实际的量化交易策略相关工作中,研发只是整个工作流程的一部分,还有两个组成部分需要着重强调。基于此,图5在图1所示的研发流程的基础上给出了一个更为完整的工作流程。如图所示,需要增加的部分包括处于研发过程之前的数据准备工作以及处于研发过程之后的策略执行工作。这两项工作与前面所论述的研发流程具有很强的逻辑关联性与内在依赖性,三者结合起来形成的一个整体,基本上可以涵盖量化交易策略具体工作的绝大部分内容。首先论述数据准备的工作,循着图5中的箭头可以看到,在量化交易策略的整体工作中,既要为研发过程准备相应的研究数据,也要为策略执行准备相应的实时数据。在研究数据方面,由于寻找合适的量化交易策略需要不断重复研发流程,因此对于数据的要求更偏重于准确性和覆盖能力。同时,对数据的清洗和转换也是一项重点工作,在大部分的数据科学研究、包括量化交易策略的研发当中,数据特征的合理抽取对于整体效果提升的重要性有时甚至要高于精巧的模型,当然很多时候数据的转换和模型的构造是相互融合的,针对具体情况应当采取具体的分析和处理。而在策略执行数据方面,则更应该关注于数据获取的及时性。至于数据的清洗和变换,只需要完全复制研发得到的量化交易策略下的数据准备工作即可。另外,为了保证数据的及时性,最终进行的数据清洗工作对时间消耗存在一定的要求。然后讨论策略执行的工作。策略执行,是在量化交易策略研发完成之后,最终产出实际效能的组成部分。执行时应该遵循尽量贴近研发完成的量化交易策略的原则,与量化交易策略所确定的买卖、仓位等设置尽可能的保持一致,这样才能最真实的反映出前面量化交易策略的研发结果。同时,策略执行的结果也可以用来反向支持具体的研发流程,通过对策略执行所得到的收益、风险情况的判断,实时的重新进行研发,对量化交易策略进行修改,从而使得策略能够及时的得到现实的反馈,增强自身的稳健程度。值得一提的是,后面将要介绍的推进分析是一种模拟策略执行的回溯测试技术,读者可以在运行推进分析时有限度的了解到量化交易策略实际执行时的种种状态。
Python是非常适合做quant类工作的语言,本身就是科学计算方面的统治级语言,现在加入了IPython,pandas等重量级神器,为Quant类工作量身定做,而且仍在飞速发展中,以后会越来越重要。关于其他语言,首先介绍一下我自己最喜欢的一个比较小众的组合,Mathematica+Java/Scala。Mathematica的优点在于:本身提供函数式的编程语言,表达能力非常强大,比如Map/Reduce是标配,很多时候不需要去做烦人的for循环或下标控制,排版经常可以直接照数学公式原样输入,即直观又不容易写错;代码和输出混排的排版方式使得建模时的演算和推理过程非常流畅,甚至还可以直接生成动画,对于找直观理解非常有帮助。他们也可以快速学习掌握一种像C++,Java这样的语言,实现很多必要的功能。但是一方面这些语言陡峭的学习曲线和繁琐的开发步骤会给他们真正要做的工作增加不必要的负担,另一方面一旦涉及到性能敏感的情景,他们对计算机体系结构缺乏理解的缺点就容易暴露,比如说很可能他们没有计算复杂度,内存碎片,cachemiss,甚至多线程等概念,导致写出的程序存在相当大的隐患。即使是计算机功底扎实,如果每天的工作需要在C++,Python,R/Matlab,甚至一众脚本语言之前来回切换,思维负担也会非常重,人的精力是有限的,很难同时兼顾数学建模和底层代码调试这种差距巨大的工作。长期发展下去最可能的结果就是要么远离建模,专心做生产环境开发,要么远离生产环境,专心建模。这种局面显然不论对个人还是团队都是有很大弊端的。如果深入思考这个问题,相信不难得出结论,对于Quant来说,C++这种相当面向机器的语言肯定不是最佳选择。的确在历史上,它比更面向机器的C已经友好了很多,但是在计算机技术飞速发展的今天,如果还需要Quant大量使用C++做建模类的工作显然是很遗憾的事情。设想一下你拿到一份股票数据,不论你是想分析价格走势,成交量分布,还是波动性,第一件要做的事一定是画出图来看看,有一个直观认识。如果你的工具是C++,肯定有很多时间花在编译,调试,再编译的过程上,好容易能解析文件了,接下来怎么算移动平均?怎么算波动性?全都要自己写代码。再然后怎么画图?这整个工作流简直惨不忍睹,这些问题浪费掉你大部分精力,而他们全部和你真正感兴趣的工作毫无关系。所以如果你是一个数理金融等背景的新人打算开始Quant生涯,在决定是否要投资到这项重量级技术上时需要慎重,即便它目前的市场定价可能仍在峰值。相比之下我认为Python会是更理想的选择,即能很好的完成建模工作,也可以训练一定的编程技巧,使你在必要时也能胜任一些简单的C++工作。最后同意@袁浩瀚,不要拘泥于语言,不论学习那一种,对其他的语言还是要抱有开放的心态。另外世界变化很快,你会发现单一的语言分类方式其实是没有意义的,每一门语言在发展过程中都会逐渐吸收其他语言的特性,比如Python本身就既有C/C++/Java那样命令式的特点,也有函数式的特点,像pandas甚至还提供类似SQL的使用方式,在其他语言或系统里也都或多或少包含了不同的特点,可以在学习过程里慢慢体会。