算法交易

更新时间:2023-11-06 01:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

算法交易模型综述

核心观点:

1. 程序化交易(Program Trading)在国外得到了广泛的应用

指应用计算机和网络系统,预先设置好交易模型,并在模型条件被 触发时,由电脑瞬间完成组合交易指令、实现自动下单的一种新兴交易 手段。程序化交易起源于1975年美国出现的“股票组合转让与交易”, 进 入90年代以后,程序化交易跃上了一个新台阶,产生了一系列适应多种 市场的品种。程序化交易策略,主要包括以下四种交易策略:久期平均、 组合保险、指数套利和数量化交易。

2. 算法交易有助于更好地发挥程序化交易的作用

指交易员在交易模型中加入一个算法,这个算法包含了既定的算法 目标,在一些特定条件下,根据算法算出最佳的交易时机和交易额,并 由系统自动执行交易指令。

算法交易在程序化交易中的作用体现在以下几个方面:1)降低市 场冲击成本;2)提高交易执行效率;3)降低佣金率;3)减少人力雇 用成本;4)增加投资组合收益;5)使复杂的交易和投资策略得以执行。 3. 算法交易中主要算法介绍:算法交易最早始于20世纪70年代,主要 服务于指数套利和组合管理领域;经历了30多年的发展,已经形成 了大量交易算法,其中的交易量加权平均价格算法和时间加权平均 价格算法运用最为广泛。

主要的算法包括:交易量加权平均价格算法(VWAP)、保证成交 量加权平均价格算法(Guaranteed VWAP)、时间加权平均价格算法 (TWAP)、交易量固定百分比算法(TVOL)、基准价交易算法 (PriceInLine)、执行差额算法(IS)、隐藏交易单算法(Hidden)、游 击战算法(Guerrilla)、阻击兵算法(Sniper)、搜寻者算法(Sniffers)、 复杂事件处理算法(CEP)、模式识别算法(Pattern Recognition)等。 4. 算法交易的运用:以执行差额算法(IS)为例进行风险衡量 以执行差额算法(IS)为例计算,在衡量交易算法时,通过几个风 险指标进行判断:E(IS) +λ *V(IS)或E(IS) +λ * SD(IS);波动风险 V(IS)或SD(IS);冲击成本E(IS);总交易时间T。 目录

1. 程序化交易简介.....................................................................................................4 1.1. 程序化交易的定义及作用.....................................................................................4 1.1.1. 定义.................................................................................................................4 1.1.2. 作用及影响.....................................................................................................4 1.2. 程序化交易的发展历史与现状.............................................................................4 1.2.1. 发展历史.........................................................................................................4 1.2.2. 现状.................................................................................................................5 1.3. 程序化交易的交易策略..........................................................................................5 1.3.1. 久期平均.........................................................................................................5

1.3.2. 组合保险.........................................................................................................5 1.3.3. 指数套利.........................................................................................................6 1.3.4. 数量化交易.....................................................................................................6 1.4. 算法交易思想的融入..............................................................................................6 1.4.1. 定义.................................................................................................................6 1.4.2. 算法交易在程序化交易中的作用.................................................................6 1.4.3. 算法交易的引用和发展趋势.........................................................................7 1.4.4. 本文的重点为基于程序化交易的算法交易模型综述................................7 2. 算法交易中主要算法介绍.....................................................................................7 2.1. 交易量加权平均价格算法(VWAP)..................................................................7 2.2. 保证成交量加权平均价格算法(Guaranteed VWAP) ....................................7

2.3. 时间加权平均价格算法(TWAP)......................................................................8 2.4. 交易量固定百分比算法(TVOL) ......................................................................8 2.5. 基准价交易算法(PriceInLine) .........................................................................8 2.6. 执行差额算法(IS)..............................................................................................8 2.7. 隐藏交易单算法(Hidden).................................................................................9 2.8. 游击战算法(Guerrilla)......................................................................................9 2.9. 阻击兵算法(Sniper) ..........................................................................................9 2.10. 搜寻者算法(Sniffers) ...............................................................................9 2.11. 复杂事件处理算法(CEP).........................................................................9 2.12. 模式识别算法(Pattern Recognition) ....................................................10 3. 算法交易的运用....................................................................................................10 3.1. 算法交易的模型计算............................................................................................10 3.2. 交易风险的衡量.................................................................................................... 11

1. 程序化交易简介

1.1. 程序化交易的定义及作用 1.1.1. 定义

程序化交易(Program Trading),又称篮子交易(Basket Trading),是应用计

算机和网络系统,预先设置好交易模型,并在模型条件被触发时,由电脑瞬间完 成组合交易指令、实现自动下单的一种新兴交易手段。

根据纽约股票交易所的规定,任何一笔含15只股票以上、且总市值超过100 万美元的集中一次性交易都可视为程序化交易。

程序化交易与传统的人工交易的主要区别在于以下几个方面: 1)程序化交易是篮子交易,即同时完成一个股票组合的交易;

2)程序化交易可实现自动下单,并能确保交易指令在瞬间完成,人工交易 则是靠手动完成,速度较慢;

3)程序化交易需借助计算机和网络技术的支持;

4)程序化交易致力于处理现在的交易,顺从市场变化,而人工交易需要对 未来进行预测和判断;

5)程序化交易对买卖时点的判断完全基于技术分析,人工交易则是基于价 值分析;

6)程序化交易做出的决策客观、理性,人工交易做出的决策主观、感性; 7)程序化交易是标准化交易,因此对交易员的能力要求和依赖性相对较低, 而人工交易相反;

8)程序化交易的运算速度快,执行力强,并能对买卖信号和风险预警作出 及时反应,而人工交易的反应相对较慢;

9)也正由于程序化交易的标准化交易方式,导致它的变通能力不强,在市

场出现意外波动时,对一些不利信息易做出过度反应,而并非及时止损,这也是 程序化交易在美国股灾中备受争议的原因。 1.1.2. 作用及影响

程序化交易是交易思想的实际化,不但可以提高下单速度,还可避免交易受 投资人情绪随机波动的影响,从而实现理性投资。

由于程序化交易固化了人工交易中技术分析的经验性总结,因此能够克服人 性的诸多弱点,获得市场长期的均衡收益。有资料显示,程序化交易在长期交易 中,平均损失几率仅为30%~40%,投资报酬率较为稳定;而人工交易在长期交 易中的平均损失几率达60%~70%,投资报酬率稳定性较差。

但也有人认为,在股市短期内大幅波动(尤其是下跌)时,程序化交易可能 出现过度反应,从而成为加剧市场下跌的“罪魁祸首”。很多人都认为,程序化交 易即使不是导致美国1987年股灾的主要原因,至少也加剧了那次股灾的严重程 度。特别是程序化交易中的连续抛售和指数套利交易活动,使股价大幅下挫,价 格剧烈波动。

1.2. 程序化交易的发展历史与现状 1.2.1. 发展历史

程序化交易起源于1975年美国出现的“股票组合转让与交易”,即专业投资经

理和经纪人可以直接通过计算机与股票交易所联机,来实现股票组合的一次性买 卖交易。由此,金融市场的订单流实现了电脑化。

到了上世纪80年代,程序化交易发展迅猛,交易量急剧增加,指数套利和组 合保险策略开始应用。很多人开始将股市的下跌归罪于程序化交易,并认为程序 化交易至少加剧了美国1987年股灾的严重程度。但多数的经济学家和金融学家都 认为,上述观点夸大了程序化交易的作用,包括指数套利在内的程序化交易与 1987年股灾没有必然的因果关系。

进入90年代以后,程序化交易跃上了一个新台阶。美国诞生了很多专门为广 大中小投资者提供的量身订做的各种各样的一次性股票组合交易的股票经纪公 司。

至此,程序化交易在美国期货市场已渡过幼年期。并产生了一系列适应多种

市场的品种。开发商正挖空心思,要么提升速度,让本来不慢的系统反应更迅捷; 要么量体裁衣,使之更贴近特定的衍生品交易。市场上甚至出现专门诱杀其他程 序化交易者的“猎手程序”,以及用并不执行的虚拟下流来躲过“猎手”的隐身程

序。

1.2.2. 现状

程序化交易作为证券交易的一种方式,已在国外多个市场得到了广泛的应

用,例如:在NYSE进行的股票组合交易、在芝加哥期权交易所(CBOE)或者 美国股票交易所(AMEX)进行的与股票组合相对应的期权交易,以及在芝加哥 商品交易所(CME)进行的类似于S&P 500股票指数期货合约的交易等,均是采 用程序化交易。据统计,在国外发达的期货期权衍生品市场,当日交易的70%以 上都是通过程序化全自动交易模型来完成。

而在国内,程序化交易的应用尚未成熟,能够支持程序化交易的成熟软件也 并不多,因此有较大的市场发展空间。事实上,随着机构投资者已成为我国金融 市场的主体,和衍生品市场的产品日渐丰富,以及数量化投资技术的进步,以股 票组合为交易单位的交易需求已经越来越旺盛;因此对程序化交易系统的开发势 在必行。

1.3. 程序化交易的交易策略

目前的程序化交易策略主要包括以下四种:久期平均、组合保险、指数套利 和数量化交易。

1.3.1. 久期平均

久期平均(Duration Averaging)交易策略是应用久期作为衡量指标来确定股 票组合价格的合理上下限,从而通过低买高卖来实现价差收益的策略。其中对久 期的计算包含了股票组合合理价格和持有成本等影响价格敏感性的因素。 久期平均交易策略一般在价格下跌时买进,在价格上涨时卖出,因此只有当 股票组合价格维持在一个特定的价格区域内时,这一策略才有效。一旦价格下跌 低于该价格区域的下限,投资者就会亏损,同时,投资者也丧失了当价格上涨超 过该价格区域的上限时的获利机会。

久期平均策略对价格波动没有影响。相反地,它具有减少价格波动、平抑价 格波动幅度的作用。

1.3.2. 组合保险

组合保险(Portfolio Insurance)交易策略是指为股票组合确保一个最低收益

率,从而保证股票组合最小价值的一种策略。这样当股票组合价格下跌时,投资 者可以获得最低收益;但当组合价格上涨时,投资者的盈利率仍能随之上涨。 组合保险最初是由养老金基金开发和应用的。组合保险策略的操作,一定程 度上增加了股价的波动性,即在价格下跌时增加了卖压;在价格上涨时也增加了 买压。但该策略对价格波动的影响并非实质性的。因为如果仅仅是因为该策略的 应用而导致股票价格下跌,甚至低于其基本面水平,则股票反倒具有了投资价值。 1.3.3. 指数套利

指数套利(Index Arbitrage)交易策略是指当一个指数现货与其在指数衍生 产品市场中的某个对应产品出现瞬间定价的差异,并且这个价差已大于无风险利 率与所有交易费用之和时,理论上就可以进行指数套利,并从中获得价差收益。 股指期货的期现套利就是一种典型的指数套利。

指数套利交易策略能够促进价格发现,引导股票正确定价,在活跃市场和增 加交易量方面起到了正面作用,一定程度上可以促进交易所之间的良性竞争。目 前在NYSE,利用程序化交易来完成的这类指数套利交易占整个程序化交易的日 均交易总量的10%-25%。 1.3.4. 数量化交易

数量化(Quantitative trading)交易策略,也叫非指数套利交易策略

(Non-arbitrage program trading strategies)是近年来发展迅速的一种程序化交易 策略,是指依据于一个混合的数量模型来进行一揽子股票的买卖,该数量模型既 遵从于市场内在的规律,又照顾到股票的历史性和理论逻辑的相关关系,将股票 划分为价值被高估的股票和价值被低估的股票。

这类交易也使用期货期权等工具,但与传统的指数套利所不同的是,数量化 交易的交易规模和市场时机的选择并不试图与指数期货所对应的基准指数,或者 与基准指数所包含的一揽子成份股组合相匹配。通常情况下,数量化交易的组合 要比基准指数的组合更狭小,更多地集中在特定的产业或板块上,而不像基准指 数,反映的是全市场或综合性市场的概念。数量化交易使用衍生产品主要是为了 对冲组合的风险敞口,而不是用于套利。并且,数量化交易策略严格遵从于模型 所反映的信息并进行交易。可见,数量化交易策略的发展是与各种市场指数类型 的发展,如各种风格类指数的日趋多样化等,以及与作为各种基准的指数的功能 的多样化等相联系的。 1.4. 算法交易思想的融入 1.4.1. 定义

算法交易是指交易员在交易模型中加入一个算法,这个算法包含了既定的算 法目标,在一些特定条件下,根据算法算出最佳的交易时机和交易额,并由系统 自动执行交易指令。由于算法交易具有可变及不易预测的性质,有时也被称为“黑 箱”交易。

1.4.2. 算法交易在程序化交易中的作用

建立一个最优的算法有助于更好地发挥程序化交易的作用。由于程序化交易 是对多只证券同时进行买卖操作的,因此在执行过程中,不可避免地会产生大量 的交易成本,而其中的部分成本实际上是可以通过对交易组合及交易策略的合理 规划缩减掉的,因此建立一个最优的算法有助于更好地发挥程序化交易的作用。

也就是说,在程序化交易中融入算法交易的思想,能够在使交易成本最小化的同 时,最大化投资收益,并且提高市场的流动性。

算法交易是近年产生的一种高科技手段。除了帮助程序化交易发挥最大效用 外,算法交易的优点还体现在以下几个方面:1)降低市场冲击成本;2)提高交 易执行效率;3)降低佣金率;3)减少人力雇用成本;4)增加投资组合收益;5) 使复杂的交易和投资策略得以执行。

1.4.3. 算法交易的引用和发展趋势

算法交易将成为今后的重要交易趋势。Ternes根据统计表示,目前在美国市

场上有90%以上的衍生品经理在建立投资组合时至少使用一次算法交易。在亚洲 地区,最近三年中大约有50%的衍生品交易变成了电子交易,而其中又有四分之

三都采用了算法交易。预计在未来的15年中,亚太和欧洲市场进行的衍生品交易 大部分将采用算法交易。东京证券交易所、香港联交所、新加坡交易所已经成为 亚洲地区采用算法交易的主要市场;目前几大外资银行如花旗、美林证券、荷兰 银行、雷曼兄弟等也都已经在亚洲地区普遍使用算法交易。而中国的“算法交易” 尚处于起步阶段,这主要是由于中国还没有提供机构套利的衍生品市场。但随着 股指期货的推出,算法交易模式将会被运用于其中进行各种套利。

事实上,算法交易的应用领域很广泛,不仅可用于针对一揽子证券进行交易 的程序化交易,也可用于单个证券产品;并且个人投资者和机构投资者均适用。 算法交易可以在多个领域中发挥重要作用,比如股票、债券、ETF、期权期货、 固定收益产品、外汇交易等市场,而它在一些市场中所发挥的正面作用也已经被 意识到:例如,英国外汇周刊(FX Week)在07年中曾报道,算法交易的运用, 已经明显改善了外汇市场的健康程度,并且会进一步加大外汇市场的交易量。

1.4.4. 本文的重点为基于程序化交易的算法交易模型综述

2. 算法交易中主要算法介绍

算法交易最早始于20世纪70年代,主要服务于指数套利和组合管理领域。经

历了30多年的发展,已经形成了大量交易算法,其中的交易量加权平均价格算法 和时间加权平均价格算法运用最为广泛。

2.1. 交易量加权平均价格算法(VWAP)

交易量加权平均价格算法(VWAP,Volume Weighted Average Price)是最基 本的交易算法,指在进行买/卖下单时,根据历史成交量进行,以尽量降低该交 易对市场的冲击。VWAP 主要是为了防止因为超出正常水平的交易量以至于影响 当前交易的价格,从而增加交易的成本。

运用范围:若需要以交易量平均价格为目标进行交易时使用。

例如,在过去的3 个月中某只股票10%的交易量都在交易的前1 个小时内完 成的,若在交易时间的前1 个小时内达到10%的交易量则计算机将会自动停止客 户的买卖交易指令,剩余的交易指令将会在接下来的时间内按照策略规定进行。

2.2. 保证成交量加权平均价格算法(Guaranteed VWAP)

保证交易量加权平均价格算法(Guaranteed VWAP,guaranteed volume

weighted average pricing),指经纪商对VWAP 算法提供担保,当他们运用

Guaranteed VWAP 进行下单交易时,必须保证成交价格为交易量加权平均价格, 若成交价格与交易量加权平均价格不一致,则经纪商需要承担相应损失。 设计目的:Guaranteed VWAP 是为了保证以交易量加权平均价格进行交易而

设计的。

Guaranteed VWAP 为客户剔出了交易过程中的不确定性,客户能够得到他们 想要的价格。Guaranteed VWAP 一般是根据开盘到收盘这段期间的价格进行计算 的。

2.3. 时间加权平均价格算法(TWAP)

时间加权平均价格算法(TWAP,Time Weighted Average Price),是根据特定 的时间间隔,在每个时间点上平均下单的算法。TWAP 旨在使市场影响最小化的 同时提供一个平均执行价格。

设计目的:时间和销售数据都无法获得,或交易要求的规模与市场上可用的 流动性相比过于微小,从而使得交易要求对市场的影响可以被忽略,在这些情况 下,时间加权平均价格算法就能发挥其作用。

2.4. 交易量固定百分比算法(TVOL)

交易量固定百分比算法(Volume Participation, VolumeInLine, %Volume, Target Volume (TVOL)),旨在帮助和投资者跟上市场交易量,若某只股票交易量突 然放大则TVOL 将同样放大这段时间内的下单成交量,若某只股票交易量突然 变小则TVOL 将同样降低这段时间内的下单成交量。TVOL 的交易时间主要依 赖交易期间市场的活跃程度。

设计目的:TVOL 主要运用于希望跟上市场变化的趋势型投资者。

2.5. 基准价交易算法(PriceInLine)

基准价交易算法(Price In Line),旨在确定了个股的基准交易价格后,若市 场价格与基准价格接近时PriceInLine 将变得比较激进并放大这段时间内的下单 成交量,若市场价格远离基准价格时PriceInLine 将会降低这段时间的下单成交 量,并在规定的时间内完成交易。这里基准价格一般指前一天的收盘价。如果没 有指定基准价格,则策略默认值为初始的中间价。

设计目的:PriceInLine 是为那些对基准价格比较敏感的投资者设计的。

2.6. 执行差额算法(IS)

执行差额算法(IS, Implementation Shortfall),指一方面给出风险参数并允许

客户设定他们的风险承受边界,另一方面计算交易的市场冲击成本,最后综合考 虑市场冲击成本和风险两个因素而得出的最优化算法。

设计目的:为了在市场的冲击成本和风险之间寻找一个最佳平衡点而设计。

2.7. 隐藏交易单算法(Hidden)

隐藏交易单算法(Hidden)首先隐藏交易订单并一直等待直到期望的价格出

现在交易委托中,然后发送立即下单或取消的命令以确保该价位上订单成交。若 在期望价格下可供交易量无法满足算法要求,则Hidden 会继续等待直到满足要 求的机会出现。

2.8. 游击战算法(Guerrilla)

游击战算法(Guerrilla)将数量较大的买或卖单分解为多个不显眼的小单,

并运用多种交易技术,以确保对手交易商不会发现该交易的存在。Guerrilla 将各 种交易技术结合在一起,大量运用的可变换交易网络进行交易,在对中、小盘股 票的交易时特别有效。

设计目的:Guerrilla 是为了隐藏自身的交易踪迹不被发现而设计的。

2.9. 阻击兵算法(Sniper)

狙击兵算法(Sniper)是非常具有攻击性的算法,只有当达到限定的价格时

它才会下单交易。Sniper 着眼于市场数据分析并聪明地从这里和那里分别吃进一 点,它从不暴露自己,并能够找出对手隐藏的交易。与直接在市场上少量下单相 比,狙击兵算法显然是更好的选择。

2.10. 搜寻者算法(Sniffers)

搜寻者算法(Sniffers),常用于搜寻其他交易商正在进行的交易以及所运用 的算法。Sniffers 常常先少量下单以寻找是否有对手的交易算法出现,并以此为 诱饵,若有对手上钩,则可以尝试增加下单数量。

设计目的:Sniffers 的目的是找出市场中正在使用的算法交易软件以便能够

从中获得交易机会,开发人员认为通过对竞争对手的交易算法进行跟随或相反的 操作是可以获利的。

2.11. 复杂事件处理算法(CEP)

复杂事件处理(Complex Event Processing,CEP)是一种用计算机对多样的实

时事件进行处理、并对大量事件数据流作出及时反应的技术。CEP 通过分析有意 义的事件从而实时地取得这些有意义的信息,主要目的是使系统在分散式环境 中,能更有效的收集、整合、分析由不同来源送出,但可能在时间、情景上彼此

相关联的事件。

CEP 算法可用于欺诈探测、风险管理及等。CEP 由一系列基于事件的规则构 成。这些事件构成一个数据流,其中每个事件代表一个系统内的更新。

该引擎可广泛应用于网络入侵探测、SLA 监测、航空运输调控以及金融服务 领域的算法交易(在电子市场中通过计算机程序来进来金融投资的一种交易方 法)、金融风险管理、欺诈探测。

例如,我们可以这样定义CEP 算法——当A、B 两只股票之间的价差超过x 水平时,就买入A 股票卖出B 股票。 2.12. 模式识别算法(Pattern Recognition)

模式识别算法(Pattern Recognition)是从大量历史交易数据出发,在专家经

验和已有认识的基础上,利用计算机和数学推理的方法对形状、模式、曲线、数 字、字符格式和图形自动完成识别的过程。Pattern Recognition 包括相互关联的 两个阶段,即学习阶段和实现阶段,前者是对历史交易数据样本进行特征选择, 寻找分类的规律,后者是根据分类规律对未知样本集进行分类识别并下单。 3. 算法交易的运用

前面对各种交易算法进行了简单介绍,那么我们该如何将交易算法引入到交 易中,如何计算交易算法的参数以及该算法是否符合我们的要求呢?

3.1. 算法交易的模型计算

假设在一次单边交易中,交易员需要在长度为T 的交易时段内完成执行量为

X 的交易,并且根据前述的某种程序化交易策略下单。定义{ , , ,} 0 1 N x x L,x 为 基于这种交易策略的交易轨迹,其中k x 为交易员在k t 时刻的计划持有量。 分别记E(x)和V(x)为k x 的期望值和方差。则E(x)即为基于某种交易策略 的冲击成本,而V(x)为伴随这种策略的不确定性,或说波动风险,V(x)也可用 标准差SD(x)来替代。

交易员致力于寻找一个平衡点,使得在给定策略不确定性的水平时,基于该 策略的市场冲击成本和交易风险的最小化。用数学模型来表示,就是在给定交易 者的风险规避因子λ 的基础上,寻找交易市场冲击成本和风险不确定性的最小 值。也即

min E(x) +λ *V(x)

x

min E(x) +λ * SD(x)

在上面的模型中X 定义为在T 的交易时段内完成的执行量,那么如何将算

法交易中的各种算法运用到模型之中呢?以执行差额算法(IS)为例代入模型, 则问题变为寻找交易市场冲击成本和风险不确定性的最小值,前述模型将变更 为:

x

min E(IS) +λ *V (IS)

x

min E(IS) +λ * SD(IS)

其中,

E(IS) = 以执行差额算法计算得到冲击成本的期望值;

V(IS) = 以执行差额算法计算得到的方差,即交易的波动风险;

SD(IS) =以执行差额算法计算得到的标准差,同样是交易的波动风险; λ ,表示交易商对波动风险的规避程度; X,表示下单数量;

S0,表示开始下单时的市场价格;

T,表示下单开始到完成的总交易时间;

3.2. 交易风险的衡量

在运用交易算法时,我们需要确定算法交易的风险相关指标,以便判断运用 该算法进行交易是否符合要求。

以执行差额算法(IS)为例计算的最优化模型,在衡量交易算法是否符合要

求时,我们一般通过几个交易风险指标进行综合判断,包括:(1)最优化模型计

算结果E(IS) +λ *V(IS)或者E(IS) +λ * SD(IS);(2)市场的波动风险V(IS) 或SD(IS);(3)市场冲击成本E(IS);(4)总交易时间T。

本文来源:https://www.bwwdw.com/article/aor2.html

Top