金融计量软件Stata在量化投资教学中的初步应用
2022-02-09张超林
张超林
(湖南工商大学财政金融学院,湖南长沙 410205)
一、量化投资的概念内涵及研究现状
量化投资,是以数据为基础,以策略为核心,以追求绝对收益为目标,以程序化交易为手段的一种投资方法。其核心在于建立选股和交易策略,利用数量化方式及计算机程序来发出买卖指令。量化投资在国外已发展30多年,代表人物是数学家和投资家詹姆斯·西蒙斯,美国的前五大对冲基金全部都是量化投资,美国量化策略在股市中的占比超过70%。目前国内量化投资正处于蓬勃发展的阶段。
关于量化投资策略的研究,国外涌现了大量文献,例如Piotroski(2000)[1]从盈利因子、账面市值比、动量因子等建立多因子评分模型,筛选出各因子综合评分排名较高的股票,用于构建较高收益的投资组合。Mohanram(2005)[2]基于盈利能力与现金流表现、成长能力、账面市值比等方面编制指数,并依据该指数进行投资组合。国内研究仍在起步和发展中,例如,付志刚和沈慧娟(2018)[3]研究表明,利用人工神经网络投资策略可使上涨趋势股票获得较高的收益,而对于下降趋势的股票表现较差。李斌等(2019)[4]研究表明,机器学习算法能够有效地识别异象因子-超额收益间的复杂模式,从而获得比传统线性算法和所有单因子模型更好的投资绩效。
二、金融专业开设量化投资课程的必要性分析
随着互联网技术及信息科学的快速发展,大数据、云计算、人工智能、区块链等技术对金融行业的生态格局产生了深刻影响,金融与科技融合成为当前金融发展的主要特征。就量化投资来说,国外从早期以数学模型和计算机程序相结合,到现在借助于大数据、机器学习和人工智能等方法,构建的投资策略日益丰富,形成了多因子选股策略、阿尔法策略、套利策略、基于机器学习和技术指标的ML-TEA策略、基于深度学习的DFN算法策略等。国内金融界的量化投资也正处于方兴未艾的时期,诸多券商、投资公司、基金公司都推出了量化投资策略,并在实践中不断完善投资策略和能力。和日新月异的金融行业发展情况相比,建立在传统经济学框架下的高校金融教育与金融行业需求之间已出现脱节现象。
因此,高校金融专业开设量化投资课程具有较强的现实意义和社会价值。首先,从高校金融专业课程体系建设来看,金融学科的建设必须与金融实践的发展密切相关。其次,从培养学生素质和提高学生能力来看,学习量化投资能够提高金融专业学生的数据分析能力和计算机建模能力。传统的金融专业教学偏向于文科教学思维,注重讲授金融基础知识和理论知识,对数据分析和计算机建模的要求不高,而量化投资则更强调对数据科学和计算机编程的应用,偏向于理科教学思维。因此,开设量化投资课程,有助于提高金融专业学生的综合素质和能力,也能够更好地和金融行业投资人才需求对接,为金融行业输送更多高素质的人才。
三、金融计量软件Stata在量化投资教学中的初步应用
目前国内外进行量化投资分析研究主要使用的软件或编程语言包括Matlab、Python、R、SAS 、C++、SQL等,此外也有一些券商或期货公司开发出了自己的量化投资软件,而使用Stata进行量化投资的分析研究并不多见。事实上,Stata作为三大计量软件之一,其功能非常强大,在金融学术研究领域已经得到了广泛的应用,为学者和从业人员应用大数据进行分析研究提供了极大的便利。随着Stata功能的日益丰富和完善,使用Stata软件进行量化投资分析的研究也将与日俱增,本文是这方面的初步尝试。
(一)基于证券投资基本分析和技术分析的建模思路
证券投资分析主要的范式包括基本分析和技术分析两大流派。基本分析指以证券的内在价值为依据,着重于对影响证券价格及其走势的各项因素进行分析,以此决定投资购买何种证券及何时购买。宏观经济分析、行业分析、公司分析、股票估值共同搭建了基本分析的框架,每一点都不可或缺。例如,宏观经济分析有助于判断大盘的未来走势,行业分析有助于遴选出具有较好前景的行业,公司分析能够用来甄别公司质量的优劣,股票估值有利于股票交易的时机选择。基本分析的核心在于公司分析,即判断出每一只股票背后所代表的真实资产的优劣,巴菲特的核心投资理念就包含了公司分析。公司分析的核心又在于公司财务分析,即依据公司定期披露的财务报表信息,通过构建财务指标来分析判断公司的盈利能力、盈利质量、成长能力、偿债能力和经营效率。本文的建模思路之一就是根据公司财务分析的理论基础,选择关键性的财务指标,来筛选出优质公司的股票。
技术分析是指运用图表技术和统计指标,研究证券价格及成交量的变动模式,并利用这些模式来预测价格的变动趋势,以此作为证券投资决策的依据。市场行为能反映一切信息、股票价格呈趋势形态变动、历史经常重演构成了技术分析的三大假设。技术分析强调密切关注股票价量变化形态,并通过价格、成交量、时间等要素构建各种技术指标,用来判断股票价格的未来走势。本文另一条建模思路就是依据股票价量能反映市场上众多信息的假设,选择近期价格走势较好、相对投资收益较高的股票。
具体来说,本文的建模思路是:首先,通过基本分析的方法和指标筛选出公司业绩强势的股票(简称业绩强势股);其次,通过技术分析的指标筛选出近期价格走势较好、相对投资收益较高的股票(简称价格强势股);最后,再将两类分析方法筛选得到的股票进行横向合并,最终得到同时满足业绩强势和价格强势的股票,为下一步的投资决策打下坚实的基础。
(二)利用金融计量软件Stata筛选业绩强势股和价格强势股
第一,利用基本分析的财务指标筛选业绩强势股。财务分析指标包括盈利能力、盈利质量、成长能力、偿债能力和经营效率等五个维度。由于衡量公司财务质量五个维度的指标众多,不可能将所有指标都纳入到分析框架中一一考察。在这众多指标中,最重要的是公司盈利性和成长性。盈利性和成长性很大程度上决定了公司的价值,从而也决定了股权价值。因此本文重点关注盈利能力、盈利质量、成长能力这三个维度,盈利能力用每股收益和股权收益率ROE来衡量,盈利质量用每股现金流与每股收益的对比来判断,成长能力用营业收入和每股收益的同比增长来衡量。具体操作步骤如下:(1)从国泰安CSMAR数据库下载最新的财务报表Excel数据,利用import excel命令将Excel数据转换成Stata数据,再利用strmatch函数提取年度财务报表和季度财务报表,并分别保存;(2)使用年度财务报表数据,利用Stata计算出年度每股收益增长率,利用keep命令保留每股收益最近一年(即2020年)增长超过20%、近3年均有所增长的股票;(3)利用Stata计算出ROE(净利润与所有制权益之比),保留年度ROE最近一年大于15%的股票;(4)利用Stata计算出每股现金流(经营活动产生的现金流净额与总股数之比),保留最近一年每股现金流比每股收益高20%的股票;(5)使用季度财务报表数据,利用Stata计算出每股收益同比增长率,保留当季每股收益同比增长超过50%、上季每股收益同比增长超过40%的股票;(6)利用Stata计算出季度营业收入同比增长率,保留当季营业收入同比增长超过25%、过去3个季度营业收入同比增长均超过10%的股票;(7)利用merge命令横向合并满足上述条件的股票,并筛选出同时满足上述条件的股票,得到的就是业绩强势股。
第二,利用技术分析的方法和指标筛选价格强势股。技术分析方法和指标五花八门,本文主要关注以下三个指标:股票价格是否在近期创新高、交易量是否增加以及股价相对强度评级指标(RS)是否较高。其理由如下:这三个指标反映了市场对某一家公司的判断,即市场投资者用自己手中的“货币选票”对所有股票进行投资判断,将各种各样的信息汇集到股票价格和成交量之中。当股价创新高、交易量增加、股票收益相对更好时,表明市场对该公司的发展前景非常看好,该公司的股票具有投资价值。具体操作步骤如下:(1)从国泰安CSMAR数据库下载最新个股周收益率数据,该数据包括了每只股票自上市以来每周开盘价、收盘价、交易股数、交易金额、流通市值、总市值、个股回报率等,利用import excel命令将Excel数据转换成Stata数据;(2)利用max函数生成每只股票过去半年周开盘价最大值和周收盘价最大值,保留最新一周股票收盘价高于上述两个最大值、同时股票交易量增加的股票;(3)利用Stata计算股价相对强度评级指标(RS),具体来说,利用prod命令计算过去半年每只股票累积周收益率,利用xtile命令生成累积周收益率的分位数(按百分位数计),该分位数即为RS指标,保留RS大于80的股票;(4)利用merge命令横向合并满足上述条件的股票,并筛选出同时满足上述条件的股票,得到的就是价格强势股。
第三,将业绩强势股和价格强势股合并,作为下一步股票分析的基础。同时满足业绩强势和价格强势的股票并不多,接下来可逐一检视。首先根据每只股票的K线形态来进行判断,尽管所有筛选出来的股票在近期股价都创下新高,但不同股票的K线形态存在较大差别,剔除那些股价大起大落或一直处于震荡状态的股票,保留那些股价呈现出波浪式上涨趋势的股票。其次根据市盈率进行初步估值,市盈率是相对估值模型里最常用的估值指标,通过市盈率的横向纵向对比,大致可以判断出该股票的估值高低,从而判断该股票是否存在合适的买点。如果一只股票的市盈率和同行业均值或行业龙头企业相比已经偏高,就表示此时可能也已经错过了最合适的买点,不应该买入。值得注意的是,依据市盈率进行分析判断,没有绝对的标准,因为不同的行业盈利能力和成长性都不同,市盈率大小也不一样。
四、金融计量软件Stata在量化投资教学中的拓展方向
本文是利用金融计量软件Stata在量化投资中的初步应用,主要目的在于选择出业绩优质、相对投资收益较高的股票。未来还可以利用Stata软件在量化投资领域进一步拓展,大致研究方向包括如下几点:
(1)纳入更多元化且更有弹性的选股指标。例如纳入衡量盈利质量的扣非净利润占比,衡量偿债能力的速动比率,衡量经营效率的存货周转率等,还可以根据不同行业的异质性,对财务指标设置不同的筛选标准;根据不同行业将相对估值指标市盈率加入到选股体系。
(2)利用资产定价的研究成果来构建选股策略。资产定价比较有代表性的研究包括Sharpe(1964)提出的资本资产定价模型(CAPM)、Fama and French(1993)提出的三因子定价模型、Carhart(1997)提出的四因子模型等[5]。此外,还有数以百计的论文对各种影响股票收益的潜在因子进行了研究(其中最顶尖的研究多数发表在金融学三大期刊上)。可以借鉴这些研究成果的多因子模型,并结合国内的学术研究,提炼出适合我国A股市场的因子,来构建选股策略。
(3)利用Stata软件进行宏观经济分析。基于时间序列分析中的AR模型或ARMA模型等预测未来GDP的变化情况,从而有助于判断大盘的未来走势。
(4)利用更多的技术指标来判断交易时机。通过个股日收益率数据,利用Stata软件构建技术分析流派常用的MACD、KDJ、RSI等指标,并结合图形,来判断个股的交易时机,是否出现合适的买点或卖点等。
五、结束语
本文基于证券投资基本分析和技术分析的理论基础,使用上市公司财务报表数据和周个股收益率数据,利用Stata编写程序,筛选出同时满足业绩强势和价格强势的股票,从而为下一步投资决策奠定了基础。相比于多数量化投资使用Matlab或Python软件进行操作,本文是利用金融计量软件Stata进行量化投资的初步应用,未来可以在该研究的基础上进行进一步拓展和深化。例如,使用更多元化、更有弹性的选股指标,使用CAPM、三因子模型或多因子模型来实现选股策略,利用时间序列分析模型来预测未来GDP等宏观经济变量,利用MACD、KDJ、RSI等技术分析指标来辅助择时交易等。