这篇文章将向你介绍量化交易系统的一部分基本概念。本文首要面向两类读者,第一类是正在付出寻求一份量化策略员工作的应聘者,第二类是期望试图开启自己量化交易事业的个人投资人。有关量化交易,这些入门知识你需要了解。
量化交易是数量金融学一个极其艰深复杂的领域。若要通过面试或构造你自己的策略逻辑,就需要你投入时间学习一部分必备知识。
量化交易系统包含四个首要部分:
策略识别:搜索策略、挖掘优势、确定交易频率。
回溯试探:获取报告、分析策略性能、刨去偏差。
交割系统:连接经纪商、使交易自动化、使交易成本最小化。
风险管理:最优资本配置、最优赌注或凯利准则、交易心理学。
我们首先来谈谈如何识别一个策略逻辑。

策略识别
所有量化交易流程都肇始于一个初期研究。这个研究流程包含搜索一个策略、检验它能否适合你或许正在运转的策略组合、获取任何试探策略时所需报告、付出优化策略使其预期年化预期收益更高且(或)风险更小。假使你是一个“小散”策略员,一定要清楚自己的资金能否足够,以及交易成本对策略的影响。
通过各种公开报告搜索可盈利的策略事实上十分简单,并没有大家想的那么难。研究学者会定期发表理论交易结果(尽管大多为交易成本总额)。一部分数量金融学主题博文也会详细讨论策略。交易期刊还会简讯一下基金管理公司运用的一部分策略。
你或许会问,个人与公司怎么或许愿谈他们的可盈利策略,尤其是当他们知道,假使其余人“复制相同的策略”,长期来说它终将失效。
原因就在于,他们一般不会表露具体的参数以及他们所运用的调参方法,而这些优化技能才是把一个表现平庸的策略调成一个回报丰厚的策略所需的核心技术。事实上,若要创建你自己的、独一无二的策略,一个最好的法子就是寻求类似的方法,尔后实施你自己的优化程序。
你所目睹的很多策略都可归入均值回归策略逻辑、趋势跟随或动量策略逻辑两类。
均值回归策略尝试利用这么一个事实:“价格序列”(如两个关联资产的价差)存在一个长期均值,价格对均值的短时间偏离终将回归。
动量策略逻辑则尝试“搭上市场趋势的顺风车”,利用投资心理和大基金结构信息在一个方向积聚动量,跟随趋势直至回归。
定量交易仍有一个重要方面,即策略逻辑的频率。低频交易(LowFrequencyTrading,LFT)一般指持有资产胜过一个交易日的策略。相应地,高频交易(HighFrequencyTrading,HFT)一般指持有资产一个交易日的策略。
超高频交易(Ultra-HighFrequencyTrading,UHFT)指持有资产的时常达秒级与毫秒级的策略。尽管小散可以执行HFT与UHFT交易,但也导致在你掌握了交易“技术栈”与订单簿活力学的详细知识后才有机会。本篇入门文章,我们不将对这些困难做任何深入探讨。
策略或策略集合一旦确定,当下就需要在历史报告上试探其盈利能力,这就进入了回溯试探的工作规模。
回溯试探
回溯试探的目标是供应证据,佐以证明通过以上流程所确定的策略,无论是应用于历史(训练)报告依旧试探报告均可盈利。它可以反应该策略将来在“真实世界”中的预期表现。
受于种种原因,回溯试探不能保证一定成功。这恐怕就是量化交易最为微妙之处,受于它包含了大批的偏差,我们务必尽尽力仔细审查并刨去它们。
我们将讨论几种常见类型的偏差,包含先窥偏差、幸存者偏差与优化偏差(亦称“报告窥视偏差”)。回溯试探中其余几个重要方面,包含历史报告的可用性与清洁度、真实交易成本及牢靠回测平台上的决定。我们会在后续“交割系统”一节深入讨论交易成本。
策略一旦确定,我们就需要获取历史报告,并藉此展开试探,如有机会还可改进策略。当下卖报告的很多,所有资产类型的报告都有。一般,报告的质量、深度、时间间隔不同,其价格也不同。
刚入门的量化策略员(起码零售等级)最初运用雅虎金融板块(YahooFinance)的免费报告就行。对于报告提供商,这里不再赘言。我想着重谈一谈处理历史报告时,时常遇到的困难。
对于历史报告,民众首要关心的困难,包含报告精度或清洁度、幸存者偏差、应对如分发红利、拆分股票等公司举动的调整。
精度与报告整体质量相关,无论报告能否包含错误。有时错误容易识别,比如运用一个窄带滤波器,就可以找出时间序列报告中的“窄带”并更正它们。其余时候,错误又很难甄别,经常需要依据多个报告提供商供应的报告执行对比检查。
幸存者偏差一般是免费报告集或廉价报告集的一个”特质“。对于一个带有幸存者偏差的报告集,它不包含已经不再交易的资产报告。不再交易的证券,则表明已经退市或破产公司的股票。假使报告集中含有此类偏差,策略在该数据集上的试探表现或许比在”真实世界“里表现的更好,毕竟历史”赢家“已经被预先过滤出来,作为训练报告运用。
公司举动即公司开展的常导致原始价格阶梯形改变的”逻辑“活动,它不应当计入价格预期年化预期收益。公司分发红利和拆分股票举动是导致调整的两个常见举动,二者无论发生哪一种,都需要执行一个”回调“的流程。我们一定要留心,不要把股票拆分和真实预期年化预期收益调整混为一谈。很多策略员在处理公司举动时都碰过壁!
为了开展回溯试探,我们务必运用一个软件平台。你可以选择一个专门的回测软件如MultiCharts,一个数值平台如Excel或MATLAB,或者一个用Python或C++完全自主达到的平台。对于MultiCharts(或相似平台),个人是比较介绍,对于编程的要求比较低。
在做系统回测时,一定要量化表明系统性能。定量策略的“业界标准”度量为最大资金回挫与夏普比率。最大资金回挫表明一段时间(一般一年)内账户资金曲线从波峰至波谷的最暴跌幅,常运用百分比表明。
受于大批的统计原因,LFT策略比HFT策略的资金回挫更高。历史回测会表明以往的最大资金回挫,它能够较为贴切地反应策略的将来资金回挫情形。第二个度量指标是夏普比率,它被启发式地定义为“超标预期年化预期收益均值与超标预期年化预期收益标准差的比值”。
这里,超标预期年化预期收益表明策略预期年化预期收益多出某个预定基准,如标普500或三月期短时间国债(预期年化预期收益)的额度。注意民众一般不运用历史预期年化预期收益指标,由于它忽视了策略波动性的影响,而夏普比率却顾虑到了这一点。
假使经历回测,策略的夏普比率很高且其最大资金回挫已经最小化,则可以觉得它趋于无偏,下一步就是要搭建一个交割系统。
交割系统
交割系统是一个方法集合,由它来控制策略逻辑生成的交易列表的发送和经纪商的交割举动。实际上,交易可以半自动、甚至全自动生成,而实施机制可以手动、半自动(即“点击一次交割一项”)或者全自动。
即使这样,对于LFT策略,手动和半自动技术却比较常见;对于HFT策略,则务必创建一个全自动交割机制,受于策略和技术彼此依靠,还要经常与交易指令生成器紧密相接。
在搭建交割系统时,我们需要考虑几个核心原因:连接经纪商的接口、交易成本(包含佣金、滑动价差与价差)最小化、实时系统与回测时系统性能的差异。
联系经纪人的方法有很多,你可以直接电话联系他,也可以通过一个全自动高性能的应用程序接口(美国石油协会)达到。理想情形,就是期望交割交易的自动化程度尽或许高。如此一来,你不仅可以脱开身集中精力执行深入研究,还能运行多个策略、甚至HFT策略(事实上,假使没有自动化交割,HFT根本不或许)。
前面说过的几种常用回溯试探软件如MATLAB、Excel和MultiCharts,对于LFT策略或简单策略均为不错的选择。但是,假使要解决真正的HFT,你就务必要构造一个用高性能语言(如C++)编撰的内部交割系统。
说个我的亲身历经,以前受聘于一家基金管理公司,我们有一个十分钟的“交易周期”,每隔十分钟下载一次新的市场报告,然后依据这十分钟的信息执行交割。这里用的是一个优化的Python脚本。对于任何处理分钟级或秒级频率报告的工作,我相信C/C++更理想。
在一家大型的基金管理公司,交割系统的优化一般不在量化策略员的工作规模。但是,在小点的公司或高频交易公司,策略员就是交割人,所以技术分析越广越好。你要想进一家基金管理公司,一定要记住这一点。你的编程能力不说比你的统计学和计量经济学禀赋更重要,起码也同样重要!
此外一个属于交割系统的重要困难是交易成本最小化。一般地,交易成本由三部分组成:佣金(或税收)、损耗与价差。佣金是向经纪商、交易所和证券交易委员会(或相似政府监管机构)支付的费用;滑动价差是你的预期交割价位与真实交割价位的差值;价差则是待交易证券的出售价与购入价之差。注意价差不是常数,它依靠于市场目前流动性(即买单和卖单数量)。
交易成本是决定一个策略是高夏普比率且盈利丰厚,依旧低夏普比率且极不盈利的核心。依据回溯试探正确预期将来的交易成本很具有考验性,你需要依据策略频率,及时获取带有出售价与购入价信息的历史交易报告。
为此,大型基金管理公司量化交易的整个团队都专注于交割优化。当基金管理公司需要抛售大批交易时(原因五花八门),假使向市场“倾泻”大批股票,会快速压低价格,或许都来差于以最优价格交割。
所以,纵使遭受损耗风险,基金管理公式也会选择运用算法交易,通过“打点滴”的方式向市场出单。另外,其余策略如若“捕到”这些必要性条件,也能利用市场失效(获利)。这是基金结构性套利的内容。
交割系统最后一个首要困难关系到策略的实时性能与回测性能的差异。该种差异由多种原因产生,比如我们在“回溯试探”一节已经深入讨论过的前窥偏差与最优化偏差。
但是,对于有些策略,在部署以前不易测得这些偏差。该种情形对于HFT最为常见。交割系统和策略逻辑自身均或许存在程序错误,回溯试探时没有显现却在实时交易时出来捣乱。市场或许承受继策略逻辑部署后的一场政变的影响,而新的监管环境、投资人情绪与宏观经济事态的改变也均或许致使现实市场表现与回溯试探表现的差异,进而产生策略盈利性上的冲突。
风险管理
量化交易迷宫的最后一块是风险管理程序。风险包含我们以前谈论的所有偏差。它包含技术风险,比如所有在交易所的服务器忽然发生硬盘故障。它还包含经纪风险,如经纪商破产(此说并不是危言耸听,近期导致恐惧的明富环球就是一个例子)。
总来说之,它覆盖了差不多所有机会干扰到交易达到的原因,而其来源各不相同。当前已经有成套的书籍介绍量化策略逻辑的风险管理,本人也就不再对所有机会的风险来源做详细表明。
风险管理还包含投资管理理论的一个分支,即所谓的“最优资本配置”,涉及到如何将资本分配给一组策略、如何将资本分配给策略内不同交易的方法。这是一个复杂的领域,依靠于一部分高级数学知识。
最优资本配置与投资策略杠杆通过一个名叫凯利准则的业界标准建立联系。本文是一篇入门文章,我在此不详谈其计算。凯利准则对策略预期年化预期收益的统计性质做过一部分如果,但是它们在金融市场中并没有一定成立,策略员所以在达到时一般会有所保留。
风险管理的此外一个核心成分涉及到策略员本身心理原因的处理。即使大家都承认,算法交易若无人为干涉,不太容易显现困难。策略员在交易时,稍不留神依然或许会掺入很多认知偏差。
一个常见的偏差是厌恶规避,当人发现损失已成定局,其所导致的痛苦,或许会麻痹人的举动,不能做到及时抛盘止损。相似地,受于太过忧心已经到手的预期年化预期收益或许赔掉,民众或许也会过早抛盘收利。
此外一个常见的偏差是所谓的最近偏好偏差:策略员太看重最近事件而非长远地看困难。另外,诚然不能落下“恐惧与贪婪”这对经典的情绪偏差。这两种偏差常致使杠杆不足或杠杆过分,产生爆仓(账户资产净值近乎为零或更糟)或盈利缩水的局势。
归纳
自此观之,量化交易是数量金融学中一个虽趣味十足但极其复杂的领域。我对这个话题的讨论浅尝辄止,文章就已经这么长了!我在文中三言两句带过的困难,已经有大批的有关书籍和论文出版。
所以,在你申请量化基金交易岗位前,必须要执行大批的基础调研,起码应该具有统计学和计量经济学的普遍背景,以及运用MultiCharts、MATLAB、Python或者R程序语言达到的丰富经验。假使应对的是愈加复杂的高频端策略,你的技能组合或许还要包含Linux内核修改、C/C++、汇编编程和网络推迟优化。