量化投资入门系列 ---(一)浅谈量化投资

简述

量化投资是金融,经济,电脑编程和数学模型的结合,要提高投资成功机会的话,缺一不可。但不是每一样都要非常精,其中电脑编程技能和数学是辅助功能。主角是金融和经济,必须对金融和经济有深入了解和有深刻见解,才能把投资做得非常好,因为投资是建立在这两方面的。不排除有些人只靠纯技术分析,例如各种均线,MACD,RSI等等,能在股票,期货,期权等市场上分一杯羹,不懂电脑程式没有关系,因为他们花了很长时间洞察到金融市场的某些规律。我认为通向成功投资的道路,条条大路通罗马,殊途同归,只是有些比较崎岖不平,蜿蜒曲折,有些平坦宽阔,直达罗马。可以选择的话,当然选择平坦易行的道路来行走,量化投资是其中一条。

量化投资能帮助投资者将投资策略电脑程式化,用海量数据快速全面地测试投资策略,用常见的投资表现指标去评估策略是否优异,最后把策略交给电脑自动在金融市场上交易。比起人手研究策略和人手交易,好处是明显的:用海量数据,用很短时间测试投资策略,并且不受情绪影响交易,再者投资者不需要盯着金融市场,可以腾出时间做任何事情。若果投资策略是优异的,且能长期稳定地赚取较高回报,例如年回报率15%或以上,有足够的本金,就能够做到财务自由了,甚至可以创立基金。

必备知识

学习量化投资,首先要知道学什么和怎么学。以下举列一些主要的知识类别。

金融:企业金融,投资学,衍生产品,国际金融
经济:宏观经济,微观经济,国际经济,计量经济
电脑编程语言或脚本语言:Python, R,Matlab,Java, C++
数学:统计学,机器学习,微积分,概率学

知识能涉及的范围越多越好,但毕竟人的精力有限,只能懂一些必要的,然后加上兴趣或工作需要而去学习额外知识。必要的知识或技能包括了Python, 企业金融,投资学和统计学。假如已经学习了经济学或金融学,只要掌握好一种编程语言,那就省事了。

在编程上为什么要选择Python做为主要的编程语言呢?第一,它是免费的;第二,相对来说容易学;第三,免费的公开资源多;第四,用上机器学习,深度学习模型的话就更方便;第五,不单只能做数据分析,而且能做软件开发。虽然R是免费的,也能做数据分析,但功能上没有Python强大,因为它只是脚本语言,而不是一种编程语言;另外,在机器学习,深度学习方面缺乏支持。Matlab虽然好用,但不是免费的,而且在国内部分高校被禁用了。Java 和 C++ 是很好的编程语言,不但能做数据分析,而且能开发很多应用程序,执行速度也比Python快多了。但是缺点是学习起来很复杂,不是一般人能掌握得好,而且在机器学习,深度学习应用方面就更复杂了。所以,只做数据分析和中低频交易的话,Python 是非常好的选择。

企业金融和投资学是必要的,因为都涉及了企业的基本面分析和投资组合管理。

统计学是指统计学入门,例如均值,最大,最小值,风险,回归,概率分布等等,是必备的知识。

其他相关知识当然越多越好。

如果有考试及格证明的话就加分,公认的考试有Analyst of Quantitative Finance (AQF), Chartered Financial Analyst (CFA), Financial Risk Manager (FRM) 和Certified Public Accountant (CPA)。AQF是国内认证的,CFA,FRM是国际认证的,CPA就每个国家的会计准则来考的。

投资策略类别

投资策略总括来说有四大类。第一,基本面分析;第二,规则或技术指标分析;第三,机器学习方法,亦就是我们常听的人工智能投资方法;第四,套利策略。以上四类都可以用来制定量化投资策略。我会在以后的文章里一一讲解,而且附上Python源码,以供大家参考。

第一类,基本面分析是很多基金常用的,也是学术界常研究的。目的是研究公司的内在价值,根据公司的历史财务数据,行业数据,宏观经济数据,去寻找一些和股价风险溢价有很大关系的因子。多因子模型是最常见的一种选股模型,如果某些股票满足了这些因子,则被买入,不满足的则被卖出。学术界的Fama-French 三因子模型,五因子模型是很好的多因子模型例子。因子通常分成很多类,视乎定义,常见的十大类有成长,质量,价值,规模,Beta,波动率,财务杠杆,流动性,反转和动量。
有两个排序方法:第一,根据每类的指标去给股票排名,然后计算总分,选出最优质的几十只股票;第二,用回归方法,个股每月或每季收益是因变量,因子是自变量,根据自变量的系数大小排序,但比较复杂。
下图是一些因子的例子:
量化投资入门系列 ---(一)浅谈量化投资_第1张图片
第二类,规则或技术指标分析是指根据自定义规则或者技术指标去买或卖投资标的。基本上只考虑价格和成交量,其余的因素都不考虑,是简单方便的投资策略。举一个自定义规则的例子:假如突破上个月的高点就买进,赚10%就止盈,亏5%就止亏。技术指标有5日,10日均线,RSI,MACD,KDJ,DMI等等,各种投资资讯网站都有。那么你会问,这些指标有用吗?我可以告诉你,绝对有用,起码我找到最少一个组合方法可以比较稳定盈利的,关键是要组合一起来运用,这过程需要不断尝试才能找到一个好方法的。以后我会分享我的方法和源码。

第三类,把机器学习方法应用在投资上是比较新的,其中,深度学习方法近几年很火。深度学习是机器学习里的一个分支,在2012年才开始火起来的,那年大神Geoffrey Hinton首次参加了ImageNet图像识别比赛,运用卷曲神经网络模型CNN构建AlexNet深度神经网络模型,最后夺得冠军,从此CNN吸引到了众多研究者的注意。CNN是可以应用在时间序列的。另外,(Gated Recurrent Unit) GRU,(Long Short-term Memory) LSTM专门用于时间序列的预测,效果比传统的OLS,ARMA 模型好。还有许多复杂的深度学习方法,我会尽量涉及。用机器学习方法预测投资标的价格,或者做资产定价已经是火热的研究。

第四类,套利策略是低风险的,当一个或多个产品存在价格差异时,低价买进,高价卖出。这可以无需本金的情况下做买卖,因为可以在短时间内先借后还。例子有基于统计套利的配对交易,寻找出两个走势非常相似的投资标的,然后买低价的投资标的,卖高价的投资标的。这是基于一个假设,它们的价格升幅最终会一样,然后获利离场。是否一定赚呢?天下没有免费的午餐,那个假设不一定成为事实,只是发生的概率大。

在之后的文章里,我会由浅到深地讲讲每类投资策略。

你可能感兴趣的:(量化投资入门系列,神经网络,机器学习,深度学习,数据挖掘)