想要学习量化标准和多久时间开始正常量化交易!要怎样开始学习

学习量化交易如何入门?
最近需要参加一个量化交易策略的比赛,但是对这方面还是不甚了解,鄙人有一定的交易经验和经济学知识,但是程序方面几乎没做过什么大的项目,希望可以给一些快速入门的经验和建议,不甚感激
谢邀各位。实在不想码字,知乎上貌似码字不够多大家不甚喜爱……简单概括一下入门时遇到最现实的问题和解决办法:1.用什么平台实现自己的算法或者策略(妈的我一个做策略的真的不想编程);2.数据从哪里来(妈的本本“量化教科书”策略教程都有一堆数据,我上哪找,编程小白怎么抓数据);3.怎样回测(妈的好不容易写了个策略我该怎么评估);4.怎样仿真交易和对接实时数据进行实盘交易。1.国内开发和引入了不少程序化交易平台,程序化实现交易策略算是大部分菜鸟入门的必经之路(除去那些做Alpha的愿意手动敲单,像我做十几个标的多时间频度还有日夜盘手动交易就是自虐)。但除非在机构里购买了使用权进行二次开发,不然那些平台实现的策略很有限。所以一般我们会用到Matlab(别吐槽我自己就用Matlab写了套交易系统,谁让我是数学专业而且算法复杂Matlab实现最方便),Python(主流呀),R,C++,C#,Java,零售的成熟平台有Apama,RTS等。我推荐Python吧……2.数据可以从Wind,Bloomberg甚至国泰安下载,也可以从一些国内零售平台弄,前两者质量高,但同样要注意数据清洗。想免费弄到多年的历史数据是不可能了~Bloomberg是一定要收费了……3.像国内TB,MC,金字塔等都可以实现回测和参数寻优,回测函数不需要自己编写,而且可以参考的绩效指标比你想象的还要多(不少你一辈子都不会看)。当然以上方法也是对菜鸟方便,还是踏踏实实学个Matlab,Python或者R吧,找虐的话C一族和Java编程你也可以去学。回测函数你可以上论坛找,也可以根据自己需求自己编写。4.好了,万事俱备只欠东风(别发梦了一不小心资本市场教你重新做人)。很多数据商如Wind都是有现成的API接口,对应相应的函数,参考一下文档就能写出实简单的交易系统。可以申请个Simnow账号模拟交易。不想编程?可以的~拿到大机构Offer就行,一般两个交易员配一个程序员。但完全不懂编程的话……做Quant有些困难了~至于入门教材什么的,置顶的回答里有不少,虽然分了什么基础和进阶。但我的建议是至少全看了,因为那全都只是很基础很基础的东西啦,我Quant生涯第一年就全看完了~祝大家,闷声发大财~
谢邀。我的理解是你想做策略。那么你能找到的公开的策略无非是三大类,一种属于pairs trading,也就是说找两只相关系数非常高的股票或是其他security(或者相关系数逼近-1的),然后如果你学过cointegration的话就可以对他们的差(和)进行模拟,会发现是一个稳态过程,然后你再用布林带或者其他方法设置波动上下限找到信号进行操作。这个方法最早是摩根斯坦利black box小组开始用的。另外一种属于Convergence trading, 应用在fixed income上面的比较多,比如说从term structure上你发现8年期国债的收益率明显偏高了,也就是说相应的国债价格明显偏低了,这可能是流动性不足造成的。那么你可以买进8年期国债,卖出10年期国债,时间越往后推,term structure越可能恢复到正常的类似于根号下x的函数的图像。所以你知道价差的起点和终点,然后你可以用Brownian Bridge(布朗桥)进行模拟。(找一下关于Long-Term Capital Management的书来看看)第三种属于Momentum,通过统计方法(EWMA, ARIMA等等)寻找可能存在的短期势能,然后追涨杀跌,这个是用的最多的,也是风险最大的一种。还有的就是你可以尝试从order book入手分析卖方和买方的相对力量然后充当做市商的角色进行交易。这些都是从策略上来讲你可以做什么,至于具体实施,首先你需要会一门能够做OOP(面向对象编程)的语言,比如C++和Java,然后你需要学习相关交易软件的API,这样你的程序就能接入到你的交易软件获取数据和下达买卖指令。如果真的是去从业的话,从我接触的人看来,每个公司都有自己的语言和编译器,很多时候做策略的人只需要学习Python和R就好,然后公司里有专门的解释器可以把你的Python或者R代码翻译成C++代码。
前排广告位:我自己的新书《中低频量化交易策略研发(上)》已经发布,现提供免费的电子版本,请有兴趣的朋友下载阅览。百度网盘地址:人大经济论坛:友情提示:我不懂高频,方向仅限中低频交易。有中文版的尽量挑中文版,因为我自己英文很烂,平常都更愿意读中文,会相对轻松一些。当然你要是鄙视中文翻译水平请自行寻找英文版。第一部分:预备知识【1】《投资学》 作者:博迪,凯恩,马库斯既然是搞量化,算半瓶水搞科学的,就不应该本能的排斥学院的东西。这本书对于投资交易的入门非常系统了,有了对市场的基本认识,了解前人在量化工作上的一些重要发展,才有可能在正确的基础上建立自己的想法和直觉。不过粗略看看也就可以了,毕竟我们这里聊的是量化交易入门,而不是金融专业如何毕业,下面三本书一样,翻翻就行。既然是搞量化,算半瓶水搞科学的,就不应该本能的排斥学院的东西。这本书对于投资交易的入门非常系统了,有了对市场的基本认识,了解前人在量化工作上的一些重要发展,才有可能在正确的基础上建立自己的想法和直觉。不过粗略看看也就可以了,毕竟我们这里聊的是量化交易入门,而不是金融专业如何毕业,下面三本书一样,翻翻就行。【2】《Trends in Quantitative Finance》by Frank J. Fabozzi, Sergio M. Focardi, Petter N. Kolm这是别人问起量化交易来,我最为推荐的一本入门书。书中讲到了做量化策略需要注意的几个最重要的地方,例如过拟合、未来函数、幸存者偏差等等。有一句话已经慢慢成为了我做策略开发的信条:交易策略研发应该以经济直觉(Economic Intuition)为基础。这是别人问起量化交易来,我最为推荐的一本入门书。书中讲到了做量化策略需要注意的几个最重要的地方,例如过拟合、未来函数、幸存者偏差等等。有一句话已经慢慢成为了我做策略开发的信条:交易策略研发应该以经济直觉(Economic Intuition)为基础。我本身是数学、统计出身,初期曾坚信数据挖掘的作用大于经济直觉,碰壁多次之后,慢慢开始转变观念。这也说明一个问题,交易策略研发是一门需要实践的手艺,多做才会促进思维的进一步发展。当然我不肯定我自己的思路是否正确,赚钱的思路千百种,我能取一瓢饮就烧香拜佛了。真的是好书,虽然内容初级且杂乱,但是谈到了大部分对于新手来说比较重要的概念,不要因为是CFA教材而鄙视它。【3】某本《计量经济学》我自己的计量知识主要来源于论文阅读和写作,边用边学,教材只做工具书参考用,因此不是特别熟悉( 我自己的计量知识主要来源于论文阅读和写作,边用边学,教材只做工具书参考用,因此不是特别熟悉(
在评论中推荐伍德里奇那本,谢谢分享)。只说一点,做量化交易策略需要有一定的计量基础(当然越扎实越好),因为大部分策略始终是在和时间序列以及面板数据打交道。当然统计学基础知识也是必须的,同样越深越好,鉴于上过大学的都学过,这里就不再列统计学的书目了。理工科入行的,我想也是有必要补一补相关知识的,不一定会用上,但是能促使思维进一步系统化。在基本计量知识的基础上,做量化策略的人们需要一种额外的能力:规避未来函数的能力。一些计量研究往往偏向于描述或解释某一种现象,因此无需考虑模型中时间点前后的严格划分。量化策略偏重于使用当前数据预测未来,并在预测的基础上形成策略,因此在模型建立、数据处理时需要格外注意这个问题。个人认为,Out-of-Sample检验的相关内容可以很好的训练这种能力,当然最好的方式还是在研发实践中慢慢摸索。【4】《漫步华尔街》作者:麦基尔说实话这本书对于量化投资策略的研发没有任何帮助,对我而言其作用在于:1,认识指数化投资这种最具有经济意义的投资方式;2,时刻警醒打败市场有多难。说实话这本书对于量化投资策略的研发没有任何帮助,对我而言其作用在于:1,认识指数化投资这种最具有经济意义的投资方式;2,时刻警醒打败市场有多难。第二部分:择时策略【1】《海龟交易法则》作者:柯蒂斯·费思可以看作是一个机械交易策略各个组成部分的讲解,有实例(还大名鼎鼎)有说明,对大体上把握策略研发的工作很有帮助。其实如果能自行设计出一个类似乎海龟交易法则的交易策略出来,我觉得量化交易应该算初入门径了。【2】《交易策略评估与最佳化》作者:罗伯特·帕多这本书国内没有翻译版本,但是有台湾的译本,我是在某宝上买的。择时策略的开发步骤大部分都涉及到了,做入门书很合适,对形成量化投资策略的研究思维有比较大的帮助。作者说自己首创了推进分析(Walk-forward),我不太清楚是否属实。但是推进分析本身值得各位想入门量化交易的朋友好好研究,这是一个比经济学Out-of-Sample检验更符合交易逻辑的回测方法,当然它本身可以算是Out-of-Sample检验的一种特殊形式。这本书国内没有翻译版本,但是有台湾的译本,我是在某宝上买的。择时策略的开发步骤大部分都涉及到了,做入门书很合适,对形成量化投资策略的研究思维有比较大的帮助。作者说自己首创了推进分析(Walk-forward),我不太清楚是否属实。但是推进分析本身值得各位想入门量化交易的朋友好好研究,这是一个比经济学Out-of-Sample检验更符合交易逻辑的回测方法,当然它本身可以算是Out-of-Sample检验的一种特殊形式。【3】《量化交易——如何建立自己的算法交易事业》作者:欧内斯特·陈相较于上一本,量化交易策略的组成成分方面讲的更多一点。这本书虽然也有一点点因子模型的内容,但是主要内容还是择时策略,作者也似乎更偏向于择时的交易思维。涉及到了凯利公式以及一些量化策略的想法(我觉得书中的一些小例子不能算作真正的量化策略)。同类型的书中这一本其实写的不算太好,但是它有中文版啊,也比较适合入门。^_^相较于上一本,量化交易策略的组成成分方面讲的更多一点。这本书虽然也有一点点因子模型的内容,但是主要内容还是择时策略,作者也似乎更偏向于择时的交易思维。涉及到了凯利公式以及一些量化策略的想法(我觉得书中的一些小例子不能算作真正的量化策略)。同类型的书中这一本其实写的不算太好,但是它有中文版啊,也比较适合入门。^_^【4】《Building Reliable Trading Systems: Tradable Strategies That Perform As They Backtest and Meet Your Risk-Reward Goals》by Keith Fitschen这本书的特色在于较为独立的讲解了量化交易策略的各个组成成分,并且说明了各个成分的作用,以及增加、调整之后对整体的影响之类比较实践性的知识,开仓、过滤、平仓等基础内容均有实例支撑,讲的比较详细。Trading Lore那一章我非常喜欢。拿来做入门书应该算是非常好的选择。这本书的特色在于较为独立的讲解了量化交易策略的各个组成成分,并且说明了各个成分的作用,以及增加、调整之后对整体的影响之类比较实践性的知识,开仓、过滤、平仓等基础内容均有实例支撑,讲的比较详细。Trading Lore那一章我非常喜欢。拿来做入门书应该算是非常好的选择。第三部分:选股策略 / 投资组合管理【1】一篇论文:Eugene F. Fama, Kenneth R. French. The cross-section of expected stock returns. Journal of Finance, 47 (1992), pp. 427–465.Alpha选股策略的源头,而且还仔细做了规避未来函数的工作,提出的因子也在实践中被证实有效。相比较而言,93年那篇更受学界认同的论文实际上是一篇解释性的文章,从风险补偿等方面来解释超额回报来源的现象与问题,其对于量化投资策略的意义,见仁见智了。Alpha选股策略的源头,而且还仔细做了规避未来函数的工作,提出的因子也在实践中被证实有效。相比较而言,93年那篇更受学界认同的论文实际上是一篇解释性的文章,从风险补偿等方面来解释超额回报来源的现象与问题,其对于量化投资策略的意义,见仁见智了。【2】《Quantitative Equity Investing》by Frank J. Fabozzi, Sergio M. Focardi, Petter N. Kolm又是这三个人的书,倒不是写的有多好,但是确实是入门的上佳选择。选股策略和投资组合管理在学界也有一定的研究地位,因此这本书的整体框架明显比《Trends in Quantitative Finance》更清晰一些,没有那么杂乱。又是这三个人的书,倒不是写的有多好,但是确实是入门的上佳选择。选股策略和投资组合管理在学界也有一定的研究地位,因此这本书的整体框架明显比《Trends in Quantitative Finance》更清晰一些,没有那么杂乱。【3】《积极型投资组合管理》作者:格里纳德,卡恩先要说明,这本书除了个别章节以外,一点都不入门。这里将其排进入门书单的原因,是因为它太重要了,绕不开。有志于选股策略和投资组合管理的朋友,请努力啃吧,可以搭配BARRA的手册和Qian的那本《Quantitative Equity Portfolio Management》一起看。 先要说明,这本书除了个别章节以外,一点都不入门。这里将其排进入门书单的原因,是因为它太重要了,绕不开。有志于选股策略和投资组合管理的朋友,请努力啃吧,可以搭配BARRA的手册和Qian的那本《Quantitative Equity Portfolio Management》一起看。
也翻译了一个版本,但是我没有看过,不好评价。在这里向李大神致敬,书里一些地方我到现在都没看明白呢。第四部分:进阶大致了解了量化交易策略的基本构造之后,进阶阶段就没有什么固定的套路可说了。我比较推荐的是在实践中成长,自己多做一做,随便找个想法或者现成的策略进行回测。可能由于未来函数或者其他原因得到不靠谱的结果,然后发现,然后改进,自己对策略开发应该就会越来越熟悉了。除此之外,非常重要的一点就是学习新的知识和技术。一旦形成了基本的策略构造能力,了解买卖、仓位、风控等部分的组合之后,量化策略研发的进阶就要靠多吸收新鲜知识来支撑了。说实话,直觉、想法都是在大量学习前人知识的基础上完成的,不然难免成为无源之水、无本之木。开卷有益,多多益善,书多看不要管科目,论文多读不要管难易,想法总是会源源不断的产生的。然后再去把想法实现出来,可能10个里有10个都是错的,但是事情总是在进展的,总该是好事。其实进阶阶段没什么书值得推荐的,因为所有书都应该推荐。这里随便说几本,意思一下:【1】统计套利作者:安德鲁·波尔整本书缺乏特别有用的细节,模型方面甚至有蒙外行的嫌疑,只能用来大概了解统计套利策略。不过,它介绍了一种具有经济意义基础的操作策略。我心目中,策略背后有站得住脚的经济意义的策略包括:指数化投资——跟随经济进步的节奏盈利;套利——赚市场定价错误的钱;配对交易——两个相关资产的价格差额不会过大,弱化版的套利。整本书缺乏特别有用的细节,模型方面甚至有蒙外行的嫌疑,只能用来大概了解统计套利策略。不过,它介绍了一种具有经济意义基础的操作策略。我心目中,策略背后有站得住脚的经济意义的策略包括:指数化投资——跟随经济进步的节奏盈利;套利——赚市场定价错误的钱;配对交易——两个相关资产的价格差额不会过大,弱化版的套利。当然,这些交易策略都存在风险,指数化投资可能随经济危机、经济走弱而萎靡不振,套利行为也可能在极端市场状态下崩盘。不过横向对比而言,这几种策略已经是有非常坚实的逻辑基础的了。我个人认为,所有的交易策略都有缺点,当我们无法消除这些缺点的时候,应该学会理智的接受它,从风险控制的角度限制它,这是一个相对理性的处理方法。【2】《走出幻觉走向成熟》作者: 金融帝国国内作者的好书一本,很多观点都很有启发性,值得推荐。国内作者的好书一本,很多观点都很有启发性,值得推荐。【3】《信号与噪声》作者:纳特o西尔弗讲大数据的书中,个人认为这是对搞量化策略的人来说,最有参考性的一本。可能跟这本书本身不是太技术,比较偏统计有关。讲大数据的书中,个人认为这是对搞量化策略的人来说,最有参考性的一本。可能跟这本书本身不是太技术,比较偏统计有关。【4】失控作者:凯文·凯利跟量化投资没关系,单纯觉得是好书。要是当初能深刻理解凯利大爷关于去中心化货币的内容,早买比特币发财了,这才是真·经济直觉啊,哎。(不过大爷自己也投过虚拟货币,不是比特币,没投对。果然理论还是要结合实践才能发家致富。。。)跟量化投资没关系,单纯觉得是好书。要是当初能深刻理解凯利大爷关于去中心化货币的内容,早买比特币发财了,这才是真·经济直觉啊,哎。(不过大爷自己也投过虚拟货币,不是比特币,没投对。果然理论还是要结合实践才能发家致富。。。)【注】本来想写上《通向金融王国的自由之路》的,但是我实在不认同他所说的:入市技术的重要性只占10%,以及其他一些观点。其实有些内容挺不错的,感兴趣的可以深入看看。【其他】很多人推崇读书、读论文来吸收结构化的知识,不太认同在网上寻求碎片化知识。然而,量化交易研发、特别是Beta择时策略的研发,往往特别需要这种碎片化知识。例如看到一个八卦,发现西蒙斯之前有个合伙人叫巴姆,用了人家巴姆的算法,可能就会主动的去学习一下隐马尔科夫模型,然后尝试的测试一下;看到深度学习很火,就会去了解一下机器学习的分类方法,也许就能拿来分类上涨下跌呢;看到一个平台的介绍,可能就会想想是否可以复制平台的框架或者干脆拿来主义。(我自己都鄙视自己的举例水平。。。)碎片化知识的来源,我推荐这么几个地方:Quora - 各种有意思的知识,就是英文让我比较难过elitetrader - 集中在交易的一些讨论StackExchange的几个子站 - 例如CrossValidated,Overflow等知乎 - 中国版Quora海洋论坛 - 很久没上了,不知道怎么样了例如我在Quora上瞟到Brandon Smietana的一个答案:一些我听说过或见到过在实盘跑的量化策略:Kalman filtersHidden markov modelsTopological manifold learningNon-linear kernel regression techniquesAPT type factor modelsMonte carlo options pricing techniquesContinuous time APT factor models with latent variablesSpectral techniques for doing bag of words extraction of factors from natural language corpus for generating forcings for stochastic partial differential models of asset dynamicsPairs trading/mean regression statistical arbitrage strategiesAutomatic graphical model construction (structural inference over dynamic Bayesian networks)Reinforcement learning based pairs trading strategiesInformation theory based investment strategiesJ. L. Kelly, Jr., "A New Interpretation of Information Rate," Bell System Technical Journal, Vol. 35, July 1956, pp. 917-26Sparse over complete basis function methods for feature extractionApplications 'information geometry'; a field on the border between information theory, probability theory and d still very newAnything that can be used to model or extract features from a time series虽然大部分都知道,不过感觉还是有好多东西要看啊。一个碎片引发的血案。当然,能把各种书读成碎片化知识也很好,就看有没有这么多时间去阅览海量书籍了。此外有一个很重要的知识来源:券商研究报告。虽然很多研究员是为了写报告而写报告(这是他们的工作),但是不可否认多数券商报告都是很有含金量的,关键的是比较有针对性。还是那句话,开卷有益嘛。第五部分:我来答题了借着这个问题写了一大堆,结果人家的问题我还没回答。题主问的是:最近需要参加一个量化交易策略的比赛,希望可以给一些快速入门的经验和建议。实际上这个要看个人水平,要是水平实在不高,重在参与,那就编一个技术指标直接去参赛,个人推荐趋势类的指标。要是愿意折腾一下,比赛可供选择的标的又支持,我强烈建议使用套利策略,尽可能的放大杠杆。一般而言这种比赛都不要求入金实盘,那么很多实际操作中的重点疑难问题都不复存在。没有市场冲击等损耗、开单就能成交、一些情况下甚至不存在潜在对手的套利策略,纸面富贵还是能保证的。而且套利策略偏高频,看起来高大上(我猜的),你就是比赛中新一代的开山怪!
作为量化投资领域从业几年的老兵,关于量化投资入门,分工具篇和思路篇给题主一些借鉴:.............................................................. 工具篇 .....................................................................................对于入门工具,本人推荐使用Python,分享一封写给一个朋友的邮件,以此介绍一下在量化投资领域Python的一些学习资料。在实际操作中,虽然我们工作的回测系统和交易系统都不是基于Python的,但是作为起步学习量化投资的朋友,我个人比较推荐Python,这主要是由于:1. Python入门容易,上手快;2. Python作为一门开源的脚本语言,应用非常广泛,在数据处理方面又有许多library,我们模型前期的一些测试也都是用Python完成的;3. 目前量化投资领域基于Python的学习工具、开源资源非常多。首先,介绍一下Python入门的书籍:1. 首推《利用Python进行数据分析》,pandas的作者原先就职于AQR,pandas的开发初衷就是用来处理金融数据的;2. 《Python 3程序开发指南》3. 《Python数据分析基础教程:NumPy学习指南(第2版)》4. 相关tutorial基于Python的研究平台有以下一些,知乎上有大量关于这些平台的探讨,选择一个自己喜欢的,或者同时都用。国外:1. quantopian: ,其library在github开源:国内:1.
通联数据这家公司相当熟悉,也来我们公司路演过他们的产品,个人非常喜欢他们的工作方式和氛围。2. 3. 一些相关开源资源,非常敬佩作者们的开源精神,仔细阅读他们的代码,绝对会受益匪浅。1. 交易方面,用Python写的一个交易平台: ,作者在之乎上非常活跃与热心,其专栏有许多干活 2. 数据方面,用Python写的抓取数据的library: ,官方网站:.............................................................. 思路篇
.....................................................................................关于投资方法和思路,首当其冲的肯定是量化投资领域的经典著作:1.《主动投资组合管理:创造高收益并控制风险的量化投资方法》,该书问世已经20多年,一直是权威之作。两位作者都曾在BARRA供职10多年,BARRA的一些手册也是学习量化投资必备的,如:USE3、富国大拿李笑薇写的CHE2: Forecasting Chinese Equity Risk等;2.《证券组合定量管理:构建与管理证券组合的积极策略》;一堆学术期刊可以常常去浏览一下,也会有许多思路,作者常常看的有:Journal of FinanceJournal of Financial EconomicsReview of Financial StudiesJournal of Accounting and EconomicsReview of Accounting StudiesJournal of Accounting ResearchAccounting ReviewJournal of Financial and Quantitative AnalysisFinancial Analysts JournalFinancial ManagementJournal of Empirical FinanceQuantitative FinanceJournal of Alternative InvestmentsJournal of Fixed IncomeJournal of InvestingJournal of Portfolio ManagementJournal of TradingReview of Asset Pricing Studies经济研究经济学(季刊)金融研究管理世界会计研究投资研究我们在SSRN上也能找到一些行业前辈,可以follow,如:Clifford S. Asness,AQR的创始合伙人,Ari Levine,AQR,Lasse Heje Pedersen,AQR,Ananth Madhavan,BlackRock,Vinesh Jha,ExtractAlpha的CEO,Zura Kakushadze,Quantigic Solutions的 President,Igor Tulchinsky,WorldQuant的Founder and CEO,跑程序的时候可以去浏览一些热门blog:银行股的大拿flitter,《低风险投资之路》的作者David,可转债的大拿安道全:债券的大拿没钱又丑:期货用来复盘的blog:股市职业操盘专家,知名财经作家花荣:股海泛舟:股票狂人带头大哥777:Paul Wilmott:quantopian:The Trend is your Friend:Practical Quant:John Mauldin:Quantum Financier:Quantified Strategies:BlackRock Blog:Quant at Risk:卖方的研究报告不得不提一下,虽然说绝大多数报告的研究结果都不可信,过拟合算是比较轻微的现象,更有甚者是压根无法提供中间数据,但是从动机上讲,卖方研究员也同样有动力开发又好和又新的策略,卖方金工团队大的近20人,小的也有3、5人,这些智慧也不能忽视。最后要提的是,上述资料主要给我们提供一些思路,在投资实践中如何精炼出其中的金子,需要我们细心和用心的去挖掘,挖矿的过程常常是单调和枯燥的,但是当我们真正找到金子、或者单单是从一个思路衍生出另一个思路的时候又是喜悦的 ,希望题主和我一样,乐于其中
由于文章越来越长,排版越来越丑,所以决定把这个回答编辑成系列文章,放在专栏里面。所以此回答不再更新,请移步专栏。专栏链接如下:#################################### 序言 ####################################一直有朋友建议我写一点量化投资入门相关的内容。犹豫再三,也没下笔。因为很难写,很难有一套通用的学习路线。原因有三:一,每个人专业和基础都不一样。有的朋友对金融知识了若指掌,但苦于编程困难。有的朋友编程十分熟练,却不知道怎么做投资研究。不同的基础,需要学习的东西当然不一样。二,量化投资本身也是一个较杂的领域,你并不需要看完所有相关书籍。如果研究期货,你不需要知道期权的希腊字母是什么。如果研究股票,你也不需要知道期货怎么移仓换月。那么上来就啃John Hull的衍生品“圣经”,是不是费力不讨好?等学完所有相关的书籍,宇宙都毁灭好几次了。三,市面上书籍讲理论多,细节少,有用的更少。而实际上,业界真正的盈利点都来自于细节,而不是理论框架。而细节,别人是不会告诉你的(当然我也不会告诉你)。鉴于以上三点,用文字笼统描述量化投资怎么学习,实在是一件很困难的事情。所以我决定,不再笼统描述,而是细化到三种具体策略。这三种策略,也都是我自己实践过的。对于每种策略,尽量介绍省时省力,简单直接的入门方式。####################################
####################################这三种策略是:1. 期货CTA策略 2. 股票多因子策略3. 高频交易策略期货CTA策略:之所以把期货的CTA策略放在第一位,是因为此种策略上手相对容易。具体路线如下。########################
期货CTA策略·基础篇
########################期货从业资格考试。对于一个没有金融知识的朋友,此法乃是迅速搞明白期货市场的最佳方法。千万不要试图去看科班书籍,里面大量乏味的理论和公式一定会让大多数人半途而废。相信我,对基础知识来讲,期货从业资格教材的内容,已经完全够用。合格的标准很简单,至少把证考下来吧?几十块钱也不贵。学会三种以上的技术指标。入门做策略,没有比技术分析门槛更低的上手方式了。标准就是,你至少要明白均线和布林线是什么。为什么能用均线做趋势追踪策略,为什么能用布林线做反转策略等等。选取市面上至少一种第三方交易平台,学会编写简单的策略,并学会策略回测和用模拟帐户自动交易。编写的策略可以是市面上任何一个广为流传的策略,比如网格交易,海龟策略等等。这3步做完,你已经可以做一个demo版的策略,并且能够自动运行做模拟。但这远远不够,后面需要学习如何提升策略表现。########################
期货CTA策略·进阶篇·基本概念 ########################任何技能都需要循序渐进。建议先完成基础篇的内容,再学习以下内容。在基础内容中,我们已经完成了一个简单的策略(比如网格交易法,趋势跟踪策略等)。然而,当你实盘(模拟)交易一段时间后。可能会发现,回测还不错的策略,实际中不太管用(如果你的策略一直管用,那恭喜你)。这个时候,我们需要采取更多的措施来提升策略的表现。为了完成这个目标,我们需要学习更多的知识。首先要学习的是风险管理的基本概念。大多人的关注点是策略的收益,比如这个策略年化收益是40%。而对风险关注却很少,比如很少会关注收益是不是稳定。很多人以为风险管理是次要的,或者对于个人投资者来说,显得太“高大上”,似乎没什么用。其实不然。我认为风险管理的学习才是基础,如何预测收益才是后面的进阶学习。风险管理有两个重要概念,是需要牢牢掌握的。重要概念一,分散投资可以一定程度上降低风险。这就是俗话说的,”鸡蛋不要放在同一个篮子里面。这个概念适用面十分广泛。往大了说,我一直建议不要自己全职做投资,而是要找一个团队去工作。因为自己全职投资,相当于赌自己投资能成功,否则什么都没有了。而找一个团队工作,即使你投资研究上不成功,也有其它的地方贡献价值,不至于全输。所以除非是天才(当然有),自己全职投资的,大多是缺少基本风险管理意识的,做投资一般也不会成功。往细了说,对于投资策略,你不能只有一个信号,一套策略,做一个品种。理想的应该是多个信号,多套策略,对应多个品种。有的朋友会说,“与其做很多策略降低风险,还不如把一个策略的收益做的很好!” 我是不认同的。为什么呢?一是因为“做出一个很赚钱的策略”很难,而“做出多个普通的策略”却很容易。有容易的不做,为什么要去做难的?很多以为自己在研究如何把策略做得更赚钱,其实只是在过度拟合的圈圈里打转。二是因为分散投资有着更坚实的理论基础。在学术界,分散投资可以降低风险,这已经是共识。然而,对于如何才能有更好的收益,虽有争论,但主流还是倾向于认为收益不可预测。既然学术界那么多牛人都认为预测收益很难,那凭什么你那么牛,可以做到呢?所以,既然分散投资更为容易,而且理论基础更坚实,那为什么不先把这个做好呢?针对CTA策略的具体实践,就是学习更多指标,做出更多信号和策略,然后组合起来,而不是对着一种策略做到海枯石烂(貌似很多人会掉到这个坑里面)。具体操作,有空再接着讲。多讲一句无关的话,大部分人容易的没做,就想去做难的,要么是好高骛远,要么就是容易的也做不来,然后假装做难的,这样即使做不出来也不丢面子。比如很多人连基本的统计都不懂,就去搞“机器学习”。重要概念二,黑天鹅比大部分人想象的要多。纳西姆·塔勒布的畅销书《黑天鹅·如何应对不可知的未来》让“黑天鹅”概念深入人心。此书已成为华尔街人士的必读书籍。整本书的核心概念就是黑天鹅比我们想象的要多。换句话讲,金融市场中的极端情况,比我们想象的要多。学术界也早已证明,金融收益率的分布,并不是大部分人想象的正态分布,而是厚尾分布。此概念之所以重要,有两个原因。一、千万不要以为自己不会碰到黑天鹅,相反,一定要假设自己会碰到黑天鹅,并想好应对措施。这条几乎就是仓位管理的精髓。长期资本管理公司之所以垮掉,就是因为假设小概率事件不会发生。他们用模型计算出来的风险概率几乎可以忽略不计,但实际上发生的事情远超过他们的想象,并且一发不可收拾。所以无论做任何策略,一定要把未来的极端情况假设得比历史数据“更极端”。二、这个理论是几乎所有趋势跟踪策略(比如海龟策略)的理论基石。正是因为大部分人想象中的极端情况比实际发生的要少,才造就了趋势跟踪策略的长期有效性。这个推论稍微有一点复杂。这里作点简单介绍。对于任何一个金融品种,大部分时间都是处于振荡市中,发生单边趋势的概率是比较小的。但是,单边趋势的概率虽然小,也比大部分人想象的要多。所以每次单边趋势来的时候,一定会有大量的对手盘做趋势反转,这就使得趋势跟踪策略有机可趁。用学术点的话讲,市场对于单边趋势的定价,长期平均是低于“实际价值的”,趋势跟踪策略就是利用这个来进行“套利”。只不过这种“套利”是违反人类的普遍感觉的,所以做起来比较痛苦,能坚持的人并不多。到此为止,需要接受的就是两个概念。一是要分散投资,多策略,多品种。二是极端情况比我们想象的要多,要防止极端情况带来的损害,并利用极端情况来盈利。(未完待续)################################# 附录 - 回答评论 #################################评论里面有朋友提了很多好问题,把回答一并放在附录,供大家参考。能否推荐一个可编程第三方平台我们公司用的就是第三方交易平台,请问使用自己编写的交易平台跟第三方交易平台相比有什么好处呢? 这两个都是关于交易平台的问题。一并说一下。交易平台市面上常见的第三方交易平台有:Multicharts(MC)、 TradeBlazer(TB)、 文华财经、金字塔。其中,除了金字塔以外,我都用过。第三方交易平台最大的优势就是省时省力。你不需要自己去收集清洗数据,也不需要编写复杂的回测引擎,更不需要自己调试各种Bug,而且有大量集成好的函数可供调用。然而缺点也很多。具体表现在:除了MC,大多平台没办法导入数据。如果数据有问题(这个问题其实很常见),你就没辙。如果你想测试平台没有的品种,也没办法。除了文华,都没办法自定义下单算法。当交易量大的时候,下单算法是必须品。很多限制很蛋疼。比如文华,日线只能用收盘价买卖。想改成开盘价,必须要引入高频数据,这样回测起来巨慢无比。编程语法并不统一。来回切换,需要学习不同的语法,浪费时间。像MC,居然没有官方的电子语法文档(官方群里的唯一语法文档,还是我搜到了上传的,估计是因为MC想卖他们的语法实体书,吐槽一下)。或多或少都需要收费。有的按年收费,有的按手续费比例收费。这也是一项显性成本。如果有BUG,他们不可能帮忙你迅速更改,只能忍。等等...所以结论就是,如果有条件,尽量还是自己开发回测交易平台。但对于入门新手,开发平台成本太高,并不值得。所以建议使用第三方平台。究竟推荐哪个平台,可以私信问我。这里就不打广告了。目前我自己也在做相关工作,实际中其实没有这么多数学的应用,不知想答主觉得数学在量化交易中起到什么作用呢?关于数学的作用有些研究,确实不用太多的数学。但有人号称加减乘除就够了,也是略显夸张。一般来讲,数学有三个作用:1. 看懂别人的模型。最简单的例子,如果你要做期权,总得明白Black-Scholes模型是怎么推导出来的吧?再举个例子,好几个第三方平台的EMA(Exponential Moving Average)递归算法都是错的,明显是错误理解了EMA的算法。数学不好,估计也看不出问题来。好多人还很天真地用着呢。再举个例子,市面上广为流传的“多因子模型”。貌似大多人的理解和原作者的意思是不太一样的。大多人以为“多因子”就是找到对收益有预测作用的因子,然后组合一下。这跟原作者的意思相差甚远。原作者之所以提出多因子模型,初衷是为了解决风险估计问题,而不是收益预测。也就是,当股票很多的时候,使用历史价格数据算出的协方差矩阵作为风险模型是存在很大问题的。而为什么会有问题,怎么做才能更好解决这个问题?搞懂这个,是需要数学功底的。大部分人看不懂,所以只能简单曲解为自己能理解的“因子预测收益”。2. 自己能抽象并建模。很多人使用技术指标来做策略,实际上是使用了他人抽象建模出来的模型。他人之所以要如此抽象建模,是为了描述某种市场现象,也许这种现象只是当时特有的现象。随着时间变化,市场当然也会不断变化。这个时候,就不能套用早已过时的指标。需要针对具体情况,自己发明指标来描述新的现象。而发明新指标,是需要数学建模能力的。3. 提供理论支撑,增加信心。研究的过程中,会遇到各种困难,要支撑自己继续,信心很重要。如果有完备的数学理论基础,信心会强很多。举个例子,关于做策略研究,一般有两种流派。一是找到有“现实经济意义”的模型,然后用数学公式描述之。二是不管什么“现实经济学意义”,直接用数据挖掘的方式寻找模式。这两种方法,各有信仰,也经常有人争论。但其实没有必要,该争的,早就有人争过了。因为早有对应的数学模型来描述这个问题。也就是贝叶斯统计。贝叶斯统计,简单而不严谨地讲,就是除了样本信息外,还必须有一个先验分布。这个先验分布可以是很主观的。实际上,这个先验分布其实就是对应了所谓的“现实经济意义”。如果明白这个。上面这个争论就显得没有必要。完全可以用贝叶斯统计模型把这两者结合起来。而且这个时候,你知道你的信仰背后是有强大的理论支撑的,也知道,与此理论相关的各种问题,一定是有人研究过的。这样你会对自己做的事情更有信心。微信公众号:小牛八卦关注小牛八卦,学习智能工具。
不算专家,但是乐于分享给大家:金融学知识如何学习金融工程学:研究市场的心理:时间序列和面板分析:交易市场是如何运作的以及微观结构,量化交易策略入门 - 非常推荐,了解整个交易市场的结构Quantitative Trading Strategies - 介绍一些经典的量化交易策略的入门书,还是非常不错的,也是我们内部入门书,在可以只读:Chapter 3, 7, 8 to learn the basics of common quantitative trading strategies.我们有打算开始将里面的一些策略在我们的平台上实现并且公布出来范例代码对基本面感兴趣的话,财务会计知识是需要的,下面的学习资料也会帮到你,尤其推荐第一本聪明的投资者,我个人也从中获益良多在自己的投资中巴菲特老师的经典著作:分析公司的财务原理用于投资:期权市场已经开放,要想进入衍生品市场,下面的书不容错过:衍生品的圣经:
更新:,干货,答疑,指路,一应俱全。welcome to JoinQuant !------------老实讲,有些回答给出的内容太厚重,太理论了,对新人未免有些不友好。这里,就为新手准备了这篇文章--十行代码带你量化交易入门数据获取,策略回测,行情链接,交易信号,直接体验整个量化交易的核心流程,立刻学会并跟着做起来!学习内容:学会写一个简单的量化交易策略理解策略的基本框架学会建立连接实盘的模拟交易,并使其自动发送交易的信号到微信首先,进入,点击导航栏我的策略,新建策略,进入策略编辑画面,如图。
左侧是编写策略代码,右侧是策略运行结果。我们就在左侧写策略代码。下面教你用10行代码写个量化交易策略——单股票均线策略1 确定策略内容与框架若昨日收盘价高出过去20日平均价今天开盘买入股票
若昨日收盘价低于过去20日平均价今天开盘卖出股票只操作一只股票,很简单对吧,但怎么用代码说给计算机听呢?想想人是怎么操作的,应该包括这样两个部分既然是单股票策略,事先决定好交易哪一个股票。每天看看昨日收盘价是否高出过去20日平均价,是的话开盘就买入,不是开盘就卖出。每天都这么做,循环下去。对应代码也是这两个部分def initialize(context):
用来写最开始要做什么的地方
def handle_data(context,data):
用来写每天循环要做什么的地方
答疑与延伸:def后面的空格和最后的冒号不能少!符号都要用英文输入法!为什么这么写?就这么规定的,先别管了。handle_data 按天循环时,如此处,其中的操作都是在9:30执行。毫无编程基础?,丝毫不懂变量,函数,if else的,还是先到的编程部分学习下python语言吧。几乎所有策略都基于这个基本的策略框架:先初始化,然后循环操作
1 初始化,即最开始要做的事情,如选定股票,设置变量、参数等等
2 周期循环:即每个周期要做的事情,如计算指标,买入卖出等,周期可能是分钟,天等,本文策略的周期是一天。当你要做一些盘中短线操作的时候,周期就要调成分钟,先别着急会遇到的。2 初始化我们要写设置要交易的股票的代码,比如 兔宝宝(002043)def initialize(context):
g.security = '002043.XSHE'# 存入兔宝宝的股票代码
答疑与延伸:“g.”是什么?全局变量前都要写”g.”,全局变量就是全局都能用的变量,一般变量只能在该函数下使用。如security不加”g.”,只能在第一部分即initialize里用,不能在第二部分handle_data里用。不懂什么是变量的,到量化课堂的python编程里学习下基础内容,或者问问度娘。“XSHE”是什么? 股票代码使用时要加后缀,深交所股票代码后缀为 “.XSHE “,上交所股票代码后缀为 “.XSHG”。代码中“#”是什么?”#“后的内容都是注释,是为代码做说明的,不会被计算机当做代码处理。3 获取收盘价与均价首先,获取昨日股票的收盘价# 用法:变量 = data[股票代码].close
last_price = data[g.security].close# 取得最近日收盘价,命名为last_price
然后,获取近二十日股票收盘价的平均价# 用法:变量 = data[股票代码].mavg(天数,‘close’)
# 获取近二十日股票收盘价的平均价,命名为average_price
average_price = data[g.security].mavg(20, 'close')
答疑与延伸:4 判断是否买卖数据都获取完,该做买卖判断了# 如果昨日收盘价高出二十日平均价, 则买入,否则卖出
if last_price & average_price:
elif last_price & average_price:
问题来了,现在该写买卖下单了,但是拿多少钱去买我们还没有告诉计算机,所以每天还要获取账户里现金量。# 用法:变量 = context.portfolio.cash
cash = context.portfolio.cash# 取得当前的现金量,命名为cash
答疑与延伸:这句看着有点复杂,先记住吧。然后我们看看买入卖出怎么写。5 买入卖出# 用法:order_value(要买入股票股票的股票代码,要多少钱去买)
order_value(g.security, cash)# 用当前所有资金买入股票
# 用法:order_target(要买卖股票的股票代码,目标持仓金额)
order_target(g.security, 0)# 将股票仓位调整到0,即全卖出
答疑与延伸:为什么没有指定交易价格?此策略是按天回测进行的且使用的较为简单的市价单下单方法,交易价格为开盘价(加上滑点)无法交易的情况?涨跌停,停牌,T+1制度等无法交易的情况,系统会自动使下单不成交并在日志中发出警告。6 策略代码写完,进行回测把买入卖出的代码写好,策略就写完了,如下def initialize(context):#初始化
g.security = '002043.XSHE'# 股票名:兔宝宝
def handle_data(context, data):#每日循环
last_price = data[g.security].close# 取得最近日收盘价
# 取得过去二十天的平均价格
average_price = data[g.security].mavg(20, 'close')
cash = context.portfolio.cash# 取得当前的现金
# 如果昨日收盘价高出二十日平均价, 则买入,否则卖出。
if last_price & average_price:
order_value(g.security, cash)# 用当前所有资金买入股票
elif last_price & average_price:
order_target(g.security, 0)# 将股票仓位调整到0,即全卖出
现在,在策略回测界面右上部,设置回测时间从160601,设置初始资金100000,设置回测频率,然后点击运行回测。 答疑与延伸:什么是回测?回测是量化交易策略研究中的关键,是指给定一段时间的历史数据(如此处是160601的每日数据),计算机按照所编写的策略进行模拟仿真交易,以测试策略效果好坏。如果你代码没有问题,就会顺利的进行回测,回测结果如下图:
至此,你就完成了一个简单策略的回测了。答疑与延伸:如何根据回测结果评价策略好坏?很初级地讲,有三:
盈利能力:策略收益与年化收益高,则说明盈利能力强。盈利能力不行说啥都没用。盈利稳定性:最大回撤要低。最大回撤是指最大亏损幅度,50%则意味着历史上看最大亏损率为50%。回测可靠性:交易次数要多。交易次数越多意味着经历了越多次的检验,回测的结果也越可靠。
更多说明见:这个策略回撤大,交易次数少,只交易一只股票,并不靠谱。但是结构简单适合新手入门理解整个流程。7 建立模拟交易,使策略和行情实时连接自动运行策略写好,回测完成,点击回测结果界面(如上图)右上部红色模拟交易按钮,新建模拟交易如下图。 写好交易名称,设置初始资金,数据频率,此处是每天,设置好后点提交。答疑与延伸:模拟交易创建成功后,需要等待A股至少开盘一次,才能查看模拟交易结果。8 开启微信通知,接收交易信号点击聚宽导航栏我的交易,可以看到创建的模拟交易,如下图。 点击右边的微信通知开关,将OFF调到ON,按照指示扫描二维码,绑定微信,就能微信接收交易信号了。
当策略买卖操作,微信会收到信号提醒类似下图。 答疑与延伸:能不能自动下单?目前不能,国家管制。你可根据信号手动下单买卖,施行策略。自测与自学能否理解整个策略框架。能否成功编写单股票均线策略,成功回测,建立模拟,开启微信通知。能否理解年化收益,最大回撤。浏览JoinQuant 导航栏-帮助-之后的文章,将在本文的基础上,进行深入和扩展,比如多股票,指标获取,大盘择时等,旨在帮助对量化交易有兴趣的人快速入门,能够自主实现自己心中的想法与策略。本篇文章和后续将收录到
, 敬请关注:)更多进阶内容可以到
学习,特点是讲解细致,代码规范,可以在聚宽实践演练。都看到这里了,不点个赞嘛:)
任何东西要入门都需要付出很高的再教育的时间成本。楼上贴出了很多资源,所以我就只给题主补充点方法论吧。=====================比较偷懒,摘自以前的回答===============================1. 学一门编程语言。很多平台用python,也可以选择matlab/C++/Java自己搭系统后面几个不太熟悉,就不多讲。至于python的话,很多第三方库很好的支持做数据处理,简单好上手。2. 多看一些投资理论、量化交易和数据处理类的书籍。这部分知识是为了生产策略修炼内功用的。3. 找一个好的靠谱的平台,边练边学。用JQ顺手了也一直在上面做研究和回测,因为答主本身编程水平一般,社区里很多策略源码分享,可以边看边学,比自己捧本语法书从零学起要快很多。也算是一种速成的捷径吧。以上。希望能解答你的问题。=======================================================================最后,也给自己积点粉。以前学了很多想自己搭系统做交易,去年开始很多开放的量化平台开始上线。自己也选了一家合适自己的平台,给个推送门:,社区里和知乎同名,发表了不少策略回测的帖子,对量化策略感兴趣的捧个场~我的知乎专栏和微信同名公众号也欢迎大家关注。
某期货业内知名公司量化交易部,旗下博士硕士一把,策略无数,经常业内开研讨会,公开宣称其量化策略历史收益多少多少,其母公司乃上市公司,年报中记载 投资的纯量化交易产品运行一周年亏损近-**%到达止损线清盘认赔。 这个就是目前中国量化交易界一个缩影,过去和未来的连接出现了问题? 当然,也和体制有关。国企背景就是保守有余,创新不足。因为创新创不好会死人的。保守一点就不会有错。说到量化交易,核心中的核心就是其策略思想,这个东西和学历真的关系不大。那个机构做量化水平高的标准就是越少的人听说过,哎,这个机构越可能是最牛掰的。你没听说过的,那就是接近最顶级的。知道的人越多的,就越接近于平庸的水平。
作为打比赛的量化交易策略,有2个讨巧的方法。其一是假设其他对手有非理性的交易存在,其资金管理策略有漏洞,甚至是大漏洞,人家错你没错,这排名就上去了。对业余选手来说,普遍都会出现昏招。其二,既然是比赛总会有几个精英出场,指望他们出错是概率很小的事情,在强对手不犯错的情况下想赢,比拼的是策略以及实现策略的效率上。
假设交易佣金都极低和对手的策略基本一致的前提下, 进行小周期的高频交易是获胜的一个思路。 如果有效策略可以分配在15-20个品种上,一天下来就是摇钱树的感觉。
如果策略没有对手强,那也就认命了吧,这个东西类似军事对抗里的代差,武器如果差了一代二代的,人再优秀也不行。
可是中国有个奇葩的不对称军事对抗理论,你用在量化交易里, 收益率比不过别人,就比稳定性吧。100万不好做,1000万以上量级的可以做到一年回撤控制在-2%以内,那对应的收益起码要超过+12%才算过得去, +24%就算良好了。 回撤控制可是比收益率要容易实现的多。
入门推荐软件:交易开拓者(免费网上注册可用)、文华财经(需要找期货公司开通):如果有一定的编程基础,那么上手这两种软件应该没什么难度。这两种软件都是基于K线结构下的策略研究,如果对高频感兴趣则需要用MATLAB或C++这样的软件,逐笔数据之前见淘宝上有售入门书籍推荐:期货截拳道、统计套利、缠中说禅、走出幻觉,走向成熟金融帝国当然以上只是入门级别的基本东西,再往上走研究的差异化很大,就不一一介绍了。
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 量化标准和多久时间开始正常量化 的文章

 

随机推荐