1.数学/统计学知识
既然说到用数学模型,那数学和统计学的知识是必不可少的。由于国内金融市场尚不完备,一些衍生品交易受到限制,所以相较国外市场,能用到的数学/统计学知识也要少一些。对于非理工背景的投资者,需要补充基础的高等数学,线性代数,概率论,统计学,最优化理论等等学科的知识,这些内容可以在高校教科书中找到。对于一些新兴的利用机器学习的交易策略,还需要了解一些数据挖掘的知识。但既然是入门,这部分自然不是必要的。
另外,计量经济学的应用尤其广泛。进行策略研究时经常要面对大量的时间序列、面板数据。虽然在实践过程中更加注重策略结果,只要能赚钱的策略就是好策略,但在严谨的计量理论的支持下,回归结果更准确,能更好的刻画数据背后的关系,故往往更容易得到与预期相近的结果。其中,时间序列回归与截面、面板回归的逻辑与假设均有较大区别,且广泛用于刻画及预测金融资产的收益,波动。计量经济学的书籍推荐伍德里奇的《计量经济学导论:现代观点》;时间序列推荐布鲁克斯的《金融计量经济学导论》。
2.编程能力
由于量化策略要处理大规模的数据,并采用复杂的数学算法,故需要利用程序来完成这一过程。大部分面向对象的编程语言,如Python,Java,R等都可以胜任这一工作。我在这里推荐Python,在业界比较主流,其特点主要是包括大量第三方开发的包,如处理数据的Numpy,Pandas,和金融包Talib,和各个平台及其他语言兼容性良好。其中Pandas是美国知名对冲基金AQR开发的数据处理包,非常适合用于金融数据。Python的学习可以通过《利用Python进行数据分析》等书籍进行学习,也可以通过一些网上教程快速入门。在实际应用的过程中,应该多参考各个工具包的API文档。
回测程序主要包括导入数据及初始化账户,每个交易时间点择时条件、调仓逻辑,及回测结果计算,绘制净值曲线等等。某些量化平台封装的回测环境,简化了这一过程,能够方便的对策略进行测试。
3.金融基础知识
量化交易,根本上是金融市场中的行为。虽然该岗位对数学、编程知识有要求,但脱离了其金融本质,就无法设计出优秀的策略。量化投资者需要了解各种金融资产的性质,以及影响其价格的因素。对于股票而言,公司的基本面及财务情况,其所处行业的形势能够从某种程度上反映在其股票价格中,因此投资者应对此有基本了解。这部分可以参考博迪,凯恩,马库斯的《投资学》,以及财务会计,报表相关书籍。此外,中国市场受到人为操控的因素影响较为显著,在实盘操作中,量化投资者在依赖量化策略进行投资决策的同时,一般也会加入一些主观判断,以更及时捕捉市场走势,获得更高的收益。因此,宏观经济,政策形势对金融市场的影响,也是投资者不能忽视的问题。每天看看财经新闻,长久以来可以培养金融直觉。
4.策略研究能力
即是将以上内容综合运用,将投资思想程序化,开发成为有投资价值的策略的能力。起步时,应多参照已有的较为成熟的策略,进行完善复制。策略本身的逻辑可能三言两语就能概括,但在实际执行的过程中的细节不可忽略。众所周知,在回测中表现突出的策略在实盘中不一定有效,但在回测中效果都不好的策略,难以在实盘重有良好的表现。过度拟合,幸存者偏差和使用未来函数都是新手经常会出现的错误,避免这些错误,才能让回测结果更好的接近真实情况。同时,在得到回测结果后,如何对收益进行归因分析,研究持仓股票,风险暴露,并对参数进行优化,也是量化投资者需要解决的问题。
一些经典的投资策略包括多因子策略(Fama-French三因子模型),技术指标择时(MACD,布林带等),动量反转策略,事件驱动策略,统计套利策略等。其中很多策略源于外国学术论文,高质量学术期刊包括Journal of Finance,Journal of Financial Economics等等。同时有一些系统的教学书籍,包括Barra Handbook(多因子圣经),Quantitative Equity Portfolio Management(主要讲解投资组合管理),Quantitative Trading Strategies(主要讲如何构造量化策略)。
5.在实践中学习
策略回测终究是回测。基于过去行情设计的策略,一定能在过去的时间区间内有良好的表现。但同样的历史不一定会重演,随着市场趋势和微观结构的改变,策略在未来的时间可能不会按照预期的方向发展。实盘中还存在报表信息公布延迟,交易摩擦,下单对市场价格影响等问题。故一个交易策略,在经过严谨全面的回测检验后,要在实盘上检验其真正效果。
在接触量化交易初期,了解数学编程,模型搭建中的细节处理都是绕不开的问题。而如今各种技术手段都较为成熟,可供大家使用,一个成功的投资者与众不同的地方一定在于其设计策略的思想,和对市场的把握。设计交易策略应以背后的金融直觉为基础,是我一直坚信的理念。希望各位投资者能够在量化投资领域中找到自己独特的视角,成为下一个西蒙斯!