量化交易,也有自动化交易,程序化交易,EA, 高频交易,算法交易等等,大致意思差不多,不同的领域可以叫法不一样,譬如外汇市场大多叫EA。主要是把自己的交易系统通过计算机语言(Python ,matlab等等,很多)程序编写实现出来,把这个程序和数据信息(量价信息,基本面,金融政策信息等等)接口接上,通过在计算机或服务器(现在大部分都是租一个云服务器)上运行,实时执行各种分析,选股,择时,买,卖,加仓,减仓,止损止盈等等。这样可以省去一些人力成本(人力分析慢,3000只股票得需要很对人天天),省去不必要的盯盘时间,一定程度规避情绪心理因素影响。一个完整的量化交易包括很多东西:
1、资金管理或投资组合管理;
2,选股,基于数据面的技术分析(均线,macd等等,太多了),基于基本面的分析(市盈率,财务报表等),基于经济面的分析(财政及货币政策,经济周期,行业周期轮动等),基于情绪面的分析;
3,择时也即建仓的时机,止损止盈,加仓减仓平仓等;
4,交易记录总结改进。当然还有别的很多内容。也有办自动化的,譬如只采用分析做选股。这个东西老美搞了30多年了,国内搞了十几年。可以了解一下大神西蒙斯和文艺复兴基金。国内这几年也出现很多平台,还不是特别成熟,入聚宽,掘金量化等等,也有几十个,可以关注一下。
数量金融也与金融工程领域重叠。后者侧重于应用和建模,通常借助于随机资产模型,而前者除了分析外,还侧重于构建模型的实施工具。总的来说,有两个独立的金融分支需要先进的定量技术:一方面是衍生品定价,另一方面是风险和投资组合管理。
如果应用于股票市场的话,一般包括量化选股和量化择时两点。
选股模型主要包括:多因子模型、风格轮动模型、行业轮动模型、资金流模型、动量反转模型、一致预期模型、趋势跟踪模型和筹码选股模型。
择时包括:趋势择时、市场情绪择时、时变夏普率模型、牛熊线模型、Hurst指数模型、SVM模型、SWARCH模型和异常指标择时等等。
量化投资的优点在于纪律性、系统性、及时性、准确性和分散化。
量化交易( quantitative trading )是金融术语,即以数学模型代替人为主观判断,以计算机程序从还想历史数据中筛选出多种“大概率事件”并总结出规律,从而制定相应的投资策略。有了量化交易策略,就较容易减少投资者情绪波动的影响,避免在市场狂热或悲观的情况下做出非理性的投资决策。
在量化交易出现之前,股票和证券市场的投资操作都是人工完成的。著名的股神巴菲特,他的故事投资秘诀就是价值投资,即通过大量研读财报选出优质的公司,并长期持有。价值投资利润固然高明,但知易行难,绝大多数的投资者并没有耐心和毅力去逐一研读每家企业的资料,分析基本面,等等。以美股为例,14000+家公司,每份财报都有好几百页,怎么看得完。更何况,很多机构和投资者都是炒短线的,根本没时间按价值投资的思路去做资料分析。
在此背景下,很多金融创新就应运而生了。比如金融学上有一个很著名的交易策略叫动量交易(momentum trading),即股票价格向上突破到某个比例时买入,下跌某比例时卖出。这个原则说起来容易,人工操作就很困难。而有了计算机之后,交易员只需要输入具体明确的交易策略的指令,剩下的具体操作就可以由电脑自动完成了,非常轻松。
20世纪70年代,随着计算机算力的突飞猛进,金融数据的大数据分析变得简单易行,接着一大批划时代的金融理论诞生了,比如投资组合理论、资产定价理论、期权定价理论,都是在这一时期出现的,这些理论为挖掘金融数据提供了理论基础。另一方面,市场上需要管理的钱越来越多,证券的种类也越来越多。计算能力、金融理论基础、市场需求,这三个条件在一个时代同时实现,量化交易也就应运而生了。
率先使用量化交易技术的是投资银行们。他们利用计算机技术在海量的数据里面挖掘信息,设计很多很复杂的金融产品,放大杠杆,获取着令人难以置信的高额利润。由于计算机技术的大面积应用,很多IT天才云集华尔街,他们大都是穿着T恤和牛仔裤不修边幅的宅男,与西装革履的传统银行家形成了鲜明的对比。2006年,来自摩根史丹利,高盛,德意志银行等投行的顶级“宽客”(Quants,量化交易专家)平均年收入是5.7亿美金,年龄最小的才30岁左右。
经过投行们的推波助澜之后,量化交易在金融市场上占据着相当大的份额。目前的美股市场上,量化交易大概占到60%的比重。
量化交易的核心竞争力就是对海量数据进行分析计算,进而提炼出一定的规律,并据此作出预测。比如,对于某一只农业概念股,除了常规的坎财务数据、历史产量,还可以利用卫星数据来分析天气,然后把农产品的历史产量和其它先关数据全都难过来,进过整合分析之后预测这产品的未来产量,进而对该只农业股的股价进行预测。在市场平稳发展、规律性较强的情况下,只要精确地捕捉到这些规律,投入一些本金,并加上一定的杠杆,就可以实现很高比例的盈利,可谓是一本万利,这也是前文提到很多量化交易的IT专家能够获取天量收入的秘诀。
这个原理听起来确实很诱人,然而却不是容易做到的。毕竟从海量繁杂的数据中持续捕捉规律,并作出准确预测,是非常复杂和烧脑的劳动,费一般人力所能及。因此,大多数投行都是到MIT(麻省理工学院)、普林斯顿等最牛的高校里挖最牛的人才来组建团队。这些精英们也经常自诩,他们是用模拟天体运行规律的方式来解读金融世界。简言之,这是智商密集型的精英领域,非一般人可以涉足。
然而,经济世界和金融领域的运行状况,跟天文物理、化学生物等稳态结构领域的规律是大相径庭的,没有必然和连续的规律 。量化交易确实厉害,但却非稳赚不赔的必杀神技。实际上,量化交易的风险非常大。关键在于,量化交易的本质是基于历史数据挖掘规律,因此它依赖于过去的趋势。而如果这些趋势依存的条件发生变化,趋势也就不复存在。进而,基于这些趋势所做的投资策略,也就面临着失败的厄运。
最著名的案例就是著名的投行“所罗门兄弟”,它里面有一个叫梅瑟维夫的天才,自己组建了著名的量化基金“长期资本管理公司”。在1998年之前,这家公司的业绩非常好,年化收益达到32%,在同行之中一骑绝尘。但是经过俄罗斯卢布崩盘的黑天鹅事件之后,一切灰飞烟灭。
1998年俄罗斯卢布大幅贬值,市场上到处抛售俄罗斯债券。长期资本管理公司根据自己设定的量化模型,不但不抛售,反而激进地抄底,想着等市场反弹之后大赚一笔。然而1998年8月17日,俄罗斯政府发表声明不再偿还任何债务。卢布应声而落,长期资本管理公司爆仓,一天就亏掉几亿美金,在一个月之后,这家天才云集的公司就破产清盘了。
量化交易把金融市场当作稳态结构,以为一切皆有序可循。然而,金融市场不是天体世界,它归根到底是人的市场。人性的贪婪、恐惧、欲望都会随着市场情况的变化而变化。因此它是一个规律和任性相互作用的动态过程,没有一成不变的规律,也没有料事如神的预测模型。用李善友教授近两年广为人知的说法,叫“ 不连续性 ”。
当今的量化交易已经回归到了一个正常状态:一方面,认识到量化交易在数据挖掘和科学决策方面的优势,但是另外一方面,人们也认识到量化交易是有局限的,尤其是应对这种突如其来的规律变化的时候,这种纯量化交易可能会面临更大的风险。
作为全球重要的金融市场之一,中国也有一定规模的量化交易的,但仍处于萌芽的发展状态。炒过股票的同学都知道,中国股市虽然长期收益率不错,但仍总体而言仍是“消息市”、“题材市”、“概念市”,一旦政策或者环境有点风吹草动,中国市场的变动是非常非常频繁的,而且波动的幅度特别大。在市场起伏很大、无规律性非常明显的情况下,量化交易策略就难以凑效,更遑论赚取暴利。
2013年中国有一个光大“乌龙指”事件,就跟量化交易有密切的关系。当时是光大证券的交易员不小心输错了一个数字,下了一个70亿的天量买单,瞬间拉动股价大涨,进而触发了很多量化交易程序的自动执行条件,很快导致300多亿的资金涌入场内,几分钟之内上证指数就拉升了100多点,59支权重股瞬间涨停。很多不明就里的散户盲目跟进,结果损失惨重。事后很多人除了控诉光大证券,也指责采用量化交易的机构,因为量化交易数倍放大了“乌龙指”效应,明显影响了整个股市,进而间接促成他们的跟进损失。
在2013-2014期间,有些量化交易机构收益不错,但经过2015年股灾之后,整个A股市场的情绪和资金面都发生了巨大的变化,过去行之有效的策略通通报废,以量化交易为核心的私募基金倒掉了300多家。
因此,量化交易在中国市场的成长壮大,路漫漫其修远兮。我们普通人,还是老老实实学巴菲特,踏踏实实研读财报,搞价值投资吧^_^
这篇文章将向你介绍量化交易系统的一些基本概念。本文主要面向两类读者,第一类是正在努力寻找一份量化交易员工作的求职者,第二类是期望尝试开启自己量化交易事业的个人投资者。关于量化交易,这些入门知识你需要了解。量化交易是数量金融学一个极其艰深复杂的领域。若要通过面试或构造你自己的交易策略,就需要你投入时间学习一些必备知识。
量化交易系统包括四个主要部分:
策略识别:搜索策略、挖掘优势、确定交易频率。
回溯测试:获取数据、分析策略性能、剔除偏差。
交割系统:连接经纪商、使交易自动化、使交易成本最小化。
风险管理:最优资本配置、最优赌注或凯利准则、交易心理学。
我们首先来谈谈如何识别一个交易策略。
策略识别
所有量化交易流程都肇始于一个初期研究。这个研究流程包括搜索一个策略、检验它是否适合你可能正在运作的策略组合、获取任何测试策略时所需数据、努力优化策略使其预期年化预期收益更高且(或)风险更低。如果你是一个“散户”交易员,一定要清楚自己的资金是否充足,以及交易成本对策略的影响。
通过各种公开数据搜索可盈利的策略实际上十分简单,并没有大家想的那么难。研究学者会定期发表理论交易结果(虽然大多为交易成本总额)。一些数量金融学主题博文也会详细讨论策略。交易期刊还会简报一下基金管理公司使用的一些策略。
你可能会问,个人与公司怎么可能愿谈他们的可盈利策略,特别是当他们知道,如果其他人“复制相同的策略”,长期而言它终将失效。
原因就在于,他们通常不会透露具体的参数以及他们所使用的调参方法,而这些优化技能才是把一个表现平庸的策略调成一个回报丰厚的策略所需的关键技术。实际上,若要创建你自己的、独一无二的策略,一个最好的法子就是寻找相似的方法,尔后执行你自己的优化程序。
你所看到的很多策略都可归入均值回归交易策略、趋势跟随或动量交易策略两类。
均值回归策略试图利用这么一个事实:“价格序列”(如两个关联资产的价差)存在一个长期均值,价格对均值的短期偏离终将回归。
动量交易策略则试图“搭上市场趋势的顺风车”,利用投资心理和大基金结构信息在一个方向积聚动量,跟随趋势直至回归。
定量交易还有一个重要方面,即交易策略的频率。低频交易(Low Frequency Trading, LFT)通常指持有资产超过一个交易日的策略。相应地,高频交易(High Frequency Trading, HFT)通常指持有资产一个交易日的策略。
超高频交易(Ultra-High Frequency Trading, UHFT)指持有资产的时常达秒级与毫秒级的策略。虽然散户可以进行HFT与UHFT交易,但也只是在你掌握了交易“技术栈”与订单簿动力学的详细知识后才有可能。本篇入门文章,我们不会对这些问题做任何深入探讨。
策略或策略集合一旦确定,现在就需要在历史数据上测试其盈利能力,这就进入了回溯测试的工作范围。
回溯测试
回溯测试的目标是提供证据,佐以证明通过以上流程所确定的策略,无论是应用于历史(训练)数据还是测试数据均可盈利。它可以反映该策略未来在“真实世界”中的预期表现。
由于种种原因,回溯测试不能保证一定成功。这或许就是量化交易最为微妙之处,由于它包含了大量的偏差,我们必须尽尽力仔细审查并剔除它们。
我们将讨论几种常见类型的偏差,包括先窥偏差、幸存者偏差与优化偏差(亦称“数据窥视偏差”)。回溯测试中其他几个重要方面,包括历史数据的可用性与清洁度、真实交易成本及可靠回测平台上的决定。我们会在后续“交割系统”一节深入讨论交易成本。
策略一旦确定,我们就需要获取历史数据,并藉此展开测试,如有可能还可改进策略。现在卖数据的很多,所有资产类型的数据都有。通常,数据的质量、深度、时间间隔不同,其价格也不同。
刚入门的量化交易员(至少零售等级)最初使用雅虎金融板块(Yahoo Finance)的免费数据就行。对于数据供应商,这里不再赘言。我想重点谈一谈处理历史数据时,时常遇到的问题。
对于历史数据,人们主要关心的问题,包括数据精度或清洁度、幸存者偏差、应对如分发红利、拆分股票等公司行为的调整。
精度与数据整体质量有关,无论数据是否包含错误。有时错误容易识别,比如使用一个窄带滤波器,就可以找出时间序列数据中的“窄带”并更正它们。其他时候,错误又很难甄别,经常需要根据多个数据供应商提供的数据进行对比检查。
幸存者偏差通常是免费数据集或廉价数据集的一个”特征“。对于一个带有幸存者偏差的数据集,它不包含已经不再交易的资产数据。不再交易的证券,则表示已经退市或破产公司的股票。如果数据集中含有此类偏差,策略在此数据集上的测试表现可能比在”真实世界“里表现的更好,毕竟历史”赢家“已经被预先筛选出来,作为训练数据使用。
公司行为即公司开展的常引发原始价格阶梯形变化的”逻辑“活动,它不应该计入价格预期年化预期收益。公司分发红利和拆分股票行为是引发调整的两个常见行为,二者无论发生哪一种,都需要进行一个”回调“的流程。我们一定要留心,不要把股票拆分和真实预期年化预期收益调整混为一谈。许多交易员在处理公司行为时都碰过壁!
为了开展回溯测试,我们必须使用一个软件平台。你可以选择一个专门的回测软件如MultiCharts,一个数值平台如Excel或MATLAB,或者一个用Python或C++完全自主实现的平台。对于MultiCharts(或类似平台),个人是比较介绍,对于编程的要求比较低。
在做系统回测时,一定要量化表示系统性能。定量策略的“业界标准”度量为最大资金回挫与夏普比率。最大资金回挫表示一段时间(通常一年)内账户资金曲线从波峰至波谷的最大跌幅,常使用百分比表示。
由于大量的统计因素,LFT策略比HFT策略的资金回挫更高。历史回测会显示过去的最大资金回挫,它能够较为贴切地反映策略的未来资金回挫情况。第二个度量指标是夏普比率,它被启发式地定义为“超额预期年化预期收益均值与超额预期年化预期收益标准差的比值”。
这里,超额预期年化预期收益表示策略预期年化预期收益超出某个预定基准,如标普500或三月期短期国债(预期年化预期收益)的额度。注意人们通常不使用历史预期年化预期收益指标,因为它忽略了策略波动性的影响,而夏普比率却考虑到了这一点。
如果经过回测,策略的夏普比率很高且其最大资金回挫已经最小化,则可以认为它趋于无偏,下一步就是要搭建一个交割系统。
交割系统
交割系统是一个方法集合,由它来控制交易策略生成的交易列表的发送和经纪商的交割行为。事实上,交易可以半自动、甚至全自动生成,而执行机制可以手动、半自动(即“点击一次交割一项”)或者全自动。
尽管如此,对于LFT策略,手动和半自动技术却比较常见;对于HFT策略,则必须创建一个全自动交割机制,由于策略和技术彼此依赖,还要经常与交易指令生成器紧密相接。
在搭建交割系统时,我们需要考虑几个关键因素:连接经纪商的接口、交易成本(包括佣金、滑动价差与价差)最小化、实时系统与回测时系统性能的差异。
联系经纪人的方法有很多,你可以直接电话联系他,也可以通过一个全自动高性能的应用程序接口(API)实现。理想情况,就是希望交割交易的自动化程度尽可能高。这样一来,你不仅可以脱开身集中精力进行深入研究,还能运行多个策略、甚至HFT策略(实际上,如果没有自动化交割,HFT根本不可能)。
前面说过的几种常用回溯测试软件如MATLAB、Excel和MultiCharts,对于LFT策略或简单策略都是不错的选择。但是,如果要做真正的HFT,你就必须要构造一个用高性能语言(如C++)编写的内部交割系统。
说个我的亲身经历,以前受聘于一家基金管理公司,我们有一个十分钟的“交易周期”,每隔十分钟下载一次新的市场数据,然后根据这十分钟的信息进行交割。这里用的是一个优化的Python脚本。对于任何处理分钟级或秒级频率数据的工作,我相信C/C++更理想。
在一家大型的基金管理公司,交割系统的优化通常不在量化交易员的工作范围。但是,在小点的公司或高频交易公司,交易员就是交割人,所以技术面越广越好。你要想进一家基金管理公司,一定要记住这一点。你的编程能力不说比你的统计学和计量经济学禀赋更重要,至少也同样重要!
另外一个属于交割系统的重要问题是交易成本最小化。一般地,交易成本由三部分构成:佣金(或税收)、损耗与价差。佣金是向经纪商、交易所和证券交易委员会(或类似政府监管机构)支付的费用;滑动价差是你的预期交割价位与真实交割价位的差值;价差则是待交易证券的卖出价与买入价之差。注意价差不是常数,它依赖于市场当前流动性(即买单和卖单数量)。
交易成本是决定一个策略是高夏普比率且盈利丰厚,还是低夏普比率且极不盈利的关键。根据回溯测试正确预测未来的交易成本很具有挑战性,你需要根据策略频率,及时获取带有卖出价与买入价信息的历史交易数据。
为此,大型基金管理公司量化交易的整个团队都专注于交割优化。当基金管理公司需要抛售大量交易时(原因五花八门),如果向市场“倾泻”大批股票,会迅速压低价格,可能都来不及以最优价格交割。
因此,纵使遭受损耗风险,基金管理公式也会选择使用算法交易,通过“打点滴”的方式向市场出单。此外,其他策略如若“捕到”这些必要性条件,也能利用市场失效(获利)。这是基金结构性套利的内容。
交割系统最后一个主要问题关系到策略的实时性能与回测性能的差异。这种差异由多种因素造成,比如我们在“回溯测试”一节已经深入讨论过的前窥偏差与最优化偏差。
然而,对于有些策略,在部署之前不易测得这些偏差。这种情况对于HFT最为常见。交割系统和交易策略本身均可能存在程序错误,回溯测试时没有显现却在实时交易时出来捣乱。市场可能受到继交易策略部署后的一场政变的影响,而新的监管环境、投资者情绪与宏观经济形势的变化也均可能导致现实市场表现与回溯测试表现的差异,从而造成策略盈利性上的分歧。
风险管理
量化交易迷宫的最后一块是风险管理程序。风险包含我们之前谈论的所有偏差。它包括技术风险,比如所有在交易所的服务器突然发生硬盘故障。它还包括经纪风险,如经纪商破产(此说并非危言耸听,引发恐慌的明富环球就是一个例子)。
总而言之,它覆盖了几乎所有可能干扰到交易实现的因素,而其来源各不相同。已经有成套的书籍介绍量化交易策略的风险管理,本人也就不再对所有可能的风险来源做详细说明。
风险管理还包括投资组合理论的一个分支,即所谓的“最优资本配置”,涉及到如何将资本分配给一组策略、如何将资本分配给策略内不同交易的方法。这是一个复杂的领域,依赖于一些高级数学知识。
最优资本配置与投资策略杠杆通过一个名为凯利准则的业界标准建立联系。本文是一篇入门文章,我在此不详谈其计算。凯利准则对策略预期年化预期收益的统计性质做过一些假设,但是它们在金融市场中并不一定成立,交易员因此在实现时通常会有所保留。
风险管理的另外一个关键成分涉及到交易员自身心理因素的处理。尽管大家都承认,算法交易若无人为干涉,不太容易出现问题。交易员在交易时,稍不留神仍然可能会掺入许多认知偏差。
一个常见的偏差是厌恶规避,当人发现损失已成定局,其所带来的痛苦,可能会麻痹人的行为,不能做到及时抛盘止损。类似地,由于太过忧心已经到手的预期年化预期收益可能赔掉,人们可能也会过早抛盘收利。
另外一个常见的偏差是所谓的偏好偏差:交易员太看重事件而非长远地看问题。此外,当然不能落下“恐惧与贪婪”这对经典的情绪偏差。这两种偏差常导致杠杆不足或杠杆过度,造成爆仓(账户资产净值近乎为零或更糟)或盈利缩水的局面。
总结
由此观之,量化交易是数量金融学中一个虽趣味十足但极其复杂的领域。我对这个话题的讨论浅尝辄止,文章就已经这么长了!我在文中三言两句带过的问题,已经有大量的相关书籍和论文出版。
因此,在你申请量化基金交易职位前,务必要进行大量的基础调研,至少应当具有统计学和计量经济学的广泛背景,以及使用MultiCharts、MATLAB、Python或者R程序语言实现的丰富经验。如果应对的是更加复杂的高频端策略,你的技能组合可能还要包含Linux内核修改、C/C++、汇编编程和网络延迟优化。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)