下面这篇文章是我春节期间抽空做的程式交易调研,欢迎交流)
第一章 程式交易简介
纽约股票交易所(NYSE)最近的报告显示,在2002年2月4日到2月8日这个交易周,每天的程式交易占成交量的比重平均为25.5%,达到3亿9千6 百60万股。程式交易(program trading)包括如下组合交易策略,买卖的股票在15只以上,总价值超过1百万。计算程式交易量是把买进的股票、卖出的股票和卖空的股票加起来。这些股票之和除以总成交量得到25.5%。其中,程式买进占总买进的比重为13%,程式卖出占总卖出的比重为12.5%。同期全球市场上,每天的程式交易平均为6亿7千7百万股,其中的约58.6%在纽约股票交易所,13.9%在美国以外的市场,27.5%在美国国内其他市场,包括Nasdaq,美洲股票交易所和区域市场。纽约股票交易所的程式交易中,成员公司代理客户执行的占程式交易量的58.1%,成员公司自营的占36%,另外5.9%是成员公司便利客户的,它们建立程式交易头寸以便于客户提出程式指令。成员公司执行的程式交易量中有9.5%是指数套利(index arbitrage)。另1.0%涉及非指数套利但与衍生产品有关的策略,它们与指数套利一起受纽约股票交易所规则80A(rule80A)约束。除了指数套利外,程式交易的策略包括客户便利(liquidation of customer)、便利的清算(liquidation of facilitation)、错误帐户的清算(liquidation of errors accounts)、风险的减小或对冲(risk modification/hedge)、期货换现货的股票头寸的清算(liquidation of exchange-for-physicals stock position)、事先的对冲(anticipatory hedge)等。所有其他的组合交易策略占89.5%。
纽约股票交易所从1988年开始要求成员公司每天报告各自详细的程式交易数据,据统计,2001年程式交易达到创记录得高,占交易量的27%。它在 2000年的比例为21%,在1999年的比例为20%,在1998年的比例为17%。可见,程式交易的使用比例在上升,这个趋势有助于解释为什么市场有时候在一个交易日内有突然大幅的波动以及为什么大机构常常拥有推动市场的能力。
一、程式交易的定义和形式
什么是程式交易(program trading)?程式交易有多种形式,纽约股票交易所NYSE把程式交易定义为包含15只或15只以上的指数成分股的组合交易,其价值超过100万,这些组合交易是同时进行的,简单的说,程式交易就是同时买进或卖出一篮子股票,也有少数程式交易是既买进又卖出股票的混合型程式交易。同时买进一篮子股票被称为程式买进,同时卖出一篮子股票被称为程式卖出。程式交易主要是大机构的工具,它们同时或几乎同时买进或卖出整个股票组合,而买进和卖出程序可用来实现各种不同的目标。程式交易的对象涉及在纽约证交所的股票和它们相应在芝加哥期权交易所和美洲股票交易所交易的期权,以及在芝加哥商品交易所交易的标准普尔 500指数期货合约。这些金融产品的交易根据的是纯粹它们价格之间预先决定的关系,而不是任何基本面的因素,如各公司的收益、股息或增长前景、利率变动、货币波动、政策行为等。
程式交易可分为套利型(arbitrage)和非套利型(nonarbitrage)两类,套利型的程式交易即指数套利交易,它包括所有采取识别指数套利或指数替代(index substitutes)的策略的交易。指数套利利润来源是股票指数期货与现货的实际价值关系对理论价值关系的偏离,指数套利是程式交易的一种形式,其他形式的程式交易的例子包括便利的清算、EFP(期货换现货)的股票头寸的清算、组合管理,而组合管理又包括组合重组(portfolio realignment)和组合清算(portfolio liquidation)。尽管程式交易占总成交量的比例越来越大,但指数套利在程式交易中的比重不断下降,1988年超过一半,1995年降到1/3, 1997年第四季度为17%,在交易所成交量中仅为3%。1997年10月21日的程式交易各组成部分为,以指数套利为主的受规则80A约束的交易占 16%,不受规则80A约束的程式交易占84%。不受规则约束的交易中,组合重组占35.02%,风险的减小及对冲占5%,组合的清算占2.57%,期货换现货的交易占2.35%,客户便利占0.84%,便利的清算占0.04%,其余的交易有54%。
由于信息工具的普及,市场的无效性小了很多,与10年前相比,现在指数套利的利润就小了很多,要获得利润就需要更大的成交量和更复杂的模型。而且不仅是模型重要,同样重要的还有很强的计算能力、很低的交易费用和很低的资金成本。因此指数套利比例必然下降,其他策略比例必然上升,其中主要的一种程式交易方法被称为配对交易(paired trading),它利用计量经济模型识别出市场上被高估和低估的股票,卖出高估的股票,买进低估的股票,然后用期货对冲这个程式交易的市场风险,虽然它名为配对交易,但实际上买卖股票的数量并不一定平衡。在1997年,配对交易的股票占全部的程式交易的30%。
从技术结构角度看程式交易系统,它利用计算机硬件和软件来设计、实施和管理金融市场中的投资头寸,包括用网络设备提供金融市场实时的价格数据,这些价格和交易成本数据一同输入计算机后经专业软件处理,看是否有交易机会。根据计算机程序发出的信号自动交易,通常是从交易者的计算机直接进入市场的计算机系统,并自动执行。程式交易公司用大量的计算机模型来设计与期货对应的不同的股票组合。例如,公司可以运行程序识别与期货关系最密切的股票组合,从而最大化潜在的利润,最小化程式交易的风险。换句话说,该交易发生在两个市场满足特定的条件的时候,就是这个组合中的股票相对于期货是价值高估或低估的。不过,纯粹的指数套利现在在程式交易中只占很小的比重。公司还可以交易符合特定波动性和流动性特征的股票。套利型和非套利型交易的共同之处认为市场存在均衡,计算机的高速计算能力能发现市场上的非均衡,从而从非均衡到均衡的过程中获利。实际上,程式买进和程式卖出与计算机智能没有什么关系,所有的程式化交易能手工完成,只不过非常复杂,所以需要计算机。
程式交易开始于1980年代初,那时大机构开始采用指数套利策略,也就是利用股票及其衍生证券的价差获利。组合保险(portfolio insurance)也在1980年代初流行起来。组合保险指的是使用股票指数期货和期权来保护股票组合对付市场下跌。组合保险程序使得大机构能在一个保险模型的特定参数达到某个预定值时卖出大量的股票。据估计,在1980年代中期,有大约价值九百亿的股票组合在组合保险的保护下。有人认为1987年的市场大幅波动内在的重要原因是组合保险和指数套利。不过,组合保险交易在1987年后就停止了,1988年交易所也颁布限制程式交易的规则80A。
现在,程式交易的形式有多种,一些程式仍然是指数套利。另外,一些对冲基金(hedge fund)用到程式交易。所谓的“市场中性”(market neutral)对冲基金,就常常构造多头/空头组合,根据某个特定的变量,如市盈率P/E,在组合中包括了买进一篮子股票同时卖出另一组股票。他们持有这些组合的时间常常在一个月或一个季度。市场中性投资指的是能中性化特定市场风险的投资策略,它根据金融工具之间实际或理论的关系,持有相互抵消的多头寸和空头寸,目的是限制由于宏观经济变量或市场情绪变化导致的价格系统性波动的风险。与传统投资的利润来自证券的走势不同,它的利润来源是证券之间的关系。对于采取市场中性策略的交易者来说,他们卖空证券,而共同基金(mutual fund)一般只做多。市场中性化策略就是要利用现在和未来的无效定价。相关证券之间定价的无效性的来源是金融市场的结构性特征。利用市场的无效获得的投资绩效可以比市场平均的收益-风险关系要好。
下面将讨论的数量交易策略,这种策略也象指数套利那样有期货交易套利的成分。多数的程式交易牵涉到非套利的自营交易策略,公司采取这种策略目的是从各种股票的短期定价不符中获利,或者是满足机构客户的买卖要求。非套利型的程式交易,或称为组合重组,是对资产组合进行调整,卖出不要的资产,同时买进想要的资产。其中的一部分属于动态对冲策略,它保护自营的股票衍生产品的头寸。
数量程式交易策略(Quantitative program trading strategies)
一些最活跃的程式交易公司根据市场内在运作和股票之间历史和理论上的关系的复杂的模型形成买进和卖出大量相对小的股票组合。这些模型评价某些股票为价值高估或低估的。一些公司也买进和卖出期权和期货作为策略的一个部分。但是这些公司坚持这些交易不是标准的指数套利,例如,一家公司可能买进相对股票价格贴水的期货或者卖出升水的期货,但是这些交易的规模和时机并不一定与股票组合相匹配。另外,许多股票组合比期货交易的指数要小得多且局限在特定的子市场。其他公司没有把衍生工具作为数量程式交易策略的一部分,但是可能用期货(或期权)对冲,以便降低公司各种自营交易策略产生的总风险暴露。现在,数量策略与基本分析、技术分析并为股票投资分析的三类方式。
风险或蒙住眼睛的出价程式(“risk” or “blind bid” program)
在蒙住眼睛出价中,基金经理向经纪公司请求出价,来买进或卖出股票组合,价格根据市场收盘价。请求时不指明证券,但提供关于组合的足够信息,以便经纪公司加入出价,这些信息如组合追踪标准普尔500指数的紧密程度,这些股票的流动性,这些股票所处的行业。如果一个经纪公司赢得出价,基金才通知经纪公司股票组合中的股票的名称(通常在市场收盘后),这就是“蒙住眼睛”的意思。然后经纪公司将看他的存货满足对该基金的组合交易的程度,他将隔夜或在第二天做哪些交易来满足与基金的交易。使用这种策略的公司坚持,因为基金没有事先讲明交易组合的准确组成,所以公司不会试图买进或卖出特定的证券以防后来的交易。而是,公司可以买进或卖出符合基金确认的一般性质的股票组合来为后来的交易提供头寸准备。
动态对冲(dynamic hedging)
指的是卖出股票组合来对冲在指数衍生工具的头寸(股指期货和交易所交易或场外交易的指数期权)。由于指数期货执行较快,交易成本较低,因此卖出指数期货是日内调整股票对冲优先考虑的工具。他们卖出期货用来对冲指数产品的风险暴露。
套利交易一般不推动市场。有许多非套利交易程式,它们交易大量的股票,但是没有对冲。这些交易往往会推动市场。最常见的程序规模在1千万到1千5百万。今天的市场有大量程式交易,根据纽约交易所的统计,程式交易占交易所日交易量的20%(真正的指数套利只占一小部分)。每一天都会有点不同,有些时候,一个规模较小的程序交易只能推动指数上下40点,有些时候一个大的卖出程序能很快打压指数超过100点。
二、指数套利程式交易的原理:
程式交易的类型中最为人熟知的是股票对期货的指数套利交易,它从市场短期的无效中赚取利润。市场无效指的是市场偏离它的合理(或者说理论)价值,或者是两个相关的市场或金融工具偏离传统的关系或差价。
若股票的价值(例如标准普尔500指数的成分股)偏离它与标准普尔500指数期货的价值关系。根据这种偏离进行的交易是无风险的,不过偏离通常是很小、很短暂的。程式交易的公司必须用一些复杂的技术识别出这些交易,并且交易大量的资本,至少1千万,在市场的一边买进,在另一边卖出,从中获利。每天CNBC 列出公平价值以及程式买进和卖出的水平。
1、不考虑交易成本下的指数套利
为了认识股价指数期货价值与股市有什么样的联系,这种联系如何形成程式交易的基础。我们来分析期货相对股票的公平价值的概念以及它的意义。为便于理解,我们暂时先不考虑交易中的成本。
股价指数(现货市场)和股指期货之间存在数学关系。它们之间的价格差被称为升水,当升水的数值过大或过小时,程式交易者将买进股票,卖出期货(这被称为买进程式),或卖出股票,买进期货(这被称为卖出程式),使得现货和期货之间的关系回到原来的关系。
怎样算是过大,怎样算是过小的呢?现货和期货之间的价格差如何?理论关系即所谓的公平价值是根据下面公式计算的?
期货的公平价值(FVF) = U[1 + I(T/365)] - D
U =现货指数值
I =利率
T =期货合约的到期时间(以天表示)
D =股息值
该公式背后的逻辑如下:股指期货的价值为现货指数的当前值加上借款买指数成分股的成本减去你作为股东获得的股息。所有这些值要用时间价值表示。例如,标准普尔500收盘价为1400,短期利率为6%,指数期货还有25天到期,期间无股息支付。那么期货的公平价值为1,405.75 (1400[1 + .06{25/365}] - 0)。也就是说,第二天开盘时期货的公平价值应比股指前一天收盘值高5.75 (1,405.75 - 1,400)点。若在交易日,市场上升50点到1450点,那么公平价值上升到1455.96即比目前的现货指数值高6点。可见,指数值越高,它与期货的公平价值之间的差距越大。
一般来说,股指期货的价值比股指现货值要大。但是,当它们之间的差距很大时,也就是说,期货价格远高于它的公平价值,那么程式交易者预期到两者之间的价格差将回复正常水平,将执行买进程式。反过来,当它们之间的差距很小时,也就是说,期货价格远低于它的公平价值,那么程式交易者认为期货价值被低估,股票价值被高估,因此将执行卖出程式。结果都是期货价格与现货价格之间的关系回到公平的关系上。
现货值和期货值关系的偏离一个最基本的原因是期货的交易成本较低,交易期货较便宜。例如,如果有一条牛市的消息,动作最快的交易者将迅速买进期货,这将推动期货价格向上,但股票价格并未立即受到影响。现在期货的价格高于公平值,程式交易套利者将卖出相对高估的期货,买进相对低估的股票来对冲。事实上,由于套利者卖出高估的期货,买进低估的现货,可见套利交易有抚平市场的作用。因此整个过程是,先是消息冲击交易成本较小的期货市场,接着触发指数套利程式交易,然后程式交易使期货市场与现货市场的达到平衡。
比如,期货价格高于公平价值两点,交易者在卖出期货合约的同时买进股票,头寸就可以处于中性,几乎没有风险,预期两个市场回到理论关系要求两点消失,从而获利。
指数期货合约一点的价值为250元,两点的不同意味着交易一份期货将得到无风险的500元利润。如果这足以抵偿所有的成本,比如差价和手续费,那么计算机将指示交易。
回到公式,很明显,利率越低,公平价值越低。但是,因为利率水平对我们每个人都不一定相同,所以程式交易不一定适用于所有人。例如,假设前面的例子中一个大的投资银行利率为6%,如果你的利率为7%,那么公平价值为1406.70,比前面的例子高出一个点。
上述关系有时也被表述为持有成本和基差的关系。所谓基差,指的是期货价格与现货价格之差。买进期货和买股票相比,在交割时间上期货是到期才交割,持有成本指的就是买进股票到期货到期这段时间放弃的收益,或者说持有股票的机会成本,它等于股票在这段时间经风险调整后的必要收益减去股息再投资收益。
预期的持有成本和基差之间有密切关系。我们举个例子,假设股价指数只包含一只股票。1月21日该股票的现货价格为50元,指数相应为50,从1月21日到 4月21日这后三个月预期的持有成本为每股1.50元,如果4月份到期的股指期货合约目前的价格52元,那么2元的基差(52-50)超过预期的持有成本 1.50元。套利者将以52元的价格卖出一份4月份期货,以50元买进一份股票现货。
套利者这样操作的原因是他相信4月份期货的价格将下跌到51.50元(即现货价格加上预期的持有成本)。在51.50这个价格,他将买进一份4月份期货合约来平仓他的期货头寸。他可获得的每张合约的利润为0.50元,即期货合约的卖出价52元减去平仓该合约的成本51.50元。
当市场方向不明确或易波动时机构投资者常常用到对冲技术。套利者持有的现货多头是用来对冲他的期货空头的,以防股票价格的变动。例如,假设套利者卖出期货并买进股票之后4月份期货价格和现货价格都立刻上升了3元。这时,4月份期货价格上升到每张合约55元,现货价格上涨到每股53元。在价格变化后,基差为 55-53=2元仍然比预期的持有成本1.50元大0.50元。所以套利者预期4月份期货价格将下跌到每张合约54.50元。在54.50元这个价格,他将平仓掉在期货的空头寸,每张合约的损失为2.50元(52-54.50)。但他在现货头寸上每股盈利3元(53-50),因此他的净利润为0.50元(3-2.50),与前一种情况相等。通过在现货市场对冲,套利者能保护预期的利润不受未预期到的股票价格波动的影响。我们来看另一种可能,假设4月份期货的价格为51元,这时基差为1元,小于预期的持有成本1.50元。套利者将卖空股票,买进4月份期货。套利者预期4月份期货的价格将上升到每股 51.50元,在这个价格,他将卖出期货合约,每张合约盈利0.50元(51.50-51)。同样的,他在现货的空头寸能保护预期利润不受股票价格波动的影响。
我们实际上交易的股指期货的标的股票指数包含了一篮子股票。在原理上,持有成本的计算是相同的。但是在实际操作中有两个重要的不同。首先,因为,股票指数表示一个相当分散的股票组合,而且指数套利对冲的是股票组合未被预期的变动,所以这些交易相应的贴现率为无风险的收益率,典型的无风险利率为短期货币市场工具的收益率。另一个不同是要计算持有成本,套利者就必须了解指数包含的所有公司的股利政策。这些计算必须迅速切准确地做出,因为机会稍纵即逝。
因为随着套利组合中的股票数量增加,监视和交易的成本也上升,所以交易者一般不会了解指数包含的所有股票,而是选择出一部分股票,它们的综合价值在过去与指数有密切的关系。因此由于部分股票的组合不能与指数完全匹配,所以交易者承担有额外的风险。交易者为了避免组合增大带来的了解持有成本的增加,还是愿意承担这种额外的风险。当然,使用计算机程序,在获得新的信息后,能降低更新持有成本数据的费用。因为指数套利通常用计算机辅助交易技术,所以纽约证交所把它作为一类程式交易。程式交易是一种能发现现货市场和期货市场的交易机会同时成本较低,效率较高的办法。
当然,程式交易远比这里讲的复杂。实际应用中,有许多变量使该过程复杂化。从事程式交易的公司在不同的价格水平执行买卖指令,这主要取决于两个因素,一是它们各自的货币成本,即用于买股票的借款的利率,二是它们识别市场中的无效的特定的算法。
不要混淆买卖程序的理论价格和我们这里的公平价值和程式交易升水额执行水平。理论得出的公平价值和买卖程式的价格不能用到实际中。这里的升水额水平考虑到清算成本,正常情况下买卖股票的出价和要价的差额的预期值与实际值之差,以及交易所的交易限制对计算机执行买卖股票的指令的影响,因此程式买进通常比理论值较高,程式卖出通常比理论值低。即使你发现有这么一个获利机会,因为买进所有需要的股票和缴存期货交易所需的保证金要用大量的资金,你也可能实现不了。下面进一步展开。
前面谈到的理论没有考虑两个重要因素:手续费(commission),预期的交易成本与实际支付的交易成本的差额(slippage),后者通常是证券的出价和要价之差变化导致的。它们对交易公司的成本有很大的影响,从而影响买卖的升水水平。这些变量构造了不同的交易程序和这些程序触发的不同水平,这些水平还是比较接近的。尽管指数套利的原理不难,但是决策用到的精确的交易模型和算法是各公司的秘密。
预测执行程序的升水额很难的,原因是各公司付给银行的利率不同,所以不是每个公司都用完全相同的水平。不过实际上个公司的资金成本的差别不大,几乎所有公司的买卖执行水平都很接近,但更重要的是当升水额开始移向执行水平时它通常很快地通过它,很明显,程序将被触发。例如,如果我们的程序设置的卖出位置在 6.32,升水额触及它且继续下降到5.37才到底,那么很明显,所有的交易者的卖出程序都将执行。
2、考虑交易成本后的指数套利
由于每个人都能利用这些交易机会,所以基差与持有成本较大的偏离不会持续很久。但是,考虑到交易成本,基差与持有成本有较小的不同。
若用图表示则有,交易成本线在持有成本线的两边。虚线为套利边界。实线和虚线的垂直距离为交易成本。如果基差相对于持有成本的偏离保持在两个边界内,那么套利交易不发生。如果基差移动到边界以外,这时有套利发生。套利的结果是基差回到边界内。
在实际应用中,借款和贷款的利率有所不同。卖出套利程式(卖空股票,买进期货)所用的贷款利率往往是市场贷款利率的一个折扣。同时,在执行套利程式时,不同的套利者面临的是不同的有效价格和数量,承担不同的交易成本。交易成本是买进或卖出证券发生的成本,包括经纪人的佣金和差价(中间商买进和卖出证券的价格之差)。对股票期权来说,差价为执行价格与市场价值之差。考虑这些实际因素,市场上并没有唯一的公平价值,存在的是一个公平的价值区间,在这个区间之外就有套利。而且,公平价值区间取决于各套利者的约束和机会。
套利交易的上界Fu = 期货的出价与要价之差的1/2+股票交易出价与要价之差+ 股票指数(1+r T/360) - 股息+佣金
套利交易下界Fl = -期货的出价与要价之差的1/2-股票交易出价与要价之差+ 股票指数(1+r T/360) - 股息- 佣金
这里的出价与要价之差在纽约证交所为1/16美元。一买一卖股票指数包含的股票的所需的差价成本相当于(2 x 30 x$1/16)15个指数点。一买一卖股票指数包含的股票的所付的佣金相当于(2 x 30 x$0.02)4.8个指数点。一买一卖股票指数期货所付的佣金为$15,相当于1.5个指数点。期货到期前收到的股息进行再投资。
举个例子,如果公平价值为8.50,买进程序的升水额为10.80,卖出程序的升水额为6.40,换句话说,当指数期货高于现货10.80时期货是高估的,股票是低估的,程式交易者将买进股票,卖出股指期货。当指数期货比现货只高出6.40时,期货是低估的,股票是高估的,程式交易者将卖出股票,买进股指期货。由此可见,公平价值本身并不重要,关键还是买卖的升水额。
还有一个问题是指数套利的持有期,1990年做的一项研究表明约70%的套利头寸在到期前就平掉了。提前平掉的时间是在原先的错误定价发生反转的时候。在期货到期的时候,现货价格和期货价格是相同的,而提前平掉就不是纯粹的套利了,它也就存在一定的风险。
3、程式交易的风险
许多投资者错误的以为程式交易象指数套利一样是没有风险的。记住因为程式交易用到标准普尔500股票指数期货合约,交易它就象交易其他商品期货合约那样是有风险的。尽管标准普尔成分股中一些公司被认为是蓝筹公司,但交易这些股票也有风险,有些时候,交易所执行程式交易指令的预期出价和要价间的差额与实际的差额之间的差别的风险会很大。风险主要有两类。
执行的时滞:尽管纽约交易所有先进的电子指令达到路线系统,名为超级D.O.T.(superD.O.T.),不过指令的执行仍需要时间,在指数套利指令的到达与它包含的现货和期货指令的执行之间,价格可能发生变化。当市场波动性增大时差价的预期值与实际值之差自然增大。由于同样的原因,现货和期货指令可能不能同时执行。卖出程式的推迟也可能是由于证交所的一个规定生效,即卖空在价格上升时才能执行。如果市场比较拥挤或证交所的断路器生效,那么指令的执行也会推迟或暂停。指数包含的股票越多,风险越大;指数成分股的流动性越大,风险越小。
第二类风险是利率的不确定:期货实行“盯市”的结算制度,这要求套利交易中的期货头寸要随利率的变化做出调整。如果未来的利率不确定,那么这样的调整就是不可行的,套利也就不是无风险的。
4、指数套利的变化形式
上述讨论局限于标准形式的股票指数期货套利,即由期货价格偏离公平价值触发的双方向套利,同时交易股票和股票指数期货。还有很多变化的形式。一个例子为单方向套利,它指的是选择股票组合或者是与之等价的股票指数期货加上LIBOR头寸的组合。如果期货价格高于公平价值,股票相对便宜,但如果期货价格低于公平价格,那么股指期货加上LIBOR相对便宜。另一个例子为两个指数期货之间的套利,如果道琼斯指数比标准普尔指数贵,那么套利头寸为卖出道指期货,买进标准普尔指数期货。反之则做相反的操作。
三、美国对程式交易的限制
1、为什么要限制程式交易
赞成程式交易的理由包括更有效和有更多的机会,结果就是更大的利润和更小的风险。而反对程式交易的理由是程式交易挤着交易带来的更大的风险。
纽约股票交易所前总裁说,“每天平均有25-33%的成交量来自程式交易,但是当市场存在较严重的错误定价现象时,程式交易的成交量会超过50%,即大约为七千五百万股。”如果所有这些程序同时发出指令,同时银行供给他们足够的资金,那么市场危机就会自我实现。
许多分析师认为,尽管计算机辅助的套利不是下跌的起因,但是它们加速了下跌。套利者利用股票期货和股票之间的短期价差获利。由于所有的套利者都处理者相同的基本信息,有利可图的价差能立刻在它们的计算机中反映出来,并且由于套利者赚取的是很小的价差,所以它们必须进行大量的交易才值得做,在很短的时间所有交易加在一起,这就强有力地改变股票的价格。尽管从长期看,如几个星期或几个月,套利稳定市场,但短期看,如一个交易日中,套利能导致很大的波动。而且,计算机快速的计算会扩大这些效应。在1986年9月11日星期四的指数86点的下跌中有20%是来自计算机辅助的套利。
程式交易受到许多批评,最著名的一次是它被认为是1987年股灾的元凶,对市场下跌有潜在的威胁,这导致交易所做出断路器的规定。在1987年股灾后,纽约证交所制定了规则80A,当市场波动很大时限制程式交易。这个限制的目的是阻止会导致市场趋势的交易,同时鼓励那些能平衡市场的交易。
2、限制的内容
概括的说,交易所在50和100点的指数点限制跨市场的交易(即期货和现货市场之间的计算机化的程式交易或套利交易),主要是指数套利。纽约证交所的限制只适用于与衍生产品有关的计算机辅助的程式交易。一般所指的限制是是就是这种名为项圈的限制,当价格走向更极端的时候,交易所会暂停交易。这个限制在 1999年作了修订。
1)旧版的这些限制包括:
程式交易项圈collar——50点,当目前的道琼斯工业平均数指数比前一天收盘指数高出或低过50点时,实施交易项圈。这项限制的有效性直到当日交易时间结束或者指数回到前一天收盘指数上下25点的范围。这个限制下,程式交易卖出指令必须在指数上升时才能执行。而买进指令必须在指数下跌时才能执行。这使得程式交易变得困难,但还是可能的。如,可以用卖出自己已有股票代替卖空股票。
程式交易让位Sidecar——道琼斯工业平均数下跌100点,程式交易停止执行至少5分钟。这就象这些交易退出主车道,让位给其他交易。5分钟后,交易所才开始清算程式交易的指令,但这些交易仅当它们不导致市场有趋势时才执行。
程式交易断路器Circuit Breaker——道琼斯工业平均数下跌350点。暂停交易:暂停交易30分钟。如果市场下跌350点发生在下午3:30分,那么交易所结束当天的交易。
程式交易断路器Circuit Breaker——道琼斯工业平均数下跌550点。暂停交易:暂停交易1个小时。如果市场下跌550点发生在下午3:00分,那么交易所结束当天的交易。收盘价指令被取消。
2)新版的限制为:
程式交易项圈,当道琼斯工业平均数较前一天的收盘指数上升或下跌190点,那么交易所暂停执行程式交易直到道琼斯回到90点内或直到交易日在下午3:00结束。在2001年这个限制共执行了26次,在2000年有35次。程式交易让位规定在1999年2月16日被取消。
程式交易断路器,如果道琼斯工业平均数下跌10%,纽约证交所的交易暂停60分钟。如果道琼斯止跌回稳10%,则限制取消。如果道琼斯工业平均数下跌 20%,纽约证交所的交易暂停2小时。如果道琼斯止跌回稳20%,则限制取消。如果道琼斯工业平均数下跌30%,纽约证交所全天的交易暂停。如果道琼斯止跌回稳30%,则限制取消。
3)对限制的批评
断路器对市场行为有反馈效应(feedback effect):当价格接近停板时,由于交易者赶着在停板前执行他们的交易,所以价格更可能触及停板。这使得投资者在最不恰当的时间锁定在头寸。另外,如果国内市场关闭,交易者会把资金转移到国外。而当交易能转移到无暂停交易的市场上时,施加断路器限制变得很困难。
4、1997年10月27日的程式交易
1997年10月27日和28日,美国证券市场暴跌,下跌的绝对量创历史记录。在27日道琼斯工业平均数下跌554.26,收盘在7161.15,跌幅为 7.18%。27日这一天是1988年规定跨市场的断路器以来首次实施,在下午2:36,道琼斯工业平均数下跌350点,触发股票、期权和指数期货市场同时暂停交易30分钟。交易在3:06重新开始后,价格迅速下跌到触发550点的断路器水平,时间是在3:30,当天的交易因此提前结束。据对样本股票交易的调查,最大的20个卖家中,8家是交易自营帐户的综合券商,11家为共同基金,9家为机构,9家机构中的4家为对冲基金。最大的20个买家中,10家是交易自营帐户的综合券商,2家为共同基金,6家为机构,6家机构中的5家为对冲基金,另有2个买家是上市公司自己,它们买回自己的股票。共同基金的策略相互之间有很大的不同,一些基金买卖一两只股票,一些基金买卖多只股票。
用自营帐户卖出最活跃的综合券商中有一些券商使用了程式交易策略。正如下面的讨论,多数的程式卖出牵涉到非套利的自营交易策略,公司采取这种策略目的是从各种股票的短期定价不符中获利,或者是满足机构客户的买卖要求。程式卖出中的一小部分属于动态对冲策略,它保护自营的股票衍生产品的头寸。总的来说,在市场下跌关键的那一段期间程式交易的影响比较复杂。在10月27日下午程式交易在一些时期达到高峰,如从2:30到2:36,程式卖出占总成交量的27%,占标准普尔500成分股成交量的40%。这相当于1989年10月13日市场下跌期间程式卖出的高峰水平。总的来说,程式卖出对10月27日的下跌只有适度的影响。
指数套利交易所委派的调查小组对程式交易数据的整理表明,指数套利在10月27日的卖出程式中只占小部分。例如,从1:50到2:36,指数套利在全部的程式交易中只占8%。同期另32%的程式交易涉及下面讨论的数量交易策略,这种策略有期货交易套利的成分。其余的程式卖出为非套利型。从3:06到3:30,,非套利型程式交易占全部程式卖出的55%以上。而在过去的市场下跌中,指数套利在程式卖出的比重要大得多。如1989年10月13日,指数套利在全部程式卖出中所占的比重约为67%。10月27日指数套利比重较小与程式交易结构的长期变化趋势是一致的,全部程式交易在纽约证交所总成交量中所占的比重在上升,但指数套利在程式交易中的比例下降。指数套利比例下降的原因与纽约证交所规则80A(c)实施的限制有关,也有其他因素,如下面将讨论的非套利程式交易策略的上升。
数量程式交易策略 在10月27日下午,使用数量程式交易策略的公司净卖出股票,但是他们相对严格地遵守模型,市场下跌幅度和断路器门槛的临近都没有使他们增大卖出程式的规模或频率。换句话说,交易因断路器而暂停的可能性并未作为他们的数量模型的一个因素。
风险或蒙住眼睛的出价程式一些活跃的程式交易公司也表明他们在27日卖出股票组合是风险或蒙住眼睛出价程式的一部分。尽管在27日下午用这种策略的公司净卖出大量的样本股票,但是公司坚持这种策略是设计成市场中性的,因为他们卖出一个组合通常由买进另一个组合来抵消。使用这种程式交易的公司也指出在27日下午他们净卖出股票,但是市场下跌或断路器门槛的临近并没有使他们增大卖出程式的规模或频率。
动态对冲对程式交易数据的整理表明,尽管一些公司的确卖出股票组合来对冲在指数衍生工具的头寸(股指期货和交易所交易或场外交易的指数期权),但是这类交易相对较少。这与1989年10月13日市场下跌期间的程式卖出有很大的不同,那时当价格在最低点时到达交易所的动态对冲卖出程式规模有两百五十万股。调查小组不知道10月27日的动态对冲中有多少涉及卖出指数期货。但一家程式交易公司表示它在2:30后从用股票组合来对冲转到用指数期货来对冲。因为期货更为经济。另外,一些在当天净卖出标准普尔500期货的大交易商是那些交易场外和交易所交易的指数衍生工具的公司。他们卖出期货的大部分是用来对冲指数产品的风险暴露的。
指数期货在10月27日的交易时段中有些时候,股指期货相对股票价格有很大的贴水。然而,在发生第一次断路后3:06重新交易前,期货对市场下跌的影响并不大。在 3:06,期货价格的迅速下跌有很强的公告板影响,向市场交易者发出信号,价格将很快跌到第二次断路器的水平。但正如前面讨论,从历史来看,程式交易把期货市场的卖出压力传到股票市场通常并不大。但是,市场在3:30提前收盘前股票价格的确跟随期货价格下跌,且跌得更低。通过访问从事动态对冲的公司,调查小组发现在3:06后期货市场至少部分的卖压可能是从卖股票转到卖期货的,目的是在第二次断路器关闭市场前以经济且及时的方式调整对冲。
五、套利型程式交易咨询公司programtrading和非套利型程式交易公司BNP/CooperNeff:
1.programtrading
programtrading是一家套利型程式交易咨询公司。从1982年4月21日标准普尔500股票指数开始在芝加哥商品交易所交易的时候,该公司就记录下带来买进程式或卖出程式的每次升水额变动,同时记录下道琼斯工业平均数,平均数的30只成分股,标准普尔500股票指数以及标准普尔500只成分股相应的上或下运动,目的是看买进或卖出程式是否真正推动道指25点或更多的点,以及推动哪些平均数成分股最多。如果道指没有变动,他们就忽略这时的升水额变动。他们指出,有些人在程式不存在或程式交易对道指或其他市场完全没有影响时,却指责道指变动的原因是程式交易。
前面已经介绍过,升水额或价差指的是交易最活跃的标准普尔500指数期货合约(spoos)减去标准普尔股票指数现货的差值。这个差值的范围通常在17到 1之间,随着期货合约到期慢慢缩小,而程式交易就是以这个差值为基础的。当升水额上升到一个特定的执行水平时,触发买进程式。大机构在这时在纽约证交所买进标准普尔500指数的成分股,同时在芝加哥商品交易所卖出相同数量的标准普尔500指数期货。当升水额下降到一个特定的执行水平时,触发卖出程式。因为这些交易是利用升水额回到正常或者说公平价值前获得的,所以这些交易几乎没有风险,这类程式交易被称为指数套利并且很普遍。但在每天的程式交易中只占不到 10%。
通过积累过去程式买进或卖出推动道琼斯工业平均数和标准普尔600股票指数的准确条件,programtrading公司就能预测明天程式买进或卖出最可能发生的条件。而且,由于他们知道过去买进或卖出程式中哪些成分股移动得最多,他们就能准确预测明天哪些成分股移动得最多。当然他们不能保证过去的情况在未来某个推测的时间再次发生。许多交易日有5次或6次道指或标准普尔500应发生移动,他们的时间预测的标准差仅约为6分钟。
他们给出预测的次数,通常一天有5到6次,有时候没有推动道指或标准普尔500。通常在这些时候价差上升到当天的最高或下降到当天的最低,但没有继续下去,因此没有触发任何程式,这时他们的预测是错的。但是通过预测,客户能限制亏损的头寸。例如,他们预期程式卖出发生在10:35左右,并且准备在那时买进股票,卖出买权,价差缩小,但没有触发任何程式,交易者也没有任何损失。
在他们的报告中,客户将提前知道程式交易推动市场向哪个方向运动,以及它最有可能发生的时间,然后就可以在接近这些时间的时候建立标准普尔的头寸。例如,如果他们的计算机预测升水额在10:35分最低,在1:55分最高,那么客户可计划在这一天交易指数。
在开市之前,他们已经知道当天程式买进或程式卖出的升水额的准确水平,这是他们提供的公共信息。但是要想提前知道在什么时间将触发这些水平需要较复杂的计算,因此需要收费。
2BNP/CooperNeff
BNP/Cooper Neff是巴黎国民银行属下的一家顾问公司,由于Andrew Sterge的努力,它逐渐成为世界最活跃的程式交易商之一。
Andrew Sterge的法宝是他用6年时间调试的程式交易模型,他负责Cooper Neff的自营交易,管理着BNP的套利部门交给他的数以百亿的资金,他甚至不知道如何阅读资产负债表,但是每天却买卖着百万计的股票。他认为能打败市场的唯一方式是寻找市场无效的机会,交易大量的股票。
他说,识别价值低估和高估的股票还远远不够。因为高估的股票往往同时具有很高的波动性,所以不能仅仅停留在买进低估的股票、卖出高估的股票这个层次,还要分析数学方面的其他性质,如波动性和流动性。把市场内在的运作方式和股票之间历史和理论上的关系编程计算机语言,由计算机决定该买进和卖出的股票。
作者:蔡伟雄 蔡伟宏
2002.02.15
第一章 程式交易简介
纽约股票交易所(NYSE)最近的报告显示,在2002年2月4日到2月8日这个交易周,每天的程式交易占成交量的比重平均为25.5%,达到3亿9千6 百60万股。程式交易(program trading)包括如下组合交易策略,买卖的股票在15只以上,总价值超过1百万。计算程式交易量是把买进的股票、卖出的股票和卖空的股票加起来。这些股票之和除以总成交量得到25.5%。其中,程式买进占总买进的比重为13%,程式卖出占总卖出的比重为12.5%。同期全球市场上,每天的程式交易平均为6亿7千7百万股,其中的约58.6%在纽约股票交易所,13.9%在美国以外的市场,27.5%在美国国内其他市场,包括Nasdaq,美洲股票交易所和区域市场。纽约股票交易所的程式交易中,成员公司代理客户执行的占程式交易量的58.1%,成员公司自营的占36%,另外5.9%是成员公司便利客户的,它们建立程式交易头寸以便于客户提出程式指令。成员公司执行的程式交易量中有9.5%是指数套利(index arbitrage)。另1.0%涉及非指数套利但与衍生产品有关的策略,它们与指数套利一起受纽约股票交易所规则80A(rule80A)约束。除了指数套利外,程式交易的策略包括客户便利(liquidation of customer)、便利的清算(liquidation of facilitation)、错误帐户的清算(liquidation of errors accounts)、风险的减小或对冲(risk modification/hedge)、期货换现货的股票头寸的清算(liquidation of exchange-for-physicals stock position)、事先的对冲(anticipatory hedge)等。所有其他的组合交易策略占89.5%。
纽约股票交易所从1988年开始要求成员公司每天报告各自详细的程式交易数据,据统计,2001年程式交易达到创记录得高,占交易量的27%。它在 2000年的比例为21%,在1999年的比例为20%,在1998年的比例为17%。可见,程式交易的使用比例在上升,这个趋势有助于解释为什么市场有时候在一个交易日内有突然大幅的波动以及为什么大机构常常拥有推动市场的能力。
一、程式交易的定义和形式
什么是程式交易(program trading)?程式交易有多种形式,纽约股票交易所NYSE把程式交易定义为包含15只或15只以上的指数成分股的组合交易,其价值超过100万,这些组合交易是同时进行的,简单的说,程式交易就是同时买进或卖出一篮子股票,也有少数程式交易是既买进又卖出股票的混合型程式交易。同时买进一篮子股票被称为程式买进,同时卖出一篮子股票被称为程式卖出。程式交易主要是大机构的工具,它们同时或几乎同时买进或卖出整个股票组合,而买进和卖出程序可用来实现各种不同的目标。程式交易的对象涉及在纽约证交所的股票和它们相应在芝加哥期权交易所和美洲股票交易所交易的期权,以及在芝加哥商品交易所交易的标准普尔 500指数期货合约。这些金融产品的交易根据的是纯粹它们价格之间预先决定的关系,而不是任何基本面的因素,如各公司的收益、股息或增长前景、利率变动、货币波动、政策行为等。
程式交易可分为套利型(arbitrage)和非套利型(nonarbitrage)两类,套利型的程式交易即指数套利交易,它包括所有采取识别指数套利或指数替代(index substitutes)的策略的交易。指数套利利润来源是股票指数期货与现货的实际价值关系对理论价值关系的偏离,指数套利是程式交易的一种形式,其他形式的程式交易的例子包括便利的清算、EFP(期货换现货)的股票头寸的清算、组合管理,而组合管理又包括组合重组(portfolio realignment)和组合清算(portfolio liquidation)。尽管程式交易占总成交量的比例越来越大,但指数套利在程式交易中的比重不断下降,1988年超过一半,1995年降到1/3, 1997年第四季度为17%,在交易所成交量中仅为3%。1997年10月21日的程式交易各组成部分为,以指数套利为主的受规则80A约束的交易占 16%,不受规则80A约束的程式交易占84%。不受规则约束的交易中,组合重组占35.02%,风险的减小及对冲占5%,组合的清算占2.57%,期货换现货的交易占2.35%,客户便利占0.84%,便利的清算占0.04%,其余的交易有54%。
由于信息工具的普及,市场的无效性小了很多,与10年前相比,现在指数套利的利润就小了很多,要获得利润就需要更大的成交量和更复杂的模型。而且不仅是模型重要,同样重要的还有很强的计算能力、很低的交易费用和很低的资金成本。因此指数套利比例必然下降,其他策略比例必然上升,其中主要的一种程式交易方法被称为配对交易(paired trading),它利用计量经济模型识别出市场上被高估和低估的股票,卖出高估的股票,买进低估的股票,然后用期货对冲这个程式交易的市场风险,虽然它名为配对交易,但实际上买卖股票的数量并不一定平衡。在1997年,配对交易的股票占全部的程式交易的30%。
从技术结构角度看程式交易系统,它利用计算机硬件和软件来设计、实施和管理金融市场中的投资头寸,包括用网络设备提供金融市场实时的价格数据,这些价格和交易成本数据一同输入计算机后经专业软件处理,看是否有交易机会。根据计算机程序发出的信号自动交易,通常是从交易者的计算机直接进入市场的计算机系统,并自动执行。程式交易公司用大量的计算机模型来设计与期货对应的不同的股票组合。例如,公司可以运行程序识别与期货关系最密切的股票组合,从而最大化潜在的利润,最小化程式交易的风险。换句话说,该交易发生在两个市场满足特定的条件的时候,就是这个组合中的股票相对于期货是价值高估或低估的。不过,纯粹的指数套利现在在程式交易中只占很小的比重。公司还可以交易符合特定波动性和流动性特征的股票。套利型和非套利型交易的共同之处认为市场存在均衡,计算机的高速计算能力能发现市场上的非均衡,从而从非均衡到均衡的过程中获利。实际上,程式买进和程式卖出与计算机智能没有什么关系,所有的程式化交易能手工完成,只不过非常复杂,所以需要计算机。
程式交易开始于1980年代初,那时大机构开始采用指数套利策略,也就是利用股票及其衍生证券的价差获利。组合保险(portfolio insurance)也在1980年代初流行起来。组合保险指的是使用股票指数期货和期权来保护股票组合对付市场下跌。组合保险程序使得大机构能在一个保险模型的特定参数达到某个预定值时卖出大量的股票。据估计,在1980年代中期,有大约价值九百亿的股票组合在组合保险的保护下。有人认为1987年的市场大幅波动内在的重要原因是组合保险和指数套利。不过,组合保险交易在1987年后就停止了,1988年交易所也颁布限制程式交易的规则80A。
现在,程式交易的形式有多种,一些程式仍然是指数套利。另外,一些对冲基金(hedge fund)用到程式交易。所谓的“市场中性”(market neutral)对冲基金,就常常构造多头/空头组合,根据某个特定的变量,如市盈率P/E,在组合中包括了买进一篮子股票同时卖出另一组股票。他们持有这些组合的时间常常在一个月或一个季度。市场中性投资指的是能中性化特定市场风险的投资策略,它根据金融工具之间实际或理论的关系,持有相互抵消的多头寸和空头寸,目的是限制由于宏观经济变量或市场情绪变化导致的价格系统性波动的风险。与传统投资的利润来自证券的走势不同,它的利润来源是证券之间的关系。对于采取市场中性策略的交易者来说,他们卖空证券,而共同基金(mutual fund)一般只做多。市场中性化策略就是要利用现在和未来的无效定价。相关证券之间定价的无效性的来源是金融市场的结构性特征。利用市场的无效获得的投资绩效可以比市场平均的收益-风险关系要好。
下面将讨论的数量交易策略,这种策略也象指数套利那样有期货交易套利的成分。多数的程式交易牵涉到非套利的自营交易策略,公司采取这种策略目的是从各种股票的短期定价不符中获利,或者是满足机构客户的买卖要求。非套利型的程式交易,或称为组合重组,是对资产组合进行调整,卖出不要的资产,同时买进想要的资产。其中的一部分属于动态对冲策略,它保护自营的股票衍生产品的头寸。
数量程式交易策略(Quantitative program trading strategies)
一些最活跃的程式交易公司根据市场内在运作和股票之间历史和理论上的关系的复杂的模型形成买进和卖出大量相对小的股票组合。这些模型评价某些股票为价值高估或低估的。一些公司也买进和卖出期权和期货作为策略的一个部分。但是这些公司坚持这些交易不是标准的指数套利,例如,一家公司可能买进相对股票价格贴水的期货或者卖出升水的期货,但是这些交易的规模和时机并不一定与股票组合相匹配。另外,许多股票组合比期货交易的指数要小得多且局限在特定的子市场。其他公司没有把衍生工具作为数量程式交易策略的一部分,但是可能用期货(或期权)对冲,以便降低公司各种自营交易策略产生的总风险暴露。现在,数量策略与基本分析、技术分析并为股票投资分析的三类方式。
风险或蒙住眼睛的出价程式(“risk” or “blind bid” program)
在蒙住眼睛出价中,基金经理向经纪公司请求出价,来买进或卖出股票组合,价格根据市场收盘价。请求时不指明证券,但提供关于组合的足够信息,以便经纪公司加入出价,这些信息如组合追踪标准普尔500指数的紧密程度,这些股票的流动性,这些股票所处的行业。如果一个经纪公司赢得出价,基金才通知经纪公司股票组合中的股票的名称(通常在市场收盘后),这就是“蒙住眼睛”的意思。然后经纪公司将看他的存货满足对该基金的组合交易的程度,他将隔夜或在第二天做哪些交易来满足与基金的交易。使用这种策略的公司坚持,因为基金没有事先讲明交易组合的准确组成,所以公司不会试图买进或卖出特定的证券以防后来的交易。而是,公司可以买进或卖出符合基金确认的一般性质的股票组合来为后来的交易提供头寸准备。
动态对冲(dynamic hedging)
指的是卖出股票组合来对冲在指数衍生工具的头寸(股指期货和交易所交易或场外交易的指数期权)。由于指数期货执行较快,交易成本较低,因此卖出指数期货是日内调整股票对冲优先考虑的工具。他们卖出期货用来对冲指数产品的风险暴露。
套利交易一般不推动市场。有许多非套利交易程式,它们交易大量的股票,但是没有对冲。这些交易往往会推动市场。最常见的程序规模在1千万到1千5百万。今天的市场有大量程式交易,根据纽约交易所的统计,程式交易占交易所日交易量的20%(真正的指数套利只占一小部分)。每一天都会有点不同,有些时候,一个规模较小的程序交易只能推动指数上下40点,有些时候一个大的卖出程序能很快打压指数超过100点。
二、指数套利程式交易的原理:
程式交易的类型中最为人熟知的是股票对期货的指数套利交易,它从市场短期的无效中赚取利润。市场无效指的是市场偏离它的合理(或者说理论)价值,或者是两个相关的市场或金融工具偏离传统的关系或差价。
若股票的价值(例如标准普尔500指数的成分股)偏离它与标准普尔500指数期货的价值关系。根据这种偏离进行的交易是无风险的,不过偏离通常是很小、很短暂的。程式交易的公司必须用一些复杂的技术识别出这些交易,并且交易大量的资本,至少1千万,在市场的一边买进,在另一边卖出,从中获利。每天CNBC 列出公平价值以及程式买进和卖出的水平。
1、不考虑交易成本下的指数套利
为了认识股价指数期货价值与股市有什么样的联系,这种联系如何形成程式交易的基础。我们来分析期货相对股票的公平价值的概念以及它的意义。为便于理解,我们暂时先不考虑交易中的成本。
股价指数(现货市场)和股指期货之间存在数学关系。它们之间的价格差被称为升水,当升水的数值过大或过小时,程式交易者将买进股票,卖出期货(这被称为买进程式),或卖出股票,买进期货(这被称为卖出程式),使得现货和期货之间的关系回到原来的关系。
怎样算是过大,怎样算是过小的呢?现货和期货之间的价格差如何?理论关系即所谓的公平价值是根据下面公式计算的?
期货的公平价值(FVF) = U[1 + I(T/365)] - D
U =现货指数值
I =利率
T =期货合约的到期时间(以天表示)
D =股息值
该公式背后的逻辑如下:股指期货的价值为现货指数的当前值加上借款买指数成分股的成本减去你作为股东获得的股息。所有这些值要用时间价值表示。例如,标准普尔500收盘价为1400,短期利率为6%,指数期货还有25天到期,期间无股息支付。那么期货的公平价值为1,405.75 (1400[1 + .06{25/365}] - 0)。也就是说,第二天开盘时期货的公平价值应比股指前一天收盘值高5.75 (1,405.75 - 1,400)点。若在交易日,市场上升50点到1450点,那么公平价值上升到1455.96即比目前的现货指数值高6点。可见,指数值越高,它与期货的公平价值之间的差距越大。
一般来说,股指期货的价值比股指现货值要大。但是,当它们之间的差距很大时,也就是说,期货价格远高于它的公平价值,那么程式交易者预期到两者之间的价格差将回复正常水平,将执行买进程式。反过来,当它们之间的差距很小时,也就是说,期货价格远低于它的公平价值,那么程式交易者认为期货价值被低估,股票价值被高估,因此将执行卖出程式。结果都是期货价格与现货价格之间的关系回到公平的关系上。
现货值和期货值关系的偏离一个最基本的原因是期货的交易成本较低,交易期货较便宜。例如,如果有一条牛市的消息,动作最快的交易者将迅速买进期货,这将推动期货价格向上,但股票价格并未立即受到影响。现在期货的价格高于公平值,程式交易套利者将卖出相对高估的期货,买进相对低估的股票来对冲。事实上,由于套利者卖出高估的期货,买进低估的现货,可见套利交易有抚平市场的作用。因此整个过程是,先是消息冲击交易成本较小的期货市场,接着触发指数套利程式交易,然后程式交易使期货市场与现货市场的达到平衡。
比如,期货价格高于公平价值两点,交易者在卖出期货合约的同时买进股票,头寸就可以处于中性,几乎没有风险,预期两个市场回到理论关系要求两点消失,从而获利。
指数期货合约一点的价值为250元,两点的不同意味着交易一份期货将得到无风险的500元利润。如果这足以抵偿所有的成本,比如差价和手续费,那么计算机将指示交易。
回到公式,很明显,利率越低,公平价值越低。但是,因为利率水平对我们每个人都不一定相同,所以程式交易不一定适用于所有人。例如,假设前面的例子中一个大的投资银行利率为6%,如果你的利率为7%,那么公平价值为1406.70,比前面的例子高出一个点。
上述关系有时也被表述为持有成本和基差的关系。所谓基差,指的是期货价格与现货价格之差。买进期货和买股票相比,在交割时间上期货是到期才交割,持有成本指的就是买进股票到期货到期这段时间放弃的收益,或者说持有股票的机会成本,它等于股票在这段时间经风险调整后的必要收益减去股息再投资收益。
预期的持有成本和基差之间有密切关系。我们举个例子,假设股价指数只包含一只股票。1月21日该股票的现货价格为50元,指数相应为50,从1月21日到 4月21日这后三个月预期的持有成本为每股1.50元,如果4月份到期的股指期货合约目前的价格52元,那么2元的基差(52-50)超过预期的持有成本 1.50元。套利者将以52元的价格卖出一份4月份期货,以50元买进一份股票现货。
套利者这样操作的原因是他相信4月份期货的价格将下跌到51.50元(即现货价格加上预期的持有成本)。在51.50这个价格,他将买进一份4月份期货合约来平仓他的期货头寸。他可获得的每张合约的利润为0.50元,即期货合约的卖出价52元减去平仓该合约的成本51.50元。
当市场方向不明确或易波动时机构投资者常常用到对冲技术。套利者持有的现货多头是用来对冲他的期货空头的,以防股票价格的变动。例如,假设套利者卖出期货并买进股票之后4月份期货价格和现货价格都立刻上升了3元。这时,4月份期货价格上升到每张合约55元,现货价格上涨到每股53元。在价格变化后,基差为 55-53=2元仍然比预期的持有成本1.50元大0.50元。所以套利者预期4月份期货价格将下跌到每张合约54.50元。在54.50元这个价格,他将平仓掉在期货的空头寸,每张合约的损失为2.50元(52-54.50)。但他在现货头寸上每股盈利3元(53-50),因此他的净利润为0.50元(3-2.50),与前一种情况相等。通过在现货市场对冲,套利者能保护预期的利润不受未预期到的股票价格波动的影响。我们来看另一种可能,假设4月份期货的价格为51元,这时基差为1元,小于预期的持有成本1.50元。套利者将卖空股票,买进4月份期货。套利者预期4月份期货的价格将上升到每股 51.50元,在这个价格,他将卖出期货合约,每张合约盈利0.50元(51.50-51)。同样的,他在现货的空头寸能保护预期利润不受股票价格波动的影响。
我们实际上交易的股指期货的标的股票指数包含了一篮子股票。在原理上,持有成本的计算是相同的。但是在实际操作中有两个重要的不同。首先,因为,股票指数表示一个相当分散的股票组合,而且指数套利对冲的是股票组合未被预期的变动,所以这些交易相应的贴现率为无风险的收益率,典型的无风险利率为短期货币市场工具的收益率。另一个不同是要计算持有成本,套利者就必须了解指数包含的所有公司的股利政策。这些计算必须迅速切准确地做出,因为机会稍纵即逝。
因为随着套利组合中的股票数量增加,监视和交易的成本也上升,所以交易者一般不会了解指数包含的所有股票,而是选择出一部分股票,它们的综合价值在过去与指数有密切的关系。因此由于部分股票的组合不能与指数完全匹配,所以交易者承担有额外的风险。交易者为了避免组合增大带来的了解持有成本的增加,还是愿意承担这种额外的风险。当然,使用计算机程序,在获得新的信息后,能降低更新持有成本数据的费用。因为指数套利通常用计算机辅助交易技术,所以纽约证交所把它作为一类程式交易。程式交易是一种能发现现货市场和期货市场的交易机会同时成本较低,效率较高的办法。
当然,程式交易远比这里讲的复杂。实际应用中,有许多变量使该过程复杂化。从事程式交易的公司在不同的价格水平执行买卖指令,这主要取决于两个因素,一是它们各自的货币成本,即用于买股票的借款的利率,二是它们识别市场中的无效的特定的算法。
不要混淆买卖程序的理论价格和我们这里的公平价值和程式交易升水额执行水平。理论得出的公平价值和买卖程式的价格不能用到实际中。这里的升水额水平考虑到清算成本,正常情况下买卖股票的出价和要价的差额的预期值与实际值之差,以及交易所的交易限制对计算机执行买卖股票的指令的影响,因此程式买进通常比理论值较高,程式卖出通常比理论值低。即使你发现有这么一个获利机会,因为买进所有需要的股票和缴存期货交易所需的保证金要用大量的资金,你也可能实现不了。下面进一步展开。
前面谈到的理论没有考虑两个重要因素:手续费(commission),预期的交易成本与实际支付的交易成本的差额(slippage),后者通常是证券的出价和要价之差变化导致的。它们对交易公司的成本有很大的影响,从而影响买卖的升水水平。这些变量构造了不同的交易程序和这些程序触发的不同水平,这些水平还是比较接近的。尽管指数套利的原理不难,但是决策用到的精确的交易模型和算法是各公司的秘密。
预测执行程序的升水额很难的,原因是各公司付给银行的利率不同,所以不是每个公司都用完全相同的水平。不过实际上个公司的资金成本的差别不大,几乎所有公司的买卖执行水平都很接近,但更重要的是当升水额开始移向执行水平时它通常很快地通过它,很明显,程序将被触发。例如,如果我们的程序设置的卖出位置在 6.32,升水额触及它且继续下降到5.37才到底,那么很明显,所有的交易者的卖出程序都将执行。
2、考虑交易成本后的指数套利
由于每个人都能利用这些交易机会,所以基差与持有成本较大的偏离不会持续很久。但是,考虑到交易成本,基差与持有成本有较小的不同。
若用图表示则有,交易成本线在持有成本线的两边。虚线为套利边界。实线和虚线的垂直距离为交易成本。如果基差相对于持有成本的偏离保持在两个边界内,那么套利交易不发生。如果基差移动到边界以外,这时有套利发生。套利的结果是基差回到边界内。
在实际应用中,借款和贷款的利率有所不同。卖出套利程式(卖空股票,买进期货)所用的贷款利率往往是市场贷款利率的一个折扣。同时,在执行套利程式时,不同的套利者面临的是不同的有效价格和数量,承担不同的交易成本。交易成本是买进或卖出证券发生的成本,包括经纪人的佣金和差价(中间商买进和卖出证券的价格之差)。对股票期权来说,差价为执行价格与市场价值之差。考虑这些实际因素,市场上并没有唯一的公平价值,存在的是一个公平的价值区间,在这个区间之外就有套利。而且,公平价值区间取决于各套利者的约束和机会。
套利交易的上界Fu = 期货的出价与要价之差的1/2+股票交易出价与要价之差+ 股票指数(1+r T/360) - 股息+佣金
套利交易下界Fl = -期货的出价与要价之差的1/2-股票交易出价与要价之差+ 股票指数(1+r T/360) - 股息- 佣金
这里的出价与要价之差在纽约证交所为1/16美元。一买一卖股票指数包含的股票的所需的差价成本相当于(2 x 30 x$1/16)15个指数点。一买一卖股票指数包含的股票的所付的佣金相当于(2 x 30 x$0.02)4.8个指数点。一买一卖股票指数期货所付的佣金为$15,相当于1.5个指数点。期货到期前收到的股息进行再投资。
举个例子,如果公平价值为8.50,买进程序的升水额为10.80,卖出程序的升水额为6.40,换句话说,当指数期货高于现货10.80时期货是高估的,股票是低估的,程式交易者将买进股票,卖出股指期货。当指数期货比现货只高出6.40时,期货是低估的,股票是高估的,程式交易者将卖出股票,买进股指期货。由此可见,公平价值本身并不重要,关键还是买卖的升水额。
还有一个问题是指数套利的持有期,1990年做的一项研究表明约70%的套利头寸在到期前就平掉了。提前平掉的时间是在原先的错误定价发生反转的时候。在期货到期的时候,现货价格和期货价格是相同的,而提前平掉就不是纯粹的套利了,它也就存在一定的风险。
3、程式交易的风险
许多投资者错误的以为程式交易象指数套利一样是没有风险的。记住因为程式交易用到标准普尔500股票指数期货合约,交易它就象交易其他商品期货合约那样是有风险的。尽管标准普尔成分股中一些公司被认为是蓝筹公司,但交易这些股票也有风险,有些时候,交易所执行程式交易指令的预期出价和要价间的差额与实际的差额之间的差别的风险会很大。风险主要有两类。
执行的时滞:尽管纽约交易所有先进的电子指令达到路线系统,名为超级D.O.T.(superD.O.T.),不过指令的执行仍需要时间,在指数套利指令的到达与它包含的现货和期货指令的执行之间,价格可能发生变化。当市场波动性增大时差价的预期值与实际值之差自然增大。由于同样的原因,现货和期货指令可能不能同时执行。卖出程式的推迟也可能是由于证交所的一个规定生效,即卖空在价格上升时才能执行。如果市场比较拥挤或证交所的断路器生效,那么指令的执行也会推迟或暂停。指数包含的股票越多,风险越大;指数成分股的流动性越大,风险越小。
第二类风险是利率的不确定:期货实行“盯市”的结算制度,这要求套利交易中的期货头寸要随利率的变化做出调整。如果未来的利率不确定,那么这样的调整就是不可行的,套利也就不是无风险的。
4、指数套利的变化形式
上述讨论局限于标准形式的股票指数期货套利,即由期货价格偏离公平价值触发的双方向套利,同时交易股票和股票指数期货。还有很多变化的形式。一个例子为单方向套利,它指的是选择股票组合或者是与之等价的股票指数期货加上LIBOR头寸的组合。如果期货价格高于公平价值,股票相对便宜,但如果期货价格低于公平价格,那么股指期货加上LIBOR相对便宜。另一个例子为两个指数期货之间的套利,如果道琼斯指数比标准普尔指数贵,那么套利头寸为卖出道指期货,买进标准普尔指数期货。反之则做相反的操作。
三、美国对程式交易的限制
1、为什么要限制程式交易
赞成程式交易的理由包括更有效和有更多的机会,结果就是更大的利润和更小的风险。而反对程式交易的理由是程式交易挤着交易带来的更大的风险。
纽约股票交易所前总裁说,“每天平均有25-33%的成交量来自程式交易,但是当市场存在较严重的错误定价现象时,程式交易的成交量会超过50%,即大约为七千五百万股。”如果所有这些程序同时发出指令,同时银行供给他们足够的资金,那么市场危机就会自我实现。
许多分析师认为,尽管计算机辅助的套利不是下跌的起因,但是它们加速了下跌。套利者利用股票期货和股票之间的短期价差获利。由于所有的套利者都处理者相同的基本信息,有利可图的价差能立刻在它们的计算机中反映出来,并且由于套利者赚取的是很小的价差,所以它们必须进行大量的交易才值得做,在很短的时间所有交易加在一起,这就强有力地改变股票的价格。尽管从长期看,如几个星期或几个月,套利稳定市场,但短期看,如一个交易日中,套利能导致很大的波动。而且,计算机快速的计算会扩大这些效应。在1986年9月11日星期四的指数86点的下跌中有20%是来自计算机辅助的套利。
程式交易受到许多批评,最著名的一次是它被认为是1987年股灾的元凶,对市场下跌有潜在的威胁,这导致交易所做出断路器的规定。在1987年股灾后,纽约证交所制定了规则80A,当市场波动很大时限制程式交易。这个限制的目的是阻止会导致市场趋势的交易,同时鼓励那些能平衡市场的交易。
2、限制的内容
概括的说,交易所在50和100点的指数点限制跨市场的交易(即期货和现货市场之间的计算机化的程式交易或套利交易),主要是指数套利。纽约证交所的限制只适用于与衍生产品有关的计算机辅助的程式交易。一般所指的限制是是就是这种名为项圈的限制,当价格走向更极端的时候,交易所会暂停交易。这个限制在 1999年作了修订。
1)旧版的这些限制包括:
程式交易项圈collar——50点,当目前的道琼斯工业平均数指数比前一天收盘指数高出或低过50点时,实施交易项圈。这项限制的有效性直到当日交易时间结束或者指数回到前一天收盘指数上下25点的范围。这个限制下,程式交易卖出指令必须在指数上升时才能执行。而买进指令必须在指数下跌时才能执行。这使得程式交易变得困难,但还是可能的。如,可以用卖出自己已有股票代替卖空股票。
程式交易让位Sidecar——道琼斯工业平均数下跌100点,程式交易停止执行至少5分钟。这就象这些交易退出主车道,让位给其他交易。5分钟后,交易所才开始清算程式交易的指令,但这些交易仅当它们不导致市场有趋势时才执行。
程式交易断路器Circuit Breaker——道琼斯工业平均数下跌350点。暂停交易:暂停交易30分钟。如果市场下跌350点发生在下午3:30分,那么交易所结束当天的交易。
程式交易断路器Circuit Breaker——道琼斯工业平均数下跌550点。暂停交易:暂停交易1个小时。如果市场下跌550点发生在下午3:00分,那么交易所结束当天的交易。收盘价指令被取消。
2)新版的限制为:
程式交易项圈,当道琼斯工业平均数较前一天的收盘指数上升或下跌190点,那么交易所暂停执行程式交易直到道琼斯回到90点内或直到交易日在下午3:00结束。在2001年这个限制共执行了26次,在2000年有35次。程式交易让位规定在1999年2月16日被取消。
程式交易断路器,如果道琼斯工业平均数下跌10%,纽约证交所的交易暂停60分钟。如果道琼斯止跌回稳10%,则限制取消。如果道琼斯工业平均数下跌 20%,纽约证交所的交易暂停2小时。如果道琼斯止跌回稳20%,则限制取消。如果道琼斯工业平均数下跌30%,纽约证交所全天的交易暂停。如果道琼斯止跌回稳30%,则限制取消。
3)对限制的批评
断路器对市场行为有反馈效应(feedback effect):当价格接近停板时,由于交易者赶着在停板前执行他们的交易,所以价格更可能触及停板。这使得投资者在最不恰当的时间锁定在头寸。另外,如果国内市场关闭,交易者会把资金转移到国外。而当交易能转移到无暂停交易的市场上时,施加断路器限制变得很困难。
4、1997年10月27日的程式交易
1997年10月27日和28日,美国证券市场暴跌,下跌的绝对量创历史记录。在27日道琼斯工业平均数下跌554.26,收盘在7161.15,跌幅为 7.18%。27日这一天是1988年规定跨市场的断路器以来首次实施,在下午2:36,道琼斯工业平均数下跌350点,触发股票、期权和指数期货市场同时暂停交易30分钟。交易在3:06重新开始后,价格迅速下跌到触发550点的断路器水平,时间是在3:30,当天的交易因此提前结束。据对样本股票交易的调查,最大的20个卖家中,8家是交易自营帐户的综合券商,11家为共同基金,9家为机构,9家机构中的4家为对冲基金。最大的20个买家中,10家是交易自营帐户的综合券商,2家为共同基金,6家为机构,6家机构中的5家为对冲基金,另有2个买家是上市公司自己,它们买回自己的股票。共同基金的策略相互之间有很大的不同,一些基金买卖一两只股票,一些基金买卖多只股票。
用自营帐户卖出最活跃的综合券商中有一些券商使用了程式交易策略。正如下面的讨论,多数的程式卖出牵涉到非套利的自营交易策略,公司采取这种策略目的是从各种股票的短期定价不符中获利,或者是满足机构客户的买卖要求。程式卖出中的一小部分属于动态对冲策略,它保护自营的股票衍生产品的头寸。总的来说,在市场下跌关键的那一段期间程式交易的影响比较复杂。在10月27日下午程式交易在一些时期达到高峰,如从2:30到2:36,程式卖出占总成交量的27%,占标准普尔500成分股成交量的40%。这相当于1989年10月13日市场下跌期间程式卖出的高峰水平。总的来说,程式卖出对10月27日的下跌只有适度的影响。
指数套利交易所委派的调查小组对程式交易数据的整理表明,指数套利在10月27日的卖出程式中只占小部分。例如,从1:50到2:36,指数套利在全部的程式交易中只占8%。同期另32%的程式交易涉及下面讨论的数量交易策略,这种策略有期货交易套利的成分。其余的程式卖出为非套利型。从3:06到3:30,,非套利型程式交易占全部程式卖出的55%以上。而在过去的市场下跌中,指数套利在程式卖出的比重要大得多。如1989年10月13日,指数套利在全部程式卖出中所占的比重约为67%。10月27日指数套利比重较小与程式交易结构的长期变化趋势是一致的,全部程式交易在纽约证交所总成交量中所占的比重在上升,但指数套利在程式交易中的比例下降。指数套利比例下降的原因与纽约证交所规则80A(c)实施的限制有关,也有其他因素,如下面将讨论的非套利程式交易策略的上升。
数量程式交易策略 在10月27日下午,使用数量程式交易策略的公司净卖出股票,但是他们相对严格地遵守模型,市场下跌幅度和断路器门槛的临近都没有使他们增大卖出程式的规模或频率。换句话说,交易因断路器而暂停的可能性并未作为他们的数量模型的一个因素。
风险或蒙住眼睛的出价程式一些活跃的程式交易公司也表明他们在27日卖出股票组合是风险或蒙住眼睛出价程式的一部分。尽管在27日下午用这种策略的公司净卖出大量的样本股票,但是公司坚持这种策略是设计成市场中性的,因为他们卖出一个组合通常由买进另一个组合来抵消。使用这种程式交易的公司也指出在27日下午他们净卖出股票,但是市场下跌或断路器门槛的临近并没有使他们增大卖出程式的规模或频率。
动态对冲对程式交易数据的整理表明,尽管一些公司的确卖出股票组合来对冲在指数衍生工具的头寸(股指期货和交易所交易或场外交易的指数期权),但是这类交易相对较少。这与1989年10月13日市场下跌期间的程式卖出有很大的不同,那时当价格在最低点时到达交易所的动态对冲卖出程式规模有两百五十万股。调查小组不知道10月27日的动态对冲中有多少涉及卖出指数期货。但一家程式交易公司表示它在2:30后从用股票组合来对冲转到用指数期货来对冲。因为期货更为经济。另外,一些在当天净卖出标准普尔500期货的大交易商是那些交易场外和交易所交易的指数衍生工具的公司。他们卖出期货的大部分是用来对冲指数产品的风险暴露的。
指数期货在10月27日的交易时段中有些时候,股指期货相对股票价格有很大的贴水。然而,在发生第一次断路后3:06重新交易前,期货对市场下跌的影响并不大。在 3:06,期货价格的迅速下跌有很强的公告板影响,向市场交易者发出信号,价格将很快跌到第二次断路器的水平。但正如前面讨论,从历史来看,程式交易把期货市场的卖出压力传到股票市场通常并不大。但是,市场在3:30提前收盘前股票价格的确跟随期货价格下跌,且跌得更低。通过访问从事动态对冲的公司,调查小组发现在3:06后期货市场至少部分的卖压可能是从卖股票转到卖期货的,目的是在第二次断路器关闭市场前以经济且及时的方式调整对冲。
五、套利型程式交易咨询公司programtrading和非套利型程式交易公司BNP/CooperNeff:
1.programtrading
programtrading是一家套利型程式交易咨询公司。从1982年4月21日标准普尔500股票指数开始在芝加哥商品交易所交易的时候,该公司就记录下带来买进程式或卖出程式的每次升水额变动,同时记录下道琼斯工业平均数,平均数的30只成分股,标准普尔500股票指数以及标准普尔500只成分股相应的上或下运动,目的是看买进或卖出程式是否真正推动道指25点或更多的点,以及推动哪些平均数成分股最多。如果道指没有变动,他们就忽略这时的升水额变动。他们指出,有些人在程式不存在或程式交易对道指或其他市场完全没有影响时,却指责道指变动的原因是程式交易。
前面已经介绍过,升水额或价差指的是交易最活跃的标准普尔500指数期货合约(spoos)减去标准普尔股票指数现货的差值。这个差值的范围通常在17到 1之间,随着期货合约到期慢慢缩小,而程式交易就是以这个差值为基础的。当升水额上升到一个特定的执行水平时,触发买进程式。大机构在这时在纽约证交所买进标准普尔500指数的成分股,同时在芝加哥商品交易所卖出相同数量的标准普尔500指数期货。当升水额下降到一个特定的执行水平时,触发卖出程式。因为这些交易是利用升水额回到正常或者说公平价值前获得的,所以这些交易几乎没有风险,这类程式交易被称为指数套利并且很普遍。但在每天的程式交易中只占不到 10%。
通过积累过去程式买进或卖出推动道琼斯工业平均数和标准普尔600股票指数的准确条件,programtrading公司就能预测明天程式买进或卖出最可能发生的条件。而且,由于他们知道过去买进或卖出程式中哪些成分股移动得最多,他们就能准确预测明天哪些成分股移动得最多。当然他们不能保证过去的情况在未来某个推测的时间再次发生。许多交易日有5次或6次道指或标准普尔500应发生移动,他们的时间预测的标准差仅约为6分钟。
他们给出预测的次数,通常一天有5到6次,有时候没有推动道指或标准普尔500。通常在这些时候价差上升到当天的最高或下降到当天的最低,但没有继续下去,因此没有触发任何程式,这时他们的预测是错的。但是通过预测,客户能限制亏损的头寸。例如,他们预期程式卖出发生在10:35左右,并且准备在那时买进股票,卖出买权,价差缩小,但没有触发任何程式,交易者也没有任何损失。
在他们的报告中,客户将提前知道程式交易推动市场向哪个方向运动,以及它最有可能发生的时间,然后就可以在接近这些时间的时候建立标准普尔的头寸。例如,如果他们的计算机预测升水额在10:35分最低,在1:55分最高,那么客户可计划在这一天交易指数。
在开市之前,他们已经知道当天程式买进或程式卖出的升水额的准确水平,这是他们提供的公共信息。但是要想提前知道在什么时间将触发这些水平需要较复杂的计算,因此需要收费。
2BNP/CooperNeff
BNP/Cooper Neff是巴黎国民银行属下的一家顾问公司,由于Andrew Sterge的努力,它逐渐成为世界最活跃的程式交易商之一。
Andrew Sterge的法宝是他用6年时间调试的程式交易模型,他负责Cooper Neff的自营交易,管理着BNP的套利部门交给他的数以百亿的资金,他甚至不知道如何阅读资产负债表,但是每天却买卖着百万计的股票。他认为能打败市场的唯一方式是寻找市场无效的机会,交易大量的股票。
他说,识别价值低估和高估的股票还远远不够。因为高估的股票往往同时具有很高的波动性,所以不能仅仅停留在买进低估的股票、卖出高估的股票这个层次,还要分析数学方面的其他性质,如波动性和流动性。把市场内在的运作方式和股票之间历史和理论上的关系编程计算机语言,由计算机决定该买进和卖出的股票。
作者:蔡伟雄 蔡伟宏
2002.02.15