1、细说程序化交易发表时间:2010-08-05 16:54:07 阅读:11 次 回复:0 个“一直蹿升的 股指期货主力合约交易量在 6 月份却迎来一次诡异的跌落,如今已几近腰斩中国金融 期货交易所已经全面叫停了高频交易一场对包括高频交易在内的算法交易、程序化交易的摸底调查正在监管层主导下全面展开”从 2010 年 7 月 3 号的经济观察报上一篇名为中金所叫停高频交易 证监会摸底程序化交易的报道来看,随着股指期货的推出程序化交易在我国已经越来越广泛地被机构投资者所使用,但是文中出现的多个专有名词却让许多普通投资者纳闷:何为算法交易?何为程序化交易?再加上目前市场上较流行的所谓策略交易、系统交易
2、、自动交易、机械交易等等,这几种叫法又有什么不同呢?随着计算机技术的发展近年来这些类似的名词越来越多地出现在投资者的耳边,这些专业术语意思相近但又略有不同,经常被大家混用从而产生一些误解。以下我们将对这些名词加以比较和区别,并在最后我们给出一个股指期货程序化交易的实例,以更形象地说明程序交易。策略交易、系统交易与程序化交易(一)Strategy Trading 战略交易 /策略交易在投资领域中,一般习惯把买入持有、价值投资、成长投资等称为战略,而把惯性、反转、趋势、支撑阻力等等叫做策略。由于后者是以技术分析为主,而在交易决策分析的计算机化历史中,技术分析走得比较早,所以习惯上说 Strateg
3、y Trading 多数指策略交易。但即使在这个层面上,策略交易这个词也被不同的人在两种意义上使用,第一种是指表明自己理解和采用了一个或多个明确的交易策略;第二种则等同于下面将要说的系统交易。总之,策略交易的提法,反映了人们对市场运行规律和特征的认识走向了条理化和体系化。后面我们说的策略交易专指第二种,即等同于系统交易。(二)System Trading 系统交易系统交易是指运用交易系统(Trading System)进行交易。但是交易系统这个词却经常被人们在三种意义上使用。第一种,就是系统交易中的交易系统,它的全称应该叫交易规则系统,指包括入市、离市、止损、仓位与头寸等一整套的规则。第二种,
4、有不少人喜欢把交易者客户端的下单系统称做交易系统。第三种,交易所与营业部的整套交易管理系统也常被简称为交易系统。后面我们说的交易系统是指第一种层面上的意义。(三)Program Trading 程序化交易/ 程序交易程式交易或程序化交易经常被人们在两种意义上使用。第一种,是统称所有通过计算机软件程序进行自动下单的交易。第二种,是从市场监管角度来定义的,特指交易所规定的达到一定条件的交易,譬如NYSE(美国纽约证券交易所)的定义:一个帐户同时发出买卖指令的股票达到 15 只以上并且金额超过100 万元的,因而人们也叫它篮子交易( Basket Trading) 。表 1 概括说明了三者之间的关系
5、,表中的任意决定型交易(Discretionary Trading)是指按照个人直觉或情绪、别人建议或非量化数据分析来决定的交易;技术型交易(Technical Trading)是指按照技术指标、个人主观规则进行的交易。技术型交易者有两个突出行为特点,一是热衷于预测市场,二是看重交易的高成功率。另外还有一个常见的名词叫机械交易,对照上面的图表,它包括计算机执行的系统交易,也包括在执行中不加入任何主观临时判断的人工执行的系统交易。图表 1:策略交易、系统交易与程序化交易的关系按决策依据划分 按决策方法划分 按执行手段划分电脑执行的系统交易 程式交易策略交易人工执行的系统交易技术型交易非策略交易任
6、意决定型交易人工交易算法交易与程序化交易以上我们解释了程序化交易,那算法交易与程序化交易又有什么异同呢?维基百科(Wikipedia)认为算法交易(Algorithmic Trading)是程序化交易的一个分支,是由原来的程序化交易概念(第一个定义)延伸出来的。具体来说,算法交易是指把一个指定交易量的买入或者卖出指令放入模型,该模型包含交易员确定的某些目标。根据这些特殊的算法目标,该模型会产生执行指令的时机和交易额。而这些目标往往基于某个基准、价格或时间。这种交易有时候被称“黑箱交易 ”。算法交易通过程序系统交易,将一个大额的交易拆分成数十个小额交易,以此来尽量减少对市场价格造成冲击,降低交易
7、成本,且还能帮助机构投资者快速增加交易量。实际上,程序化交易和算法交易各有侧重点,算法交易更多强调的是交易的执行,即如何快速、低成本、隐蔽的执行大批量的订单;而程序化交易更多强调的是订单是如何生成的,即通过某种策略生成交易指令,以便实现某个特定的投资目标。图表是欧美市场典型的交易网络连接图,从图中我们可以看出,算法交易是由经纪商提供的,而不是由投资者系统提供的,更像订单执行管理系统(Execution Management System, EMS) ,而程序化交易是投资者基于自己的策略自行开发的系统,更像一个订单管理系统(Order Management System, OMS) ,更多的是考
8、虑订单是如何生成的。我们认为,相对国外市场,对于机构投资者来说,在大陆市场更有应用前景的是程序化交易,算法交易相对来说前景有限。相反,对于经纪商来说,更有前景的是算法交易。图表:欧美市场交易网络连接图程序化交易历史程序化交易(Program Trading)起源于 1975 年美国出现的“ 股票组合转让与交易” ,即专业投资经理和经纪人可以直接通过计算机与股票交易所联机,来实现股票组合的一次性买卖交易。由此,金融市场的订单实现了电脑化。程序化交易自从 70 年代末产生以来,历经洗礼而有今日的成就。70 年代如果需要被记住的话,有很多的坐标。在全球经济领域,首推以商业自由为诉求的“放松管制( D
9、eregulation) ”,证券交易领域也不例外。1975 年,SEC 颁令禁止固定交易佣金(Fixed Commission on Transaction) ,使证券交易从奢侈品进入寻常百姓家。 电子信息网络( Electronic Communication Networks,ECNs)在 70 年代迅速兴起。1978 年,SEC 又一纸法令,催生了 ITS(Inter-market Trading System) 。ITS 以电子网络为基础,让证券交易下单在全美各个交易市场之间互联。NASDQ 立即响应,为 ITS 提供与NASDQ 互联的计算机辅助执行系统 (Computer Ass
10、isted Execution System)。这样,ITS/CAES以及已经形成气候的各个 ECNs,组成了全美国的电子交易网络平台。技术的发展和网络的建立,给程序化交易创造了条件。随着数量化基金近 10 年来的风起云涌,程序化交易得到了越来越多的应用。根据NYSE 的最新统计,2010 年 7 月 12 日至 7 月 16 日股票交易量为 23.01 亿股,其中 28.7%是通过程序化交易方式实施的(如表 2 和图 2 所示) 。根据 NYSE 网站统计,近年来纽交所程序化交易量所占比例基本维持在 30%左右。图表 3:美国 2010 年 6 月 21 日2010 年 7 月 16 日每周
11、程序化交易数据日均交易量(百万股) 6.21-6.25 6.28-7.2 7.6-7.9 7.12-7.16NYSE 交易量 3,406.0 2,659.7 2,414.5 2,301.4NYSE 程序化交易量 1,585.5 804.0 717.9 660.5程序化买入交易量 525.3 356.8 343.0 310.6程序化卖出交易量 508.9 399.1 313.0 313.2盘后程序化交易量 551.3 48.0 61.9 36.7程序化交易量占总交易量的比例 46.6% 30.2% 29.7% 28.7%资料来源:New York Stock Exchange图表 4:NYSE
12、2010.7.12-7.16 程序化交易量占比对程序化交易进一步细分,我们可以发现,目前纽约交易所的程序化交易主要用在非指数套利领域(投机和套保) ,指数套利所占比例很小,并且被少数几家所垄断(表 3) 。图表 5: NYSE 2010.7.12-7.16 程序化交易前 20 大活跃交易商 (单位:百万股)IndexArbitrageNon-IndexArbitrageNon-CS2TotalPrincipal Agency CrossingSession 2GrandTotalGOLDMAN, SACHS & CO. - 469.7 469.7 429.7 40.0 14.9 484.6 M
13、ORGAN STANLEY & CO. INCORPORATED13.6 366.9 380.5 142.0 238.5 66.1 446.6 DEUTSCHE BANK SECURITIES INC.96.1 149.4 245.5 20.5 225.0 - 245.5 WEDBUSH SECURITIES INC. - 241.0 241.0 241.0 - - 241.0 SG AMERICAS SECURITIES, LLC46.9 183.9 230.8 183.4 47.4 - 230.8 Barclays Capital Inc. - 227.1 227.1 102.7 124.
14、4 71.2 298.3 CREDIT SUISSE SECURITIES (USA) LLC3.0 203.7 206.7 173.4 33.4 4.2 210.9 RBC CAPITAL MARKETS CORPORATION45.9 118.8 164.7 - 164.7 - 164.7 J.P. MORGAN SECURITIES INC.0.1 122.4 122.5 3.4 119.1 - 122.5 MERRILL LYNCH, PIERCE, - 115.1 115.1 93.0 22.2 21.4 136.5 FENNER & SMITHSCHON-EX LLC - 110.
15、9 110.9 - 110.9 - 110.9 BNP PARIBAS SECURITIES CORP.- 91.4 91.4 - 91.4 - 91.4 ABN AMRO CLEARING CHICAGO LLC- 72.8 72.8 - 72.8 - 72.8 UBS SECURITIES LLC - 68.0 68.0 56.1 11.8 - 68.0 PENSON FINANCIAL SERVICES, INC.- 54.4 54.4 - 54.4 - 54.4 MILLENCO LLC 0.2 49.1 49.3 49.3 - - 49.3 INTERACTIVE BROKERS L
16、LC 0.2 36.9 37.1 - 37.1 - 37.1 SIG BROKERAGE, LP 12.0 15.6 27.6 - 27.6 - 27.6 CITIGROUP GLOBAL MARKETS INC.- 24.6 24.6 5.3 19.3 5.2 29.8 CREDIT AGRICOLE SECURITIES (USA) INC.- 20.5 20.5 - 20.5 - 20.5 Total for 20 Membher Firms 218.0 2742.2 2960.2 1499.8 1460.5 183.0 3143.2 Total for All Firms Report
17、ing 259.3 2859.6 3118.9 1534.3 1584.6 183.5 3302.4 % of Total 7.90% 86.60% 94.40% 46.50% 48.00% 5.60% 100.00%资料来源:New York Stock Exchange程序化交易实例股指期货程序化交易系统 IFATS 股指期货程序化交易,缩写为 IFATS (Index Future Auto Trading System),是将程序化交易应用于股指期货品种上。由于目前股指期货是目前 A 股市场唯一可以 T+0 交易的品种,因此研究 IFATS对于中国的机构投资者具有重要意义。(一)IFA
18、TS 的策略开放的投资理念、收益反馈检验、风险动态管理、快捷的下单速度,这四项组成了完整的 IFATS,其中,第二项和第三项需要使用金融工程的手段来实现。IFATS 最常见的策略是使用唯一指标判定,即当指标符合某数值要求时实施买入或卖出行为。例如,在 5 分钟周期内,当 MACD 发出金叉信号时我们买入,其后首次发出死叉信号时卖出,这就是一个最简单的 IFATS 策略。更复杂的策略可以考虑进时空、成交量、速率、乖离率、混合指标、支撑压力、额定止损止盈等因子。每一个人都有自己的交易策略。在理论上,只要有数据来源,任何一种交易策略都可以通过金融工程在计算机中模拟出来,并放入历史数据进行统计测试,得
19、到收益反馈检验和风险动态管理,最终形成可以盈利的 IFATS。(二)研究 IFATS 的步骤1. 提取相关数据(通常为 csv 或 txt 格式) ;2. 将数据导入金融工程工具(最常用的如 SAS,SPLUS 等) ;3. 将 IFATS 交易策略编写转化为 S 程序;4. 模拟进入历史数据测算,得到收益反馈检验报告和风险控制报告;5. 在原有基础上,优化策略与参数,使 IFATS 表现更佳;6. 将最新的交易数据导入,观察实战收益并持续一段时间;7. 在 IFATS 成型使用后,若出现月收益连续下降情况,则返回金融工程进行最优参数的重新确定,使 IFATS 始终与最新市场保持同步。(三)构
20、造最简单的 IFATS 及测算结果投资策略:日内交易,在股指期货 1 分钟周期内,(考虑做多)KDJ 的 K 线上穿数值 30 买入多单,若 8 周期内上穿数值 60,则在情况发生时平仓,若未能达到条件,则以 8 周期最后一分钟的收盘价平仓。(考虑做空)KDJ 的 K 线下穿数值 60 买入空单,若 8 周期内下穿数值 30,则在情况发生时平仓,若未能达到条件,则以 8 周期最后一分钟的收盘价平仓。环境条件参数:20%的保证金(5 倍杠杆) ,万分之一的手续费,默认每笔满仓操作,每日起始资金量为 10000 元。数据对象:股指期货当月连续 IFLX0,测试时间段 2010-6-28 至 2010-7-16,跨度三周。收益报告:(四)对 IFATS 的优化程序优化方案:将上述投资策略中的两数值 30,60 设为浮动参数;设定单日账户止损额。优化后的投资策略:日内交易,在股指期货 1 分钟周期内,(考虑做多)KDJ 的 K 线上穿数值 30 买入多单,若 8 周期内上穿数值 70,则在情况发生时平仓,若未能达到条件,则以 8 周期最后一分钟的收盘价平仓。(考虑做空)KDJ 的 K 线下穿数值 60 买入空单,若 8 周期内下穿数值 30,则在情况发生时平仓,若未能达到条件,则以 8 周期最后一分钟的收盘价平仓。(止损)若做多或做空当日累计亏损超过 5%,则当日休止。优化后的收益报告: