1. 引言
大数据与人工智能技术的快速发展正在使社会经历着深刻的变革。证券投资领域作为长久以来新技术的先行者,又一次成为人工智能技术应用的践行者。这些新技术与投资理论的结合催生出了量化交易(quantitative trading)这样一种新型的证券投资方式。量化交易指的是从大规模历史交易数据中挖掘规律,构建由数学模型驱动的投资策略,通过计算机编程实现自动化交易,以期获取稳定盈利的交易方式 [1]。自从20世纪70年代初,巴克莱国际投资管理公司发行全球第一只量化基金以来,量化投资和交易发展迅速,如今已经在证券投资市场上占有优势地位。特别在新冠疫情导致今年年初股市大跌之后,量化交易成为促成金融市场反弹的重要力量,J.P. Morgan的最新调研显示2020年3月份1000万美元以上的金融交易大单中,超过60%都是由量化交易完成 [2]。
证券投资市场正在经历的量化导向的变革对中国高校金融人才的培养提出了新的素质要求:不仅仅要懂得投资交易的基本原理,还需要掌握将这些原理与大数据和人工智能技术相结合的方法。然而,量化交易在我国的高校教育中还处于起步阶段,对量化交易的定位还未达成共识。是否需要专门开设一门量化交易课程?现有的证券投资类课程辅以计算机编程是否就可以达到同样的目的?如果单独开设量化交易课程,课程又应当如何设计?对这些问题的解答关乎着是否能够快速培养顺应当今证券投资发展趋势的人才,也关乎我国未来利用量化投资与交易手段参与国际金融市场的竞争力。因此,本文的目的即分析开设量化交易课程的必要性,以及研究量化交易课程的教学内容与模式。
2. 量化交易课程开设必要性分析
本节将从量化交易与传统主观交易的比较、量化交易的发展现状与前景、量化交易课程与传统证券投资类课程的差异三个方面分析为什么要开设量化交易课程。
2.1. 量化交易与传统主观交易的比较
2.1.1. 传统主观交易的局限
主观交易成功与否主要与投资者三个方面的能力有关:第一获取准确信息的能力,第二正确加工处理信息的能力,第三是管理自己情绪的能力。这三个能力在实践中的培养与应用难度都非常大,原因如下:
1) 信息对价格的影响程度难以确定
主观交易的信息来源主要包括:历史成交量和价格、国际环境和财经新闻、证券公司的研究报告、上市公司的财务报告、论坛、朋友圈等社交媒体等。但是,这些信息本身都存在着很大的不确定性与局限,对于价格的影响难以估量。历史成交量和价格的准确性基本可以保证,但是历史不代表未来,对于主观交易来说这个信息对于判断价格的未来走势远远不够。国际环境和财经新闻类型较多,需要甄别哪些新闻会引起金融市场的波动以及波动程度,同时,国际环境纷繁复杂,很难通过财经新闻获得全貌。证券公司的研究报告的准确性较低。例如,中金公司曾经做出关于经济走势的十个预言之中只对了半个。上市公司的财务报告会存在粉饰利润、做假的现象。论坛、朋友圈等社交媒体内容的准确性更是难以考证。
2) 投资者的情绪难以控制
投资者的情绪或者说是投资者的有限理性也是影响判断的一个非常重要的因素 [3]。人的理性都是有限的,但是很多人往往会忽视自己理性的有限性。这种认知偏差在证券投资中就会导致即使信息来源完全一致,所有投资者对信息影响价格的判断方法也完全一致,但是不同的投资者操盘,也会出现不同的投资结果。一项对证券投资效果的调研显示,可能会有不到1%的投资者在盈利,但是大多数投资者都是亏损的。这也是为什么在量化交易出现之前,普遍认为成为交易员是需要天赋的,这个天赋必须包括冷静、适当的恐惧、对市场的敬畏,而又果断勇敢。即使这样,具有这种素质的人也会几起几落,最终善终的也为数不多。
2.1.2. 量化交易的优势
量化交易作为证券投资领域的一种交易方式,相对于传统利用主观判断做出交易决策的主观交易的优势集中体现在以下四个方面:
1) 交易策略建立方法科学
量化交易的交易策略以数理模型为依据,具有较好的逻辑基础。不同于主观投资多是依靠投资者个人的经验与观察来做出交易决策,量化交易的策略利用计算机强大的数据分析与处理能力,通过统计模型和机器学习模型来构建交易策略。这些策略经过大规模历史数据的回测与优化,或者蒙特卡洛模拟检验,具有更高的可靠性与适应性。
2) 交易执行过程纪律性强
量化交易均将交易策略落实到计算机程序中,由程序按照策略逻辑自动生成交易信号。同时,量化交易系统通过互联网与券商、交易所直接联系,由系统向券商或交易所自动发出交易指令。这些过程尽可能的降低了人为干预,免除了人为误操作的可能。更为重要的是,在面对市场剧烈波动的时候,量化交易系统依旧会严格按照信号执行交易,从而剔除投资者受到情绪波动给交易带来的不利影响。
3) 响应迅速
计算机对指令的响应可以达到纳秒级别,而受制于生理限制,一般投资者从观察到交易数据开始,经过大脑判断,再支配手指在键盘敲击下单指令的反应时间是在百毫秒级别 [4]。响应速度上的巨大差异使得量化交易系统可以在市场瞬息万变的情况下迅速捕捉到合适的交易价格。这种能力使得交易从中低频步入高频,甚至超高频成为了可能,能够实现主观交易不可能赚取的利润空间。
4) 自动化连续交易
量化交易由计算机程序控制,可以实现在交易时间段内无人值守的不间断连续运行。日常的交易是一件非常耗精力的活动。每天交易时间长,市场行情变化快,投资者往往处于高度紧张的状态。期货、期权、外汇市场还存在夜盘,有些产品的交易时间会持续到凌晨2:30。投资者会非常容易感到疲劳。量化交易实现的无人值守,可以节省投资者的精力。更重要的是,自动化执行将交易员从简单重复的任务中解脱出来,可以把更多精力放在交易策略开发方面。
总之,量化交易在以上这些方面相对于主观交易的优势显著提高了交易的效率、降低交易成本,量化交易替代主观交易就成为了必然。因此,有必要设置量化交易课程以顺应金融交易发展的趋势。
2.2. 量化交易的发展现状和前景
2.2.1. 量化交易在海外的发展现状
1973年,Black-Scholes期权定价公式被提出,使得利用计算机迅速计算欧式期权的理论价格成为可能,推动了量化期权套利的发展 [5]。1983年,Gerry Bamberger开发出基于统计原理的配对交易策略,进一步奠定了量化交易的数理模型基础。
20世纪80年代开始,随着互联网的广泛应用,依托于计算机编程技术的量化交易进入了快速发展阶段。伴随一些以量化交易为核心的基金公司的成立,量化交易在规模和模型丰富性方面都达到了新的高度。例如,复兴科技公司设立的大奖章基金以技术数据为驱动,在历次市场波动性剧烈的时候都获得了丰厚的回报。德邵和Two Sigma也是量化投资公司中的优秀代表,它们注重创新计算机技术,并将其应用到量化策略开发之中。经过多年的发展,量化交易已经从股票市场拓展到外汇、商品、债券,以及新近出现的数字货币市场中,并且在各个市场中由量化交易产生的交易量都已经占据较大比例。例如,J.P. Morgan的研究显示量化交易已经占据美国股票市场80%的份额 [6];美国商品期货交易委员会的一项统计显示,在2016年量化交易在谷物商品的交易占比已经上涨到了49%,贵金属上升到54%,原油交易占到了63%,而在外汇市场上更是占比高达83% [7]。2018年全球量化交易的市场规模已经达到103亿美元,预计2027年将超过252亿美元,年复合增长率达到10.7% [8]。
2.2.2. 量化交易在国内的发展现状
相对于海外市场,国内量化交易起步较晚,直到2008年美国次贷危机后,大批华尔街量化交易人才回国发展,国内的量化交易才开始步入快速发展的轨道。公募基金开始转向量化投资,2019年量化公募基金规模增长570亿元,而量化私募基金也增长迅速,到2019年末,基金规模增长至约2800亿元 [9]。国内量化的发展正好受到当前人工智能技术普及的推动,使得量化产品的种类不断丰富,开发出了包括指数增强、多因子模型、机器学习驱动的基本面因子模型等在内的量化交易策略。
同时,随着个人投资者对量化交易热情的上涨,一批专门提供策略开发平台的公司也涌现出来,例如优矿、米筐、聚宽、掘金量化等。这些公司提供了已经配置好的量化交易需要的硬、软件环境,使得投资者可以专注于开发量化交易策略,降低了量化投资在计算机配置方面的门槛。
尽管从纵向来看国内量化交易发展迅速,但是与海外相比,在量化投资机构的管理资金的规模、量化交易策略的丰富程度方面,都存在着不小的差距。而据研究显示在全球的量化交易市场中,亚太地区的市场在未来会具有最快的增长速度。因此,国内量化交易现状与未来发展速度之间的不匹配对培养量化交易人才提出了迫切的需求。
2.3. 量化交易与传统证券投资学的差异
与传统的证券投资类课程不同,量化交易是一门融合金融学、经济学、统计学、机器学习与数据挖掘、数据库技术、计算机编程、网络通信等多学科的理论和知识的跨学科课程,课程的重点不在于讲授各个方面的基本知识,而在于培养学生综合运用这些知识的能力。此外,量化交易也是一门实践性极强的课程,不仅要让学生掌握理论与方法,更强调要将这些知识应用到策略开发中,形成可以在真实交易环境中应用的策略。这就需要课程设置相当的课时以培养学生的实际动手操作的能力。
基于这两个方面能力培养的重点不同,量化交易在授课内容、教授方式、考核方式等方面均与传统的证券投资学有显著的不同,因此,有必要设置专门的量化交易课程以实现对量化交易人才的有针对性的培养。
3. 量化交易的课程设计
结合量化交易对知识的要求以及量化交易的特点,本文从课程的受众、教学目标、前提知识要求、课程内容,以及考核方式五个方面探讨量化交易课程的设置。
3.1. 课程受众
量化交易的蓬勃发展使得参与证券交易的人群不局限于金融专业相关的学生,还包括信息系统、计算机、数学、物理等专业人才,即一切既懂数学模型又懂计算机编程技术的人才。
首先,金融、会计、数量经济等相关专业的学生需要懂量化交易。这类专业的学生毕业后很可能进入到金融行业,而金融行业技术含量最高的工作就是金融产品设计。现代的金融产品设计离不开量化交易,如果不懂量化交易,很难跟上金融行业发展的步伐,被其他专业毕业生比下去。
其次,信息管理与信息系统、计算机科学技术专业的学生可以扩展技术的应用范围。他们已经具备了实施信息系统的能力,而且多数都具备统计概率等数学知识,具备良好的数学素养。他们将比金融专业毕业生在量化交易领域更具备竞争力。学习了量化交易课程,将拓展他们毕业择业的方向。
最后,数学、物理等理科专业,以及其他工科专业对金融领域感兴趣的学生都可以通过学习量化交易课程而有机会进入到金融行业中来。数学、物理等理科专业有很多创新性的模型可以引入到交易模型的建设中来,增加交易模型的适应性,提高投资收益率。
3.2. 教学目标
量化交易课程旨在系统地介绍量化交易的概念、价值、基本理论和方法,以及计算机的实现过程,掌握如何有效利用技术分析模型与基本面分析模型构建一套完整的量化交易策略,认识到交易风险的重要性及控制方法,以及掌握利用计算机编程语言实现交易策略的自动化执行功能。
课程内容主要包括量化交易基本概念、量化交易模型、量化交易的模型评估、量化交易的风险与控制、量化交易系统搭建等。通过课程的教学,使学生对量化交易在当前金融、经济社会中的应用和前景有较为广泛而深刻的了解;了解金融市场及交易标的,认识金融标的交易的流程,以及交易风险;掌握量化交易实施的编程工具;掌握量化交易的建模思想、方法与模型;并具备一定的综合利用量化交易模型、编程工具实现交易系统的能力。
3.3. 前提知识要求
一个量化交易系统一般按照如下步骤实施。首先,量化交易员建立一种可能盈利的交易策略,用数学模型把它表达出来;然后,交易员开发计算机程序把数学模型应用到历史交易数据中去,进行回测和模型参数的优化。如果结果令人满意,那么该程序就被改造成一个交易系统在真实的市场上进行交易。
从量化交易的定义和实施步骤中可以看出,要想成功的实施一个量化交易系统,至少需要三方面的知识储备——数学(尤其是概率统计学、机器学习)、证券投资学和现代计算机科学技术。在量化交易中,常用的数学模型包括回归模型、时间序列模型等统计模型,以及分类模型、聚类模型、文本挖掘、深度学习、强化学习等机器学习模型。因此,学生需要在以上数学知识方面具备一定的积累。在证券投资学知识方面,学生需要了解典型投资品种(例如股票、期货、期权)的特点和基本的投资理论,例如投资组合、投资风险、技术分析、基本面分析等。计算机技术主要用来将交易策略落地,让计算机自动执行交易。因此,学生需要掌握常用的计算机编程语言,例如Python、C++等。此外还需要了解数据存储技术来存储时间序列数据,例如MySql、MongoDB、hdf5等,以及可视化技术来展示回测和交易结果。
按照知识重要程度排序,从量化交易课程的学习角度来看,计算机编程技术最重要,因为不具备编程知识,学生将无法在课程结束时完整的落地一个能够正常运行的量化交易系统,其次是数学知识,最后是证券投资学知识。而从长期量化交易系统的成功来看,数学知识显然最为重要,因为决定量化交易系统的盈利率的关键是交易策略(即数学模型)的设计,其次是计算机编程技术,最后是证券投资学知识。
3.4. 课程内容设计
依据量化交易实现的流程,本文提出量化交易的课程内容可以划分成三个模块,分别是量化交易基础、量化交易策略开发、量化交易实践,每个模块包含若干相关内容,如图1所示。

Figure 1. Curriculum design schema of the quantitative trading course
图1. 《量化交易》课程内容设计方案
3.4.1. 量化交易基础
量化交易是一种证券投资自动化执行的方法,因此需要金融学基本理论与计算机编程的基础准备。量化交易课程不可能把金融学的所有知识都涵盖,而是需要讲授对于量化交易最直接支持的证券投资的基本知识与理论。首先,需要讲授当前量化交易能够应用的金融市场,包括股票市场、衍生品市场、外汇市场等。每个市场中交易标的不同、交易规则差异较大。例如,中国的股票市场施行T + 1制度并且只能做多股票,而期货市场则施行T + 0制度,允许做多与做空。因此,需要让学生掌握每个市场上交易的具体特点,以便在后续开发有针对性的量化交易策略。其次,因为量化交易的落脚点在交易的执行,所以,需要让学生掌握交易的基本概念与知识,包括建仓、平仓、持仓、头寸、交易量、价格类型、交易指令等。
量化交易的策略编制和系统实现都需要计算机编程语言的支持。目前,有多种编程语言可以用于量化交易的开发,包括Python、Go、C++、Java、R、Matlab等。量化交易课程可以选择Python语言作为讲授的编程语言。相对于其他语言,Python具有下述优势。首先,Python的语法简洁、易于掌握与实践。大部分学生虽然有编程基础,但是普遍还会对编程怀有畏惧的心理。Python易于上手的特点能够帮助学生树立信心,削弱抵触的情绪。其次,Python的生态环境非常丰富,众多开发人员贡献的包(packages)能够实现对从数据获取、数据加工处理、统计建模、机器学习,到策略回测等量化交易研究的全流程的覆盖。最后,目前市面上很多量化工具或平台,例如国外的Quantopian,国内的优矿、掘金量化、vn.py等均是以Python作为开发环境。学生在掌握该语言后可以很方便的从量化交易的课程学习环境过渡到进行实盘/模拟盘的真实交易环境中,最小化转换成本。这一模块将着重讲述Python的数据分析包,例如pandas、numpy、scipy、mplfinance等在量化投资分析中的使用方法。
3.4.2. 量化交易策略开发
交易策略是量化交易的核心,识别交易风险与控制是影响到交易策略效果的重要因素,回测与评估是检验交易策略的重要方法,因此,这三个方面就构成了量化交易策略开发模块的核心内容。
量化交易策略是用数理模型构建交易逻辑。这一部分内容讲授两种当前流行的构建交易策略的方法:理论驱动型的交易模型与数据驱动型的交易模型。理论驱动型的交易模型将围绕着趋势型、均值回归型,以及多因子模型三类交易模型的构建展开。针对趋势型交易模型的讲授将以技术指标(technical indicators)为核心,讲述典型技术指标的概念以及在趋势识别、趋势强度判断、市场波动性衡量等方面的应用。针对均值回归型模型的讲授利用时间序列的方法,讲述如何通过判断多个交易产品价格序列之间的相关性,以识别交易机会的方法。这一部分将重点强调伪回归的危害,以及衡量价格序列之间相关性的正确步骤。针对多因子模型的讲授将澄清多因子的概念,讲述多因子的构建方法,以及当前常用的多因子类型。
数据驱动型的交易模型将讲授如何从交易数据本身开发交易模型。金融交易活跃、交易数据量庞大,以中国的期货交易为例,每个交易日的数据量都达到千万条的级别,因此是机器学习和数据挖掘应用的良好领域。机器学习的方法也被当今不少量化基金公司所青睐。这一部分的讲授将会使得学生掌握量化交易策略开发的最前沿的知识与方法。该部分的讲授内容将围绕着机器学习领域前沿的集成学习方法,例如随机森林,以及以神经网络为基础的深度学习在交易模式与规律识别方面的应用。
交易风险与控制是完善量化交易模型的重要方面。只有控制好风险水平才能保证所开发的量化交易策略在竞争激烈的交易市场中存活。该部分内容将讲授与交易相关的主要风险类型,包括模型风险、执行风险、技术风险、系统性风险等 [10],以及如何从交易模型层面和技术层面降低这些风险对所开发的量化交易系统的危害。
量化交易优于传统交易的一个主要方面在于所开发的交易策略经受过大量历史交易数据的检验。因此,策略回测与评估是量化交易策略开发的一个重要环节。该部分内容将首先向学生讲授系统性评价交易策略的方法,包括盈利性、风险度,以及针对每笔交易效果的评估方法。其次,需要让学生建立起样本内绩效与样本外绩效的概念。虽然历史数据能够检验所开发策略的优劣,但是由于金融交易市场蕴含的极大不确定性,历史数据检验的效果并不能完全反映开发的策略在未来交易中的绩效。因此,需要划分样本数据,让学生了解一部分数据用来优化策略模型参数,另外一部分数据用来检验策略的绩效,从而避免过度拟合的出现。最后,将向学生讲授将所开发的策略模型落实到计算机程序中的方法。目前,市面上有不少用Python语言开发的开源量化交易回测框架。课程可以选择其中一个框架,让学生掌握将交易策略落地的方法。例如,PyAlgoTrade、Backtrader框架结构清晰、回测功能较为完善,其设计思路为不少其他回测框架所借鉴。
3.4.3. 量化交易实践
量化交易策略开发的下一个环节就是将其应用到实盘/模拟盘中,以参与市场交易。该部分讲授实盘交易的运转方式、如何自行搭建交易系统,以及需要在实盘交易中注意的事项。
实盘交易一般是通过连接交易接口(API)来实现。目前,中国期货市场的交易接口最为完善。该接口的全称是“综合交易平台”(Comprehensive Transaction Platform),简称CTP接口。课程将以该接口为例,向学生讲授自己搭建的交易系统如何与交易所系统、期货公司的柜台系统之间的通信方式,以让学生了解交易指令是如何在真实环境中执行的。
在此基础上,课程将向学生讲授自行搭建交易系统的构成,除了最为核心的交易策略模块之外,还需要搭建交易数据获取、交易指令的执行、交易信息的查询等模块,以及这些模块之间如何实现信息的传递。目前,国内有不少量化平台可以帮助投资者迅速构建自己的交易系统。这些平台封装了交易系统组成模块之间的信息传递,以及交易系统与交易所、券商柜台系统之间的信息传递,可以让投资者专注于交易策略的开发。在学生理解了交易系统的构成之后,课程可以选择这样的平台,帮助学生快速过渡到实盘/模拟盘的交易。
3.5. 考核方式设计
从前面的课程内容设计可以看到,量化交易是一门实践性较强的课程。因此,课程考核方式也应当不同于传统证券投资学关注在知识点的理解与运用,而是聚焦在考察学生综合运用知识开发交易策略,将策略应用到实践中的能力。为此,课程的考核可以依照量化交易的步骤分成初级、中级、高级三个层次展开。
初级考核的重点在于检验学生对量化交易全部环节的理解与掌握状况,可以通过设置专门的题目考察学生在数据获取与处理、构建交易模型、回测建立与运行等方面的掌握程度。例如,在各个部分给定明确任务和目标的情况下,学生能够完成这些目标即可以通过考核。中级考核的重点在于考察学生自主研究建立交易模型、开发交易策略的能力。这一层级的考核在于检验学生的研究能力和创新能力,因此可以设置开放性的题目,让学生通过理论和机器学习等方法开发交易策略,能够取得较好的回测效果即可以通过考核。高级考核重点关注学生利用量化交易系统在真实交易环境中的盈利能力和风险控制能力。在时间允许的情况下,可以考虑采用参加量化交易比赛的方式,通过设置综合性的评价体系来检验学生对量化交易的实际应用能力。
4. 结论
量化交易是当前证券投资领域一种新型的交易方式,具有广阔的发展前景。本文着重分析了在高等院校中开设量化交易课程的必要性,并从教学目标、前提知识要点、课程内容设计、考核方式等方面探讨了量化交易课程的设计问题。本文的研究结论可以为正在准备开设量化交易课程的院校提供参考,也希望能够抛砖引玉,引发更多关于量化交易课程设置、量化交易人才培养的探索。
基金项目
中国矿业大学(北京)研讨性在线课程教改项目“《商业数据分析与挖掘》在线课程建设研究”(J180502)、中国矿业大学(北京)“心桥工程”项目(KDTZ2020XQ08)。