量化投资是指将投资理念或市场观点转化为数学模型,并根据历史数据对模型进行测试验证,总结收益—风险特性以及相关参数,然后通过计算机技术实现自主化交易的投资方式。
一个完整的量化投资策略具备四个方面的特点:
一是具有特定的定量分析策略。量化投资是基于一定的市场逻辑或根据历史数据作出的概率统计,形成特定的数学模型用以分析和评判市场表现,进而形成交易策略,这与目前大多数分析师所采用的定性分析方式有很大区别。量化投资注重数理分析与逻辑推导,不依靠经验主义和主观判断形成交易决策。当然,其模型思想仍然是来源于投资者的市场经验,这种来源可以是基于历史数据所进行的概率统计,也可以是一些技术指标,甚至可以是来源于基本面分析,只要能形成一定数理逻辑并得到市场验证即可作为量化投资策略。
二是绩效具有可追溯性。量化投资是基于特定的交易模型,可以用历史数据输入模型进行绩效检测,从而计算出交易策略的胜算率、期望收益与风险度等,并且可以依据这些检测值来预判模型未来的收益表现。相反,基于经验主义的主观交易方式无法通过历史数据进行合理的检测,不具有可追溯性,也无法对以后的交易行为进行合理预估。
三是具有极高的纪律性。量化投资是根据经过历史验证的模型进行分析和交易,因而规避了主观判断带来的局限。而在具体操作时,大多采用计算机程序实现自动化交易,不会出现主观交易中经常出现的人性弱点。
四是在信息处理上具有主观交易不可比拟的优势。目前金融投资品种非常丰富,以国内商品期货市场为例,品种已经超过20个,加上每个品种有数份合约同时交易,可供选择的标的组合可以达到成百上千个,如果再考虑境外商品市场以及金融类市场,信息更是呈几何倍递增,处理如此海量的数据,显然依靠数学模型与计算机程序处理的量化投资比传统交易方式效率更高。
从特性上看,量化投资相较主观交易方式具有许多优势,所以自上世纪70年代诞生以来受到很多投资者特别是机构投资者的追捧。经过30多年的发展,量化投资已经成为国际金融市场主流的交易方式之一,包括对冲基金和共同基金等在内的大量机构投资者都采用量化投资方式进行资产管理。
关于期货量化投资模式的研究,在内容框架搭建上可以包含四个方面:一是交易策略模型,即将各种交易理念或方法转化为数学模型,方便利用计算机程序实现定量化操作,这些交易策略可以是单品种投机策略、套利策略、指数化策略或者各类组合策略;二是风险测算与管理,即通过一定的数量模型实现对各类风险点的测度以及动态管理,保障期货交易的安全性与高效率,主要的模型可以包括头寸分配模型、持仓风险监控模型、流动性风险管理模型等;三是用于提高执行效率的量化模型,比如通过计量工具测算交易成本、进行保证金动态管理、提高成交效率以及优化展期策略等;四是操作平台的研发,主要是指提高计算机与网络硬件构架、提升程序编写等软件支持。
量化投资主要应用在具有高流动性与历史数据丰富的金融投资市场,就期货市场而言,既可以在商品类品种也可以在股指等金融类品种上进行。本文将主要就股指期货的量化投资阐述我们所设计的一种单品种交易策略模型,使大家了解如何全面而详细地构建一个量化投资策略。
本文所介绍的股指期货量化投资模型称为趋势价值线,主要跟踪品种的趋势性投资机会。按照我们对市场的理解,价格运行的状态完全可以分为上涨趋势与下跌趋势(所谓振荡市是这两种趋势行情的包含形态)。上涨趋势可以分为三个阶段:牛市确认、牛市主阶段、牛市衰退;下跌趋势也可以分为熊市确认、熊市主阶段与熊市衰退三个阶段。在趋势的第一个阶段——确认阶段,行情走势完成初步反转,新的趋势形态比较清晰,作为趋势投资者可以开始介入;在趋势的第二个阶段——主升/主跌阶段,价格趋势形态的动能强劲,是趋势投资的主获利阶段;第三个阶段则为趋势衰退阶段,行情进入尾声,并出现新趋势的萌芽,此时为趋势投资退出阶段。
市场趋势的阶段划分
趋势投资量化模型的设计要点在于如何确立新的趋势、如何追踪趋势的发展以及评判趋势的结束。趋势价值线算法的原理是我们通过长期市场实践所发现的价格自我反馈规律,通过这种价格反馈规律可以基本确认新的趋势,并顺趋势发出跟踪信号,并在趋势衰退时提醒退出。
趋势价值线信号类型
量化投资的实现方式主要是计算机自主交易,由计算机追踪行情并根据算法自动下达交易指令。为了方便对计算机可靠性的监控,我们对算法进行了可视化处理,如上图所示,行情界面的上半部分是K线图,下半部分则是算法信号,发出多头信号时进行趋势性做多投资,发出空头信号时则提示进行趋势性做空投资。
下图是沪深300指数的趋势价值线算法显示图,由图可知,该量化投资模型能够实现对股指趋势的高概率追踪,在股指期货上市后投资者可以通过趋势价值线算法对市场风险状态进行评估,进而制定保值策略。
沪深300指数的趋势价值线信号
一个完整的量化投资流程不仅仅只是制定行情判断的算法模型,还需要对实现模式进行精细化设计。算法实现模式主要包含两个方面:其一是交易模块的设计,其二是交易系统平台的选择。交易模块是指在具体下单操作时在交易、风险控制以及品种选择上进行的模块化设计。在趋势价值线量化投资策略中,交易模块主要由入市、止损、退出、品种组合、历史验证以及头寸管理等部分组成,这些组成部分形成了系统化的操作方式。
入市策略
入市策略是指在股指期货合约上开仓时机、点位的选择,趋势价值线量化策略主要依据算法对新趋势确认阶段的追踪而进行开仓,在可视化界面上则依据信号颜色的变换进行。具体方式如下:
买入交易(做多):当股指期货价格信号由下跌趋势信号变成上涨信号时,在连续第二根信号棒的收盘处买入开仓,建立多头头寸后,当信号再次呈现下跌信号时,在第一根下跌信号棒的收盘处卖出平仓。
趋势价值线买入交易信号
卖出交易(做空):当价格信号由上涨信号变成下跌信号时,在连续第二根下跌信号棒的收盘处卖出开仓,建立空头头寸后,当信号再次呈现上涨信号时,在第一根上涨信号棒的收盘时买入平仓。
趋势价值线卖出交易信号
在开仓时点的选择上需要关注很多细节的处理:
第一,采用期货日线进行交易。
第二,连续出现两根同色信号棒时才开仓。在第一根信号棒出现时不进行处理,如当信号由下跌趋势的信号变为上涨的信号时,在第一个上涨信号出现时不进行买入开仓,当连续第二根信号棒仍为上涨信号时,才进行买入开仓。
第三,以第二根信号棒为准。这主要是因为,当行情进入趋势转折点或趋势不明确期时,价格会在信号转换临界点进行反复穿刺,导致伪信号出现。比如,当下跌趋势信号变为上涨信号时,第一根上涨信号棒后面可能再次出现下跌信号棒,因此,以第二根连续信号棒作为开仓点位可以降低伪信号带来的影响。
第四,在交易时(无论开仓还是平仓)以收盘价为基准进行操作,我们可以选择在收盘时、收盘前20分钟内、次日开盘10分钟内进行交易。
第五,选择收盘价为基准进行操作。这主要是基于以下两点原因:一是模型信号以收盘价为核心,模型效果的历史检验以收盘价进行测算,所以用收盘价作为操作价格使操作具有可检验性和连续性;二是在信号转换时,日内价格可能会发生对转变临界点的反复穿刺,导致频繁无效交易,而以收盘价为基准可以规避这种缺陷。
止损策略
任何分析模式的可靠性都是一个概率问题,世界上没有百分之百正确的方式。评价一个交易策略或模型是否有效,关键是看期望收益(期望收益=盈利交易平均盈利额×盈利概率+亏损交易平均亏损额×亏损概率),期望收益为正就是好的模型。
本方案并不排除会出现失真信号(信号与行情走势出现较大幅度的背离),因此,我们在交易模式中设置了止损策略,防止在信号背离时出现较大损失。
止损以风险额度为计算基准,即用分配给股指期货头寸的风险额度除以头寸数量得到止损幅度,再加到开仓价上就得到止损价格。例如,账户总资金为100万元,分配给股指期货交易的风险额度为总资金的2%,即在股指期货交易上设定的最大损失为100万×2%=2万,股指期货合约乘数为300元,假设开仓价格为3500点,开仓数量为多单2手,则止损价格计算为:止损价=开仓价格-分配的风险额度/(合约数量×合约乘数)=3500点-2万元/(2手×300元/点)=3500点-2万元/(600元/点)≈3500点-33点=3467点。
价格到达止损价位后进行平仓,止损后会遇到两种情形,其操作方式分别如下:
第一,止损后不再顺信号重新开仓。止损后将前一个开仓价格作为重新开仓的基准,如果发生止损后价格不再触及到原先的开仓价,则不再顺信号重新开仓,此时进行空仓处理。以多头交易止损为例,如下图所示,在连续两根上涨信号棒出现后开仓买入,8个交易日后价格触及止损位,进行卖出平仓,此后7个交易日内信号仍维持上涨信号,但价格在上涨信号保持期间未能重新站到前期买入开仓价之上,因此在这个时间段内不再开立新的多单。空头交易则相反,如果价格未能重新跌到前期开仓价则不再重开空仓。
止损后不再顺信号重开仓示例
第二,止损后再顺信号重新开仓。止损后将前一个开仓价格作为重新开仓的基准,如果发生止损后价格重新触及到原先的开仓价,则再次顺信号重新开仓。以多头交易为例,如下图所示,买入开仓后价格经历较长时间盘整然后回落,价格触及止损位进行卖出平仓,4个交易日后价格重新上涨到前期开盘价,此时重新买入开仓。空头交易则相反,当买入平仓止损后,如果价格重新下跌到前开盘价则再次卖出开仓。
止损后顺信号重开仓示例
注:当建立头寸后价格发生不利波动,产生浮动亏损,此后价格虽然还未到止损位,但信号发生转变,此时在新的信号棒收盘处平仓(如果还未收盘但到达止损位也进行平仓)
退出策略
在获利条件下,当期货合约价格信号发生转变时,在第一根转换信号棒的收盘价处进行平仓。如多头交易获利,当信号由上涨变成下跌时,在第一根下跌信号棒收盘价处卖出平仓以了结多头获利;在空头交易中,价格下跌获得盈利,此后价格信号发生转变,由下跌变为上涨,在第一根上涨信号棒收盘价处买入平仓以了结空头获利。
合约换月策略
持有期货头寸后信号还未发生转变,但合约成交量与持仓量急剧下滑,主力合约转移至其他月份合约,此时需要对头寸进行换月处理。头寸换月移仓处理非常简单,当某个交易日持仓合约交易量与持仓量大幅缩小,已经明显小于新的主力合约,此时可以进行换仓。我们将换仓日定义为D日,在D日临近收盘时平掉老合约上的头寸,同时在新的主力合约上开设新的头寸,新头寸与旧头寸的持仓交易方向和数量都相同。
换月前所交易合约
换月后新持仓合约
品种组合
由于是单品种趋势交易策略,所以不会涉及到品种组合的问题。
历史验证
历史验证是指将系统交易信号用于以往行情的模拟交易中,检验交易算法能否在历史走势中获得收益。量化投资相对主观判断交易的优势之一就是具有业绩可验证性和追溯性,能够通过以往行情数据来检验模型的可操作性、缺陷以及收益能力。
历史验证过程主要计算三个方面的指标:胜算率、期望收益率以及亏损度指标。胜算率是指在总交易次数中盈利交易的比重,该指标是一个比较重要的指标,指标值越大盈利能力越强,但胜算率高并不一定意味着能够实现长期收益。相对胜算率,期望收益率是一个更重要的指标,该指标是指盈利交易抵消亏损交易后的净收益状况,用公式表示为:期望收益=盈利交易平均盈利额×盈利概率+亏损交易平均亏损额×亏损概率,期望收益为正表示可以获得长期盈利的能力,期望收益为负或零则表示无法获得长期盈利。亏损度指标主要包括单次交易最大亏损额、最大连续亏损额,亏损度指标主要衡量交易毁灭率,指标值越高表示越容易发生重大亏损。
由于股指期货尚未上市,缺乏实际数据用于测算,所以本文以铜期货作为替代品种进行分析(不用标的指数价格作为近似替代是因为期货交易有换月处理)。采用数据时间段为2001年1月—2009年11月11日,仓位比重为30%。总共交易次数为54次(连续换月算作1次交易),盈利次数13次,胜算率24.07%;盈利交易中,平均盈利率为77.66%;亏损交易中,平均亏损率为-3.47%;期望收益率计算为16.06%,获得正向的期望收益率;单次交易最大亏损率为-11.11%,最大连续亏损率为-19.59%;9年左右的时间总收益率达到4672.36%,年复合收益率为53.29%。
铜期货模型测算数据
注:未计算手续费影响
铜单品种交易收益率
注:持仓期间按收盘价计算浮动收益计入收益曲线,如果只按平仓时点权益,即不计浮动权益制作收益曲线,则收益曲线更平滑、更真实
风险控制
期货交易风险控制的核心是头寸管理和交易流程的严格执行,本文主要从风控流程与头寸设定进行阐述。
风控流程:风控流程的原则在于决策、交易和风控三分离。由于采用系统化交易方式,决策由电脑程序根据行情演变发出进出场信号,所以决策完全做到独立,交易由操盘人员根据模型信号进行,风险管理的关键环节在于交易人员是否严格按照系统信号和事先设定的头寸管理方法进行操作。因此,可以设置风控员岗位对交易进行核对,察看交易员是否严格执行了交易方案。
在设计风控流程时可以设置三种岗位:交易员、风控员与交易主管。交易员根据主管授权进行下单操作,并要在盘后向风控员与主管提交日报表,风控员负责盘中定期监测头寸、盘后检测账户以及盘后向主管提交日报表,当盘中出现风险时向主管汇报,并根据主管人员指令进行风险处理。主管负责审查交易员与风控人员提交的报表,并决定是否继续向交易员进行交易授权。风控流程岗位也可以进行精简,将风控岗位和主管合为一个岗位。
从交易本身而言,风险控制的核心在于头寸管理。如果头寸管理不严、仓位过重,则无论交易系统本身胜算率有多高,账户最终都会出现严重亏损。头寸管理的目的在于限定交易亏损,使风险具有可控性。
制订头寸管理策略一般有两种模式:第一种是在交易之前就已经确定了总头寸大小,即设定总的保证金占账户资金的比重,然后是分配每个交易品种所占有的资金量,通过计算每个品种的波动性,得出单个品种所面临的风险,最后再加总所有头寸的风险;第二种方式是先确定账户所愿意面临的总风险,如设定账户最大亏损为总资金的5%,然后分配所交易的每个品种承受的风险,通过单个品种波动性和所承受风险的对比,可以计算出品种的头寸规模,加总后就可以得到总的头寸大小。